IC設計流程之實現篇——全定制設計


要談IC設計的流程,首先得搞清楚IC和IC設計的分類。
集成電路芯片從用途上可以分為兩大類:通用IC(如CPU、DRAM/SRAM、接口芯片等)和專用IC(ASIC)(Application Specific Integrated Circuit),ASIC是特定用途的IC。從結構上可以分為數字IC、模擬IC和數模混合IC三種,而SOC(System On Chip,從屬於數模混合IC)則會成為IC設計的主流。從實現方法上IC設計又可以分為三種,全定制(full custom)、半定制(Semi-custom)和基於可編程器件的IC設計。全定制設計方法是指基於晶體管級,所有器件和互連版圖都用手工生成的設計方法,這種方法比較適合大批量生產、要求集成度高、速度快、面積小、功耗低的通用IC或ASIC。基於門陣列(gate-array)和標准單元(standard-cell)的半定制設計由於其成本低、周期短、芯片利用率低而適合於小批量、速度快的芯片。最后一種IC設計方向,則是基於PLD或FPGA器件的IC設計模式,是一種“快速原型設計”,因其易用性和可編程性受到對IC制造工藝不甚熟悉的系統集成用戶的歡迎,最大的特點就是只需懂得硬件描述語言就可以使用EDA工具寫入芯片功能。
從采用的工藝可以分成雙極型(bipolar),MOS和其他的特殊工藝。硅(Si)基半導體工藝中的雙極型器件由於功耗大、集成度相對低,在近年隨亞微米深亞微米工藝的的迅速發展,在速度上對MOS管已不具優勢,因而很快被集成度高,功耗低、抗干擾能力強的MOS管所替代。MOSFET工藝又可分為NMOS、PMOS和CMOS三種;其中CMOS工藝發展已經十分成熟,占據IC市場的絕大部分份額。GaAs器件因為其在高頻領域(可以在0.35um下很輕松作到10GHz)如微波IC中的廣泛應用,其特殊的工藝也得到了深入研究。而應用於視頻采集領域的CCD傳感器雖然也使用IC一樣的平面工藝,但其實現和標准半導體工藝有很大不同。
在IC開發中,常常會根據項目的要求(Specifications)、經費和EDA工具以及人力資源、並考慮代工廠的工藝實際,采用不同的實現方法。
其實IC設計這個領域博大精深,所涉及的知識工具領域很廣,本系列博文圍繞EDA工具展開,以實現方法的不同為主線,來介紹這三種不同的設計方法:全定制、半定制和基於FPGA的IC設計,這三種方法在EDA工具和流程上都有各自鮮明的特色,通過介紹這三種IC設計方法可以讓大家對IC設計有個清晰的思路,也順便介紹了其中涉及到的大多數EDA工具,並且避免了讀者陷入IC領域的某些細節中而不能一窺全貌之嫌。其實,無論是IC和ASIC,還是I/O芯片、CPU芯片在EDA工具上的區別都不明顯,並且涉及某些應用領域的特定的知識,需要讀者具備一定的背景知識,不適合用來作為介紹IC的設計流程的入門級題材。
全定制IC設計方法,是按照規定的功能與性能要求,先設計出滿足功能的電路,然后對電路的布局與布線進行專門的優化設計,以達到芯片的最佳性能。全定制IC設計的主要EDA工具有Cadence的Virtuoso、Synopsys的Custom Designer(CD)等,這兩款工具實際上提供一個集成設計環境,在這個環境里用戶可以方便地配置和利用各家EDA的工具來完成各個設計階段的任務。首先來看一看它的設計基本流程(如下圖)。


圖1

1. 定義設計規格(Design Specification)
典型的設計規格書描述了電路的功能(電流放大能力、信噪比、帶寬等),最大可容許的延時,以及其他的物理性能,如功耗等。
通常設計規格書給予電路設計者以較大的設計自由度:如選擇特定的電路拓撲結構,特定器件的位置,輸入輸出pin角的位置,MOSFET的寬長比等。
下面是一個一個全加器的規格說明書:

-------
0.8um雙井CMOS工藝
“加法”“進位”的傳遞延時小於1.2ns
“加法”“進位”的轉換時間小於1.2ns
電路面積小於1500平方微米
動態功耗<1mW(VDD=5V,fmax=20MHZ)

-------

2. 繪制電路圖
電路圖繪制工具稱為Schematic Capture(下圖是Virtuoso中的Composer工具),可以提供門級和晶體管級的電路圖繪制功能,該步驟完成后可以生成網表文件供電路仿真之用。需要說明的是,各家產生的Schematic文件不完全兼容,要從Synopsys的CD中讀入Virtuoso產生的電路圖似乎有些困難。再有一點就是從網表反過來生成電路圖這一功能在這兩家的工具中都沒有被支持,有一個第三方工具spicevison有此功能,但是否能導入Virtuoso或CD中者不得而知,spicevison這個工具的用處在於晶體管級的調試(對照網表和電路圖),不在於其生成的電路圖的通用性。


圖2

