匯入brd檔,切割,設ports,模擬並繪圖。
import matplotlib.pyplot as plt
from pyaedt import Desktop, Hfss3dLayout, examples, Edb
with Desktop("2021.2", non_graphical=True):
edb = Edb()
edb.import_cadence_file("d:/demo/Galileo_G87173_204.brd")
edb.core_hfss.create_coax_port_on_component(['U1B5', 'U2A5'], ['M_DQ<0>', 'M_DQ<1>'])
edb.core_components.set_solder_ball('U1B5')
edb.core_components.set_solder_ball('U2A5')
edb.create_cutout(['M_DQ<0>', 'M_DQ<1>'],
['GND'],
output_aedb_path='d:/demo/ddr.aedb',
open_cutout_at_end=False)
edb.close_edb()
h3d = Hfss3dLayout('d:/demo/ddr.aedb/edb.def')
setup1 = h3d.create_setup('setup1')
setup1.props['Frequency'] = '1GHz'
h3d.create_frequency_sweep('setup1', 'GHz', 0, 1, 11)
setup1.update()
h3d.analyze_all()
h3d.save_project()
for i in ["dB(S(4,1))", "dB(S(3,2))"]:
f, m = [], []
x = h3d.post.get_report_data(i)
for freq in x.solutions_data_mag[i]:
mag = x.solutions_data_mag[i][freq]
f.append(freq[0])
m.append(-mag)
plt.plot(f, m)
plt.grid()
plt.xlabel('Freq')
plt.ylabel('mag(dB)')
plt.show()
沒有留言:
張貼留言