所能預(yù)見的硬件仿真未來
高性能硬件與“智能”應(yīng)用程序的結(jié)合使得硬件仿真器更強(qiáng)大,能夠解決復(fù)雜的系統(tǒng)級(jí)設(shè)計(jì)驗(yàn)證難題。
經(jīng)過三十年緩慢但穩(wěn)定的硬件仿真技術(shù)發(fā)展之后,就進(jìn)步加速和預(yù)期的新發(fā)展而言,其前景一片光明。在過去的 30 年中,硬件仿真器在硬件和支持的軟件方面都有所演進(jìn)??焖贋g覽 20 世紀(jì) 80 年代后期典型硬件仿真器與當(dāng)今一流硬件仿真器的硬件規(guī)格比較,可以發(fā)現(xiàn)一些特性已經(jīng)達(dá)到大約 1,000 倍的改進(jìn)。
圖1:近 30 年的硬件仿真技術(shù)比較(來源:Lauro Rizzatti)。
我們可以從兩個(gè)角度來看待支持的軟件 - 編譯器角度和運(yùn)行時(shí)可執(zhí)行文件角度。
衡量編譯器技術(shù)進(jìn)展的一種方法是,比較早期與當(dāng)今被測(cè)設(shè)計(jì) (DUT) 的平均建立時(shí)間。首次引入硬件仿真器時(shí),硬件仿真器需要六個(gè)月甚至更長(zhǎng)時(shí)間將DUT從軟件仿真的環(huán)境Porting到硬件加速器的仿真環(huán)境。?,F(xiàn)在,只需要不到一周的時(shí)間。雖然這并未達(dá)到 1,000 倍的改進(jìn),但是比原來快了將近 50 至 100 倍,這依然是非常顯著的。
量化運(yùn)行時(shí)軟件方面的改進(jìn)是更為困難或復(fù)雜的。但是,快速瀏覽一下相同時(shí)間段內(nèi)硬件仿真器的功能差異后,可以發(fā)現(xiàn)增強(qiáng)還是十分顯著的。
圖2:近 30 年內(nèi)的典型硬件仿真部署比較(來源:Lauro Rizzatti)。
那么,我們對(duì)未來發(fā)展有何期待呢?同樣,硬件與軟件需要區(qū)分。從硬件角度而言,硬件仿真供應(yīng)商將推出更大容量、更快執(zhí)行速度和更快編譯速度的新一代驗(yàn)證引擎。事實(shí)上,已經(jīng)有硬件仿真供應(yīng)商發(fā)布了這些新一代的硬件仿真器。
要是能夠看看三大硬件仿真供應(yīng)商提議的三種基本架構(gòu)將如何維持和發(fā)展,必定會(huì)很有趣。然而,在撰寫本文時(shí),這樣的比較還不可能完成。
圖3:新一代硬件仿真器的硬件趨勢(shì)(來源:Lauro Rizzatti)。
從軟件角度而言,我們將看到新的部署模式,首先將硬件加速引擎嵌入到連續(xù)的驗(yàn)證引擎中,所有引擎共享一個(gè)通用設(shè)計(jì)數(shù)據(jù)庫、一個(gè)通用用戶界面 (GUI) 和一個(gè)通用編譯器前端。需要指出的是,編譯器前端包括硬件描述語言 (HDL) 解析器和闡述器以及生成 DUT 門級(jí)網(wǎng)表的綜合。將僅共享前兩個(gè)階段;而不共享合成綜合部分,因?yàn)檫@僅適用于基于硬件的驗(yàn)證引擎,如硬件仿真器和基于 FPGA 的原型。
同樣,編譯器后端的分割和布局布線部分將僅在硬件引擎(硬件仿真器和基于 FPGA 的原型)之間共享。它們不適用于基于軟件的驗(yàn)證算法,如 HDL 軟件仿真器、電子系統(tǒng)級(jí) (ESL) 軟件仿真器和形式分析。
新的應(yīng)用將被引入。例如,支持可測(cè)試性設(shè)計(jì)(DFT),即能夠驗(yàn)證門級(jí) DFT 構(gòu)造,以及驗(yàn)證測(cè)試向量及內(nèi)置自測(cè)試 (BIST) 向量。使用硬件仿真對(duì)新設(shè)計(jì)進(jìn)行性能硬件加速將成為主流,且將會(huì)推出新的方法來驗(yàn)證嵌入式軟件。
圖4:新一代硬件仿真器的軟件驅(qū)動(dòng)功能摘要(來源:Lauro Rizzatti)。
其中一個(gè)供應(yīng)商已經(jīng)實(shí)現(xiàn)了一個(gè)有趣的轉(zhuǎn)變。它將運(yùn)行時(shí)軟件設(shè)計(jì)為開源系統(tǒng)以容納應(yīng)用程序(“App”),這類似于智能手機(jī)采取的做法。此外,幾年前開始的將大型硬件仿真系統(tǒng)移至數(shù)據(jù)中心的趨勢(shì)將加快。所有供應(yīng)商都將提供多用戶功能,以提高設(shè)備的投資回報(bào) (ROI)。
未來的硬件仿真趨勢(shì)是將高性能硬件與“智能”應(yīng)用程序結(jié)合,以創(chuàng)建強(qiáng)大的硬件仿真器,來解決復(fù)雜的系統(tǒng)級(jí)設(shè)計(jì)驗(yàn)證難題。