<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于C++TCL PLI聯(lián)合仿真下的芯片驗證方法研究

基于C++TCL PLI聯(lián)合仿真下的芯片驗證方法研究

作者: 時(shí)間:2009-11-05 來(lái)源:網(wǎng)絡(luò ) 收藏

4 軟件層關(guān)鍵技術(shù)
編寫(xiě)參考模型和記分牌屬于驗證過(guò)程的軟件層,采用C++語(yǔ)言編程實(shí)現。把這兩個(gè)驗證組件設計成兩個(gè)函數,分別為Pan_rm(char *s_indata,vectorchar*>vr_outdata)和Pan_check(char*s_indata,vectorchar*>vc_outdata),函數入口參數為字符指針類(lèi)型的原因是腳本語(yǔ)言處理的全部是字符類(lèi)型的變量,腳本層生成的激勵數據為字符類(lèi)型。
當仿真執行到Verilog代碼中任務(wù)的時(shí)候,函數中的calltf()會(huì )調用Pan_rm函數或Pan_check函數。在發(fā)送器中,calltf()把發(fā)送端共享緩存區中的數據取出并傳給。Pan_rm函數,Pan_rm函數把入口的字符類(lèi)型變量轉換成整型變量,然后根據需求規格做相應的處理,最后把處理結果放入共享隊列;在接收器中,calltf()收集設計模塊的處理結果并傳給Pan_check函數,Pan_check函數取出共享隊列里面對應的Pan_rm函數的處理結果并與Pan_check函數的入口數據進(jìn)行比較,把比較的結果存人到接收端共享緩存區,最后打印結果到一個(gè)輸出文件中以便驗證人員定位問(wèn)題。

本文引用地址:http://dyxdggzs.com/article/191903.htm


5 共享緩存區
為了實(shí)現腳本層,時(shí)序層和軟件層能夠使用共享緩存區,要把C++擴展的命令、編寫(xiě)的函數命令以及軟件層代碼寫(xiě)在同一個(gè)C++工程文件里,定義全局變量作為共享緩存區實(shí)現三個(gè)層次的互聯(lián),最后通過(guò)VC編譯代碼以動(dòng)態(tài)庫的形式加載到仿真器里面去。


6 結 語(yǔ)
腳本命令在仿真之前運行,一經(jīng)執行所有的激勵數據就會(huì )生成,在PLI函數的checktf()例程里面獲取modelsim的TCL解釋器,并用TCL初始化函數將其初始化,這樣擴展的TCL命令就可以在Modelsim的解釋器里使用了。

需要注意的是,如果不在PLI函數的checktf()例程里面獲取并初始化Modelsim的TCL解釋器,那么PLI函數是加載在Modelsim內核的,如果要修改PLI函數里面調用的全局變量,要在擴展的TCL命令之前加上vsim_kernel,這樣才可以修改全局變量。當驗證組件準備好、驗證環(huán)境搭建完畢后,編寫(xiě)自動(dòng)運行腳本執行仿真過(guò)程,按照如圖2所示的操作流程自動(dòng)進(jìn)行驗證工作:運行自動(dòng)腳本,啟動(dòng)仿真器,加載動(dòng)態(tài)庫,Modelsim的TCL解釋器運行TCL腳本,開(kāi)始仿真推進(jìn)仿真時(shí)間,觸發(fā)發(fā)送器的PLI函數發(fā)送數據,軟件層分析數據得到結果,設計模塊分析數據得到結果,觸發(fā)接收器的PLI函數收集數據,軟件層比較數據,打印分析結果。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>