當你坐在計算機旁工作或在網上沖浪,當你打開電視機欣賞節目,當你在川流不息的人群中拿起無繩電話,當你的VCD或DVD正在播放驚心動魄的hoolywood 電影. ......你可知道在這些和我們的生活和工作如此密切相關的產品中有多少IC(大規模集成電路)在默默的工作。個人電腦、因特網、無繩電話、天氣預報、模擬戰爭、空中預警、導彈衛星.... ...幾乎所有的新名詞都和IC密切相關。IC工業的成就和未來正引起人類社會新的變革。當比爾.蓋茨在condex大會上為我們描繪如詩般的internet生活;當intel和amd宣布里程碑式的1G處理器;你是否了解為致力于創造和改變人們生活方式的IC設計">IC設計工程師是如何把我們的每一個夢想變成現實? 筆者愿以一個普通設計人員的身份幫你撩開IC設計">IC設計的神秘面紗。 1,項目和課題; (1) Herbert Kroemer說過這樣的名言:“任何一種新的并具創造性的技術的應用原理總是,也一直都是,因為這種技術所創造的應用。” 設計IC的唯一目的就是為了滿足某種需求,譬如CPU和DRAM是為了計算機而存在; 而80C51系列單片機就是因為很多的工控應用而蓬勃發展,而象mpeg1,mpeg2,m p3解碼器這些專用電路更是目的明確。因此IC設計項目總是和應用密切相關。不要盯住無用的“新技術”而投入過份的精力。早在voodoo之前Nviria公司就創造了曲面帖圖技術,但這種技術太超前了,以致它現在都是不切實際的幻想。然而任何IC開發計劃又都必須具有前瞻性,只是這種前瞻性必須是也只能是:當芯片在制造廠流片成功時正是它所對應的技術即將或大量應用時。 (2)在IC設計行業,“時間就是金錢”是永遠不變的鐵律。 沒有那個公司會做過時的IC,再傻的老板都不會在現在把開發mpeg1或10M以太網芯片做為自己的目標,因為技術和應用發展的方向正在淘汰他們,一切不和時宜和不具前瞻性的項目都不具吸引力。我所在的term就將千兆以太網芯片作為自己的努力方向,因為它比現在正流行的傳輸率快一個階段。隨千兆以太網標準的推出,未來的局域網應用一定會是千兆的天下,這稱為技術貯備。NVIDIA公司在推出TNT2時早在研發NV20。符合技術發展潮流和應用規律的項目是保證投資回報和團隊生存的基本要求。 (3)“沒有人愿意和巨人打架”,syrex和IDT的失敗正是這句話的真實印證。 任何產品目標都必須是切實可行符合業界規范的。一個小的剛剛涉足IC設計的trem將CPU設計作為自己的目標無疑是可笑和毫無意義的。他必須了解自己的研發能力可以達到什么樣的程度,這包括了項目帶頭人的能力和技術專長,包括了整個團隊的開發經驗等等。在IC設計中,最講究的就是要“專”,不要什么都想干,往往什么都干不成。比如一個在網絡開發方面有經驗的TERM沒必要選擇開發單片機,最可能的是他會開發網路產品而在需要用單片機或DSP作為microcontroller時去買nation semicond ucter或TI的芯核(我們所屬的TMI公司就是這樣);我們在開發USB芯片的過程中,從來不把host controller作為自己的目標,因為作為一個在國內的剛剛組建的IC design term,我們根本沒有技術,經驗和能力去和nec、philips、intel或、nation semiconductor比較。即使我們研發的USB1.1標準的芯核也只可以作為usb接口的以太網卡的一部分來使用,而不是作為一款單獨的產品;眾所周知曾經有中國的SVCD規范出臺,SVCD的最終失敗正是因為它不符合國際標準;符合標準是IC設計的前提,計算機產業的迅速發展正是因為它的標準化。對標準的兼容性是一片IC是否可以被市場認可的關鍵。VIA正是因為intel在很多技術上的專利而不得不收購S3、syrex等公司來換取技術專利交換協議以保持和intel處理器的兼容性。另外,一個研發團隊對標準的掌握程度和速度直接決定產品在市場中的成敗。我們在開發USB接口的100M以太網卡芯片的過程中,之所以USB部分開發迅速,而net work的mac部分遇到困難,正是因為我們對network協議的無知,后來由熟知網路協議的臺灣term來完成; 2,實現方法; IC從生產目的上可以分成為通用IC(如CPU,DRAM,接口芯片等)和ASIC(Application Specific Integreted Circuit)兩種,ASIC是因應專門用途而生產的IC。 從結構可以分成數字IC,模擬IC,數模混合IC三種,而SOC(system on chip )則成為發展的方向。從實現方式上講可以分為三種。基于晶體管級,所有器件和互連版圖都采用人工的稱為全定制(full-custom)設計,這種方法比較適合于大批量生產的,要求集成度高、速度快、面積小、功耗低的通用型IC或是ASIC。基于門陣(Gate-Array)和標準單元(Standard-Cell)的半定制設計(Semi-custom)由于其成本低、周期短、芯片利用率低而適合于批量小、要求推出速度快的芯片 。基于IC生產廠家已經封裝好的PLD(Programmable Logical Design)芯片的設計,因為其易用性、“可重寫性”受到對集成電路工藝不太了解的系統集成用戶的歡迎。他的最大特點就是只須懂得硬件描述語言就可以使用特殊EDA工具“寫入”芯片功能。但PLD集成度低、速度慢、芯片利用率低的缺點使他只適合新產品的試制和小批量生產。近年來PLD中發展最活躍的當屬FPGA(Field Programmable Gate Array)器件. 從采用的工藝可以分成雙極型(bipolar),MOS和其他的特殊工藝。硅(Si)基 半導體工藝中的雙極型器件由于功耗大、集成度相對低,在近年隨亞微米深亞微米工藝的的迅速發展,在速度上對MOS管已不具優勢,因而很快被集成度高,功耗低、抗干擾能力強的MOS管所替代。MOS又可分為NMOS、PMOS和CMOS三種;其中CMOS工藝發展已經十分成熟,占據IC市場的絕大部分份額。AsGa器件因為其在高頻領域(可以在0 ..35um下很輕松作到0GHz)如微波IC中的廣泛應用,其特殊的工藝也得到了深入研究。而應用于視頻采集領域的CCD傳感器雖然也使用IC一樣的平面工藝,但其實現和標準半導體工藝有很大不同。{{分頁}} 從設計方法可以分成自頂而下(top-down)和自底而上兩種方法。top-down的設計方法在IC開發中,根據不同的項目要求,根據項目經費和可供利用的EDA工具和人力資源,根據代工廠的工藝實際,采用不同的實現方法是很重要的決策. (5)技術創新和緊跟潮流是IC公司良性循環的根本保證;(需要講嗎?) 3,IC設計中所使用的EDA工具; 俗話說“公欲善其事,必先利其器”。IC設計中EDA工具的日臻完善已經使工程師完全擺脫了原先手工操作的蒙昧期。IC設計向來就是EDA工具和人腦的結合。隨著IC不斷向高集成度、高速度、低功耗、高性能發展,沒有高可靠性的計算機輔助設計手段,完成設計是不可能的。IC設計的EDA工具真正起步于80年代,1983年誕生了第一臺工作站平臺apollo;20年的發展,從硬件描述語言(或是圖形輸入工具)到邏輯仿真工具(LOGIC SIMUL ICATION),從邏輯綜合(logic synthesis)到自動布局布線(auto plane & route )系統;從物理規則檢測(DRC & ERC)和參數提取(LVS)到芯片的最終測試;現代EDA工具幾乎涵蓋了IC設計的方方面面。提到IC設計的EDA工具就不能不說cadence公司,隨著compass的倒閉,它成為這個行業名副其實的“老大” cadence提供了IC design中所涉及的幾乎所有工具;但它的工具和它的名氣一樣的值錢!現代IC技術的迅猛發展在EDA軟件廠家中掀起并購、重組熱潮。除CADENCE公司以外,比較有名的公司包括mentor,avanti,synopsys和INVOED A;mentor和cadence一樣是一個在設計的各個層次都有開發工具的公司,而AVANTI因其模擬仿真工具HSPICE出名,SYNOPSYS則因為邏輯綜合方面的成就而為市場認可。下面我們根據設計的不同階段和層次來談談這些工具; (1)輸入工具(design input): 對自頂而下的(TOP-DOWN)設計方法,往往首先使用VHDL或是VERILOG HDL來完成器件的功能描述,代表性的語言輸入工具有SUMMIT公司的VISUAL HDL和MENTOR公司的RENIOR等。雖然很多的廠家(多為FPGA廠商)都提供自己專用的硬件描述語言輸入,如ALTRA公司的AHDL,但所有的公司都提供了對作為IEEE標準的VHDL,VERILOG HDL的支持。對自下而上的設計,一般從晶體管或基本門的圖形輸入開始,這樣的工具代表性的有cadence公司的composer;viewlogic公司的viewdraw等,均可根據不同的廠家庫而生成和輸入晶體管或門電路相對應的模擬網表。 (2)電路仿真軟件(circuit simulation):(分為數字和模擬兩大類)。電路仿真工具的關鍵在于對晶體管物理模型的建立,最切和實際工藝中晶體管物理特性的模型必然得到和實際電路更符合的工作波形,隨IC集成度的日益提高,線寬的日趨縮小,晶體管的模型也日趨復雜。任何的電路仿真都是基于一定的廠家庫,在這些庫文件中制造廠為設計者提供了相應的工藝參數;如TSMC0.18um Cu CMOS工藝的相關參數高達300個之多;可以用于數字仿真的工具有很多,先期邏輯仿真的目的只是為了驗證功能描述是否正確。對于使用verilog HDL生成的網表,cadence公司的verilog-XL是基于UNIX工作站最負盛名的仿真工具;而近年隨PC工作站的出現,viewlogic的VCS和mentor公司的modelsim因其易用性而迅速崛起并成為基于廉價PC工作站的數字仿真工具的后起之秀;對于VHDL網表仿真,cadence公司提供AFROG;SYNOPSYS公司有VSS,而mentor公司基于PC的MODELSIM則愈來愈受到新手們的歡迎。PSPICE最早產生于Berkley大學,經歷數十年的發展,隨晶體管線寬的不斷縮小,PSPICE也引入了更多的參數和更復雜的晶體管模型。使的他在亞微米和深亞微米工藝的今天依舊是模擬電路仿真的主要工具之一。AVANTI是IC設計自動化軟件的“英雄少年”,它的HSPICE因其在亞微米和深亞微米工藝中的出色表現而在近年得到了廣泛的應用。cadence公司的spectre也是模擬仿真軟件,但應用遠不及PSPICE和HSPICE廣泛;對于特殊工藝設計而言,由于它們使用的不是Si基bipolar或CMOS工藝,因而也有不同的設計方法和仿真軟件;例如基于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綜合工具應該是cadence的buildgates;而Cadence最新版本的Envisi a Ambit(R)則在99年在ASIC international公司成功用于240萬門的設計。使用較廣泛的還有synopsys的design compiler和behavial compiler;基于不同的庫,邏輯綜合工具可以將設計思想轉化成對應一定工藝手段的門級電路;將初級仿真中所沒有考慮的門沿(gates delay)反標到生成的門級網表中,返回電路仿真階段進行再仿真。最終仿真結果生成的網表稱為物理網表。{{分頁}} (4)layout工具和自動布局布線(auto plane & route)工具 cadence的design framework是常用的基于UNIX工作站的全定制設計的布局布線軟件,和silicon ensemble ,Envisia place &route DSM; (cadence的版圖輸入工具Virtuoso) (5)物理驗證(physical validate)和參數提取(LVS)工具依然可以分成為ASIC和FPGA兩大類。 ASIC設計中最有名、功能最強大的是cadence的DRECULA,可以一次完成版圖從DRC(設計規則檢查),ERC(電氣特性檢查)到LVS(寄生參數提取)的工序;DIVA作為其相對較弱的軟件多提供給教學用途;AVANTI的STAR-RC也是用于物理驗證的強力工具,而hercules則是其LVS的排頭兵。如同綜合工具一樣,FPGA廠商的物理驗證和參數提取多采用專門的軟件、并和其仿真綜合工具集成在一起。ALTERA的MAXPLUS2和XILINX的FOUNDATION是這樣的典型; (6)由于VLSI尤其是ULSI電路的預投片費用都相當的高(如TSMC 0.25um CMO S 工藝一次預投片的費用為100萬美圓,而0.18um Cu CMOS 3.3V工藝的一次預投竟高達300萬美圓)。因而對ASIC芯片,要求芯片設計盡量正確。最好完全消滅錯誤;解決功耗分析;生成用于芯片測試目的的特殊測試電路;因應這一要求,也產生了一些特殊的EDA工具,以完成諸如power analysis、故障覆蓋率分析、測試矢量生成等目的。現代VLSI特別是ULSI IC的迅速發展, 正是依靠EDA工具在亞微米和深亞微米技術上的進步及其對應工藝水平的提高。應該說沒有EDA工具就沒有IC; 4,設計團隊(design term or group) (FIG1 是IC設計的流程圖)上面我們主要講了IC設計對研發項目和EDA工具的要求,那么有了切實可行的項目和完整可靠的EDA工具,如何將它變成為產品呢?集成電路設計和足球比賽一樣是一個最能體現人類合作精神和智慧的工作了,只是他有更深刻的科技涵義罷了。就如同沒有任何一個英雄可以創造足球場上的神話一樣(當然一邊倒的比賽除外)一個結構合理的研發隊伍是產品“成敗的關鍵”;一般而言,一片IC可以從大的方面分成兩部分:即數字(Digital)和模擬(An aloge) 電路部分。實際上真正的IC設計應該是ASIC設計,而FPGA或PLD設計更傾向于系統級的設計;可以這樣說:一個做IC設計的工程師至少應該是學半體出身的,他更多的是在和諸如晶體管,版圖這樣的東西打交道;而一個做FPGA的工程師只須懂得硬件描述語言,他只要將行為級描述使用特殊的FPGA 工具寫入到FPGA或PLD中即可。因而本部分將著重于ASIC來說IC設計; (1) 模擬工程師(analog design engineer)在term中主要完成模擬電路的設計,如收發器(transreceiver)、高頻鎖相環、A/D D/A轉換器、放大器等這些無法用數字方法實現的電路,必須用晶體管來搭建。而對于在廠家庫中所沒有提供的基本 門也必須使用晶體管來實現。現代IC設計的發展已經使得工程師只須在廠家提供的庫 的基礎上調整晶體管的寬長比(W/L)來決定晶體管特性。(FIG1是一個基于0.18um 工藝可以達到2.5G頻率的D觸發器參數圖,它采用TSMC的0.18um制程庫;而圖FIG2則是 使用AVANTI公司的HSPICE98.4 version模擬仿真工具所生成的波形圖;從圖中我們可 以發現這個電路設計可以很好的運行在2.5G的高頻下,并句有很好的上升和下降沿; USB接口芯片中的transreciever部分就必須是模擬工程師根據USB協議中要求發 送和接收的物理和電氣特性來采用合適的晶體管電路實現; (2) 在一片功能IC中,大部分是數字電路設計。數位工程師(digital design e ngineer)正是使用verilog HDL或是VHDL語言來完成芯片的功能描述;使用modelsim 這樣的仿真工具來完成邏輯驗證;然后再使用design compiler這樣的綜合工具來將行為描述(behaviral descriptor)轉化成門級網表(net gate)以便layout工程師 可以使用布局布線工具將它轉化成版圖;下面是在USB芯片中要用到的,一個產生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 //initi alization 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 register 5a 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邏輯仿真工具所生成的波形; {{分頁}} 下面是使用synopsys公司的綜合工具DESIGN CPMPILER綜合生成的網表文件(基于TSM C的0.35um CMOS數字電路庫,注意僅僅選取整個網表的一部分作為示意);: 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 圖FIG7是design compiler綜合生成的門級電路圖。 對數位和模擬工程師而言,廠家庫是設計的基礎,生成的門級電路的模擬輸出特 性或是數字邏輯是否正確,都須以綜合后仿真為依據。如果沒有達到自己想要的結果 或是電路過于復雜,就必須再回頭重新調整自己原先的設計。因而數位和模擬工程師 的工作總是遵循這樣的法則:VHDL或VERILOG HDL描述(或圖形輸入)—前仿真—— 綜合——后仿真——修改語言描述(或圖形輸入);而網表文件則是IC設計EDA工具 可以識別的標準語言。 (3)layout設計可能是IC TERM中最需藝術家氣質的工作。只是他必須嚴格按照代 工廠所提供的設計規則(design rule)來繪制版圖,或編寫布局布線的約束文件。有 兩種版圖設計的方法:直接的手工布局布線和EDA工具的自動布局布線。對ASIC和通 用IC電路而言,經驗豐富layout工程師的手工操作意味著比自動布局布線更緊湊合理 的電路結構,更小的芯片面積,更短的線延遲和更高的后仿真成功率;而自動布局布 線則意味著更短的設計周期,更少的人力資源投入; 圖FIG10為上述2.5G D觸發器的手工layout的版圖;(采用TSMC的0.18um六層布線 Cu CMOS工藝標準,標準:CMOS018 design rule) 一個優秀的layout工程師可能同時掌握物理驗證(DRC,ERC)和參數提取(LVS)工具;設計規則檢測用于檢查一個版圖是否符合芯片加工廠的工藝約束,而參數提取則將在 前仿真中沒有考慮到的寄生的RC(電阻電容)參數從生成的版圖中提取出來,反標到網 表文件中供模擬和數位工程師做版圖后仿真之用.模擬和數位工程師根據包含了寄生 參數的網表文件來調整已有的設計以達到項目要求的物理,電氣特性和邏輯功能.然后 再將仿真后網表送到layouter手中進行重新的布局布線;這樣的循環往往要來回數次 才能得到滿意的結果. 實際的情況往往是版圖設計師和驗證設計師各司其職,只是他們統稱為layout工 程師; 為設計出高效專業的版圖,進行正確的物理驗證和參數提取,layout工程師必須非 常熟悉半導體工藝及其原理,熟悉代工廠的工藝細節,精通工廠提供的設計規則.layo ut設計師是一個term中和工藝關系最密切的環節; layout的經驗是設計師最可寶貴的財產; (4)TEST engineer;眾所周知,現代IC的發展已經使得測試占到整個設計成本的 30%左右。設計的可測試性以及樣片的測試成為產品的重要方面。所謂可測性即在設 計階段,為了芯片性能測試和工藝正確性測試的需要,設計師必須在芯片上加入大量 的與功能無關的測試電路。有時這種測試版圖甚至超過功能模塊的面積!樣片測試則 是在預投片后對芯片樣品進行細致的預定功能測試。測試手段的不斷進步使得芯片的 功耗分析、熱分析、功能分析、信號完整性分析等等的精度和涵蓋的范圍愈來愈深入 和廣泛;而用于測試的設備儀器和軟件投入也愈來愈大。 測試工程師的工作結果是 一個設計是否成功的標準依據。 (5)經驗豐富的項目主管 技術主管首先是資深ASIC設計工程師(Junior ASIC Design Engineers), 4,雄厚的經濟基礎; 5,結論 從項目論證到選擇合適的實現方法,從使用不同的EDA工具到分配合理的人力資 源。集成電路設計的每一個環節都相互關聯和影響,都是關系產品成敗不可或缺的因 素。 我國的微電子技術在50、60年代并不比美日差,那時半導體技術研究有“遍地開 花”之說。但因為種種原因(比如政策上的和大環境上的)使的我們今天已經遠遠落后于美國、日本、韓國等國家和我國的臺灣地區。現在國家開始逐漸重視IC產業;加 入WTO有望打破日美發達國家對我們的技術封鎖 ;國內有豐富的人力資源;很多著名 的半導體廠商開始在大陸投資建廠、設立研究機構......這些為我國微電子產業的快 速啟動和發展創造了前所未有的有利條件。國內的微電子行業如何迎接挑戰,如何在 落后日美10年的情況下迎頭趕上?我認為是一個很值得研究的課題。 但我們堅信只要可以很好的解決這個課題;國家加大對微電子行業的投資力度;設 立有效的IC設計和生產人力資源管理和使用制度,吸引更多的人加入到IC產業并減少 每年白白流失到國外的IC設計人才(由于國外的IC產業的報酬都很高,如清華、中科 院、復旦等學校的大量IC人才流失到國外);鼓勵基礎研究和與國外先進技術廠商加 強技術和學術交流;借鑒韓國和臺灣在微電子產業發展方面的經驗教訓;不盲目地上 馬項目,腳踏實地地努力;我想正如臺灣UMC首席技術教授、中科院外籍院士、DRAM 器件的發明人施敏先生所說:“不出10年大陸的微電子產業就會趕超臺灣”。 |