作者zxvc (zxvc)
站內Electronics
標題解決TSMC 0.35製程檔輸出不一致的問題
時間Sat May 12 13:18:43 2007
今天研究了一整個早上終於研究出來如何解決Cadence + Calibre
在跑Pre-Sim, LVS中export出來的SPICE MOSFET Model
不一致的情形。
研究動機:
我發現Calibre LVS有export from schematic view這個選項,
可是以TSMC原廠提供的製程檔並無法正常使用該功能,
所以我就想把MOSFET Model不一致的問題徹底解決。
狀況一:
我們在使用TSMC 0.35製程資料的時候,
會發現我們Schematic CDL Out的netlist中的MOSFET Model是PM與NM,
但TSMC提供的HSPICE Model file - mm0355v.l的MOSFET Model是PCH與NCH。
如果不把netlist裡的PM, NM改成PCH, NCH,
那麼在跑HSPICE作Pre-Sim就會找不到MOSFET Model。
要解決這個問題首先要知道我們從Schematic CDL Out
netlist的時候,Cadence的auCdl程式會去讀取每個cell的屬性(稱作CDF),
之所以auCdl會輸出PM, NM MOSFET Model就是因為我們所使用的
analogLib library的pmos, pmos4, nmos, noms4 cells的CDF紀錄著
auCdl要輸出什麼樣的MOSFET Model。
如果我們想CDL Out時能輸出PCH, NCH,我們可以這樣做:
打開icfb > Tools > CDF > Edit ... > Browse >
analogLib > pmos4 > close > 捲動視窗找到Simulation Information >
Edit > Choose Simulator為auCdl > modelName PM改為PCH > OK >
OK 關閉CDF設定。
然後把我們對CDF作的修改存到一個檔案,可以使用以下指令:
cdfDumpAll("analogLib" ".simrc" ?level 'user ?edit t)
注意:請在icfb視窗中有一個文字輸入列(底下會有"mouse L: ..."字樣)輸入以上指令。
然後看一看你的家目錄底下有沒有產生.simrc這個檔案,在shell下輸入這個指令:
ls .simrc
之後每次執行CDL Out就會自動載入.simrc的設定。
最後再CDL Out一次Schematic看看netlist的MOSFET Model有沒有變為PCH, NCH。
這樣以後就不用每次都要用文字編輯器修改netlist的MOSFET Model。:)
狀況二:
我們用.35製程在跑LVS時,若沒有把netlist的PM, NM改成P, N,
那麼Calibre LVS就會出錯。
這是因為LVS的時候,Calibre xRC會對layout export的gds資料作
extract的動作,然後輸出SPICE檔,但是MOSFET Model卻是P, N,
這時候我們就要修改TSMC提供的LVS command file。
其實Calibre xRC在extract layout的MOSFET時給的Model
是紀錄在TSMC提供的LVS command file,
所以我們用sed編輯器修改LVS command file,
請在bash輸入以下指令(不清楚csh能不能用,通常是可以):
sed 's/MP(P)/MP(PCH)/' cali035pMM5V_2P4M.lvs -i
sed 's/MN(N)/MN(NCH)/' cali035pMM5V_2P4M.lvs -i
也就是我們把P, N分別改成PCH, NCH。
(PEX照理也是要輸出PCH, NCH的Model,
不過TSMC .35的PEX command file - TSMC352P4MCalibre.pex
裡面本來就是PCH, NCH,所以這個部份不用改。)
這時候你可以打開你的layout,然後執行Calibre LVS,
然後在Inputs的部份Layout與Netlist都選擇Export from ...,
這時候你就會發現LVS的時候不用再手動去CDL Out,
Calibre LVS會自動幫你export schematic成具有PCH, NCH model的netlist,
layout也是自動化export。:)
至於為什麼我選擇把所有的MOSFET Model都改成PCH, NCH,而不改成其他的名稱
是因為我覺得要改TSMC HSPICE Model - mm0355v.l太難了,
所以乾脆就全部改成PCH, NCH。
參考資料:
Cadence IC5033說明書。
Calibre 2006說明書。
--
Albert Einstein :
If there is any religion that could cope with modern scientific needs it
would be Buddhism.
《金剛經》一切有為法 如夢幻泡影 如露亦如電 應作如是觀
http://web.cc.ncu.edu.tw/~93501025/jg.doc
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.200.121
→ zxvc:不過還是提醒大家一下,製程資料最好不要亂改。 05/12 13:23
→ zxvc:如果不相信我改的部份,就最好不要使用。 05/12 13:23
→ zxvc:出了問題我不負責。雖然我覺得我自己並沒有亂改。 05/12 13:24
→ zxvc:如果亂改製程資料,可能在跑模擬時會造成與實際下線會有很大 05/12 13:25
→ zxvc:誤差。 05/12 13:27
推 kk123:幫你更正一下,Pre-sim是指未抽 RC 值,單純只吃spice model 05/12 14:11
→ kk123:所得之模擬結果;Post-sim 則含有寄生的 RC效應 05/12 14:12
推 zxvc:嗯,樓上,我知道Pre-Sim的Pre指的是在layout之前做的模擬。 05/12 14:25
→ zxvc:不知道我哪句話講錯了... 05/12 14:27
推 kk123:哈,我是覺得你第一句中的 Cadence + Calibre 在跑 Pre-sim 05/12 17:07
→ kk123:怪怪的....還是這是兩句話啊? XD 05/12 17:08
→ goukiman:沒講錯 只是有人亂入 05/12 17:10
推 Juneje:推推... 05/12 17:30
推 zxvc:那句話的確有點含糊,會讓人誤解為Calibre會用在跑Pre-sim。 05/12 19:10
→ zxvc:我那句話的原本的意思是在跑那些模擬過程會用到Cadence或 05/12 19:14
→ zxvc:Calibre,我沒有想強調那些模擬會用到哪些工具。 05/12 19:18
推 zxvc: ^^特定的工具。 05/12 19:21
推 ilovecatch:我覺得 善用 全部取代 就好了 不過也算另一種學習吧.. 05/12 19:24
推 zxvc:用文字編輯器全部取代也是可以。只不過如果常常使用這些EDA 05/12 20:34
→ zxvc:工具,我上面提供的方法只要痛一次就好了。 05/12 20:36
推 moonls:大推這篇文章 !! 05/12 21:14
→ moonls:版主一定要M ~ 這篇寫的太讚了 05/12 21:14
推 ArgoNautyoyo:a....0? 05/13 00:38