ICE時(shí)代正在悄然離去
硬件仿真是唯一一個(gè)可以部署在多個(gè)操作模式中的驗證工具。事實(shí)上,它可應用于四個(gè)主要模式中,而且模式間的結合使用可以增加靈活性?;谝韵聝蓚€(gè)特征對硬件仿真的應用模式進(jìn)行分類(lèi):對映射到硬件仿真器中被測設計(DUT)的激勵類(lèi)型,以及DUT的響應過(guò)程。具體包括:
本文引用地址:http://dyxdggzs.com/article/273802.htm1.內電路硬件仿真(ICE)模式: 使用物理目標設備,通過(guò)頻率適配器來(lái)驅動(dòng)硬件仿真器中的DUT。
2. 基于事務(wù)的硬件仿真或加速模式: 使用虛擬目標設備,通過(guò)驗證IP來(lái)驅動(dòng)硬件仿真器中的DUT。
3. 軟件仿真測試平臺加速模式:通過(guò)程序語(yǔ)言界面(PLI)驅動(dòng)硬件仿真器中DUT的寄存器傳輸級(RTL)測試平臺。
4. 嵌入式軟件加速模式:在硬件仿真器中的DUT處理器上執行軟件代碼。
將幾種模式組合起來(lái)似乎是很有道理的,例如同時(shí)處理嵌入式軟件及通過(guò)驗證IP驅動(dòng)DUT的虛擬測試平臺。
縱觀(guān)以往,ICE模式是最早提出的一種架構,這也是三十年前開(kāi)始設計硬件仿真的原因。在ICE模式中,DUT映射到硬件仿真器內部,而硬件仿真器連接到由真實(shí)芯片組成的目標系統。
ICE具有兩大關(guān)鍵優(yōu)勢。第一,目標系統可在DUT內外生成真實(shí)流量,從而在本質(zhì)上取代了基于軟件的傳統測試平臺。因此,無(wú)需創(chuàng )建測試平臺,即可消除耗時(shí)又容易出錯的工作,減輕驗證工程團隊因超負荷測試龐大設計所帶來(lái)的負擔。
第二,能夠以硬件仿真器的最大速度運行,較傳統的硬件描述語(yǔ)言(HDL)軟件仿真器而言,其速度提升了5~6個(gè)數量級。也就是兆赫與幾十赫茲之間的差別。而現如今,其可能不再那么精確了。
ICE模式存在諸多問(wèn)題,有些已清楚明了,有些卻還尚未明確。首先,無(wú)法直連目標系統,因為相較于硬件仿真器內部DUT的時(shí)鐘,目標系統時(shí)鐘的運行速度提高幾個(gè)數量級,從而必須被限制到一或幾兆赫。
為解決該問(wèn)題,必須在目標系統與映射至硬件仿真器內部的DUT之間插入速度適配器——基本上就是一種基于先進(jìn)先出(FIFO)寄存器的協(xié)議相關(guān)接口。它能夠讓目標系統的快速時(shí)鐘適配硬件仿真器相對較慢的時(shí)鐘速度。這種方法存在一些缺點(diǎn),因為適配器通常會(huì )通過(guò)犧牲部分功能和準確性來(lái)?yè)Q取性能。同時(shí),PCI Express(PCIe) 或以太網(wǎng)等高速協(xié)議也將會(huì )減速,以應對適配器中FIFO內在容量的不足。

圖1:帶有多個(gè)物理接口的SoC通過(guò)速度適配器和實(shí)際外圍設備進(jìn)行建模。(由Mentor Graphics提供)
此外,適配器的周期精確行為由于同樣的原因也將與實(shí)際協(xié)議有所不同。配置僅局限于每個(gè)協(xié)議一個(gè)測試用例,且不涉及邊緣測試用例或任何“假設”分析。更不用說(shuō)作為硬件的加速適配器針對電效應和磁效應所受到的影響。它們必須重置電路,需要磁屏蔽以及布設電纜和連接器,因為所有這些因素均可能影響其靈活性和可靠性。除此之外,相比軟件解決方案,它們所能獲得的利潤率較低。
另一個(gè)明顯的缺點(diǎn)就是在驅動(dòng)DUT時(shí),物理目標系統相對缺乏確定性行為或非重復性行為。多次運行同一測試時(shí),其周期和時(shí)序可能會(huì )有所不同。也就是說(shuō),設計錯誤可能不會(huì )總在同一時(shí)刻出現。更糟糕的是,錯誤可能會(huì )完全不出現,影響問(wèn)題的定位。此外,ICE模式無(wú)法實(shí)現物理目標執行保存和恢復的能力。硬件仿真只能保存 DUT 的狀態(tài),而非目標系統的狀態(tài)。
然而,其最大的缺點(diǎn)就是它的極度不便性。如果沒(méi)有人在現場(chǎng)提供幫助,對每個(gè)用戶(hù)和設計相對應的速率適配器進(jìn)行插拔,可能無(wú)法遠程訪(fǎng)問(wèn)ICE模式的配置。
這一切均給ICE模式的使用帶來(lái)麻煩,因而需要尋找其他替代方法。一種方法就是將物理測試環(huán)境變更為通過(guò)事務(wù)接口連接DUT的虛擬測試環(huán)境。這種部署模式通常稱(chēng)為基于事務(wù)的驗證或TBX,由Mentor Graphics推廣,適用于測試平臺加速。
基于事務(wù)的驗證
基于事務(wù)的驗證并不是一個(gè)新概念,它在軟件仿真領(lǐng)域已實(shí)踐多年,主要受到生成復雜測試場(chǎng)景需求的驅動(dòng),旨在應對片上系統(SoC)不斷攀升的復雜度。
從概念上講,這一構想十分簡(jiǎn)單。測試通過(guò)一種高級語(yǔ)言(例如SystemVerilog、SystemC或C++)從高抽象層次編寫(xiě),并且從高級命令到位級信號的轉換任務(wù)由一個(gè)叫做驗證IP的專(zhuān)用實(shí)體執行(以下簡(jiǎn)稱(chēng)“驗證IP”)。
一般來(lái)說(shuō)驗證IP包括可綜合的用于實(shí)現接口協(xié)議的狀態(tài)機功能模塊。它可以使設計人員專(zhuān)注于創(chuàng )建復雜的測試平臺,而無(wú)需理會(huì )討厭的細節問(wèn)題。通過(guò)將物理接口的抽象層次從周期/位級提升至事務(wù)層,驗證IP可簡(jiǎn)化SoC 與其外圍設備之間數據交換的描述。完成創(chuàng )建后,驗證IP可重復使用。驗證IP的示例包括一些通信協(xié)議,例如以太網(wǎng)、USB、PCIe、內存訪(fǎng)問(wèn)、JTAG端口,甚至是數碼相機和LCD。
這一切聽(tīng)起來(lái)都不錯,但卻存在一個(gè)問(wèn)題。此方法會(huì )產(chǎn)生大量測試周期,導致軟件仿真器運行受阻。而軟件仿真器仍然會(huì )通過(guò)驗證IP執行從高級命令到位級信號的轉換。運行分析器,然后發(fā)現測試平臺所消耗的執行時(shí)間超過(guò)50%,甚至可能高達95%(其余時(shí)間由DUT消耗),這種情況并不少見(jiàn)。
硬件仿真平臺必須得伸出援手,幫助提升頻率性能,確保其速度不低于ICE。這是通過(guò)將驗證IP的后端部分映射至硬件平臺上實(shí)現的,而驗證IP主要執行從高級命令到位級信號的轉換。
以SystemVerilog、SystemC或C++等語(yǔ)言編寫(xiě)的測試平臺會(huì )驅動(dòng)驗證IP的前端部分,進(jìn)而提供比基于事務(wù)軟件仿真快出5或6個(gè)數量級的執行速度?,F在完全可以通過(guò)將一套速度適配器(以太網(wǎng)、PCI或USB)更換為對等的驗證IP來(lái)構建一個(gè)虛擬的測試環(huán)境,從而取代ICE測試平臺。
通過(guò)軟件控制
與ICE不同,驗證IP可從軟件控制中受益。它可幫助智能驗證環(huán)境實(shí)現高度靈活性并確保實(shí)現復用。例如,設計人員可以從動(dòng)態(tài)主機中捕獲和回放流量;通過(guò)轉發(fā)設備與芯片之間的事務(wù)模擬內電路連接;或將轉換應用于事務(wù)的數據流以實(shí)現難以獲取的邊緣測試用例。
相關(guān)實(shí)例:通過(guò)PCI驗證IP,可將PCI軟件驅動(dòng)程序插入含有PCI接口的硬件仿真設計中,這與在ICE中通過(guò)硬件速度適配器的執行操作類(lèi)似。但是現在,軟件調試程序可以通過(guò)JTAG驗證IP與硬件仿真器相連,并以單步模式運行,而通過(guò)JTAG物理連接卻無(wú)法實(shí)現這一操作。
同樣重要的是,當設計人員完全控制并非由硬件測試平臺提供的設計時(shí)鐘時(shí),調試就變得更加輕松,也更加有效了。通過(guò)控制時(shí)鐘頻率,可以停止建模,讀取內存內容,強制賦值寄存器或轉儲波形。
在ICE模式中調試需要硬件邏輯分析儀。如果使用ICE方法,設計人員就必須忍受真實(shí)硬件行為的突發(fā)狀況,并且以犧牲可重復性為代價(jià)。相反,基于驗證IP的虛擬測試環(huán)境可以幫助設計人員快速重現問(wèn)題。此外,無(wú)需連結DUT與硬件測試平臺,讓設計人員在遠程位置執行DUT,開(kāi)啟了通過(guò)遠程訪(fǎng)問(wèn)創(chuàng )建仿真數據中心的大門(mén)。
由此看來(lái),對于虛擬測試平臺這一方法來(lái)說(shuō),創(chuàng )建測試平臺似乎是唯一的一個(gè)缺點(diǎn)。而Mentor Graphics及其物理實(shí)驗室VirtuaLAB(包括在工作站控制的軟件中執行的所有外圍設備)已成功解決這一問(wèn)題。
虛擬設備
虛擬設備的功能與物理外圍設備的功能相當,但虛擬設備不依賴(lài)于復位電路、電纜、連接器、磁屏蔽等硬件設備,也不會(huì )受到諸多麻煩的干擾。它們取決于全面的測試軟件IP,該IP與嵌入到映射至仿真器上的DUT中的特定協(xié)議RTL設計IP進(jìn)行通信。

