官术网_书友最值得收藏!

1.5 IC設(shè)計工具

數(shù)字前端編寫RTL很簡單,只要是個文本編輯器都能寫,例如Windows上的記事本、寫字板、Word等,但工程師一般用Vim,或其圖形化增強版Gvim,因為該工具有很多特性適合RTL編寫,該工具在Linux和Windows上都能用,而且是免費的。

要了解設(shè)計中主要的電子設(shè)計自動化(Electronic Design Automation,EDA)工具,必須先了解EDA軟件的市場格局和相關(guān)開發(fā)商。世界三大EDA巨頭分別是鏗騰(Cadence)、新思(Synopsys)和明導(dǎo)(Mentor)。粗略地說,數(shù)字設(shè)計較常用Synopsys,而模擬設(shè)計常用Cadence。實際上,Synopsys和Cadence都有完整的設(shè)計工具鏈,只是有用戶認可度和市場占有率的區(qū)別。Mentor在一些細分領(lǐng)域有優(yōu)勢。

在數(shù)字IC設(shè)計方面,首先需要對RTL進行仿真。最常用工具是Synopsys的VCS,Cadence的仿真工具叫Insicive,也叫irun。這些工具可以勝任前仿、后仿、UVM架構(gòu)的仿真等。Cadence的irun與模擬設(shè)計工具Virtuoso中集成的AMS仿真工具相結(jié)合,支持數(shù)字模擬電路混合仿真。

數(shù)字設(shè)計離不開波形查看工具??床ㄐ蔚能浖话銜稍诜抡婀ぞ咧?,隨仿真軟件一同安裝。VCS的波形軟件叫DVE,而Insicive也可以用SimVision來查看波形,但是,在這個領(lǐng)域,一家名為Novas的公司所編寫的軟件,以其明快的界面、方便的功能、快捷的操作,異軍突起,得到了廣泛認可,它就是Verdi(以音樂家威爾第的名字命名,其前身叫Debussy,以音樂家德彪西的名字命名)。Verdi現(xiàn)已被Synopsys收購,成為其工具鏈家族的一員。Mentor的仿真和看波形軟件叫ModelSim,該軟件主要用于FPGA功能的仿真。

編譯C語言時有語法檢查,RTL同樣需要檢查語法的工具。最常用的是Atrenta公司開發(fā)的Spyglass,它不僅能檢查單純的語法錯誤,還能進行跨時鐘域處理方案的可靠性檢查,該軟件甚至可以在內(nèi)部執(zhí)行綜合、功耗評估和簡單的布局布線,使它能全方位地給出設(shè)計建議。該工具也已被Synopsys收購。Cadence相對應(yīng)的檢查工具是nLint。

綜合工具,即將RTL轉(zhuǎn)換為實際電路的工具,最常用的是Synopsys的Design Compiler(DC)。該工具內(nèi)部還帶有一些Synopsys開發(fā)的庫,能夠幫助設(shè)計者減小面積,提高性能,例如加法器、乘法器等,這些設(shè)計好的子模塊在DC中被稱為DesignWare(DW)??梢允亲尮ぞ咦詣訌腞TL中識別出可用DW替換的代碼,也可以是設(shè)計者手動例化DW模塊。Cadence相應(yīng)的工具叫Genus(原名為RTL Compiler)。

版圖自動布局布線的軟件,Synopsys有ICC2(舊版為ICC),Cadence有Innovus(原名Encounter),兩個軟件都被廣泛使用。由于兩個軟件的操作命令不同,后端工程師往往只掌握其中一種。Synopsys為了增強客戶的黏性,開發(fā)了一個銀河(MilkyWay)流程,從前端到后端,通過專用的二進制文件格式(db)傳輸,占用空間小,處理效率高,但也有許多公司使用DC綜合,再將網(wǎng)表導(dǎo)入Innovus進行布局布線。

當版圖完成后,需要對整個設(shè)計的時序、功耗進行評估,即SignOff步驟。對應(yīng)的工具是Synopsys的Prime Time(PT)和Cadence的Tempus。目前,PT已成為業(yè)內(nèi)SignOff的標準。實際上,時序分析在DC中也能做,但兩者在分析方法、細節(jié)考慮全面度、分析速度等方面存在差異。在綜合時使用DC檢查,而在SignOff時,使用PT檢查。

從RTL到綜合網(wǎng)表的過程,以及從綜合網(wǎng)表到后端網(wǎng)表的過程,可能意外地改變原有功能和設(shè)計意圖。為了檢查出此類風(fēng)險,需要一種形式驗證工具,也稱為邏輯等效性檢查(Logic Equivalence Check,LEC),將RTL和網(wǎng)表進行一一對照。Synopsys開發(fā)的工具是Formality,Cadence開發(fā)的工具是Conformal。

