1、專用集成電路( Application-Specific Integrated Circuit,ASIC)設(shè)計(jì)流程
圖1:ASIC設(shè)計(jì)流程
圖2:ASIC設(shè)計(jì)流程
2、現(xiàn)場可編程門陣列 ( Field-Programmable Gate Array,F(xiàn)PGA)設(shè)計(jì)流程
圖3:FPGA設(shè)計(jì)流程
3、系統(tǒng)級芯片又稱片上系統(tǒng)(SoC,SystemonChip)設(shè)計(jì)流程
圖4:Soc設(shè)計(jì)流程
4、SoC設(shè)計(jì)與傳統(tǒng)的ASIC設(shè)計(jì)的區(qū)別
SoC設(shè)計(jì)與傳統(tǒng)的ASIC設(shè)計(jì)最大的不同在于以下兩方面:①是SoC設(shè)計(jì)更需要了解整個(gè)系統(tǒng)的應(yīng)用,定義出合理的芯片架構(gòu),使得軟硬件配合達(dá)到系統(tǒng)最佳工作狀態(tài),如總線的設(shè)計(jì)使得總線傳輸吞吐量滿足操作處理的需求,與外部存儲器的接口正確等。因而,軟硬件協(xié)同設(shè)計(jì)被越來越多地采用。②是SoC 設(shè)計(jì)是**以IP 復(fù)用為基礎(chǔ)**的。因而,基于IP 模塊的大規(guī)模集成電路設(shè)計(jì)是硬件實(shí)現(xiàn)的關(guān)鍵。
5、FPGA設(shè)計(jì)與傳統(tǒng)的ASIC設(shè)計(jì)的區(qū)別
FPGA設(shè)計(jì)與傳統(tǒng)的ASIC設(shè)計(jì)最大的不同在:FPGA 設(shè)計(jì)的IC 在完成生產(chǎn)之后還能由用戶進(jìn)行編程。FPGA 具有現(xiàn)場編程IC 的能力,這樣就不用預(yù)定任何的硬件功能來約束用戶,并且 FPGA 可以根據(jù)提供的修改標(biāo)準(zhǔn)做適當(dāng)調(diào)整,降低 ASIC 不能重復(fù)設(shè)計(jì)的成本,縮短上市周期,但是FPGA對性能和功耗有不好影響。
6、典型的ASIC設(shè)計(jì)流程
可以分為邏輯設(shè)計(jì)和物理設(shè)計(jì)兩部分;其中邏輯設(shè)計(jì)一般都包括:
①算法/架構(gòu)設(shè)計(jì);
②寄存器傳輸級設(shè)計(jì)(RTL實(shí)現(xiàn));
③功能驗(yàn)證;
④邏輯綜合;
⑤靜態(tài)時(shí)序分析;
⑥一致性驗(yàn)證/等價(jià)性檢驗(yàn)
①算法/架構(gòu)設(shè)計(jì)?
目的:完成芯片中數(shù)字部分的高層次算法或架構(gòu)的分析與建模,為硬件提供一個(gè)正確的軟件功能模型,更為重要的是,通過大量的高層次仿真和調(diào)試,為 RTL 實(shí)現(xiàn)提供總體性的設(shè)計(jì)指導(dǎo)。數(shù)字部分越復(fù)雜,這一點(diǎn)越重要。?
工具:MATLAB、C++、C 等。不同類型的芯片都不同的選擇,如數(shù)字信號處理類芯片,偏好 MATLAB。?
特點(diǎn):這部分工作至關(guān)重要,基本上奠定了整個(gè)芯片的性能和功耗的基礎(chǔ)。這部分工作主要由具有通信、信號處理、計(jì)算機(jī)、軟件專業(yè)背景的工程師完成,也有很多微電子專業(yè)背景的工程師參與。?
②寄存器傳輸級設(shè)計(jì)(RTL實(shí)現(xiàn))
目的:依據(jù)算法/架構(gòu)的設(shè)計(jì),完成由高層次描述到 Verilog HDL 實(shí)現(xiàn)的過程。?
工具:Vim、Emac(二者不分前后順序哦)?
特點(diǎn):這一步能明顯區(qū)別中訓(xùn)練有素的工程師和初學(xué)者。前者在寫代碼的過程中,具有極強(qiáng)的大局觀,能夠在書寫 Verilog HDL、描述邏輯功能的同時(shí),還能夠兼顧邏輯綜合、STA、 P&R、DFX、功耗分析等多方面因素,最終提供一份另其他環(huán)節(jié)的工程師都賞心悅目的代碼。初學(xué)者則處處留地雷,一不小心就引爆。?
③功能驗(yàn)證
目的:在無延遲的理想情況在,通過大量的仿真,發(fā)現(xiàn)電路設(shè)計(jì)過程中的人為或者非人為引起的 bug。主要指標(biāo)是功能覆蓋率。?
工具:Modelsim、VCS、NC-Verilog?
語言:C++、C、System C、System Verilog,基于 UVM 的方法學(xué)等。?
特點(diǎn):驗(yàn)證工程師是 IC 設(shè)計(jì)中需求量最大的崗位。
④邏輯綜合
目的:將 RTL 代碼映射為與工藝庫相關(guān)的網(wǎng)表。?
工具:Design Compiler,Design Compiler 在市場中占有壟斷性地位,幾乎成為邏輯綜合的標(biāo)準(zhǔn)。?
特點(diǎn):從芯片生產(chǎn)的角度來看,在該步驟之前,所有的工作都可近似看做一個(gè)虛擬性的,與現(xiàn)實(shí)無關(guān)。而從邏輯綜合起,后續(xù)所有的工作都將與工藝的物理特性、電特性等息息相關(guān)。邏輯綜合工具的功能主要是將 VerilogHDL 格式的文本*映射為網(wǎng)表格式的文本,因此,它的功能等同于文本編譯器。
那么轉(zhuǎn)換的方式有很多種,工具如何選取呢?邏輯綜合過程中,整個(gè)文本格式的編譯過程是在給定的人為約束條件下進(jìn)行的,通過這些約束和設(shè)定的目標(biāo)來指導(dǎo)工具完成 Compiler 的工作。所以,邏輯綜合過程可以看成一個(gè)多目標(biāo)(頻率、面積、功耗)多約束的工程優(yōu)化問題。該步驟中,通常會(huì)插入 DFT、clock gating 等。
該步驟中通常加入 Memory、各種 IP 等。為了在各種工藝庫以及 FPGA 原型驗(yàn)證平臺之間有一個(gè)更方便的移植,注意適當(dāng)處理這些 Memory、IP 等的接口。該步驟中也可加入 I/O、PLL 等。?
⑤靜態(tài)時(shí)序分析
目的:相對動(dòng)態(tài)仿真的類窮舉式驗(yàn)證方法而言,從靜態(tài)分析的角度,保證設(shè)計(jì)中所有的路徑,滿足內(nèi)部時(shí)序單元對建立時(shí)間和保持時(shí)間**的要求。
工具:Prime Time,Prime Time 在市場中占有壟斷性地位,幾乎成為 STA 的標(biāo)準(zhǔn)。?
特點(diǎn):從邏輯綜合開始,基本上每做一步大的調(diào)整,都會(huì)完成一次 STA 分析,以保證每步都能實(shí)現(xiàn)時(shí)序收斂。鑒于該特性非常重要,PrimeTime 成為了 Signoff 的重要工具。
所用到的SDC 同邏輯綜合;通常設(shè)計(jì)中會(huì)存在大量的違例路徑,STA 要修大量的 setup、hold 等,如何修這些違例,可以體現(xiàn)工作經(jīng)驗(yàn)的重要性。此外,如果是前端修 timing 違例,一般會(huì)修的很快,但是會(huì)帶來一個(gè)重大的問題,代碼被前端修改后是否存在新的 bug,還需重新仿真確認(rèn),仿真會(huì)消耗掉數(shù)以月計(jì)的時(shí)間,所以除非萬不得已,不會(huì)找前端修 timing。
⑥一致性驗(yàn)證/等價(jià)性檢驗(yàn)
目的:RTL 代碼*和邏輯綜合后的網(wǎng)表都可以抽象為兩幅由節(jié)點(diǎn)和邊構(gòu)成的圖,一致性驗(yàn)證階段采用了類似于直接比較兩幅圖是否一致的方法,來確定邏輯綜合生成的網(wǎng)表是否正確。?
工具:Formality、Conformal ?
輸入文件:RTL 代碼、netlist(邏輯綜合輸出)、約束 ?
輸出文件:match(兩張圖節(jié)點(diǎn)是否一致)和 verify(計(jì)算得出兩張圖功能是否一致)的報(bào)告。?
數(shù)字后端設(shè)計(jì)又稱物理設(shè)計(jì),將網(wǎng)標(biāo)格式的文本轉(zhuǎn)化成一個(gè)個(gè)有物理大小和位置的單元、連線。并且在實(shí)現(xiàn)過程中要滿足面積、功耗、性能等要求。 業(yè)界主流的后端工具來自 synopsys、cadence 兩家公司。 ?? ??? ??? ??? ??? ??? ??? ??? ?文章來源:http://www.zghlxwxcb.cn/news/detail-861863.html
參考文獻(xiàn):
(1)邸志雄. 芯動(dòng)力——硬件加速設(shè)計(jì)方法(中國大學(xué)MOOC).第1章:概述
[芯動(dòng)力——硬件加速設(shè)計(jì)方法](https://www.icourse163.org/course/SWJTU-1207492806?tid=1467145670)
(2)斯里達(dá)爾·甘加達(dá)蘭. 綜合與時(shí)序分析的設(shè)計(jì)約束:Synopsys設(shè)計(jì)約束(SDC)實(shí)用指南[M]. ?第1章:緒論。
(3)郭煒,等. SoC設(shè)計(jì)方法與實(shí)現(xiàn)(第3版)[M]. ?第2章:SoC設(shè)計(jì)流程。
(4)吳厚航. 深入淺出玩轉(zhuǎn)FPGA(第3版)[M]. 筆記3:開發(fā)流程。文章來源地址http://www.zghlxwxcb.cn/news/detail-861863.html
到了這里,關(guān)于學(xué)習(xí)筆記01:ASIC、FPGA、SOC設(shè)計(jì)流程比較的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!