一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Vivado調(diào)用Questa Sim或ModelSim仿真小技巧

FPGA之家 ? 來源:網(wǎng)絡(luò)交換FPGA ? 作者:董勐 ? 2021-09-02 10:12 ? 次閱讀

Vivado調(diào)用Questa Sim或ModelSim仿真中存在的一些自動(dòng)化問題的解決方案。

Vivado調(diào)用Questa Sim仿真中存在的一些問題

首先說明一下Modelsim與Questa Sim都可以與Vivado聯(lián)調(diào),也比較相似,但是Questa Sim比Modelsim功能更加廣泛,對(duì)于System Verilog的語法支持更加完善,本文以Questa Sim為例說明一下Vivado調(diào)用第三方仿真軟件查看波形的過程中存在的一些問題。

1、添加新的觀測(cè)信號(hào)需要重新仿真

Vivado直接調(diào)用Modelsim/QuestaSim進(jìn)行仿真時(shí),波形文件里默認(rèn)只會(huì)出現(xiàn)仿真最頂層中包含的信號(hào),若此時(shí)將仿真運(yùn)行一段時(shí)間后,想要查看其他模塊信號(hào)波形時(shí),需要重新仿真或者運(yùn)行do XXX_simulate.do方可。

在這個(gè)工程中,我們調(diào)用Questa Sim進(jìn)行仿真,可以看到頂層模塊會(huì)自動(dòng)跑100ns。

此時(shí),我們?nèi)粝氩榭磍_ethernet_0_pkt_gen_mon這個(gè)模塊的波形時(shí),直接進(jìn)入波形界面進(jìn)行添加,結(jié)果如圖3所示。

b72ff162-0b49-11ec-8fb8-12bb97331649.jpg

圖3 QuestaSim仿真波形

從圖3中可以看到,當(dāng)模塊的信號(hào)被添加進(jìn)來后,已經(jīng)運(yùn)行過的仿真時(shí)間內(nèi),新加入的信號(hào)沒有仿真結(jié)果。

2、修改邏輯代碼后,需要重新調(diào)用仿真器

在代碼調(diào)試過程中,修改部分邏輯代碼后(不包括IP核),如果想要查看修改后工程的仿真結(jié)果,需要關(guān)閉當(dāng)前的仿真器,從vivado中重新調(diào)用方可。其原因是vivado在生成XXX_compile.do文件時(shí),會(huì)在其末尾自動(dòng)添加“quit -force”語句,而更改了相應(yīng)的代碼文件后,我們需要執(zhí)行“do XXX_compile.do”命令重新編碼整個(gè)庫(kù),然而在運(yùn)行此文件時(shí),當(dāng)前的仿真器會(huì)被強(qiáng)制退出。

解決方案

為了解決上述問題,同時(shí)更加方便使用,本文使用TCL語言,編寫了一個(gè)較為方便的do文件,其可以實(shí)現(xiàn)如下功能:

1、對(duì)XXX_compile.do自動(dòng)修改

對(duì)XXX_compile.do自動(dòng)修改,去除其末尾的“quit -force”,并生成新的compile.do文件,其對(duì)應(yīng)的源代碼如下:

set filename [glob *_compile.do]

set content [open $filename r+]

set row 0while {![eof $content]} {

incr row

gets $content line

set list($row) $line

}

close $contentset filename2 “compile.do”;

set content [open $filename2 w+]

for {set i 1} {$i 《= $row} {incr i} {

if {?。踫tring match “quit -force” $list($i)]} {

puts $content $list($i)

}

};

close $content

