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