進入設(shè)計版圖階段,可以確定走線的延遲。該值受到信號負載、線路長短、粗細、周圍線路等多重影響,需要用模型和查表進行計算才可以得到確切的值。該過程稱為寄生參數(shù)的提取,一般使用Synopsys的工具StarRC。提取出來的信息可用于PT進行SignOff,也可以輸入VCS中進行后仿。

上述工具,最主要的控制語法是TCL語言。EDA工具大多以該語言為基礎(chǔ),擴展出各種專用命令,因此,TCL基本語法的掌握是必不可少的。

以上是數(shù)字設(shè)計的基本工具,還有一些更加細分的工具類型,如仿真加速器等,本書不再贅述。EDA廠商也不只有3家,例如國內(nèi)的華大九天等廠商也開發(fā)了一些性能優(yōu)異的工具軟件,讀者可以在今后的工作中慢慢探索??傮w而言,數(shù)字芯片的設(shè)計工具繁多,步驟復(fù)雜,因而入行的門檻也比較高,但希望讀者不要被繁雜奇怪的工具名稱和專業(yè)術(shù)語所嚇倒,工具終歸是工具,設(shè)計芯片最重要的是設(shè)計思想,驗證芯片最重要的是案例設(shè)計和環(huán)境仿真,這些人類智慧是工具很難代替的。只要讀者抓住重點,通過熟悉前人的腳本,結(jié)合查詢芯片論壇的討論,學(xué)會基本的工具使用方法還是比較容易的。切不可被EDA廠商的各種概念宣傳所左右,而忘記了芯片設(shè)計和驗證的真正初衷。

模擬IC設(shè)計常用的EDA工具比較簡單,主要是Cadence公司的Virtuoso。與數(shù)字設(shè)計中繁多的工具不同,Virtuoso能滿足大部分設(shè)計需求,例如繪制并仿真原理圖、繪制并仿真版圖、數(shù)?;旌戏抡娴取嶋H上,Virtuoso更像集成開發(fā)環(huán)境(Integrated Development Environment,IDE),它包含很多獨立的設(shè)計工具,如仿真工具Spectre等。Mentor的Calibre可以用來提取寄生參數(shù)、進行DRC和LVS檢查,是比較公認的模擬SignOff工具。最終的模擬版圖必須用Calibre檢查通過后才能放心流片。

新人往往會有一個誤區(qū),認為EDA軟件是單純的軟件,普通軟件公司也可以進行EDA開發(fā)。實際上,EDA軟件是芯片制造技術(shù)和軟件技術(shù)結(jié)合的產(chǎn)物。EDA廠商需要與Foundry廠商緊密合作,才能獲得有關(guān)的生產(chǎn)細節(jié)數(shù)據(jù),從而幫助用戶進行更加準確的仿真、寄生參數(shù)的提取、規(guī)則的檢查。不同EDA工具抽取的寄生參數(shù)可能不同,仿真結(jié)果也可能不一樣,原因可能是不同的工具獲得的工藝數(shù)據(jù)不同??梢姡珽DA和Foundry是相輔相成的,具有很強的互利性和壟斷性。國內(nèi)EDA廠商若想打破國際巨頭的壟斷,不能僅靠軟件技術(shù),還要與各大Foundry廠達成戰(zhàn)略合作,共享工藝數(shù)據(jù),這樣才能做出有實用價值的EDA工具。

人們通常習(xí)慣于靜態(tài)思維,誤以為設(shè)計方法、設(shè)計工具是長期不變的,設(shè)計EDA的公司也是長期存在的。從上文介紹的EDA工具鏈中可以看到,芯片行業(yè)是一個經(jīng)常發(fā)生變化的行業(yè),企業(yè)間的收購與合并、產(chǎn)品線的搭建與裁撤是常有的。像Atrenta和Novas這樣的名字,曾經(jīng)為芯片設(shè)計者所熟知,如今也漸漸地消失在歷史長河之中,只在一些公司服務(wù)器的EDA安裝目錄中偶爾會出現(xiàn),這也算是一種時代的印記吧。

IC設(shè)計中常用的EDA軟件見表1-1,括號中為公司名。

表1-1 常用的EDA軟件(括號中為公司名)

主站蜘蛛池模板: 连城县| 商洛市| 通道| 新营市| 孝感市| 苏尼特右旗| 宁明县| 泸溪县| 秭归县| 唐山市| 安达市| 治县。| 嵊州市| 当阳市| 修武县| 高州市| 夏邑县| 抚远县| 满洲里市| 高雄县| 宝山区| 得荣县| 吴江市| 京山县| 株洲市| 衡南县| 利辛县| 长寿区| 钟祥市| 平罗县| 集贤县| 花垣县| 江西省| 眉山市| 新安县| 班玛县| 松溪县| 宣武区| 怀来县| 永嘉县| 湖南省|