推 obov:撐吧@@ 69.231.90.179 09/12 01:53
推 pow:hspice不是一個文字介面的模擬軟體嗎? 24.211.186.84 09/12 12:18
→ pow:為什麼不用replace功能就好了? 24.211.186.84 09/12 12:18
> -------------------------------------------------------------------------- <
作者: invalid (everlasting) 看板: comm_and_RF
標題: Re: lvs/pex的一些問題
時間: Tue Sep 12 15:29:43 2006
推 pow:hspice不是一個文字介面的模擬軟體嗎? 24.211.186.84 09/12 12:18
→ pow:為什麼不用replace功能就好了? 24.211.186.84 09/12 12:18
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
目前是使用vim/perl來做這樣的事啊@@...
只做一次轉換的話當然是很快
可是設計流程通常是這樣
hspice-> layout -> LVS -> PEX -> postsim -> done
^ |
|----------------------------------
萬一postsim沒過, tune完又要再轉一次
而且PEX出來每次都要做取代的動作
而大電路裡面netlist通常會有十幾個
每一個iteration花在這種事情的時間非常多@@...
Design Metholodogy 在大型電路設計裡真是非常重要啊@@
Hspice也該考慮要來個coding style, version control...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.48.37
→ wildwolf:你是不是不會 AMS design flow 啊 ? 140.113.212.9 09/12 16:51
> -------------------------------------------------------------------------- <
作者: wildwolf (可愛的哲哲) 看板: comm_and_RF
標題: Re: lvs/pex的一些問題
時間: Tue Sep 12 16:04:48 2006
※ 引述《invalid (everlasting)》之銘言:
: 平常都使用TSMC .18 1p6m(PDK 1.2)進行設計
: 並用hspice進行前期的電路模擬,calibre進行驗證
: 很煩的是PDK LVS吃的netlist都要經過修改
: 譬如說nmos在hspice中的model name是 "nch"
: 為了要進行LVS,還要自己改成'N',或'N1'
如果你是用 PDK, PDK 裡有提供 schematic,
你要用他提供的對應 MOS schematic 圖來畫電路,
不能用 analogLib 裡面的 nmos4 和 pmos4 之類的咚咚,
自然產生 hspice netlist 時 device 名字就會與 SPICE model 相同。
: pex就更煩了
: 要把'N','N1'改回nch才能跑hspice
你可以去改 Calibre 的 command file,
像
DEVICE MN(N_12_HSL130E) RBNGAT PLY_C NSD_C NSD_C PSUB <DIFF>
^^^^^^^^^^^^這個就是 PEX 產生的 device name, 把他改成與
SPICE model 相同就好了。
: 要先在rule中設定'UNIT CAPACITANCE fF'
: 抓出來的parasitic大小才會對
: 不過這樣設之後,原本電路中非parasitic的電容就小了e-15倍@@...
: 變成要改的很爽...
這個問題說不定是你自己本身的問題。
資訊太少無法瞭解。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.212.9
推 obov:這種東西凹layout工程師做吧@@? 69.231.55.135 09/12 22:28
> -------------------------------------------------------------------------- <
作者: invalid (everlasting) 看板: comm_and_RF
標題: Re: lvs/pex的一些問題
時間: Tue Sep 12 22:36:14 2006
※ 引述《invalid (everlasting)》之銘言:
→ wildwolf:你是不是不會 AMS design flow 啊 ? 140.113.212.9 09/12 16:51
AMS design flow?
你是說寫verilog/VHDL AMS那種嗎?
那種東西就跟gate-level的一些軟體差不多
把iteration打成幾個比較小的圈圈
不用像玩樂透一樣到最後一翻兩瞪眼@@
當然寫出有意義的model好像不是件容易的事說@@
但是到最後所有的東西都會變成spice
才能進行tape-out
所以到PEX還是會面臨一樣的問題吧@@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.46.165
推 ilovecatch:對阿不知道有沒有別的軟體可以後模擬 140.118.123.33 09/12 22:45
→ wildwolf:UltraSim 或者 HSIM 都可以啊 140.113.212.31 09/13 08:03
> -------------------------------------------------------------------------- <
作者: invalid (everlasting) 看板: comm_and_RF
標題: Re: lvs/pex的一些問題
時間: Tue Sep 12 22:50:22 2006
※ 引述《wildwolf (可愛的哲哲)》之銘言:
: 如果你是用 PDK, PDK 裡有提供 schematic,
: 你要用他提供的對應 MOS schematic 圖來畫電路,
: 不能用 analogLib 裡面的 nmos4 和 pmos4 之類的咚咚,
: 自然產生 hspice netlist 時 device 名字就會與 SPICE model 相同。
你說的是用cadence的composer去畫schematic才會有analogLib的東東吧
事實上用composer是不會有轉檔的問題,一切都很美好
只是我偏好用netlist的方法去設計...
用hspice模擬是沒什麼問題,PDK給hspice吃的的確就是nch
而很有趣的是,cadence的spectre吃的model name是nmos2v也不是N
N好像是auCdl的model name(PDK中是這樣寫的@@)_
: : pex就更煩了
: : 要把'N','N1'改回nch才能跑hspice
: 你可以去改 Calibre 的 command file,
: 像
: DEVICE MN(N_12_HSL130E) RBNGAT PLY_C NSD_C NSD_C PSUB <DIFF>
: ^^^^^^^^^^^^這個就是 PEX 產生的 device name, 把他改成與
: SPICE model 相同就好了。
這是個好方法
後來我翻翻manual發現也可以在後面加 "NETLIST MODEL nch"
: : 要先在rule中設定'UNIT CAPACITANCE fF'
: : 抓出來的parasitic大小才會對
: : 不過這樣設之後,原本電路中非parasitic的電容就小了e-15倍@@...
: : 變成要改的很爽...
: 這個問題說不定是你自己本身的問題。
: 資訊太少無法瞭解。
最早的問題是post-sim結果看起來太奇怪
去檢查netlist中發現
抓出來的parasitic cap大小太誇張(但是電路中的mimcap是對的)
譬如 C1 c1t ctb 0.05
有0.05 F ...大的非常誇張
覺得應該是pex沒有把cap的單位輸出才會這樣
而TSMC for pex ruleset中有幾行comment
// Following line(s) should be in your rulesfile
// UNIT CAPACITANCE ff
// Above line(s) should be in your rulesfile
於是加上UNIT CAPACITANCE ff 之後parasitic的值'合理'了許多..
不過原來電路的mimcap就爆了..小了e-15倍....
我的想法是,由於抓出mimcap主要是由LVS rule決定
而parasitic是由pex rule,兩者對單位電容的定義不同變成了災難@@...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.46.165
推 ilovecatch:沒辦法 總不能用ADS後模擬 要超級電腦 140.118.123.33 09/12 22:52
> -------------------------------------------------------------------------- <
作者: wildwolf (可愛的哲哲) 看板: comm_and_RF
標題: Re: lvs/pex的一些問題
時間: Wed Sep 13 08:01:14 2006
※ 引述《invalid (everlasting)》之銘言:
: ※ 引述《invalid (everlasting)》之銘言:
: → wildwolf:你是不是不會 AMS design flow 啊 ? 140.113.212.9 09/12 16:51
: AMS design flow?
: 你是說寫verilog/VHDL AMS那種嗎?
: 那種東西就跟gate-level的一些軟體差不多
重點是把 composer-schematic 當作核心,
畫完電路圖後,藉由 ADE 呼叫 hspice 模擬,
將整個設計環境綁在 Virtoso 平台上。
之後再以 block-based 方式,取代 circuit block
的 view 從 schematic 改成 PEX extracted netlist
作 post-sim. 應該問題會比較少。
其實你如果堅持要寫 hspice netlist, 那為什麼不一開始
建立 netlist 的時候用的 device name 就與 PEX 出來的用一樣就好了 ?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.212.31
> -------------------------------------------------------------------------- <
作者: wildwolf (可愛的哲哲) 看板: comm_and_RF
標題: Re: lvs/pex的一些問題
時間: Wed Sep 13 08:16:06 2006
※ 引述《invalid (everlasting)》之銘言:
: 你說的是用cadence的composer去畫schematic才會有analogLib的東東吧
: 事實上用composer是不會有轉檔的問題,一切都很美好
那你為什麼不用呢 ?
: 只是我偏好用netlist的方法去設計...
用 netlist 那你一開始建 netlist 的時候,device name 就與 PEX
的相同就好了,SPICE model 裡面的 device name 可以改成與 PEX 對齊。
其實我覺得你是不是拿到舊版的 PDK,這種 device name 的問題應該早就
對齊了。除非是你少畫某些 layer ,導致 extract 出來成另外的 device
: 最早的問題是post-sim結果看起來太奇怪
: 去檢查netlist中發現
: 抓出來的parasitic cap大小太誇張(但是電路中的mimcap是對的)
: 譬如 C1 c1t ctb 0.05
: 有0.05 F ...大的非常誇張
: 覺得應該是pex沒有把cap的單位輸出才會這樣
: 而TSMC for pex ruleset中有幾行comment
: // Following line(s) should be in your rulesfile
: // UNIT CAPACITANCE ff
: // Above line(s) should be in your rulesfile
: 於是加上UNIT CAPACITANCE ff 之後parasitic的值'合理'了許多..
: 不過原來電路的mimcap就爆了..小了e-15倍....
: 我的想法是,由於抓出mimcap主要是由LVS rule決定
: 而parasitic是由pex rule,兩者對單位電容的定義不同變成了災難@@...
PEX 是 LVS 的附屬動作,不是兩個不同的東西,電容定義相同。
那句的意思是說你得要在 runset file 裡加上那行,同樣地你也要注意
MiM 電容的單位會變成 FF。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.212.31
> -------------------------------------------------------------------------- <
作者: invalid (everlasting) 看板: comm_and_RF
標題: Re: lvs/pex的一些問題
時間: Wed Sep 13 08:25:49 2006
※ 引述《wildwolf (可愛的哲哲)》之銘言:
: ※ 引述《invalid (everlasting)》之銘言:
: : → wildwolf:你是不是不會 AMS design flow 啊 ? 140.113.212.9 09/12 16:51
: : AMS design flow?
: : 你是說寫verilog/VHDL AMS那種嗎?
: : 那種東西就跟gate-level的一些軟體差不多
: 重點是把 composer-schematic 當作核心,
: 畫完電路圖後,藉由 ADE 呼叫 hspice 模擬,
: 將整個設計環境綁在 Virtoso 平台上。
: 之後再以 block-based 方式,取代 circuit block
: 的 view 從 schematic 改成 PEX extracted netlist
: 作 post-sim. 應該問題會比較少。
: 其實你如果堅持要寫 hspice netlist, 那為什麼不一開始
: 建立 netlist 的時候用的 device name 就與 PEX 出來的用一樣就好了 ?
因為PDK提供給Hspice跟Composer的model name本來就不一樣
如果要用hspice跑模擬,一定要用"nch"當device name
而PEX雖然output option選擇hspice format,可是輸出的device name
卻是"N" "N1" (看是不是nmos in DNW會有不同)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.26.148
推 pow:能不能改model file裡面的名字? 24.211.186.84 09/13 10:03
推 invalid:可以是可以啦..但是這樣以後維護比較麻煩 61.229.26.148 09/13 10:15
→ invalid:而且這樣跟其他人用的就不一樣啦 61.229.26.148 09/13 10:16
→ invalid:流通,或是之後的更新都要注意一點 61.229.26.148 09/13 10:16
> -------------------------------------------------------------------------- <
作者: invalid (everlasting) 看板: comm_and_RF
標題: Re: lvs/pex的一些問題
時間: Wed Sep 13 08:30:59 2006
※ 引述《wildwolf (可愛的哲哲)》之銘言:
: ※ 引述《invalid (everlasting)》之銘言:
: : 你說的是用cadence的composer去畫schematic才會有analogLib的東東吧
: : 事實上用composer是不會有轉檔的問題,一切都很美好
: 那你為什麼不用呢 ?
因為我想在windows上跑@@ (Cadence學界是沒有windows版的@@...)
工作站是公用的,而由於自己的電腦是用虛擬ip
使用xwin32透過X11 forwarding我不是很喜歡用...
: : 只是我偏好用netlist的方法去設計...
: 用 netlist 那你一開始建 netlist 的時候,device name 就與 PEX
: 的相同就好了,SPICE model 裡面的 device name 可以改成與 PEX 對齊。
: 其實我覺得你是不是拿到舊版的 PDK,這種 device name 的問題應該早就
: 對齊了。除非是你少畫某些 layer ,導致 extract 出來成另外的 device
我用的是TSMC .18 PDK 1.2, 大約在一年前透過CIC拿到的
我也這樣子下線幾次了...就我所知,身邊的人都是這樣過來
(很多人就這樣不跑post-sim就衝了..@@)
甚至網路上其他大學的VLSI課程也是這樣子做
(不過TSMC .35的PDK就沒這問題...wired..)
而且大部分layout的電晶體
都是透過PDK提供的PCELL直接放下去
layer應該是不會有問題
: : 最早的問題是post-sim結果看起來太奇怪
: : 去檢查netlist中發現
: : 抓出來的parasitic cap大小太誇張(但是電路中的mimcap是對的)
: : 譬如 C1 c1t ctb 0.05
: : 有0.05 F ...大的非常誇張
: : 覺得應該是pex沒有把cap的單位輸出才會這樣
: : 而TSMC for pex ruleset中有幾行comment
: : // Following line(s) should be in your rulesfile
: : // UNIT CAPACITANCE ff
: : // Above line(s) should be in your rulesfile
: : 於是加上UNIT CAPACITANCE ff 之後parasitic的值'合理'了許多..
: : 不過原來電路的mimcap就爆了..小了e-15倍....
: : 我的想法是,由於抓出mimcap主要是由LVS rule決定
: : 而parasitic是由pex rule,兩者對單位電容的定義不同變成了災難@@...
: PEX 是 LVS 的附屬動作,不是兩個不同的東西,電容定義相同。
: 那句的意思是說你得要在 runset file 裡加上那行,同樣地你也要注意
: MiM 電容的單位會變成 FF。
受教了...看來非得進去改LVS ruleset的內容了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.26.148
※ 編輯: invalid 來自: 61.229.26.148 (09/13 08:33)
※ 編輯: invalid 來自: 61.229.26.148 (09/13 08:33)
> -------------------------------------------------------------------------- <
作者: invalid (everlasting) 看板: comm_and_RF
標題: Re: lvs/pex的一些問題
時間: Wed Sep 13 08:46:46 2006
※ 引述《wildwolf (可愛的哲哲)》之銘言:
: ※ 引述《invalid (everlasting)》之銘言:
: : 你說的是用cadence的composer去畫schematic才會有analogLib的東東吧
: : 事實上用composer是不會有轉檔的問題,一切都很美好
: 那你為什麼不用呢 ?
補充一下
我喜歡用netlist還有幾個原因
1.通用度高
從ADS,Eldo,Cadence ADE,nanosim,都可以直接或間接(ADS)用spice模擬
目前學校有windows的只有ADS,Hspice,可惜ADS沒辦法直接吃spice
2.編輯問題
我以前也用過ADS, composer..電路一大的話...滑鼠還拉的滿酸的...
已ADS而言的話,檔案常常會莫名奇妙壞掉
壞了也不知道哪裡壞了(都編碼成特定格式了..)
最robust的話,還是最基本的netlist吧@@
3.延展性
目前透過svn進行版本管理,可以同時sync放在不同地方的netlist
為什麼要有好幾個地方放一樣的netlist? 因為在不同的電腦上跑模擬嘛
跑一次要好幾個小時,當然就多多益善...還可以在每次commit時加上comment
爆了還可以restore,還可以分branch出來@@
還可以直接diff, lib 的replacement也相當容易,要模擬post-sim
只要直接把lib directory relink就ok了
(這跟你當初怎麼擺放檔案有關,我通常把control跟subcircuit分開放)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.26.148
推 ihlin:我對用netlist做大電路的人充滿了敬意 75.30.247.196 09/13 13:19
推 ihlin:不過請問你的design review怎麼辦 75.30.247.196 09/13 13:20
> -------------------------------------------------------------------------- <
作者: invalid (everlasting) 看板: comm_and_RF
標題: Re: lvs/pex的一些問題
時間: Thu Sep 14 16:54:38 2006
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.26.148
推 ihlin:我對用netlist做大電路的人充滿了敬意 75.30.247.196 09/13 13:19
推 ihlin:不過請問你的design review怎麼辦 75.30.247.196 09/13 13:20
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
唉唉...這就是當學生的悲哀啊
在時間的壓力下
從來就沒人在review啊
兩個月一顆ADC, 每兩個月都要多加一些功能
想detail design都不行啊 XD..
想做久一點
結果到畢業前下的顆數太少,還要後果自負咧...
看來在下線要收費以前,這種事是不會變的吧...