一篇關(guān)于IC設(shè)計的好文章
IC設(shè)計中所使用的EDA工具
俗話說“公欲善其事,必先利其器”。IC設(shè)計中EDA工具的日臻完善已經(jīng)使工程師完全擺脫了原先手工操作的蒙昧期。IC設(shè)計向來就是EDA工具和人腦的結(jié)合。隨著IC不斷向高集成度、高速度、低功耗、高性能發(fā)展,沒有高可靠性的計算機輔助設(shè)計手段,完成設(shè)計是不可能的。IC設(shè)計的EDA工具真正起步于80年代,1983年誕生了第一臺工作站平臺apollo;20年的發(fā)展,從硬件描述語言(或是圖形輸入工具)到邏輯仿真工具(LOGIC SIMUL ICATION),從邏輯綜合(logic synthesis)到自動布局布線(auto plane & route )系統(tǒng);從物理規(guī)則檢測(DRC & ERC)和參數(shù)提取(LVS)到芯片的最終測試;現(xiàn)代EDA工具幾乎涵蓋了IC設(shè)計的方方面面。提到IC設(shè)計的EDA工具就不能不說cadence公司,隨著compass的倒閉,它成為這個行業(yè)名副其實的“老大” cadence提供了IC design中所涉及的幾乎所有工具;但它的工具和它的名氣一樣的值錢!現(xiàn)代IC技術(shù)的迅猛發(fā)展在EDA軟件廠家中掀起并購、重組熱潮。除CADENCE公司以外,比較有名的公司包括mentor,avanti,synopsys和INVOED A;mentor和cadence一樣是一個在設(shè)計的各個層次都有開發(fā)工具的公司,而AVANTI因其模擬仿真工具HSPICE出名,SYNOPSYS則因為邏輯綜合方面的成就而為市場認可。下面我們根據(jù)設(shè)計的不同階段和層次來談?wù)勥@些工具;
(1)輸入工具(design input) 對自頂而下的(TOP-DOWN)設(shè)計方法,往往首先使用VHDL或是VERILOG HDL來完成器件的功能描述,代表性的語言輸入工具有SUMMIT公司的VISUAL HDL和MENTOR公司的RENIOR等。雖然很多的廠家(多為FPGA廠商)都提供自己專用的硬件描述語言輸入,如ALTRA公司的AHDL,但所有的公司都提供了對作為IEEE標準的VHDL,VerilogHDL的支持。對自下而上的設(shè)計,一般從晶體管或基本門的圖形輸入開始,這樣的工具代表性的有cadence公司的composer;viewlogic公司的viewdraw等,均可根據(jù)不同的廠家?guī)於珊洼斎刖w管或門電路相對應(yīng)的模擬網(wǎng)表。
(2)電路仿真軟件(circuit simulation)(分為數(shù)字和模擬兩大類) 電路仿真工具的關(guān)鍵在于對晶體管物理模型的建立,最切和實際工藝中晶體管物理特性的模型必然得到和實際電路更符合的工作波形,隨IC集成度的日益提高,線寬的日趨縮小,晶體管的模型也日趨復(fù)雜。任何的電路仿真都是基于一定的廠家?guī)?,在這些庫文件中制造廠為設(shè)計者提供了相應(yīng)的工藝參數(shù);如TSMC0.18um Cu CMOS工藝的相關(guān)參數(shù)高達300個之多;可以用于數(shù)字仿真的工具有很多,先期邏輯仿真的目的只是為了驗證功能描述是否正確。對于使用verilog HDL生成的網(wǎng)表,cadence公司的verilog-XL是基于UNIX工作站最負盛名的仿真工具;而近年隨PC工作站的出現(xiàn),viewlogic的VCS和mentor公司的modelsim因其易用性而迅速崛起并成為基于廉價PC工作站的數(shù)字仿真工具的后起之秀;對于VHDL網(wǎng)表仿真,cadence公司提供AFROG;SYNOPSYS公司有VSS,而mentor公司基于PC的MODELSIM則愈來愈受到新手們的歡迎。PSPICE最早產(chǎn)生于Berkley大學,經(jīng)歷數(shù)十年的發(fā)展,隨晶體管線寬的不斷縮小,PSPICE也引入了更多的參數(shù)和更復(fù)雜的晶體管模型。使的他在亞微米和深亞微米工藝的今天依舊是模擬電路仿真的主要工具之一。AVANTI是IC設(shè)計自動化軟件的“英雄少年”,它的HSPICE因其在亞微米和深亞微米工藝中的出色表現(xiàn)而在近年得到了廣泛的應(yīng)用。cadence公司的spectre也是模擬仿真軟件,但應(yīng)用遠不及PSPICE和HSPICE廣泛;對于特殊工藝設(shè)計而言,由于它們使用的不是Si基bipolar或CMOS工藝,因而也有不同的設(shè)計方法和仿真軟件;例如基于AsGa工藝的微波器件所使用的工具,較著名的有HP的eesoft等;
(3)綜合工具(synthesis tools) 用于FPGA和CPLD的綜合工具包括有cadence的synplify;synopsys公司的FPGA express和FPGA compiler;mentor公司的leonardo spectrum;一般而言不同的FPGA廠商提供了適用于自己的FPGA電路的專用仿真綜合工具,比如altera公司的MAXPLUS2僅僅適用它自己的MAX系列芯片;而foundation則為XILINX器件量身定做...... 最早的IC綜合工具應(yīng)該是cadence的buildgates;而Cadence最新版本的Envisi a Ambit(R)則在99年在ASIC international公司成功用于240萬門的設(shè)計。使用較廣泛的還有synopsys的design compiler和behavial compiler;基于不同的庫,邏輯綜合工具可以將設(shè)計思想轉(zhuǎn)化成對應(yīng)一定工藝手段的門級電路;將初級仿真中所沒有考慮的門沿(gates delay)反標到生成的門級網(wǎng)表中,返回電路仿真階段進行再仿真。最終仿真結(jié)果生成的網(wǎng)表稱為物理網(wǎng)表。
(4)layout工具和自動布局布線(auto plane & route)工具
cadence的design framework是常用的基于UNIX工作站的全定制設(shè)計的布局布線軟件,和silicon ensemble,Envisia place &route DSM; (cadence的版圖輸入工具Virtuoso)(5)物理驗證(physical validate)和參數(shù)提取(LVS)工具依然可以分成為ASIC和FPGA兩大類。ASIC設(shè)計中最有名、功能最強大的是cadence的DRECULA,可以一次完成版圖從DRC(設(shè)計規(guī)則檢查),ERC(電氣特性檢查)到LVS(寄生參數(shù)提?。┑墓ば颍籇IVA作為其相對較弱的軟件多提供給教學用途;AVANTI的STAR-RC也是用于物理驗證的強力工具,而hercules則是其LVS的排頭兵。如同綜合工具一樣,F(xiàn)PGA廠商的物理驗證和參數(shù)提取多采用專門的軟件、并和其仿真綜合工具集成在一起。ALTERA-p.htm" target="_blank" title="ALTERA貨源和PDF資料">ALTERA的MAXPLUS2和XILINX的FOUNDATION是這樣的典型;
(6)由于VLSI尤其是ULSI電路的預(yù)投片費用都相當?shù)母撸ㄈ鏣SMC 0.25um CMO S 工藝一次預(yù)投片的費用為100萬美圓,而0.18um Cu CMOS 3.3V工藝的一次預(yù)投竟高達300萬美圓)。因而對ASIC芯片,要求芯片設(shè)計盡量正確。最好完全消滅錯誤;解決功耗分析;生成用于芯片測試目的的特殊測試電路;因應(yīng)這一要求,也產(chǎn)生了一些特殊的EDA工具,以完成諸如power analysis、故障覆蓋率分析、測試矢量生成等目的。現(xiàn)代VLSI特別是ULSI IC的迅速發(fā)展,正是依靠EDA工具在亞微米和深亞微米技術(shù)上的進步及其對應(yīng)工藝水平的提高。應(yīng)該說沒有EDA工具就沒有IC; [!--empirenews.page--]
4.設(shè)計團隊(design term or group)
(FIG1 是IC設(shè)計的流程圖)上面我們主要講了IC設(shè)計對研發(fā)項目和EDA工具的要求,那么有了切實可行的項目和完整可靠的EDA工具,如何將它變成為產(chǎn)品呢?集成電路設(shè)計和足球比賽一樣是一個最能體現(xiàn)人類合作精神和智慧的工作了,只是他有更深刻的科技涵義罷了。就如同沒有任何一個英雄可以創(chuàng)造足球場上的神話一樣(當然一邊倒的比賽除外)一個結(jié)構(gòu)合理的研發(fā)隊伍是產(chǎn)品“成敗的關(guān)鍵”;一般而言,一片IC可以從大的方面分成兩部分:即數(shù)字(Digital)和模擬(An aloge) 電路部分。實際上真正的IC設(shè)計應(yīng)該是ASIC設(shè)計,而FPGA或PLD設(shè)計更傾向于系統(tǒng)級的設(shè)計;可以這樣說:一個做IC設(shè)計的工程師至少應(yīng)該是學半體出身的,他更多的是在和諸如晶體管,版圖這樣的東西打交道;而一個做FPGA的工程師只須懂得硬件描述語言,他只要將行為級描述使用特殊的FPGA 工具寫入到FPGA或PLD中即可。因而本部分將著重于ASIC來說IC設(shè)計;
(1) 模擬工程師(analog design engineer)在term中主要完成模擬電路的設(shè)計,如收發(fā)器(transreceiver)、高頻鎖相環(huán)、A/D D/A轉(zhuǎn)換器、放大器等這些無法用數(shù)字方法實現(xiàn)的電路,必須用晶體管來搭建。而對于在廠家?guī)熘兴鶝]有提供的基本門也必須使用晶體管來實現(xiàn)?,F(xiàn)代IC設(shè)計的發(fā)展已經(jīng)使得工程師只須在廠家提供的庫的基礎(chǔ)上調(diào)整晶體管的寬長比(W/L)來決定晶體管特性。(FIG1是一個基于0.18um 工藝可以達到2.5G頻率的D觸發(fā)器參數(shù)圖,它采用TSMC的0.18um制程庫;而圖FIG2則是使用AVANTI公司的HSPICE98.4 version模擬仿真工具所生成的波形圖;從圖中我們可以發(fā)現(xiàn)這個電路設(shè)計可以很好的運行在2.5G的高頻下,并句有很好的上升和下降沿;USB接口芯片中的transreciever部分就必須是模擬工程師根據(jù)USB協(xié)議中要求發(fā)送和接收的物理和電氣特性來采用合適的晶體管電路實現(xiàn); (2) 在一片功能IC中,大部分是數(shù)字電路設(shè)計。數(shù)位工程師(digital design e ngineer)正是使用verilog HDL或是VHDL語言來完成芯片的功能描述;使用modelsim 這樣的仿真工具來完成邏輯驗證;然后再使用design compiler這樣的綜合工具來將行為描述(behaviral descriptor)轉(zhuǎn)化成門級網(wǎng)表(net gate)以便layout工程師可以使用布局布線工具將它轉(zhuǎn)化成版圖;下面是在USB芯片中要用到的,一個產(chǎn)生CRC5 校驗碼模塊的verilog HDL描述:
module crc5(sysclk,nfsr,address_endpoint,sout_crc5,en_crc5);
input[1:0] nfsr; input sysclk,en_crc5; input[10:0] address_endpoint;
output[4:0] sout_crc5;
wire[4:0] sout_crc5;
reg[4:0] register5a,register5b; reg[3:0] i; reg[1:0] j;
assign sout_crc5=~register5a;
always @(posedge sysclk)
begin
if ((nfsr==2'b0)||!en_crc5) // if reset or soft_reset;
begin j=0; register5a=5'b11111; register5b=5'b00101; end //initialization
else if (nfsr==2'b10) // if system in operation status;
begin if (j<=1) begin j=j+1; end
if (j==1) begin
for (i=0;i<=10;i=i+1) //every bit would be xor with register5a
begin //then right-move;
if (register5a[4]^address_endpoint[i])
begin register5a=register5a<<1; register5a=register5a^ register5b; end else begin register5a=register5a<<1; end
end
end
end
end
endmodule
圖FIG6是對其使用MODELSIM邏輯仿真工具所生成的波形; [!--empirenews.page--]
下面是使用synopsys公司的綜合工具DESIGN CPMPILER綜合生成的網(wǎng)表文件(基于TSMC的0.35um CMOS數(shù)字電路庫,注意僅僅選取整個網(wǎng)表的一部分作為示意);:
module crc5 ( sysclk, nfsr, address_endpoint, sout_crc5, en_crc5);
input [10:0] address_endpoint; input[1:0] nfsr; input sysclk, en_crc5; output [4:0] sout_crc5;
wire j[1] , register5b[4] , register5a[3] , register5a[1] , register5b[2] , register5a[4] , register5a[0] , register5b[3] ,
n768[0] , j[0] , register5a[2] , register5b[1] , n899, n900, n901,..... n1041;
RS_ND2_A U458 ( .O(n973), .I1(register5b[2] ), .I2(n1003) );
........
RS_XNR2_A U464 ( .O(n907), .I1(address_endpoint[0]), .I2(register5a[4] ) );
.......
RS_XOR2_A U467 ( .O(n919), .I1(n938), .I2(n917) );
.......
RS_INV_A U472 ( .O(n1002), .I(n921) );
.......
RS_XOR2_A U476 ( .O(n921), .I1(n939), .I2(n918) );
.......
RS_AN2_B U556 ( .O(n899), .I1(n1001), .I2(n908) );
.......
RS_DFF_B j_reg[1] ( .Q(j[1] ), .D(n899), .CK(sysclk) );
RS_DFF_B j_reg[0] ( .Q(j[0] ), .D(n1031), .CK(sysclk) );
RS_DFF_B register5a_reg[4] ( .Q(register5a[4] ), .QB(sout_crc5[4]) , .D( n1032), .CK(sysclk) );
.......
endmodule
design compiler綜合生成的門級電路圖。
對數(shù)位和模擬工程師而言,廠家?guī)焓窃O(shè)計的基礎(chǔ),生成的門級電路的模擬輸出特性或是數(shù)字邏輯是否正確,都須以綜合后仿真為依據(jù)。如果沒有達到自己想要的結(jié)果或是電路過于復(fù)雜,就必須再回頭重新調(diào)整自己原先的設(shè)計。因而數(shù)位和模擬工程師 的工作總是遵循這樣的法則:VHDL或VERILOG HDL描述(或圖形輸入)—前仿真—— 綜合——后仿真——修改語言描述(或圖形輸入);而網(wǎng)表文件則是IC設(shè)計EDA工具可以識別的標準語言。
(3)layout設(shè)計可能是IC TERM中最需藝術(shù)家氣質(zhì)的工作。只是他必須嚴格按照代工廠所提供的設(shè)計規(guī)則(design rule)來繪制版圖,或編寫布局布線的約束文件。有兩種版圖設(shè)計的方法:直接的手工布局布線和EDA工具的自動布局布線。對ASIC和通用IC電路而言,經(jīng)驗豐富layout工程師的手工操作意味著比自動布局布線更緊湊合理的電路結(jié)構(gòu),更小的芯片面積,更短的線延遲和更高的后仿真成功率;而自動布局布線則意味著更短的設(shè)計周期,更少的人力資源投入;
圖FIG10為上述2.5G D觸發(fā)器的手工layout的版圖;(采用TSMC的0.18um六層布線 Cu CMOS工藝標準,標準:CMOS018 design rule) 一個優(yōu)秀的layout工程師可能同時掌握物理驗證(DRC,ERC)和參數(shù)提取(LVS)工具;設(shè)計規(guī)則檢測用于檢查一個版圖是否符合芯片加工廠的工藝約束,而參數(shù)提取則將在前仿真中沒有考慮到的寄生的RC(電阻電容)參數(shù)從生成的版圖中提取出來,反標到網(wǎng)表文件中供模擬和數(shù)位工程師做版圖后仿真之用.模擬和數(shù)位工程師根據(jù)包含了寄生參數(shù)的網(wǎng)表文件來調(diào)整已有的設(shè)計以達到項目要求的物理,電氣特性和邏輯功能.然后再將仿真后網(wǎng)表送到layouter手中進行重新的布局布線;這樣的循環(huán)往往要來回數(shù)次才能得到滿意的結(jié)果. 實際的情況往往是版圖設(shè)計師和驗證設(shè)計師各司其職,只是他們統(tǒng)稱為layout工程師; 為設(shè)計出高效專業(yè)的版圖,進行正確的物理驗證和參數(shù)提取,layout工程師必須非常熟悉半導(dǎo)體工藝及其原理,熟悉代工廠的工藝細節(jié),精通工廠提供的設(shè)計規(guī)則.layo ut設(shè)計師是一個term中和工藝關(guān)系最密切的環(huán)節(jié); layout的經(jīng)驗是設(shè)計師最可寶貴的財產(chǎn);
(4)TEST engineer;眾所周知,現(xiàn)代IC的發(fā)展已經(jīng)使得測試占到整個設(shè)計成本的 30%左右。設(shè)計的可測試性以及樣片的測試成為產(chǎn)品的重要方面。所謂可測性即在設(shè)計階段,為了芯片性能測試和工藝正確性測試的需要,設(shè)計師必須在芯片上加入大量的與功能無關(guān)的測試電路。有時這種測試版圖甚至超過功能模塊的面積!樣片測試則是在預(yù)投片后對芯片樣品進行細致的預(yù)定功能測試。測試手段的不斷進步使得芯片的功耗分析、熱分析、功能分析、信號完整性分析等等的精度和涵蓋的范圍愈來愈深入和廣泛;而用于測試的設(shè)備儀器和軟件投入也愈來愈大。 測試工程師的工作結(jié)果是一個設(shè)計是否成功的標準依據(jù)。
(5)經(jīng)驗豐富的項目主管
技術(shù)主管首先是資深A(yù)SIC設(shè)計工程師(Junior ASIC Design Engineers),
4.雄厚的經(jīng)濟基礎(chǔ)
5.結(jié)論
從項目論證到選擇合適的實現(xiàn)方法,從使用不同的EDA工具到分配合理的人力資源。集成電路設(shè)計的每一個環(huán)節(jié)都相互關(guān)聯(lián)和影響,都是關(guān)系產(chǎn)品成敗不可或缺的因 素。我國的微電子技術(shù)在50、60年代并不比美日差,那時半導(dǎo)體技術(shù)研究有“遍地開花”之說。但因為種種原因(比如政策上的和大環(huán)境上的)使的我們今天已經(jīng)遠遠落后于美國、日本、韓國等國家和我國的臺灣地區(qū)?,F(xiàn)在國家開始逐漸重視IC產(chǎn)業(yè);加入WTO有望打破日美發(fā)達國家對我們的技術(shù)封鎖;國內(nèi)有豐富的人力資源;很多著名的半導(dǎo)體廠商開始在大陸投資建廠、設(shè)立研究機構(gòu)......這些為我國微電子產(chǎn)業(yè)的快速啟動和發(fā)展創(chuàng)造了前所未有的有利條件。國內(nèi)的微電子行業(yè)如何迎接挑戰(zhàn),如何在落后日美10年的情況下迎頭趕上?我認為是一個很值得研究的課題。但我們堅信只要可以很好的解決這個課題;國家加大對微電子行業(yè)的投資力度;設(shè)立有效的IC設(shè)計和生產(chǎn)人力資源管理和使用制度,吸引更多的人加入到IC產(chǎn)業(yè)并減少每年白白流失到國外的IC設(shè)計人才(由于國外的IC產(chǎn)業(yè)的報酬都很高,如清華、中科院、復(fù)旦等學校的大量IC人才流失到國外);鼓勵基礎(chǔ)研究和與國外先進技術(shù)廠商加強技術(shù)和學術(shù)交流;借鑒韓國和臺灣在微電子產(chǎn)業(yè)發(fā)展方面的經(jīng)驗教訓;不盲目地上馬項目,腳踏實地地努力;我想正如臺灣UMC首席技術(shù)教授、中科院外籍院士、DRAM 器件的發(fā)明人施敏先生所說:“不出10年大陸的微電子產(chǎn)業(yè)就會趕超臺灣”。