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