高密度IC設(shè)計(jì)中面臨的ASIC與FPGA的抉擇
在過去10年間,全世界的設(shè)計(jì)人員都討論過使用ASIC或者FPGA來實(shí)現(xiàn)數(shù)字電子設(shè)計(jì)的好處。通常這些討論將完全定制IC的性能優(yōu)勢和低功耗與FPGA的靈活性和低NRE成本進(jìn)行比較。設(shè)計(jì)隊(duì)伍應(yīng)當(dāng)在ASIC設(shè)計(jì)中先期進(jìn)行NRE投資,以最大限度地提高性能、降低尺寸以及降低大批量制造時(shí)的成本?或者設(shè)計(jì)隊(duì)伍應(yīng)該為市場設(shè)計(jì)只有FPGA能夠提供的具有高度可配置功能、能夠快速完成任務(wù)的最終產(chǎn)品?
事實(shí)上,由于高密度IC設(shè)計(jì)面臨的日益嚴(yán)重的挑戰(zhàn),上面的觀點(diǎn)并不重要。隨著ASIC設(shè)計(jì)人員進(jìn)入每一個(gè)新的工藝過程,設(shè)計(jì)變得越來越復(fù)雜,軟件的內(nèi)容增加了,驗(yàn)證所需的時(shí)間越來越長了。最近的研究表明,超過60%的ASIC項(xiàng)目失敗的原因不是時(shí)序或者功率的問題,而是邏輯或功能錯(cuò)誤。為此,功能驗(yàn)證已經(jīng)成為ASIC開發(fā)周期中一個(gè)最關(guān)鍵的環(huán)節(jié),通常最耗費(fèi)時(shí)間。越來越多的ASIC設(shè)計(jì)人員發(fā)現(xiàn)通過采用FPGA進(jìn)行功能原型設(shè)計(jì)能夠最好地滿足要求。超過90%的ASIC部分或者全部在流片前都采用FPGA進(jìn)行原型設(shè)計(jì)。因此問題不在是是否采用ASIC或者FPGA設(shè)計(jì)。為了滿足當(dāng)前市場的需求,大多數(shù)設(shè)計(jì)隊(duì)伍必須二者都采用。
驗(yàn)證方法
由于對一流芯片的嚴(yán)重需求,以及隨著ASIC密度和設(shè)計(jì)復(fù)雜度的增加帶來的缺陷,設(shè)計(jì)人員需要一種驗(yàn)證方法,以便能夠發(fā)現(xiàn)復(fù)雜芯片設(shè)計(jì)中所有缺陷,而且需要在較短的時(shí)間內(nèi)完成驗(yàn)證。傳統(tǒng)的軟件模擬方法不能滿足要求。
ASIC設(shè)計(jì)人員需要的驗(yàn)證方法需要速度快,價(jià)格適中,易于使用,支持分散在整個(gè)設(shè)計(jì)隊(duì)伍中的硬件和軟件缺陷,而且能夠很快地運(yùn)行操作系統(tǒng)和應(yīng)用程序,易于與外部系統(tǒng)部件和接口一起使用。
采用FPGA來實(shí)現(xiàn)ASIC原型,設(shè)計(jì)人員能夠每秒運(yùn)行上百萬條測試向量,比傳統(tǒng)的軟件模擬快一百萬倍。在設(shè)計(jì)周期的軟件和系統(tǒng)整合階段這一性能優(yōu)勢能帶來巨大的好處。通過以接近ASIC的速度運(yùn)行,F(xiàn)PGA原型使設(shè)計(jì)人員能夠使用硬件、流視頻或網(wǎng)絡(luò)數(shù)據(jù)來驗(yàn)證嵌入式軟件或者應(yīng)用程序,測試性能,發(fā)現(xiàn)難于發(fā)現(xiàn)的缺陷,如果設(shè)計(jì)涉及到嵌入式CPU,還能夠在ASIC設(shè)計(jì)完成前驗(yàn)證操作系統(tǒng)的性能。驗(yàn)證工程師也能夠使用顯示數(shù)據(jù)進(jìn)行驗(yàn)證,而不用費(fèi)時(shí)開發(fā)測試平臺(tái)。
ASIC與FPGA轉(zhuǎn)換工具的要求
ASIC設(shè)計(jì)人員的大問題不再是是否采用FPGA進(jìn)行原型設(shè)計(jì),而是ASIC-FPGA轉(zhuǎn)換工具具有什么功能,他們沒有時(shí)間和資源使用ASIC和FPGA來實(shí)現(xiàn)兩套設(shè)計(jì)方案。二者所用的技術(shù)和各自的用途都不同。因此,ASIC原型平臺(tái)要獲得成功,首先必須能夠精確地翻譯ASIC和FPGA只見的結(jié)構(gòu)差異。門級部件或門控時(shí)鐘樹等常見的ASIC功能難于采用人工轉(zhuǎn)換,也沒有時(shí)間進(jìn)行人工轉(zhuǎn)換。更困難的是二者內(nèi)存的重大差異。理想的ASIC-FPGA轉(zhuǎn)換工具需要能夠自動(dòng)識(shí)別各種設(shè)計(jì)元素,將其映射到FPGA功能,同時(shí)執(zhí)行門控時(shí)鐘轉(zhuǎn)換和信號-跟蹤分配。
ASIC-FPGA轉(zhuǎn)換工具需要的另一個(gè)功能是實(shí)現(xiàn)分區(qū)(partitioning)。因?yàn)锳SIC越來越復(fù)雜,集成了更多的功能,為了更快、更經(jīng)濟(jì)地完成驗(yàn)證,設(shè)計(jì)人員需要將芯片的功能分散到多個(gè)FPGA中。
這個(gè)分區(qū)過程非常復(fù)雜,而且耗費(fèi)時(shí)間。ASIC原型工具能夠自動(dòng)地將RTL分散到多個(gè)FPGA中嗎?能夠不需要修改RTL源代碼?
ASIC原型工具支持自動(dòng)分區(qū)和用戶手動(dòng)分區(qū)嗎?這個(gè)工具支持I/O復(fù)用技術(shù)、允許用戶共享管腳以克服管腳數(shù)量的限制嗎?ASIC原型工具應(yīng)當(dāng)支持察看FPGA內(nèi)部信號的狀態(tài)的調(diào)試功能。驗(yàn)證工程師必須了解ASIC原型工具如何使用戶測量并調(diào)整性能。
通過使用可編程邏輯作為原型設(shè)計(jì)平臺(tái),對ASIC功能進(jìn)行研究和驗(yàn)證,設(shè)計(jì)人員能夠快速地地發(fā)現(xiàn)潛在的缺陷,降低產(chǎn)品的綜合風(fēng)險(xiǎn),并達(dá)到上市時(shí)間的要求。
評論