數(shù)字集成電路設(shè)計(jì)流程是怎樣?
本文關(guān)鍵詞:數(shù)字集成電路設(shè)計(jì),由筆耕文化傳播整理發(fā)布。
受邀,簡(jiǎn)單針對(duì)FPGA和ASIC說(shuō)幾句吧。
FPGA的本質(zhì)就是個(gè)ASIC,主要由一些最簡(jiǎn)單的邏輯電路單元和連線資源構(gòu)成,通過(guò)更改連線方式便可實(shí)現(xiàn)不同的邏輯功能,但是資源是有限的,所以針對(duì)不同規(guī)模的電路需要選擇不同的器件。
數(shù)字集成電路設(shè)計(jì)一般也是針對(duì)通用的庫(kù)來(lái)實(shí)現(xiàn),庫(kù)一般由代工廠提供,其本質(zhì)也就是基本的邏輯電路單元。至于ASIC中的連線資源,就比FPGA要靈活多了, 一般根據(jù)你想做幾層金屬,就可以走幾層的線,這和PCB板布線類(lèi)似。其資源相對(duì)就是無(wú)限的,或者說(shuō)你電路規(guī)模多大,你就可以把芯片做多大。
針對(duì)以上兩點(diǎn),F(xiàn)PGA設(shè)計(jì)和ASIC設(shè)計(jì)有著很大的相似之處,至少在數(shù)字電路這一塊基本是相同的,當(dāng)然ASIC要考慮的東西比FPGA就要多得多了。
以設(shè)計(jì)一數(shù)字電路的IP核舉例吧
第一步,首先是要實(shí)現(xiàn)功能,方式一般采用HDL描述,如verilog,VHDL。當(dāng)然對(duì)于小規(guī)模電路也可以采用電路圖輸入的方式。
第二步,得保證電路功能的正確性,也叫驗(yàn)證,可以通過(guò)軟件仿真,硬件仿真等方式實(shí)現(xiàn)。軟件仿真一般比較直觀,方便調(diào)試,因?yàn)槊恳粫r(shí)刻的狀態(tài)都可以看到,這好比調(diào)試軟件程序。硬件仿真一般就是指FPGA驗(yàn)證,就是把電路用FPGA實(shí)現(xiàn),然后去跑,這個(gè)的好處就是速度很快,譬如一個(gè)視頻解碼核,解一幀圖像出來(lái),軟件仿真就算用最好的服務(wù)器,也得跑上多少秒,但是在FPGA中實(shí)現(xiàn)的話,基本就是多少毫秒了。這對(duì)于一個(gè)需要大規(guī)模驗(yàn)證的電路來(lái)說(shuō),是必不可少的。
前面兩步對(duì)于數(shù)字IP來(lái)說(shuō),ASIC和FPGA基本一致,除非一些實(shí)現(xiàn)技巧的差別。
第三步,在你描述的電路正確性得到確保之后,你就要實(shí)現(xiàn)它,就是要把你寫(xiě)的那些代碼變成實(shí)實(shí)在在的電路,如寄存器還是與非門(mén),這個(gè)過(guò)程就叫綜合。由于電路規(guī)模日益復(fù)雜,一般最基本的電路就被做成了cell,如寄存器,與非門(mén),就不會(huì)再細(xì)化到用三極管怎么去搭的問(wèn)題了。這一步對(duì)于FPGA和ASIC來(lái)說(shuō)就是最小的那個(gè)單元不一樣。FPGA是做好的電路,一般顧及通用性和效能,基本電路單元就做得比較大,如LUT,就是由寄存器和與非門(mén)構(gòu)成,你可能只用了其中一個(gè)與門(mén),但是還會(huì)占用這么一個(gè)單元。對(duì)于ASIC來(lái)說(shuō),,兩輸入的與非門(mén),就是一個(gè)簡(jiǎn)單的門(mén)電路,甚至為了區(qū)分驅(qū)動(dòng)能力和時(shí)序特性差異,還分了好幾個(gè)等級(jí),有的面積小,有的驅(qū)動(dòng)能力強(qiáng)?偟膩(lái)說(shuō)這一步就是工具把你的描述變成基于庫(kù)的電路描述。
第四步,你得到基于庫(kù)的電路描述之后,就要考慮這些單元怎么擺放的問(wèn)題,這叫布局布線。FPGA的話連線資源有限,所以需要不斷地調(diào)整,在保證時(shí)序要求的情況下,把你的電路映射到其固定的資源分布圖中間。ASIC的話一般是根據(jù)周邊電路需求,時(shí)序要求,把你的電路放到芯片的某個(gè)位置。在擺好之后還得考慮連線是否能通,各級(jí)延時(shí)是否能滿足電路的建立和保持時(shí)間要求等等。
第五步,輸出。FPGA就是輸出一個(gè)配置文件,告訴FPGA芯片該怎么樣去配置其電路,使其實(shí)現(xiàn)預(yù)期功能。該文件可以在FPGA上電之后再由PC下載進(jìn)去,也可以保存在Flash里,電路上電之后自動(dòng)配置。ASIC就是輸出一個(gè)版圖文件,告訴代工廠該怎么去腐蝕硅片,該怎么連金屬等等。
當(dāng)然在這過(guò)程中間會(huì)有各種各樣的輔助步驟?偟膩(lái)說(shuō)都是為了確保你設(shè)計(jì)的電路正確及正確實(shí)現(xiàn)你的電路。
羅羅嗦嗦說(shuō)了一大堆,回頭看似乎有點(diǎn)答不對(duì)題,其實(shí)你那些問(wèn)題都不是問(wèn)題,做過(guò)一遍之后就知道了,看別人說(shuō)一大堆不如自己動(dòng)手做一遍,具體做的過(guò)程有問(wèn)題再提吧。
本文關(guān)鍵詞:數(shù)字集成電路設(shè)計(jì),由筆耕文化傳播整理發(fā)布。
本文編號(hào):40458
本文鏈接:http://sikaile.net/wenshubaike/xxkj/40458.html