驗(yàn)證FPGA設(shè)計(jì):模擬,仿真,還是碰運(yùn)氣?
優(yōu)點(diǎn)和缺點(diǎn)
多數(shù)人討論驗(yàn)證流程時(shí),首先會(huì)比較模擬和在FPGA內(nèi)驗(yàn)證的優(yōu)劣。盡管有經(jīng)驗(yàn)的讀者可能會(huì)覺(jué)得乏味,本文也還是采用類(lèi)似的模式。
模擬的一個(gè)很大的優(yōu)點(diǎn)自然是它的訪問(wèn)能力。該方法可以以時(shí)鐘周期分辨率觀察RTL (寄存器傳輸層)設(shè)計(jì)中任何信號(hào)。只要有必要,對(duì)設(shè)計(jì)狀態(tài)的控制可以達(dá)到任何水平。達(dá)到可觀性和可控性的唯一限制就是對(duì)RTL的了解程度和對(duì)模擬環(huán)境的掌握程度。你可以在有限的設(shè)計(jì)領(lǐng)域交互式地工作,也可以構(gòu)建運(yùn)行好幾天的大型試驗(yàn)。構(gòu)建的模擬項(xiàng)目運(yùn)行相對(duì)較快,所以可以快速地對(duì)很多東西進(jìn)行試驗(yàn)。
模擬的另一優(yōu)點(diǎn)是現(xiàn)在的多數(shù)模擬環(huán)境都可以很好地使用OVL(開(kāi)放驗(yàn)證庫(kù),Open Verification Library)或SystemVerilog斷言。經(jīng)??梢哉业街苯拥姆椒▽⑦@些斷言輸入到模擬環(huán)境中。隨著基于斷言的驗(yàn)證日益普遍,這點(diǎn)就越發(fā)重要。此外,通過(guò)模擬環(huán)境還可以將設(shè)計(jì)的激勵(lì)和測(cè)量部分與設(shè)計(jì)本身分割開(kāi)。這看起來(lái)似乎不是主要問(wèn)題,但是,在密集驗(yàn)證工作中,這一特點(diǎn)對(duì)于保證設(shè)計(jì)的完整性會(huì)很重要。
但是,模擬比較慢?!叭绻阍谧鲆粋€(gè)有2百萬(wàn)或3百萬(wàn)個(gè)門(mén)的塊,模擬非常好,” 硬件仿真設(shè)備廠商Eve的營(yíng)銷(xiāo)副總裁Lauro Rizzatti說(shuō)?!暗牵谟卸鄠€(gè)塊的層次,模擬會(huì)變慢,最終達(dá)到完全不可用的程度。”
設(shè)計(jì)的復(fù)雜度并不是唯一的限制因素。Altera公司技術(shù)營(yíng)銷(xiāo)高級(jí)經(jīng)理Phil Simpson指出,如果設(shè)計(jì)本身就需要大量數(shù)據(jù)來(lái)進(jìn)行驗(yàn)證,即使在塊的級(jí)別模擬也會(huì)變得不實(shí)用。他以視頻編解器為例說(shuō)明這個(gè)問(wèn)題。在視頻編解器中內(nèi)部狀態(tài)非常之多,所以可能只有在15分鐘的視頻短片中間才能表露出問(wèn)題。但是,對(duì)15分鐘高清視頻壓縮和解壓的模擬會(huì)非常費(fèi)勁。
評(píng)論