ICE時代正在悄然離去
硬件仿真是唯一一個可以部署在多個操作模式中的驗證工具。事實上,它可應(yīng)用于四個主要模式中,而且模式間的結(jié)合使用可以增加靈活性?;谝韵聝蓚€特征對硬件仿真的應(yīng)用模式進(jìn)行分類:對映射到硬件仿真器中被測設(shè)計(DUT)的激勵類型,以及DUT的響應(yīng)過程。具體包括:
本文引用地址:http://2s4d.com/article/273802.htm1.內(nèi)電路硬件仿真(ICE)模式: 使用物理目標(biāo)設(shè)備,通過頻率適配器來驅(qū)動硬件仿真器中的DUT。
2. 基于事務(wù)的硬件仿真或加速模式: 使用虛擬目標(biāo)設(shè)備,通過驗證IP來驅(qū)動硬件仿真器中的DUT。
3. 軟件仿真測試平臺加速模式:通過程序語言界面(PLI)驅(qū)動硬件仿真器中DUT的寄存器傳輸級(RTL)測試平臺。
4. 嵌入式軟件加速模式:在硬件仿真器中的DUT處理器上執(zhí)行軟件代碼。
將幾種模式組合起來似乎是很有道理的,例如同時處理嵌入式軟件及通過驗證IP驅(qū)動DUT的虛擬測試平臺。
縱觀以往,ICE模式是最早提出的一種架構(gòu),這也是三十年前開始設(shè)計硬件仿真的原因。在ICE模式中,DUT映射到硬件仿真器內(nèi)部,而硬件仿真器連接到由真實芯片組成的目標(biāo)系統(tǒng)。
ICE具有兩大關(guān)鍵優(yōu)勢。第一,目標(biāo)系統(tǒng)可在DUT內(nèi)外生成真實流量,從而在本質(zhì)上取代了基于軟件的傳統(tǒng)測試平臺。因此,無需創(chuàng)建測試平臺,即可消除耗時又容易出錯的工作,減輕驗證工程團(tuán)隊因超負(fù)荷測試龐大設(shè)計所帶來的負(fù)擔(dān)。
第二,能夠以硬件仿真器的最大速度運(yùn)行,較傳統(tǒng)的硬件描述語言(HDL)軟件仿真器而言,其速度提升了5~6個數(shù)量級。也就是兆赫與幾十赫茲之間的差別。而現(xiàn)如今,其可能不再那么精確了。
ICE模式存在諸多問題,有些已清楚明了,有些卻還尚未明確。首先,無法直連目標(biāo)系統(tǒng),因為相較于硬件仿真器內(nèi)部DUT的時鐘,目標(biāo)系統(tǒng)時鐘的運(yùn)行速度提高幾個數(shù)量級,從而必須被限制到一或幾兆赫。
為解決該問題,必須在目標(biāo)系統(tǒng)與映射至硬件仿真器內(nèi)部的DUT之間插入速度適配器——基本上就是一種基于先進(jìn)先出(FIFO)寄存器的協(xié)議相關(guān)接口。它能夠讓目標(biāo)系統(tǒng)的快速時鐘適配硬件仿真器相對較慢的時鐘速度。這種方法存在一些缺點,因為適配器通常會通過犧牲部分功能和準(zhǔn)確性來換取性能。同時,PCI Express(PCIe) 或以太網(wǎng)等高速協(xié)議也將會減速,以應(yīng)對適配器中FIFO內(nèi)在容量的不足。
圖1:帶有多個物理接口的SoC通過速度適配器和實際外圍設(shè)備進(jìn)行建模。(由Mentor Graphics提供)
此外,適配器的周期精確行為由于同樣的原因也將與實際協(xié)議有所不同。配置僅局限于每個協(xié)議一個測試用例,且不涉及邊緣測試用例或任何“假設(shè)”分析。更不用說作為硬件的加速適配器針對電效應(yīng)和磁效應(yīng)所受到的影響。它們必須重置電路,需要磁屏蔽以及布設(shè)電纜和連接器,因為所有這些因素均可能影響其靈活性和可靠性。除此之外,相比軟件解決方案,它們所能獲得的利潤率較低。
另一個明顯的缺點就是在驅(qū)動DUT時,物理目標(biāo)系統(tǒng)相對缺乏確定性行為或非重復(fù)性行為。多次運(yùn)行同一測試時,其周期和時序可能會有所不同。也就是說,設(shè)計錯誤可能不會總在同一時刻出現(xiàn)。更糟糕的是,錯誤可能會完全不出現(xiàn),影響問題的定位。此外,ICE模式無法實現(xiàn)物理目標(biāo)執(zhí)行保存和恢復(fù)的能力。硬件仿真只能保存 DUT 的狀態(tài),而非目標(biāo)系統(tǒng)的狀態(tài)。
然而,其最大的缺點就是它的極度不便性。如果沒有人在現(xiàn)場提供幫助,對每個用戶和設(shè)計相對應(yīng)的速率適配器進(jìn)行插拔,可能無法遠(yuǎn)程訪問ICE模式的配置。
這一切均給ICE模式的使用帶來麻煩,因而需要尋找其他替代方法。一種方法就是將物理測試環(huán)境變更為通過事務(wù)接口連接DUT的虛擬測試環(huán)境。這種部署模式通常稱為基于事務(wù)的驗證或TBX,由Mentor Graphics推廣,適用于測試平臺加速。
基于事務(wù)的驗證
基于事務(wù)的驗證并不是一個新概念,它在軟件仿真領(lǐng)域已實踐多年,主要受到生成復(fù)雜測試場景需求的驅(qū)動,旨在應(yīng)對片上系統(tǒng)(SoC)不斷攀升的復(fù)雜度。
從概念上講,這一構(gòu)想十分簡單。測試通過一種高級語言(例如SystemVerilog、SystemC或C++)從高抽象層次編寫,并且從高級命令到位級信號的轉(zhuǎn)換任務(wù)由一個叫做驗證IP的專用實體執(zhí)行(以下簡稱“驗證IP”)。
一般來說驗證IP包括可綜合的用于實現(xiàn)接口協(xié)議的狀態(tài)機(jī)功能模塊。它可以使設(shè)計人員專注于創(chuàng)建復(fù)雜的測試平臺,而無需理會討厭的細(xì)節(jié)問題。通過將物理接口的抽象層次從周期/位級提升至事務(wù)層,驗證IP可簡化SoC 與其外圍設(shè)備之間數(shù)據(jù)交換的描述。完成創(chuàng)建后,驗證IP可重復(fù)使用。驗證IP的示例包括一些通信協(xié)議,例如以太網(wǎng)、USB、PCIe、內(nèi)存訪問、JTAG端口,甚至是數(shù)碼相機(jī)和LCD。
這一切聽起來都不錯,但卻存在一個問題。此方法會產(chǎn)生大量測試周期,導(dǎo)致軟件仿真器運(yùn)行受阻。而軟件仿真器仍然會通過驗證IP執(zhí)行從高級命令到位級信號的轉(zhuǎn)換。運(yùn)行分析器,然后發(fā)現(xiàn)測試平臺所消耗的執(zhí)行時間超過50%,甚至可能高達(dá)95%(其余時間由DUT消耗),這種情況并不少見。
硬件仿真平臺必須得伸出援手,幫助提升頻率性能,確保其速度不低于ICE。這是通過將驗證IP的后端部分映射至硬件平臺上實現(xiàn)的,而驗證IP主要執(zhí)行從高級命令到位級信號的轉(zhuǎn)換。
以SystemVerilog、SystemC或C++等語言編寫的測試平臺會驅(qū)動驗證IP的前端部分,進(jìn)而提供比基于事務(wù)軟件仿真快出5或6個數(shù)量級的執(zhí)行速度?,F(xiàn)在完全可以通過將一套速度適配器(以太網(wǎng)、PCI或USB)更換為對等的驗證IP來構(gòu)建一個虛擬的測試環(huán)境,從而取代ICE測試平臺。
通過軟件控制
與ICE不同,驗證IP可從軟件控制中受益。它可幫助智能驗證環(huán)境實現(xiàn)高度靈活性并確保實現(xiàn)復(fù)用。例如,設(shè)計人員可以從動態(tài)主機(jī)中捕獲和回放流量;通過轉(zhuǎn)發(fā)設(shè)備與芯片之間的事務(wù)模擬內(nèi)電路連接;或?qū)⑥D(zhuǎn)換應(yīng)用于事務(wù)的數(shù)據(jù)流以實現(xiàn)難以獲取的邊緣測試用例。
相關(guān)實例:通過PCI驗證IP,可將PCI軟件驅(qū)動程序插入含有PCI接口的硬件仿真設(shè)計中,這與在ICE中通過硬件速度適配器的執(zhí)行操作類似。但是現(xiàn)在,軟件調(diào)試程序可以通過JTAG驗證IP與硬件仿真器相連,并以單步模式運(yùn)行,而通過JTAG物理連接卻無法實現(xiàn)這一操作。
同樣重要的是,當(dāng)設(shè)計人員完全控制并非由硬件測試平臺提供的設(shè)計時鐘時,調(diào)試就變得更加輕松,也更加有效了。通過控制時鐘頻率,可以停止建模,讀取內(nèi)存內(nèi)容,強(qiáng)制賦值寄存器或轉(zhuǎn)儲波形。
在ICE模式中調(diào)試需要硬件邏輯分析儀。如果使用ICE方法,設(shè)計人員就必須忍受真實硬件行為的突發(fā)狀況,并且以犧牲可重復(fù)性為代價。相反,基于驗證IP的虛擬測試環(huán)境可以幫助設(shè)計人員快速重現(xiàn)問題。此外,無需連結(jié)DUT與硬件測試平臺,讓設(shè)計人員在遠(yuǎn)程位置執(zhí)行DUT,開啟了通過遠(yuǎn)程訪問創(chuàng)建仿真數(shù)據(jù)中心的大門。
由此看來,對于虛擬測試平臺這一方法來說,創(chuàng)建測試平臺似乎是唯一的一個缺點。而Mentor Graphics及其物理實驗室VirtuaLAB(包括在工作站控制的軟件中執(zhí)行的所有外圍設(shè)備)已成功解決這一問題。
虛擬設(shè)備
虛擬設(shè)備的功能與物理外圍設(shè)備的功能相當(dāng),但虛擬設(shè)備不依賴于復(fù)位電路、電纜、連接器、磁屏蔽等硬件設(shè)備,也不會受到諸多麻煩的干擾。它們?nèi)Q于全面的測試軟件IP,該IP與嵌入到映射至仿真器上的DUT中的特定協(xié)議RTL設(shè)計IP進(jìn)行通信。
圖2:虛擬設(shè)備將在控制工作站(協(xié)同建模主機(jī))上運(yùn)行的軟件堆棧與通過TBX數(shù)據(jù)線在硬件仿真器上運(yùn)行的通信協(xié)議IP組合起來。(由Mentor Graphics提供)
虛擬設(shè)備包括在工作站上運(yùn)行的軟件堆棧,該工作站通過TBX數(shù)據(jù)線與仿真器相連。整個封裝可用于在設(shè)備級別上測試IP以及通過真實軟件或設(shè)備驅(qū)動程序本身執(zhí)行DUT驗證。
與硬件ICE目標(biāo)相比,虛擬設(shè)備的優(yōu)勢更為豐富:
輕松實現(xiàn)遠(yuǎn)程訪問,無需安裝連接到硬件仿真器的任何硬件設(shè)備。
自由靈活地在多個設(shè)計團(tuán)隊中共享單個硬件仿真器,無需配置用于連接的速度適配器和電纜。
在控制工作站上運(yùn)行的目標(biāo)協(xié)議軟件堆棧清晰可見。
表1 總結(jié)了ICE的優(yōu)點和缺點(相較于基于事務(wù)加速模式)。
然而,可能是出于習(xí)慣或者尚不知曉更好的替代方法,許多設(shè)計人員仍然沿用ICE模式。事實上,硬件仿真平臺的所有供應(yīng)商均聲明支持ICE,雖然有些實現(xiàn)方案明顯優(yōu)于其他。然而,一旦設(shè)計人員通過硬件仿真體驗了基于事務(wù)的驗證方法,他們的驗證觀點就會有所轉(zhuǎn)變。能夠快速創(chuàng)建強(qiáng)大的測試環(huán)境而不受繁瑣的ICE硬件的干擾,那么我們就可以更加輕松且更為有效地進(jìn)行調(diào)試。這就是我認(rèn)為ICE時代正在悄然離去的原因。
c++相關(guān)文章:c++教程
評論