仿真和驗(yàn)證是開發(fā)任何高質(zhì)量的基于 FPGA 的 RTL 編碼過程的基礎(chǔ)。在上一篇文章中,我們介紹了面向?qū)嶓w/塊的仿真,即通過在每個輸入信號上生成激勵并驗(yàn)證 RTL 代碼行為是否符合預(yù)期,對構(gòu)成每個 IP 核的不同模塊進(jìn)行實(shí)體/塊的仿真。
前文回顧
如何測試與驗(yàn)證復(fù)雜的FPGA設(shè)計(1)——面向?qū)嶓w或塊的仿真
在本篇文章中,我們將介紹如何在虹科IP核中執(zhí)行面向全局的仿真,而這也是測試與驗(yàn)證復(fù)雜FPGA設(shè)計的第二個關(guān)鍵步驟。
面向全局的仿真
全局仿真意味著驗(yàn)證整個IP實(shí)體的正確行為,包括構(gòu)成產(chǎn)品的每個子模塊。為了適應(yīng)不同客戶的用例,虹科SoC-e IP核解決方案在設(shè)計時充分考慮了靈活性,這意味著虹科所有的IP核都是高度可配置的,無論是在集成時(以優(yōu)化 FPGA 中的封裝)還是在運(yùn)行時。借助于有著不同接口選項(xiàng)的寄存器映射(在下面的示例中,使用 AXI4),運(yùn)行時配置成為可能。
這種靈活性也對仿真過程提出了挑戰(zhàn),因?yàn)樾枰鶕?jù)仿真環(huán)境中的不同測試用例來配置IP。對此,虹科的合作伙伴SoC-e團(tuán)隊開發(fā)了一個令人驚嘆的智能測試平臺環(huán)境,在該環(huán)境中可以進(jìn)行實(shí)時配置并實(shí)現(xiàn)自動化,開發(fā)人員可以通過“點(diǎn)擊即用”的方式來執(zhí)行復(fù)雜的仿真。例如,測試臺可以通過交換機(jī)發(fā)送以太網(wǎng)幀,并可以通過訪問IP 核的統(tǒng)計寄存器來讀取結(jié)果(并檢查輸出是否符合預(yù)期)。
這極大地加快了調(diào)試過程,并允許開發(fā)團(tuán)隊執(zhí)行快速迭代,而這在基于硬件的測試環(huán)境中會慢得多。在下圖為具有此類全局測試平臺架構(gòu)的框圖(基于虹科網(wǎng)管以太網(wǎng)交換機(jī)IP核):
網(wǎng)管型以太網(wǎng)交換機(jī) (MES) 表示為UUT。其余的測試臺組件是符合整個環(huán)境的不可綜合的 VHDL 模塊:
Frame Generator::該模塊連接到以太網(wǎng)交換機(jī) IP 的入口端口,負(fù)責(zé)生成激勵(以太網(wǎng)幀)。
Frame Checker:該模塊連接到以太網(wǎng)交換機(jī)IP的出端口,負(fù)責(zé)分析交換機(jī)轉(zhuǎn)發(fā)的流量。
AXI Configurator:它控制 AXI4 配置總線以修改配置寄存器的內(nèi)容(讀/寫操作)。
測試平臺執(zhí)行流程
正常的測試平臺執(zhí)行流程如下:首先,AXIConfigurator模塊根據(jù)測試用例配置IP核。之后,每個FrameGenerator都會生成測試幀,并將其發(fā)送到啟用的入口端口。幀是通過循環(huán)重復(fù)某些特定測試文件中定義的內(nèi)容來生成的。最后,F(xiàn)rame Checker接收幀(接收與否,取決于測試用例)。該塊將檢查每個端口對應(yīng)的統(tǒng)計信息,并根據(jù)執(zhí)行的測試用例確定輸出是否符合預(yù)期的。
虹科SoC-e測試平臺架構(gòu)的一大亮點(diǎn)是Frame Checker可以自動檢測多種錯誤,例如完整性錯誤、轉(zhuǎn)發(fā)錯誤或幀丟失。這是可實(shí)現(xiàn)的,因?yàn)镕rame Generator可以生成具有特定格式的流量(例如有效載荷中的特殊模式、序列號等),F(xiàn)rame Checker可以解釋這些流量。
測試平臺測試計劃
該測試平臺套件的驚人靈活性還與SoC-e定義的嚴(yán)格測試計劃相結(jié)合。對于每個IP核,都有一個測試計劃,旨在在仿真環(huán)境中測試盡可能多的特性。
例如,網(wǎng)管以太網(wǎng)交換機(jī)IP的測試計劃可以被劃分為五個主要部分:
通用交換
自定義轉(zhuǎn)發(fā)
過濾數(shù)據(jù)庫
優(yōu)先隊列
這些部分旨在涵蓋與網(wǎng)絡(luò)相關(guān)的不同功能的行為,以及不同的流量模式和情況。
測試平臺的結(jié)果可以由開發(fā)人員或用戶以不同的方式進(jìn)行分析。TCL控制臺用于快速反饋測試結(jié)果。然而,在某些情況下,在仿真的特定時刻深入了解特定信號值可能會很有趣。對于這種情況,還開發(fā)了預(yù)先格式化的波形,以便于查找特定信號。
用于測試執(zhí)行的命令行界面(CLI)
此測試平臺環(huán)境中包含的最新功能之一是可以直接從命令行界面(CLI)執(zhí)行所有測試,而無需打開RTL仿真工具(Vivado或其他工具)。這是一個很大的改進(jìn),因?yàn)樗梢詫?shí)現(xiàn)更高的測試自動化。它基于使用Vivado編譯器命令的腳本(Python)的使用,以便用戶生成易于解釋的結(jié)果。
下圖顯示了向用戶顯示的仿真菜單。用戶只需選擇相應(yīng)的選項(xiàng)即可執(zhí)行任何列出的測試:
眾所周知,仿真是一個需要大量時間的過程。即使在功能強(qiáng)大的計算機(jī)中執(zhí)行,毫秒或以上范圍內(nèi)的復(fù)雜仿真也需要持續(xù)數(shù)十分鐘,甚至更長。為了簡化執(zhí)行所有測試的過程(這需要幾個小時),我們實(shí)現(xiàn)了一個“-all”選項(xiàng),它允許在管道中執(zhí)行所有測試,且無需用戶交互。完成所有測試后,它將提供有關(guān)每個測試的報告消息(如下圖所示),并在測試失敗的情況下生成輸出文件,以便開發(fā)人員稍后進(jìn)行分析。
-
仿真
+關(guān)注
關(guān)注
50文章
4126瀏覽量
134043 -
IP核
+關(guān)注
關(guān)注
4文章
331瀏覽量
49658
發(fā)布評論請先 登錄
相關(guān)推薦
虹科方案 僅需4個步驟!輕松高效搭建虹科TSN測試網(wǎng)絡(luò)
![<b class='flag-5'>虹</b><b class='flag-5'>科</b>方案 僅需4個步驟!輕松高效搭建<b class='flag-5'>虹</b><b class='flag-5'>科</b>TSN<b class='flag-5'>測試</b>網(wǎng)絡(luò)](https://file1.elecfans.com/web3/M00/04/EE/wKgZPGd7TjOAdqIIAAGDHW9flTs144.png)
虹科技術(shù)前沿 TSN網(wǎng)絡(luò)中時間感知整形器的性能驗(yàn)證實(shí)測
![<b class='flag-5'>虹</b>科技術(shù)前沿 TSN網(wǎng)絡(luò)<b class='flag-5'>中</b>時間感知整形器的性能<b class='flag-5'>驗(yàn)證</b>實(shí)測](https://file1.elecfans.com/web2/M00/00/3E/wKgaomaoVuOAetIYAAjq4omw10E204.png)
如何在ModelSim中添加Xilinx仿真庫
FPGA的IP軟核使用技巧
關(guān)于FPGA IP核
FPGA開發(fā)過程中配置全局時鐘需要注意哪些問題
FPGA開發(fā)如何降低成本,比如利用免費(fèi)的IP內(nèi)核
fpga仿真器是什么?它有哪些優(yōu)勢?
fpga原型驗(yàn)證平臺與硬件仿真器的區(qū)別
fpga驗(yàn)證和測試的區(qū)別
fpga仿真是什么
FPGA設(shè)計的IP和算法應(yīng)用綜述
![<b class='flag-5'>FPGA</b>設(shè)計的<b class='flag-5'>IP</b>和算法應(yīng)用綜述](https://file1.elecfans.com/web2/M00/C2/EC/wKgZomXpGnSAVaegAABGRG03GdM920.png)
評論