歡迎大家關注我的微信公眾賬號,支持程序媛寫出更多優秀的文章
數字IC設計流程是每個IC從業者的第一課,無論你是做前端,后端,還是驗證,都需要對芯片的整個設計流程有個基本的了解。
本文章主要介紹以下兩點內容:
一、數字IC設計的流程及每個流程需要做的工作
二、每個流程涉及到的EDA工具
在介紹設計流程之前,我們先來看看數字芯片內部的架構。
如下圖所示,一個芯片是包含很多模塊的,有CPU,DSP,USB外設,memory等,然后通過總線連接,通常我們都是把各個模塊先設計好(IP team),然后再把他們集成到一起(SOC team)。
一、數字IC設計的流程
下面我用流程圖把設計的四大步以及要做的事情整理出來,主要分四大步:
1.1 確定項目需求
首先做一款芯片需要有市場,一般公司會先做市場調研,比如最近市面上比較火的人工智能芯片,物聯網芯片,5G芯片,需求量都比較大。有了市場的需求我們就可以設計芯片的spec了。先由架構工程師來設計架構,確定芯片的功能,然后用算法進行模擬仿真,最后得出一個可行的芯片設計方案。
有了芯片的spec,下一步就可以做RTL coding了。
1.2 前端設計
RTL(register transfer level) 設計:利用硬件描述語言,如VHDL,Verilog,System Verilog, 對電路以寄存器之間的傳輸為基礎進行描述。
功能仿真:通常是有DV工程師來完成這部分工作,通過搭建test bench, 對電路功能進行驗證。
邏輯綜合:邏輯綜合是將電路的行為級描述,特別是RTL級描述轉化成為門級表達的過程。也就是將代碼翻譯成各種實際的元器件。
STA:(static timing analysis) 靜態時序分析,也就是套用特定的時序模型,針對特定電路分析其是否違反設計者給定的時序限制。
整個IC設計流程都是一個迭代的過程,每一步如果不能滿足要求,都要重復之前的過程,直至滿足要求為止,才能進行下一步。
除了以上的步驟,前端設計還有一個步驟就是DFT,隨着芯片越來越大,DFT也就成為必不可少的一步。DFT通常要做scan chain, mbist ,ATPG等工作。
完成以上的工作后,就生成nestlist交給后端。
1.3 后端設計
下圖給出了后端設計的流程及主要工作。
Place & Route一般由后端工程師來做,Physical Design Engineer。
后端里DRC就是要檢查設計規則是否符合芯片制造商的要求,這樣才能正確的生產芯片。
最后上一個全家福:
這里就不對每一步做具體的介紹了,因為內容實在太多,每一點都可以挖掘的很深入。
后端完成工作后,最終會生成GDSII格式的文件,交由芯片制造商流片。
二、每個流程使用的EDA 工具
數字前端設計工具 | 數字邏輯仿真工具 | Cadence: Incisive |
synopsys: VCS | ||
mentor: QuestaSim | ||
數字邏輯綜合工具 | Cadence:Genus | |
Synopsis:design | ||
Compiler (DC) | ||
數字后端設計工具 | 數字后端設計工具 | Cadence: Innovus |
Synopsis: IC Compiler | ||
物理驗證工具 | Mentor: Calibre | |
Synopsis: Hercules | ||
Cadence: Diva/dracula |