在AEDT的電路模擬當中,我們習慣用原理圖(schematic)來建構電路(圖一)。原理圖的好處是容易閱讀及編輯。但是在執行模擬時,原理圖會先被轉換成網表(netlist,圖二),再透過電路模擬器nexxim.exe執行運算(DC, AC, Transient)之後輸出模擬結果。
其實我們也可以在命令列視窗當中或利用Python程式(圖三)讓nexxim.exe直接運算網表來得到模擬結果。因為少了原理圖轉換網表的工作,模擬時間可以大幅縮短。此外,不需要打開AEDT視窗也可以執行。模擬完成之後輸出的資料會以二進制格式儲存在sdf檔案當中。接下來便可以透過sdf2csv.exe將資料轉換成csv文字檔(圖四)。最後就可以在程式當中讀取csv作資料的分析了。
範例代碼如下:
import os
os.environ["PATH"] = 'C:/Program Files/AnsysEM/AnsysEM20.1/Win64'
import subprocess
subprocess.run(["nexxim.exe", "d:/demo/rc.cir"])
subprocess.run(["sdf2csv.exe", "d:/demo/rc.cir.sdf"])
其實我們也可以在命令列視窗當中或利用Python程式(圖三)讓nexxim.exe直接運算網表來得到模擬結果。因為少了原理圖轉換網表的工作,模擬時間可以大幅縮短。此外,不需要打開AEDT視窗也可以執行。模擬完成之後輸出的資料會以二進制格式儲存在sdf檔案當中。接下來便可以透過sdf2csv.exe將資料轉換成csv文字檔(圖四)。最後就可以在程式當中讀取csv作資料的分析了。
範例代碼如下:
import os
os.environ["PATH"] = 'C:/Program Files/AnsysEM/AnsysEM20.1/Win64'
import subprocess
subprocess.run(["nexxim.exe", "d:/demo/rc.cir"])
subprocess.run(["sdf2csv.exe", "d:/demo/rc.cir.sdf"])
(圖一)RC電路原理圖 |
(圖二)RC電路網表 |
(圖三)Python代碼執行模擬及轉換 |
(圖四)輸出的模擬資料 |
沒有留言:
張貼留言