圖2:虛擬設備將在控制工作站(協(xié)同建模主機)上運行的軟件堆棧與通過(guò)TBX數據線(xiàn)在硬件仿真器上運行的通信協(xié)議IP組合起來(lái)。(由Mentor Graphics提供)
虛擬設備包括在工作站上運行的軟件堆棧,該工作站通過(guò)TBX數據線(xiàn)與仿真器相連。整個(gè)封裝可用于在設備級別上測試IP以及通過(guò)真實(shí)軟件或設備驅動(dòng)程序本身執行DUT驗證。
與硬件ICE目標相比,虛擬設備的優(yōu)勢更為豐富:
輕松實(shí)現遠程訪(fǎng)問(wèn),無(wú)需安裝連接到硬件仿真器的任何硬件設備。
自由靈活地在多個(gè)設計團隊中共享單個(gè)硬件仿真器,無(wú)需配置用于連接的速度適配器和電纜。
在控制工作站上運行的目標協(xié)議軟件堆棧清晰可見(jiàn)。

表1 總結了ICE的優(yōu)點(diǎn)和缺點(diǎn)(相較于基于事務(wù)加速模式)。
然而,可能是出于習慣或者尚不知曉更好的替代方法,許多設計人員仍然沿用ICE模式。事實(shí)上,硬件仿真平臺的所有供應商均聲明支持ICE,雖然有些實(shí)現方案明顯優(yōu)于其他。然而,一旦設計人員通過(guò)硬件仿真體驗了基于事務(wù)的驗證方法,他們的驗證觀(guān)點(diǎn)就會(huì )有所轉變。能夠快速創(chuàng )建強大的測試環(huán)境而不受繁瑣的ICE硬件的干擾,那么我們就可以更加輕松且更為有效地進(jìn)行調試。這就是我認為ICE時(shí)代正在悄然離去的原因。
c++相關(guān)文章:c++教程
評論