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