2、使用“l(fā)og -r /*”命令

該命令可以讓modelsim/Questa Sim在進(jìn)行仿真中,對(duì)所有信號(hào)同步進(jìn)行仿真,從而解決新加入的觀測(cè)信號(hào)沒有仿真結(jié)果的問題;

3、保證仿真器不退出

當(dāng)修改工程中的邏輯代碼(不含IP核)后,只需要運(yùn)行該do文件,其自動(dòng)進(jìn)行編譯和仿真,且使用修改后的compile.do文件,保證仿真器不退出,其對(duì)應(yīng)的源代碼如下:

set filename compile.do

do $filenameset filename [glob *_simulate.do]

do $filenamelog -r /*

restart -force

run 1ms

例程

在使用該do文件之前,需要首先通過vivado調(diào)用modelsim/ questasim,然后將do文件拷貝到工程對(duì)應(yīng)的behave文件夾下。仍以工程為例,當(dāng)修改了代碼內(nèi)部分邏輯后,在QuestaSim的transcrip界面,輸入命令do auto_update_sim.do即可自動(dòng)重新編譯、仿真,結(jié)果如圖4所示(默認(rèn)仿真時(shí)間設(shè)置為1ms)

b73a161a-0b49-11ec-8fb8-12bb97331649.png

圖4 QuestaSim仿真波形

添加了l_ethernet_0_pkt_gen_mon這個(gè)模塊,可以發(fā)現(xiàn)仿真過的時(shí)間內(nèi)同樣有仿真結(jié)果,如圖5所示。

b74a2398-0b49-11ec-8fb8-12bb97331649.jpg

圖5 QuestaSim仿真波形

完整源碼

set filename [glob *_compile.do]

set content [open $filename r+]

set row 0while {?。踖of $content]} {

incr row

gets $content line

set list($row) $line

}

close $contentset filename2 “compile.do”;

set content [open $filename2 w+]

for {set i 1} {$i 《= $row} {incr i} {

if {![string match “quit -force” $list($i)]} {

puts $content $list($i)

}

};

close $content

set filename compile.do

do $filename

set filename [glob *_simulate.do]

do $filename

log -r /*

restart –force

run 1ms

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1767

    瀏覽量

    151032
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1028

    瀏覽量

    84716
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4880

    瀏覽量

    70025
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    825

    瀏覽量

    67932

原文標(biāo)題:[源碼]Vivado調(diào)用Questa Sim仿真小技巧

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Vivado調(diào)用MIG產(chǎn)生DDR3的問題解析

    下面是調(diào)用的DDR3模塊的,模塊的倒數(shù)第二行是,模塊的時(shí)鐘輸入,時(shí)鐘源來自PLL產(chǎn)生的系統(tǒng)時(shí)鐘的倍頻。
    的頭像 發(fā)表于 05-03 10:21 ?276次閱讀
    在<b class='flag-5'>Vivado</b><b class='flag-5'>調(diào)用</b>MIG產(chǎn)生DDR3的問題解析

    一文詳解Vivado時(shí)序約束

    Vivado的時(shí)序約束是保存在xdc文件中,添加創(chuàng)建設(shè)計(jì)的工程源文件后,需要?jiǎng)?chuàng)建xdc文件設(shè)置時(shí)序約束。時(shí)序約束文件可以直接創(chuàng)建添加已存在的約束文件,創(chuàng)建約束文件有兩種方式:Constraints Wizard和Edit T
    的頭像 發(fā)表于 03-24 09:44 ?1722次閱讀
    一文詳解<b class='flag-5'>Vivado</b>時(shí)序約束

    【紫光同創(chuàng)盤古100Pro+開發(fā)板,MES2L676-100HP教程】盤古676系列——Modelsim的使用和do文件編寫

    就沒問題了。然后點(diǎn)擊 OK,開始仿真。 可以看到會(huì)彈出一個(gè)新的選項(xiàng)卡叫”sim”,然后看紅框部分,當(dāng)點(diǎn)擊 OK 后,實(shí)際上 Modelsim 自動(dòng)輸入一 句命令 vsim -gui
    發(fā)表于 02-25 18:36

    RTX 5880 Ada 驅(qū)動(dòng)51Sim實(shí)現(xiàn)端到端仿真與數(shù)據(jù)合成新飛躍

    。 51Sim 由 51WORLD 于 2017 年孵化,是國(guó)內(nèi)領(lǐng)先的 AI 合成數(shù)據(jù)及仿真平臺(tái)公司,在智能駕駛仿真和數(shù)據(jù)閉環(huán)領(lǐng)域有著卓越的產(chǎn)品競(jìng)爭(zhēng)力和商業(yè)化能力?,F(xiàn)核心產(chǎn)品包括智能駕駛與機(jī)器人
    的頭像 發(fā)表于 02-13 12:46 ?337次閱讀
    RTX 5880 Ada 驅(qū)動(dòng)51<b class='flag-5'>Sim</b>實(shí)現(xiàn)端到端<b class='flag-5'>仿真</b>與數(shù)據(jù)合成新飛躍

    Vivado Design Suite用戶指南:邏輯仿真

    電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:邏輯仿真.pdf》資料免費(fèi)下載
    發(fā)表于 01-15 15:25 ?0次下載
    <b class='flag-5'>Vivado</b> Design Suite用戶指南:邏輯<b class='flag-5'>仿真</b>

    SIM卡座按結(jié)構(gòu)類型可劃分成哪些

    在探討SIM卡座按結(jié)構(gòu)分類的不同類型時(shí),我們首先需要了解SIM卡座的基本定義和功能。SIM卡座是手機(jī)其他電子設(shè)備中用于放置SIM卡的卡槽,
    的頭像 發(fā)表于 01-13 18:22 ?1067次閱讀
    <b class='flag-5'>SIM</b>卡座按結(jié)構(gòu)類型可劃分成哪些

    Vivado中FFT IP核的使用教程

    本文介紹了Vidado中FFT IP核的使用,具體內(nèi)容為:調(diào)用IP核>>配置界面介紹>>IP核端口介紹>>MATLAB生成測(cè)試數(shù)據(jù)>>測(cè)試verilogHDL>>TestBench仿真>>結(jié)果驗(yàn)證>>FFT運(yùn)算。
    的頭像 發(fā)表于 11-06 09:51 ?2992次閱讀
    <b class='flag-5'>Vivado</b>中FFT IP核的使用教程

    使用modelsim時(shí)的問題分析

    仿真對(duì)于FPGA設(shè)計(jì)來說至關(guān)重要,我們經(jīng)常使用modelsim來進(jìn)行功能仿真或者時(shí)序仿真,這樣就需要將modelsim和設(shè)計(jì)軟件(quart
    的頭像 發(fā)表于 10-24 18:15 ?1326次閱讀
    使用<b class='flag-5'>modelsim</b>時(shí)的問題分析

    Vivado使用小技巧

    有時(shí)我們對(duì)時(shí)序約束進(jìn)行了一些調(diào)整,希望能夠快速看到對(duì)應(yīng)的時(shí)序報(bào)告,而又不希望重新布局布線。這時(shí),我們可以打開布線后的dcp,直接在Vivado Tcl Console里輸入更新后的時(shí)序約束。如果調(diào)整
    的頭像 發(fā)表于 10-24 15:08 ?802次閱讀
    <b class='flag-5'>Vivado</b>使用小技巧

    SIM卡的迭代(SIM-USIM-eSIM-vSIM-softSIM)

    0-SIM卡的迭代(SIM-USIM-eSIM-vSIM-softSIM)從2G時(shí)代一直到現(xiàn)在5G的到來,網(wǎng)絡(luò)在發(fā)展SIM卡的形態(tài)也跟著在變化,從大變小,從小變更小,在從更小變無(純軟件)。?
    發(fā)表于 10-22 10:06 ?8次下載

    Efinity FIFO IP仿真問題 -v1

    幾個(gè)文件? 我們來看下modelsim.do文件,里面vlog了fifo_tb.sv文件,另外還調(diào)用了flist文件里的文件,flist只有一個(gè)文件那就是fifo_sim.v。所以這個(gè)仿真
    的頭像 發(fā)表于 10-21 11:41 ?1386次閱讀
    Efinity FIFO IP<b class='flag-5'>仿真</b>問題 -v1

    原來手機(jī)SIM卡的PCB設(shè)計(jì)是這樣的!

    (約為名片大小)和25mm×15mm(比普通郵票還?。?。在國(guó)內(nèi),主要流行的是小卡。 需要注意的是,SIM卡是用戶個(gè)人信息的存儲(chǔ)載體,需要妥善保管。如果遺失損壞,可能會(huì)對(duì)用戶造成影響。 一、SIM
    發(fā)表于 07-09 10:29

    如何在ModelSim中添加Xilinx仿真庫(kù)

    今天給大俠帶來在FPGA設(shè)計(jì)應(yīng)用中如何在ModelSim中添加Xilinx仿真庫(kù),話不多說,上貨。 注意:ModelSim一定要安裝在不帶空格的目錄下,即不要安裝在“Program
    發(fā)表于 07-03 18:16

    使用SIM卡座帶卡托有哪些注意事項(xiàng)

    ,以幫助讀者更好地了解和使用。 首先,SIM卡座帶卡托的設(shè)計(jì)使得插入和取出SIM卡變得非常簡(jiǎn)單方便。用戶只需輕輕推動(dòng)卡托,即可將SIM卡插入取出。這種設(shè)計(jì)避免了傳統(tǒng)
    的頭像 發(fā)表于 07-02 16:26 ?904次閱讀
    使用<b class='flag-5'>SIM</b>卡座帶卡托有哪些注意事項(xiàng)

    SIM卡座的接口定義

    SIM卡座連接器的接口定義是移動(dòng)通信設(shè)備中不可或缺的一部分,確保了SIM卡與設(shè)備之間的穩(wěn)定通信和數(shù)據(jù)傳輸。在本文中,連欣科技將詳細(xì)探討一下SIM卡座的接口定義,包括其結(jié)構(gòu)、引腳功能、以及接口標(biāo)準(zhǔn),為
    的頭像 發(fā)表于 06-17 17:47 ?6081次閱讀
    <b class='flag-5'>SIM</b>卡座的接口定義