用netlist搭建電路並模擬:在實際工作中有用嗎?

這學期學校的所有模擬實驗課的模擬和LVS,都用Spice之類的網表做。但是對比網表(沒有圖形符號)和cadence之類有圖形符號的模擬工具,明顯後者用起來更快,而且更容易debug,實現功能也容易。所以在IC等工業屆裡面, 「用netlist搭建電路並模擬」(例如hspice, eldo) 有用處嗎?

spice我指的是沒有元器件的圖形符號,要敲代碼來搭電路並模擬的那種.

我的個人猜測是(如有冒犯見諒):

1、買不起cadence的公司用

2、不想用盜版cadence的公司用

3、開發模擬演算法的公司用

4、強行製造出行業門檻

除此之外,我實在是想不出來,為何有cadence還要用spice.

問這個問題的目的,是

1、我工作十幾年,回學校繼續深造。所以要學的東西很多,要排出優先順序

2、我學習的目的純粹就是為了更好的工作,所以需要了解到工作中是否用得到。

3、目前從身邊同事中得到的信息,都是只用cadence。

目前周圍spice用的溜的,都是學生。對我來說沒有太大的參考意義。


spice 是模擬電路的核心。必用。

數字電路偶爾用,跑時鐘或者SI。

另外,這學習態度要改進,否則吃大虧。

cadence是一家公司,它的工具名字叫spectre,synopsys 是一家公司的名字,它的工具叫hspice。 spcetre 和hspice 都是spice 的一種。我估計你說的是berkeley spice,就是spice 的原生態。spectre 和 hspice 可以看成spice 的加強版。

那麼,原生態spice有沒有用?當然有,因為所有的spice model 是基於原生態的spice的。

每個工藝,spectre 和hspice 需要去跟fab 做工藝確認,就是qualify 該工藝的spectre 和hspice.

hspice和spectre 在行業口語中就是spice。你問的問題太容易誤解了。

如果你不做工藝的工程師。那麼跑spectre 和hspice 就OK了,不需要跑原生態spice。

確實行業基本不跑原生態spice。

但是,hspice 和 spectre 吃的都是標準spice netlist,學的內容完全和spice 沒差別。

沒看出哪裡增加了「強行製造出行業門檻,增加新人學習難度的學術界用」。

別說是圖形界面吧。

add: 結果真是問圖形界面 vs netlist。

那麼簡單回答:你應該學cadence spectre 的圖形界面,將來熟悉了,再直接寫netlist。

因為最基本的:工具的圖形界面是可能有bug的,netlist才是golden的。不過估計一般工程師是不太會碰到這個情形。

一天可以寫個2000行的netlist,你一天畫個2000管子試試看。


工程師熟悉spice的語法和netlist的構造的主要用處是debug,模擬或者lvs遇到奇怪的問題時可以直接看底層電路找原因,設計電路沒人用這個的,原因很簡單:所有的電路都是需要交給版圖工程師layout的,你給一堆txt文件給版圖工程師,「按這個設計版圖。」你看人家不把你揍出 。


結論netlist很有用!

1、前模擬搞定了,版圖工程師畫得賊快,不想後模擬啊,能不能拖到下個月啊。如果用圖形界面設置後模擬,我感覺很啰嗦。怎麼樣操作簡單呢?把版圖提取到的pex.netlist文件include進input.scs文件內(省略一萬字)。終端輸入spectre input.scs~~~~這就是用網表跑後模擬!

2、後模擬完成了,怎麼帶寬掉這麼多呢?版圖工程師也很忙啊,不能去問他了,我自己看版圖也看不懂啊|?ω?`)!我打開了寄生參數提取的網表,看幾個關鍵的管子周圍寄生參數,好像有點大呢,在版圖中找到這些管子,果然畫得不好呢,版圖工程師你過來|?ω?`)。再模擬性能上去了。