3. 產生子電路或電路單元符號
在有層次結構(hierarchical)的電路中,使用用戶自定義的電路圖符號來代替整個子電路塊,有利於減少重復繪制這些頻繁出現的子電路塊,使整個頂層的電路整潔而有序,避免出現一個一大片的扁平(flatten)的電路圖。如反相器INV,NOR和NADN等,在設計中一般都使用自定義的電路符號代替,這也是代工廠提供PDK中常用的一個手法。

4. 電路仿真
這一步將調用電路仿真器,如HSPICE、SPECTRE、ELDO等來實現電路的仿真,用以驗證電路的各項電性指標是否符合規格說明書。在集成設計環境中用戶可以通過配置自由地選擇使用這些仿真器,如在Virtuoso ADE(Analog Design Environment),可以方便地使用HSPICE來仿真,當然前提是生成HSPICE格式的網表。

在圖1中有一個迭代-循環的箭頭,說明這一步可能需要迭代,若仿真的結果不滿足規格說明書,需要調整電路圖,然后再做仿真。這一步由於沒有寄生參數加入網表,通常叫做版圖前仿真(Pre-layout simulation)。

另外,電路仿真需要代工廠提供的元器件庫(代工廠一般以PDK包提供給客戶,里面包含各種器件的spice模型,technology file,Design rule等)

5. 生成版圖
版圖的生成是至關重要的一環,是連接電路設計與芯片代工廠的一個橋梁,版圖不僅反映了電路圖的連接關系和各種元器件規格,還反映了芯片的制造過程和工藝(具體將在另一篇博文中專門敘述)。由電路圖Schematic到版圖繪制一般使用集成開發環境中的Layout Editor。生成版圖有兩種途徑,一是手工繪制而成(根據具體的工藝文件-technology file),另一種是自動生成(具體可參考Virtuoso Layout,Synopsys的ICWB)。生成的文件格式為GDSII 或CIF,都是國際流行的標准格式。

6. DRC檢查
DRC——Design Rule Check,版圖生成完成后,還需要進行“設計規則檢查”,這是一些由特定的制造工藝水平確定的規則,如poly-poly contact的最小間距,metal-metal的最小間距和metal的最大寬度等等。這些規則體現了芯片制造的“良率(即合格率)”和芯片性能的折衷。(圖3 顯示出有兩處違反DRC,都是metal的寬度超過設計規則要求)
EDA工具有Cadence Virtuoso iDRC、Dracula(這是一個獨立的版圖驗證工具,具有DRC/ERC、LVS、寄生參數提取等多種功能),Synopsys的Hercules(DRC、LVS檢查)。

圖3

7. 寄生參數提取
當版圖的DRC完成之后,需要提取該電路的寄生參數以用來比較精確地模擬現實芯片的工作情形,寄生參數包含寄生電阻和寄生電容,在高頻電路設計中還需要提取寄生的電感。EDA工具主要有StarRCCalibre,Dracula等。這些寄生參數一般都簡化成一個或多個lumped R/C/L,“插入”相應的電路節點處,一般都是與電壓無關的線性無源器件。這樣經過寄生參數提取后生成的網表文件,被稱為“post-layout netlist”。

8. LVS檢查
Layout-versus-Schematic (LVS) Check,LVS將比較原來的電路圖的“拓撲網絡”與從版圖提取出來的拓撲結構,並證明二者是完全等價的。LVS提供了另一個層次的檢查以保證設計的完整性和可靠性——這個版圖是原來設計的物理實現。LVS只能保證電路的拓撲結構是一致的,並不能保證最后電路的電學性能一定滿足設計規格書。典型的LVS錯誤為,兩個晶體管的不當連接關系,或遺漏的連線等。

9. 后仿真

可以從圖1看到,在DRC和LVS這兩步上都有返回layout的迭代,說明若要設計流程成功進行到“post-layout simulation”即后仿真這一階段,需要清除所有DRC和LVS的錯誤信息。后仿真的輸入是包含原始電路信息以及寄生信息的網表,是最接近真實電路的網表文件。通過“后仿真”,可以獲得該設計完整真實的性能:延時、功耗、邏輯功能、時序信息等信息,這一過程也是驗證整個設計是否成功的“最后一關”,若不滿足規格說明書要求則需要從頭來過——從調整Schematic開始重新走完新一輪的設計流程。

與pre-layout仿真(第4步)不同的是,HSPICE或SPECTRE的輸入文件除了原始網表外,還須要一些寄生參數的文件(如spf、spef),這一種電路仿真又稱“back-annotation simulation”(具體參見HSPICE用戶手冊)。

評價與說明

以上的9個步驟只能保證該設計在simulation的角度是經過“驗證了的”,並不保證制造出來的電路一定和simulation出來的結果一致,所以在大規模投放代工廠制造(又稱“流片”)之前,還需要經過一些小批量的“試流片”,這叫做“硅驗證”(silicon verification)。通過硅驗證后的設計才是真正成功的設計,我們經常聽說的“硬IP”就是指這一類經過硅驗證過的成功的設計,“軟IP”通常指的是只是通過以上9步的EDA工具驗證的設計。

特別說明,感謝博主:http://blog.e-works.net.cn/608938/articles/191716.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM