【基础知识】~ 集成电路设计流程,以及各阶段所使用的EDA工具
本章目錄:
- 1. 確定項目需求
- 工具
- 2. 前端設計(架構/算法設計分析)
- 目的
- 工具
- 特點
- 3. RTL 實現
- 目的
- 工具
- 特點
- Coding Style Check
- 4. 功能驗證
- 目的
- 工具
- 語言
- 特點
- 5. 邏輯綜合+DFT
- 目的
- 工具
- 特點
- DFT(Design For Test)
- 6. 形式驗證
- 目的
- 工具
- 輸入文件
- 輸出文件
- 7. 靜態時序分析
- 目的
- 工具
- 輸入
- 輸出
- 特點
- 8. 后端設計
- 聲明
1. 確定項目需求
首先做一款芯片需要有市場,一般公司會先做市場調研,比如最近市面上比較火的人工智能芯片,物聯網芯片,5G 芯片,需求量都比較大。有了市場的需求我們就可以設計芯片的 spec了。先由架構工程師來設計架構,確定芯片的功能,然后用算法進行模擬仿真,最后得出一個可行的芯片設計方案。有了芯片的 spec,下一步就可以做 RTL coding 了。
工具
Office
2. 前端設計(架構/算法設計分析)
目的
完成芯片中數字部分的高層次算法或架構的分析與建模,為硬件提供一個正確的軟件功能模型,更為重要的是,通過大量的高層次仿真和調試,為 RTL 實現提供總體性的設計指導。數字部分越復雜,這一點越重要。
工具
MATLAB、C++、C、System C、System Verilog 等。
不同類型的芯片都不同的選擇,如數字信號處理類芯片,偏好 MATLAB。
特點
這部分工作至關重要,基本上奠定了整個芯片的性能和功耗的基礎。這部分工作主要由具有通信、信號處理、計算機、軟件專業背景的工程師完成,也有很多微電子專業背景的工程師參與。
3. RTL 實現
目的
依據上一步的結果,完成由高層次描述到 Verilog HDL 實現的過程。
工具
GVim/Emac、Verilog/VHDL
特點
這一步能明顯區別中訓練有素的工程師和初學者。前者在寫代碼的過程中,具有極強的大局觀,能夠在書寫 Verilog HDL、描述邏輯功能的同時,還能夠兼顧邏輯綜合、STA、P&R、DFX、功耗分析等多方面因素,最終提供一份另其他環節的工程師都賞心悅目的代碼。初學者則處處留地雷,一不小心就引爆。
Coding Style Check
目的:排除 RTL 代碼中 CDC(Clock Domain Cross)、Lint 等問題。
CDC:跨時鐘域檢查
LInt:代碼潛在問題檢查(例如 A+B 的進位溢出)
工具:Syglass、LEDA、0inCDC
特點:目前大部分芯片中的數字部分基本上都采用局部同步和全局異步的設計策略,因此,在設計中需要小心注意跨時鐘域的數據同步問題。
輸入:RTL,SDC,lib/sglib
輸出:wave file,report
4. 功能驗證
目的
在無延遲的理想情況在,通過大量的仿真,發現電路設計過程中的人為或者非人為引起的 bug。主要指標是功能覆蓋率。
工具
Modelsim、VCS、NC-Verilog、(DVE/Verdi 波形查看器)
語言
C++、C、System C、System Verilog,基于 UVM 的方法學等。主要是 System Verilog,一般哪個方便用哪個。
特點
驗證工程師近年來已經成為 IC 設計中需求量最大的崗位。這個階段會占用大量的時間,數以月計。
5. 邏輯綜合+DFT
目的
將 RTL 代碼映射為與工藝庫相關的網表。
工具
DesignCompiler、RTL Compiler。
DesignCompiler 在市場中占有壟斷性地位,幾乎成為邏輯綜合的標準。
特點
DFT(Design For Test)
為了保證芯片內部的制造缺陷盡量能夠被檢測到,通過在電路中插入掃描鏈(Scan Chain)的方式,測試 IC 在生產制造過程中是否出現問題。加入 DFT 會增加 20%~30%的面積。但為了保證良率,為了給客戶的片子是合格的需要將具有缺陷(工廠制
造缺陷)的片子篩除。
輸入文件:
a.RTL 代碼:由 ASIC design engineers 團隊提供;交接前,必須保證在第 3 步的 check 中沒有任何問題;
b.工藝庫(.db):由晶圓廠提供;
c.約束(SDC):由邏輯綜合工程師和 ASIC design engineers 共同商定。
輸出文件:
a.網表:包含了 RTL 中的所有的邏輯信息,除此以外,可能還會有 DFT、clock gating、I/O等;網表主要用于 P&R 等流程;
b.標準延遲文件 SDF:主要包含了網表中所有器件的延遲信息,用于時序仿真;PT 會結合后端工具生成的一個更為精確的 sdf ,所以,通常會用 PT 的 sdf 文件做后仿真。Project 文件:.ddc;
c.各種報告:timing report、area report、constrain report、clock report、violation report 等等,以及工具的 log 文件。(此處最好能夠熟悉各種腳本語言,將各種 report 處理為友好易讀形式)
6. 形式驗證
目的
RTL 代碼和邏輯綜合后的網表是否具有一致的功能。(尤其是在后端做 ECO 的時候)
工具
Formality、Conformal
輸入文件
RTL 代碼、netlist(邏輯綜合輸出)、約束
輸出文件
match 和 verify 報告。
7. 靜態時序分析
目的
分析設計中所有的路徑,確保滿足內部時序單元對建立時間和保持時間的要求。
工具
PrimeTime、Tempus。
PrimeTime 在市場中占有壟斷性地位,幾乎成為 STA 的標準
輸入
spef 文件、PnR 網表,標準單元庫 db 文件,IP 的 dp 文件
輸出
SDF,timing ECO 文件
特點
注:靜態時序分析和形式驗證這屬于驗證范疇。
STA 主要是在時序上對電路進行驗證,檢查電路是否存在建立時間(setup time)和保持時間(hold time)的違例(violation)。而形式驗證是從功能上對綜合后的網表進行驗證。常用的就是等價性檢查(LEC)方法,以功能驗證后的 HDL 設計為參考,對比綜合后的網表功能,他們是否在功能上存在等價性。
靜態時序分析和形式驗證出現在設計流程中前后端過程,有一些地方在前端中沒有提到,應該是在后端當中比較重要,作為驗證設計工作的一部分,在前端中也加入靜態時序分析和形式驗證可以提高設計的可靠性。
8. 后端設計
Place & Route 一般由后端工程師來做,Physical Design Engineer.
后端里 DRC 就是要檢查設計規則是否符合芯片制造商的要求,這樣才能正確的生產芯片。
后端完成工作后,最終會生成 GDSII 格式的文件,交由芯片制造商流片。
聲明
本人所有系列的文章,僅供學習,不可商用,如有侵權,請告知,立刪!!!
本人主要是記錄學習過程,以供自己回頭復習,再就是提供給后人參考,不喜勿噴!!!
如果覺得對你有用的話,記得收藏+評論!!!
總結
以上是生活随笔為你收集整理的【基础知识】~ 集成电路设计流程,以及各阶段所使用的EDA工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 锐捷客户端linux登录密码忘记,锐捷S
- 下一篇: 工作108:精准的v-for和if