3、前模擬後模擬要跑工藝角很煩啊,要設置呢。不想設置,保存一個ocean文件,改一下內容。在命令窗口load一下ocean,各種工藝角都在跑了,刷刷知乎吧,美滋滋|?ω?`)

4、先學著,都是有用的,上學那會,也沒人告訴我這些有什麼用,就是挺好奇,模型文件,規則文件寫著啥,進去看看又不會懷孕!


Update:

經評論區的朋友提醒,補充一下。

1,關於交叉支持。事實上這兩套體系的庫文件,網表和模擬器都是可以交叉支持的。然而原封不動的兼容不行,總要藉助於一些script.但是主流spice模擬器之間就可以一個字都不用改。

2,spectre 體系的特殊性在於很多特有的option和analysis,在其他模擬器上找不到對應。如果你testbench用到的話,那在其他模擬器就跑不起來;如果你不用的,那spectre體系就泯然眾人矣~

以下原答案………………

個人觀點:

對IC公司(尤其是比較大的公司)來講,不能在一棵樹上弔死,spice neilist是行業標準,幾乎所有的circuit editor都支持,幾乎所有的simulator都支持。而spectre netlist,離開virtuoso和spectre simulator 就廢了,Cadence公司不宰你都不好意思…

對於個人來講,技多不壓身是不是?特定情況下,手敲netlist和test bench還真比畫電路快…舉個例子,加個電壓源,畫電路的話至少10秒鐘吧?敲代碼的話,2秒?


工業界大多用Cadence的軟體嘛,virtuoso那麼強大的功能NETLIST可以自己跑模擬和自動布局布線感覺很方便啊,繪製版圖是現在IC必備技能,Virtuoso的版圖繪製之後直接用DC生成網表,後端設計現在真心離不開軟體了我感覺,況且做IC只要不是純學術一般都是工業界標準優先吧。。。


說實話題主不像做過十幾年的人啊,有些公司還只用 hspice,這並不是錢的問題。spectre的模擬本質也無非是將圖形轉換成網表再模擬。

給你打個比方,Linux這個系統又不是 windows,難道還沒適應終端操作?


做全晶元模擬時需要改諸多驅動和偏壓模塊,save and check沒有直接改網表(前提是改正確)要效率;在維護很多個混合信號模塊,並且給同事交互設計時候schematic包要容易看出模塊修改與缺失。我個人工作上的經驗是這樣的。

翻看了一下提問者經歷,水平當然不知道比我高到哪裡去了,只說一下個人的想法,模擬也好射頻也好,以前我總覺得的確大牛的書才是真理,拉扎維、薩森、格雷和那啥(突然忘了)的書才是真東西,後來覺得翻翻國內工具書也挺好啊,國內作者的書,比如講ADE模擬和Hspice模擬那兩本《cmos模擬集成電路設計與模擬實例》有這麼幾個特點:價格便宜,培訓為目標,手把手的示例多,既實實在在玩熟悉了工具,也複習學習了知識。工作再深造我個人覺得精力有限,這類示例型練習是個很好的切入點。反正做模擬不像互聯網和編程,發不了財,學習點馬上上手的技能用這個訓練方法還不錯……至於和學生比玩工具,我覺得還是熟練問題,經驗積累了+工具熟練了就行了

更新前的瞎回答:

cadence是一個公司,不是個軟體,雖然它默認一般指代virtuoso;其作為設計平台,是可以調用很多種模擬器的,雖然ADE調用spectre/UltraSIM是最方便的。

能把schematic轉成網表的工具不只有virtuoso,TI的TINA之類半免費/免費的工具也能搭圖……不要糾結於形式。

搞清楚平台、工具、內容的關係,合理利用學校/公司提供的付費工具進行相互轉換,學習和使用免費資源,我覺得對搞真正的大項目是比較重要的,後期維護什麼的也更方便


謝邀。spice網表是模擬的核心,儘管大部分時候我們都用virtuoso或其他圖形工具來畫電路,最終模擬調用的還是cadence生成的spice網表。學會寫網表有諸多好處,比如養成良好的net命名習慣,比如有利於debug,比如嵌入到ocean script之類的腳本去。我個人沒有學習寫過網表,是工作中才熟悉的,深感其必要性。最初剛進這行讀書的時候,用的某工藝,不能在管子里填multiplier,因為pex之後,m值還存在於管子中,但是管子數目已經變成m了,當時不會用calibreview,也不會查網表,天然的認為不會出錯,折騰了很久。這個問題現在依然存在於某些工藝廠中。但是,有一種case,m值雖然還存在於電路圖中,但是經過pex後,網表已經不提m值了。這個時候就需要去查網表排錯了。不過,如果不是非圖形模擬器的深度用戶,我覺得也無所謂在這上面花過多的時間。要懂,不一定要精通。當然技多不壓身,呵呵,保持學習的態度是一件值得鼓勵和支持的事情!


沒有用,實際情況都適用圖形化界面設計模擬電路。


自從cadence發布adexl和explorerassembler 之後,純粹netlist在模擬環節的用途越來越不明顯. 竊以為命令行和gui追求的目標是一致的,設置好testbench後,一次click,得到所有需要的參數和曲線,目前gui也可以做到了,如果你覺得gui不容易用,那就是你還沒有掌握技巧,或者你不願意掌握。


有的電路圖工具就是圖形界面搭好電路,然後利用配套的工具或腳本生成網表netlist,然後寫一個testbench,調用這個網表,加一些激勵,鏈接工資庫,再用hspice,hsim,或者finesim去跑。如果有錯誤,跑出來的log文件會告訴你網表的哪一行有錯,那你就需要debug一下網表。

完全手動敲netiist也不切實際,比如有些模塊幾十幾百個pin,調用的時候很容易錯。如果需要很多管子,可以在電路圖裡面用array=或者m=的形式寫,也很快。


好的圖形界面會極大提高效率,當然要用。如果扔一堆.vcd給數字電路工程師debug,估計他會當場暴走。反過來說如果做的不好,動不動就崩潰,load大一些的網表就慢的無法忍受...那就不要用,直接去編輯netlist。

回到題主的問題,我的意見是技不壓身,都要熟練。virtuoso裡面拖拖拽拽要用熟,同時netlist的語法也要熟悉,萬一GUI用不了不至於一籌莫展。


我的看法相反,我們以前做課設時畫電路圖經常出現各種亂七八糟詭異的bug,還要設計元器件在圖中的布局、走線要好看易懂,還要檢查所有的junction是不是連上了。而照著手畫的電路圖或者書上的電路圖直接寫網表,又快又準確,出了問題通常都可以確定一定是電路設計有問題,而不是電路圖哪裡畫得不對...


cadence只是添加了圖形界面,剛開始用確實更友好一些。但是,cadence的核心還是將圖形轉化為網表再去執行其他操作,所以出了問題有時候還是要去看網表,比如說lvs drc問題。不通過時你可能需要人工看下提出來網表到底對不對。


填坑了,晚答了點發現很多答主已經說的很好了,這裡補充一些。

=========

「但是對比網表(沒有圖形符號)和cadence之類有圖形符號的模擬工具,明顯後者用起來更快,而且更容易debug,實現功能也容易「

確實是這樣的。對於模擬電路來說,設計階段使用圖形化界面(cadence家的圖形界面是virtuoso,synopsys家也有圖形界面customdesigner)更直觀,搭建電路更快(徒手寫網表這種神技寫激勵還行,搭建複雜電路還是算了),模擬結果狀態在電路原理圖的反標可以幫助研發人員找出電路問題,調整管子尺寸。而且對多層次電路來說,圖形界面顯得更人性化,方便追蹤信號。

但是是不是手寫netlist就沒用了呢?不是的。在電路初步調教結束以後,後期大量corner模擬和關鍵電路spec驗證階段,使用網表寫各種變數掃描和各種measure語句對驗證和模擬結果數據處理有很大幫助。不只是寫網表,有時還會有寫自動化腳本的需求,通過驗證自動化加速整個模擬驗證過程。所以還是兩手抓兩手都要硬。( ̄▽ ̄)" /另外,吐槽一下,個人覺得synopsys的customexplorer看波形比cadence的wavescan好用太多了。


弱雞默默關注了一邊所有的答主...


文本寫網表未必比用工具畫圖提網錶慢

如果遇到從電路圖提網表的工具軟體出錯/自己畫圖手誤(經常的事),就知道敲網表靠譜多了

後端對版圖,也是用網表對,也不是用電路圖

至於為什麼不用cadence....公司不是自己開的不心疼軟體成本?


我覺得你可能想問的是spice和fast spice simulator的區別 現在fast spice simulator比較多了 spice太慢 但是某些情況下要求極高準確性的情況下還是會跑spice


本來答了一段,但是注意到題主是我關注的某位,我就刪掉了。

原來魯汶的教學模擬也是用hspice來做啊,我覺得可能還是license的問題吧。

我在國內某校,教學也是hspice,工程組裡都是使用cadence的spectre來跑。


我做射頻IC,讀書的時候做project用過SPICE,實際工作中的模擬都是用Cadence Spectre了。


同學,你現在已經做模擬實驗了,那應該也是大二大三了。

但是你連工具都沒有搞明白,連IC的門都沒入呀

問題就不回答了,只能說,盡量加油吧

add:題主把答案改了 轉了一大圈子竟然是問圖形化界面和網表的問題。前面的謝丹同學回答的已經非常好了。

我的建議是現在剛開始做,就按部就班來。老師咋安排你就咋學。隨著學習的深入,你會發現網表的重要性。不要糾結網表和GUI。


Cadence 也是既有spectre 又有hspice 的,其實題主你還可以反過來問,為什麼有了spice 還要有spectre ?

模擬軟體不是IC公司開發的,既然有錢賺,就會有人做。認為spice是用來增加IC的行業門檻,相當於認為安卓是用來增加電話銷售的行業門檻(有了蘋果為啥還有安卓?)

至於不願用盜版又不願用candence 的公司選用spice ,這種情況是有的,但是倒不見得用不起,在內地堅持使用spice 的一般是跨國公司。

最後,題主你講了那麼多,該不會是認為spice 難學吧?


推薦閱讀:

集成電路(IC)真的就是分立器件電路的納米級版本?
怎麼理解階躍、衝激、斜坡函數,沒讀過大學,看基礎電路時感覺不理解?
晶體三極體的集電極和發射極能互換使用嗎?
如何實踐性地學習模電、數電、高頻、信號與系統等課程?

TAG:微電子 | 晶元集成電路 | 數字電路 | 模擬電路 | 晶元設計 |