驗(yàn)證FPGA設(shè)計(jì):模擬,仿真,還是碰運(yùn)氣?
對電路內(nèi)方法的討論
FPGA 內(nèi)驗(yàn)證方法的優(yōu)劣與模擬正好相反。首先, 顯然FPGA 很快。人們經(jīng)??梢砸匀龠\(yùn)行設(shè)計(jì)。不過,在某些情況下,這樣做就意味著時(shí)序收斂問題會較多,超乎設(shè)計(jì)早期預(yù)期的程度。另外,與模擬不同,將多個(gè)模塊綜合到設(shè)計(jì)中時(shí),FPGA 并不會降速。這樣就可以測試整個(gè)設(shè)計(jì),而非單個(gè)塊,并且可以以大量的實(shí)際數(shù)據(jù)集來運(yùn)行測試,而不是采用精心編制的測試用例。
由于FPGA速度較快,而且它的I/O部件就是實(shí)際應(yīng)用所需要的I/O部件,所以也可以采用系統(tǒng)中測試設(shè)計(jì):可以在裝入目標(biāo)系統(tǒng)的FPGA開發(fā)板上測試,或者,如果目標(biāo)PCB(印刷電路板)可以用的話,就在目標(biāo)PCB上測試。這樣的測試可以消除測試用例是否能夠如實(shí)反映設(shè)計(jì)工作環(huán)境的疑慮。另外,在實(shí)際使用的電路板上測試設(shè)計(jì)可以暴露出I/O方面的問題——例如電氣問題、信號完整性問題,或是在高速串行協(xié)議下不兼容問題。這些問題用其他方法幾乎無法檢測,而系統(tǒng)內(nèi)測試則會形成一個(gè)軟件測試平臺,帶來額外的好處。
這些優(yōu)點(diǎn)都是系統(tǒng)級驗(yàn)證方面的。但Altera公司的Simpson指出:在芯片內(nèi)測試塊也有一些有用的優(yōu)點(diǎn)?!耙坏⒛硞€(gè)塊裝入FPGA,就可以使用嵌入式處理器核(如Nios)來輔助調(diào)試過程,” Simpson說?!袄?,處理器核可以使數(shù)據(jù)進(jìn)出芯片,可以控制測試時(shí)序。這樣,在塊周邊電路還沒做好的時(shí)候就可以單獨(dú)測試某個(gè)塊?!?
“在我們的自有IP(知識產(chǎn)權(quán))開發(fā)部門,我們編寫了在Nios核上運(yùn)行的事務(wù)處理器,以此來生成偽隨機(jī)測試,” Simpson 接著說?!皳?jù)我所知,這樣的做法在用戶中還不普遍,但它非常有價(jià)值?!?
既然FPGA有這么多優(yōu)點(diǎn),您可能會覺得疑惑:直接將編好的核裝入FPGA、為它編寫一個(gè)試件(test fixture),然后開始測試 ,這樣做會有什么問題呢?這個(gè)問題的答案在于FPGA的一些缺點(diǎn)。
評論