(轉)IC設計完整流程及工具

IC的設計過程可分爲兩個部分,分別爲:前端設計(也稱邏輯設計)和後端設計(也稱物理設計),這兩個部分並無統一嚴格的界限,凡涉及到與工藝有關的設計可稱爲後端設計。 php

前端設計的主要流程: html

一、規格制定 前端

芯片規格,也就像功能列表同樣,是客戶向芯片設計公司(稱爲Fabless,無晶圓設計公司)提出的設計要求,包括芯片須要達到的具體功能和性能方面的要求。 後端

二、詳細設計 架構

Fabless根據客戶提出的規格要求,拿出設計解決方案和具體實現架構,劃分模塊功能。 less

三、HDL編碼 工具

使用硬件描述語言(VHDL,Verilog HDL,業界公司通常都是使用後者)將模塊功能以代碼來描述實現,也就是將實際的硬件電路功能經過HDL語言描述出來,造成RTL(寄存器傳輸級)代碼。 佈局

四、仿真驗證 性能

仿真驗證就是檢驗編碼設計的正確性,檢驗的標準就是第一步制定的規格。看設計是否精確地知足了規格中的全部要求。規格是設計正確與否的黃金標準,一切違反,不符合規格要求的,就須要從新修改設計和編碼。設計和仿真驗證是反覆迭代的過程,直到驗證結果顯示徹底符合規格標準。仿真驗證工具Mentor公司的Modelsim, Synopsys的VCS,還有Cadence的NC-Verilog都可以對RTL級的代碼進行設計驗證,該部分我的通常使用第一個-Modelsim。該部分稱爲前仿真,接下來邏輯部分綜合以後再一次進行的仿真可稱爲後仿真。 測試

五、邏輯綜合――Design Compiler

仿真驗證經過,進行邏輯綜合。邏輯綜合的結果就是把設計實現的HDL代碼翻譯成門級網表netlist。綜合須要設定約束條件,就是你但願綜合出來的電路在面積,時序等目標參數上達到的標準。邏輯綜合須要基於特定的綜合庫,不一樣的庫中,門電路基本標準單元(standard cell)的面積,時序參數是不同的。因此,選用的綜合庫不同,綜合出來的電路在時序,面積上是有差別的。通常來講,綜合完成後須要再次作仿真驗證(這個也稱爲後仿真,以前的稱爲前仿真)邏輯綜合工具Synopsys的Design Compiler,仿真工具選擇上面的三種仿真工具都可。

六、STA

Static Timing Analysis(STA),靜態時序分析,這也屬於驗證範疇,它主要是在時序上對電路進行驗證,檢查電路是否存在創建時間(setup time)和保持時間(hold time)的違例(violation)。這個是數字電路基礎知識,一個寄存器出現這兩個時序違例時,是沒有辦法正確採樣數據和輸出數據的,因此以寄存器爲基礎的數字芯片功能確定會出現問題。STA工具備Synopsys的Prime Time。

七、形式驗證

這也是驗證範疇,它是從功能上(STA是時序上)對綜合後的網表進行驗證。經常使用的就是等價性檢查方法,以功能驗證後的HDL設計爲參考,對比綜合後的網表功能,他們是否在功能上存在等價性。這樣作是爲了保證在邏輯綜合過程當中沒有改變原先HDL描述的電路功能。形式驗證工具備Synopsys的Formality。前端設計的流程暫時寫到這裏。從設計程度上來說,前端設計的結果就是獲得了芯片的門級網表電路。

Backend design flow後端設計流程 :

一、DFT

Design ForTest,可測性設計。芯片內部每每都自帶測試電路,DFT的目的就是在設計的時候就考慮未來的測試。DFT的常見方法就是,在設計中插入掃描鏈,將非掃描單元(如寄存器)變爲掃描單元。關於DFT,有些書上有詳細介紹,對照圖片就好理解一點。DFT工具Synopsys的DFT Compiler

二、佈局規劃(FloorPlan)

佈局規劃就是放置芯片的宏單元模塊,在整體上肯定各類功能電路的擺放位置,如IP模塊,RAM,I/O引腳等等。佈局規劃能直接影響芯片最終的面積。工具爲Synopsys的Astro

三、CTS

Clock Tree Synthesis,時鐘樹綜合,簡單點說就是時鐘的佈線。因爲時鐘信號在數字芯片的全局指揮做用,它的分佈應該是對稱式的連到各個寄存器單元,從而使時鐘從同一個時鐘源到達各個寄存器時,時鐘延遲差別最小。這也是爲何時鐘信號須要單獨佈線的緣由。CTS工具,Synopsys的Physical Compiler

四、佈線(Place & Route)

這裏的佈線就是普通訊號佈線了,包括各類標準單元(基本邏輯門電路)之間的走線。好比咱們日常聽到的0.13um工藝,或者說90nm工藝,實際上就是這裏金屬佈線能夠達到的最小寬度,從微觀上看就是MOS管的溝道長度。工具Synopsys的Astro

五、寄生參數提取

因爲導線自己存在的電阻,相鄰導線之間的互感,耦合電容在芯片內部會產生信號噪聲,串擾和反射。這些效應會產生信號完整性問題,致使信號電壓波動和變化,若是嚴重就會致使信號失真錯誤。提取寄生參數進行再次的分析驗證,分析信號完整性問題是很是重要的。工具Synopsys的Star-RCXT

六、版圖物理驗證

對完成佈線的物理版圖進行功能和時序上的驗證,驗證項目不少,如LVS(Layout Vs Schematic)驗證,簡單說,就是版圖與邏輯綜合後的門級電路圖的對比驗證;DRC(Design Rule Checking):設計規則檢查,檢查連線間距,連線寬度等是否知足工藝要求,ERC(Electrical Rule Checking):電氣規則檢查,檢查短路和開路等電氣 規則違例;等等。工具爲Synopsys的Hercules實際的後端流程還包括電路功耗分析,以及隨着製造工藝不斷進步產生的DFM(可製造性設計)問題,在此不說了。物理版圖驗證完成也就是整個芯片設計階段完成,下面的就是芯片製造了。物理版圖以GDSII的文件格式交給芯片代工廠(稱爲Foundry)在晶圓硅片上作出實際的電路,再進行封裝和測試,就獲得了咱們實際看見的芯片。

 

參考文獻:

[1]  原文地址. http://bbs.eetop.cn/viewthread.php?tid=424396

[2] 擴展閱讀. liping09003 http://www.eetop.cn/blog/html/24/1174824-type-bbs-view-blog.html

相關文章
相關標籤/搜索