<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > USB 2.0主控器軟硬件協(xié)同仿真系統(tǒng)設(shè)計

          USB 2.0主控器軟硬件協(xié)同仿真系統(tǒng)設(shè)計

          作者: 時間:2012-03-06 來源:網(wǎng)絡(luò) 收藏

          3 基于本驗證器驗證過程
          由于使用了聯(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í)行。器驗證仿真引擎交互過程如圖3所示。

          本文引用地址:http://www.ex-cimer.com/article/155203.htm

          c.jpg


          具體過程包括:HDL仿真工具執(zhí)行Verilog HDL描述的的外設(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ù)所需要的時間。從表中可以看出,中使用RTL級CPU IP核的系統(tǒng),仿真速度最慢;基于ISS指令集模擬器的仿真系統(tǒng),速度次之;本環(huán)境的仿真速度最快。

          d.jpg



          4 結(jié)語
          本文的用于USB主控器IP驗證的仿真系統(tǒng)具有仿真速度快、仿真系統(tǒng)資源占用小、減少集成驗證測試的時間的特點,經(jīng)實踐證明,效果良好。通過使用本系統(tǒng),軟件人員能在硬件驗證的早期就能進入IP的軟件硬件聯(lián)調(diào),縮短了研發(fā)時間。同時,本系統(tǒng)具有良好的可重用性,對其他IP的驗證同樣有效,可為其他IP的驗證提供參考。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();