精華區beta comm_and_RF 關於我們 聯絡資訊
平常都使用TSMC .18 1p6m(PDK 1.2)進行設計 並用hspice進行前期的電路模擬,calibre進行驗證 很煩的是PDK LVS吃的netlist都要經過修改 譬如說nmos在hspice中的model name是 "nch" 為了要進行LVS,還要自己改成'N',或'N1' 雖然自己寫了script來轉,不過每次都要手動轉很不爽 同時維護兩份netlist也是大問題@@... pex就更煩了 要把'N','N1'改回nch才能跑hspice 更不用說MiMcap那種玩意花的苦工更多 而且滿奇怪的... 要先在rule中設定'UNIT CAPACITANCE fF' 抓出來的parasitic大小才會對 不過這樣設之後,原本電路中非parasitic的電容就小了e-15倍@@... 變成要改的很爽... 不知道有沒有人有比較好的作法@@... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.33.139
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.. 想做久一點 結果到畢業前下的顆數太少,還要後果自負咧... 看來在下線要收費以前,這種事是不會變的吧...