ADS是支持調用spice/spectre等網表文件進行仿真的,可以用NetlistInclude控件來進行調用。其中,spectre的網表可以直接讀取,并不需要執行Import-->Design-->Netlist流程來進行導入。
01
簡單示例
參考ADS的help文檔,調用netlist非常簡單。
比如有一個PEX生成的spectre網表:pex_spectre.netlist,里面有一只MOS管,有三個端口D/G/S。只需要添加一個NetlistInclude控件,然后瀏覽并添加該網表,對應放三個端口D/G/S,再生成一個Symbol就可以當一個元件在ADS中來調用了。
02
薛定諤的NetlistInclude
然而作者在仿真過程中發現事情不沒有那么簡單,由于工藝PDK限制,該PDK僅支持原理圖仿真和Layout繪制,但因為GDS Layer Number和Layer Purpose存在重復,跟ADS不兼容,導致無法進行EM仿真,EM仿真用的Substrate文件也沒有也沒有集成進PDK中,因此無法像GaAs那樣全ADS搞定所有設計。
但是該工藝又單獨提供了一個用于ADS進行EM仿真的Library(包含了Substrate文件,本文用EM_library代稱),它大致思路就是拋棄了大量EM無關的GDS Layer,例如DRC/LVS等驗證用的輔助識別圖層,而僅保留了EM仿真相關的幾個工藝圖層,例如金屬和過孔圖層,這樣就不存在圖層重復的問題了,要想進行EM仿真,還需要從Cadence中導出GDS,然后導入進ADS工程的EM_library中,再添加端口進行EM仿真。
最后就導致了我為了進行一個完整的芯片設計,需要在多個軟件環境、多個Library中來回折騰:
在Cadence中建立一個Library(本文用LVS_library代稱),attach到Cadence專用的PDK,進行Schematic和Layout、DRC、LVS;
在ADS中建立一個EM仿真用的Library(本文用EM_library代稱),不需要attach到任何工藝包,這是廠家定義好的;
在ADS中建立一個聯合仿真用的Library(本文用Cosim_library代稱),attach到ADS專用的PDK,將PDK中的晶體管等元件與EM_library得到的emModel聯合起來進行完整的仿真。
以上全部流程都沒有問題了,雖然繁瑣到令人反感、惡心、頭痛,但終歸是都能跑通,得到正常的仿真結果。
但當我需要更進一步,把晶體管等原理圖模型換成PEX提取的spectre網表進行后仿時幽靈就出現了,我把它稱為薛定諤的NetlistInclude:
一開始,我參考前文示例中描述的那樣用NetlistInclude,生成symbol,再調用cell,OK沒問題;這個symbol我是放在Cosim_library中的;
后來,不知道什么時候由于什么原因,在調用這個Cosim_library中的cell仿真死活就不對了,表現出來的現象就等于這個cell是完全的、理想的開路狀態,就是壓根沒接入電路中;
這時候,再把這個cell復制到一個新建的Library中,或者file-->import-->design-->netlist導入時選擇自動新建Library(本文用PEX_library代稱),最后再調用這個PEX_library中的cell,聯合仿真結果就正常了;
然后,把前面這個正常的PEX_library中的cell復制到Cosim_library中,重新調用,結果還是完全的、理想的開路狀態,就是壓根沒接入電路中;
最后,用emCosim模式時,對應器件partitioning選擇circuit/schematic調用ADS的PDK元件模型是正常的,但是調用PEX_library中的cell結果還是完全的、理想的開路狀態,就是壓根沒接入電路中;
總之,這個NetlistInlude去調用PEX生成的spectre netlist仿真完全就是一個讓人琢磨不透的幽靈狀態。
審核編輯:劉清
-
MOS管
+關注
關注
108文章
2397瀏覽量
66627 -
芯片設計
+關注
關注
15文章
1005瀏覽量
54819 -
晶體管
+關注
關注
77文章
9641瀏覽量
137876 -
Layout
+關注
關注
14文章
402瀏覽量
61662 -
GaAs
+關注
關注
2文章
510瀏覽量
22934
原文標題:作者求助:ADS調用spectre網表仿真異常——薛定諤的NetlistInclude
文章出處:【微信號:芯片設計之路,微信公眾號:芯片設計之路】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論