USB 2.0主控器軟硬件協(xié)同仿真系統(tǒng)設(shè)計
3 基于本驗證系統(tǒng)的USB主控器驗證過程
由于使用了聯(lián)合仿真引擎,測試激勵既可以使用Verilog HDL編寫也可以使用C語言編寫。運行C語言編寫的測試激勵時,需要在測試平臺中預(yù)先置位使能信號打開聯(lián)合仿真引擎,觸發(fā)仿真工具(如NCVerilog)調(diào)用C測試激勵程序的主函數(shù)。在C測試激勵順序執(zhí)行時,整個RTL的仿真時間會停在當前時刻。只有當C測試激勵調(diào)用了基本的讀/寫函數(shù)、中斷響應(yīng)之類的底層函數(shù),硬件仿真時間才會向前推進,RTL仿真器繼續(xù)往前運行。直到RTL反饋后,C測試激勵程序才會繼續(xù)往下一行執(zhí)行。USB主控器驗證系統(tǒng)仿真引擎交互過程如圖3所示。本文引用地址:http://www.ex-cimer.com/article/155203.htm
具體過程包括:HDL仿真工具執(zhí)行Verilog HDL描述的USB的外設(shè)模型初始化過程;HDL仿真工具使能聯(lián)合仿真引擎,測試用例進入聯(lián)合仿真引擎繼續(xù)執(zhí)行;聯(lián)合仿真引擎初始化待驗證USB主控器;聯(lián)合仿真引擎執(zhí)行特定API函數(shù).測試用例進入HDL仿真過程;通過調(diào)用外設(shè)的atta tch命令,使外設(shè)模型連接到待驗證的USB主控器;聯(lián)合仿真引擎等待外設(shè)模型連接中斷,停止在當前時刻,直到中斷有效;聯(lián)合仿真引擎執(zhí)行外設(shè)模型連接中斷處理;測試用例繼續(xù)執(zhí)行HDL仿真過程。主控器與外設(shè)模型按照配置速度,傳輸類型,傳輸方向,傳送的數(shù)據(jù)包的工作速度;C驅(qū)動循環(huán)等待中斷信號有效,進行中斷處理。AHB監(jiān)控器、AXI監(jiān)控器和USB監(jiān)控器監(jiān)測主控器AHB端和USB端的工作,進行協(xié)議檢查,給出報告信息,仿真過程可以通過日志文件方便監(jiān)測?;谏鲜鏊悸肪帉懙尿炞CUSB主控器各個不同功能的測試用例,在不需要使用任何PLI(編程語言接口)函數(shù)的情況下,能夠快速、方便地實現(xiàn)USB 2.0主控器各個不同層級的Driver的功能,從而保證能夠全面的驗證此主控器的特性。表1是在不同的仿真環(huán)境下,測試USB主控器與外設(shè)進行進行高速傳輸2 Mb數(shù)據(jù)所需要的時間。從表中可以看出,系統(tǒng)中使用RTL級CPU IP核的系統(tǒng),仿真速度最慢;基于ISS指令集模擬器的仿真系統(tǒng),速度次之;本環(huán)境的仿真速度最快。
4 結(jié)語
本文設(shè)計的用于USB主控器IP驗證的軟硬件協(xié)同仿真系統(tǒng)具有仿真速度快、仿真系統(tǒng)資源占用小、減少軟硬件集成驗證測試的時間的特點,經(jīng)實踐證明,效果良好。通過使用本系統(tǒng),軟件人員能在硬件設(shè)計驗證的早期就能進入IP的軟件硬件聯(lián)調(diào),縮短了研發(fā)時間。同時,本系統(tǒng)具有良好的可重用性,對其他IP的驗證同樣有效,可為其他IP的驗證提供參考。
評論