驗(yàn)證FPGA設(shè)計(jì):模擬,仿真,還是碰運(yùn)氣?
對(duì)ASIC開(kāi)發(fā)組的觀察
因此,簡(jiǎn)言之,每種方法都有優(yōu)缺點(diǎn)。根據(jù)這些信息,有經(jīng)驗(yàn)的ASIC設(shè)計(jì)組(即經(jīng)常在其驗(yàn)證流程中采用FPGA者)是如何在模擬測(cè)試和基于FPGA的測(cè)試間做出平衡的呢?
視頻處理器廠商Ambarella有一個(gè)例子來(lái)回答這個(gè)問(wèn)題。執(zhí)行副總裁Didier LeGall 說(shuō),“多數(shù)情況下,我們根本就不使用FPGA 仿真。根據(jù)我們的經(jīng)驗(yàn),必須得有非常成熟的RTL仿真才會(huì)有用。但是,目前流程階段,將設(shè)計(jì)輸入 FPGA和建立測(cè)試平臺(tái)(的過(guò)程)是一件事倍功半的事?!?
但是,實(shí)際應(yīng)用情況可能會(huì)使LeGall 的看法有所調(diào)整。Ambarella 公司的SOC (片上系統(tǒng)) 用于以高幀速率處理高清視頻和10M像素靜止圖像,需要采用非??斓膬?nèi)部時(shí)鐘和復(fù)雜的算法。但是,LeGall 在對(duì)FPGA 仿真做出評(píng)論后,又對(duì)整個(gè)驗(yàn)證過(guò)程的目標(biāo)提出了一個(gè)非常有趣的看法。“新推出IC成功的關(guān)鍵不在于完美的驗(yàn)證工作,” LeGal說(shuō)。“而在于軟件”:也就是說(shuō),要知道設(shè)計(jì)中哪部分比較容易出問(wèn)題,并且在開(kāi)始,而不是事后,就做好軟件解決計(jì)劃。這種策略下,驗(yàn)證工程師經(jīng)過(guò)廣泛的基于FPGA的測(cè)試所獲得的很多信息的確會(huì)變得比較沒(méi)用。
LSI Corp的存儲(chǔ)元件部門(mén)提出了另一個(gè)觀點(diǎn)。該部門(mén)的副總裁和總經(jīng)理Bill Wuertz敘述了他們是如何做SCSI (小型計(jì)算機(jī)系統(tǒng)接口)和SAS (串行連接)控制器的。
Wuertz 說(shuō)LSI采用了幾乎是并行的過(guò)程,一個(gè)驗(yàn)證小組進(jìn)行模擬實(shí)現(xiàn)一些目的,而另一組則采用FPGA實(shí)現(xiàn)另外一些目的?!霸谠O(shè)計(jì)早期,我們建立一個(gè)稱為試驗(yàn)RTL(trial RTL)的步驟,” Wuertz 說(shuō)?!拔覀円繰TL基本工作正常、各個(gè)塊互相已連接好,這是第一個(gè)點(diǎn)。在此階段,驗(yàn)證工作分為兩個(gè)方向。模擬小組編寫(xiě)他們的工具所用的設(shè)計(jì),并繼續(xù)對(duì)單個(gè)的塊進(jìn)行模擬。另一個(gè)組,即系統(tǒng)工程組,則通過(guò)綜合RTL得到內(nèi)部開(kāi)發(fā)FPGA 版——我們現(xiàn)在正在設(shè)計(jì)第五代板卡——然后開(kāi)始在系統(tǒng)級(jí)進(jìn)行徹底的壓力測(cè)試?!?
如Wuertz所述,這兩個(gè)組具有不同的工作目的。模擬組要努力確保電路正確。系統(tǒng)組通常不考慮電路,但要確保芯片在變化異常大和非常復(fù)雜的存儲(chǔ)網(wǎng)絡(luò)環(huán)境下可以工作。Wuertz 說(shuō)FPGA 原型會(huì)與一屋子的磁盤(pán)和磁帶驅(qū)動(dòng)器相連運(yùn)行幾天的測(cè)試?!斑@些測(cè)試已經(jīng)過(guò)了20多年的發(fā)展,”他說(shuō)?!拔覀冎溃赡苄枰獙?duì)不同磁盤(pán)驅(qū)動(dòng)器組合進(jìn)行很長(zhǎng)時(shí)間的測(cè)試后才可以產(chǎn)生暴露設(shè)計(jì)問(wèn)題的時(shí)間匹配異常情況?!?
LSI 已開(kāi)發(fā)了自有的將兩種環(huán)境聯(lián)系起來(lái)的內(nèi)部工具。例如,通過(guò)這些工具,系統(tǒng)組可以捕捉到導(dǎo)致故障的跟蹤數(shù)據(jù),并將此數(shù)據(jù)轉(zhuǎn)換為模擬組可用的激勵(lì)文件。反過(guò)來(lái)說(shuō),模擬組可以根據(jù)它在設(shè)計(jì)中所發(fā)現(xiàn)的危險(xiǎn),給系統(tǒng)組發(fā)出提醒。在兩個(gè)工作于不同環(huán)境的驗(yàn)證組間建立聯(lián)系是LSI公司兩方向測(cè)試方法的關(guān)鍵。在整個(gè)過(guò)程中,兩個(gè)組會(huì)交換數(shù)據(jù),而且,最后設(shè)計(jì)晶粒需要兩個(gè)組的結(jié)論。
評(píng)論