衡阳派盒市场营销有限公司

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)用第三方仿真軟件查看波形的過(guò)程中存在的一些問(wèn)題

FPGA技術(shù)江湖 ? 來(lái)源:網(wǎng)絡(luò)交換FPGA ? 2023-02-10 16:28 ? 次閱讀

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

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

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

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方可。 以圖1所示工程為例,

2907441a-a91a-11ed-bfe3-dac502259ad0.jpg

圖1 vivado示例工程

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

2922d414-a91a-11ed-bfe3-dac502259ad0.jpg

圖2 QuestaSim仿真波形

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

293f6dae-a91a-11ed-bfe3-dac502259ad0.jpg

圖3 QuestaSim仿真波形

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

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

在代碼調(diào)試過(guò)程中,修改部分邏輯代碼后(不包括IP核),如果想要查看修改后工程的仿真結(jié)果,需要關(guān)閉當(dāng)前的仿真器,從vivado中重新調(diào)用方可。

其原因是vivado在生成XXX_compile.do文件時(shí),會(huì)在其末尾自動(dòng)添加“quit -force”語(yǔ)句,而更改了相應(yīng)的代碼文件后,我們需要執(zhí)行“do XXX_compile.do”命令重新編碼整個(gè)庫(kù),然而在運(yùn)行此文件時(shí),當(dāng)前的仿真器會(huì)被強(qiáng)制退出。

解決方案

為了解決上述問(wèn)題,同時(shí)更加方便使用,本文使用TCL語(yǔ)言,編寫了一個(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)的源代碼如下:

setfilename[glob*_compile.do]
setcontent[open$filenamer+]
setrow0
while{![eof$content]}{
incrrow
gets$contentline
setlist($row)$line
}
close$content
setfilename2"compile.do";
setcontent[open$filename2w+]
for{seti1}{$i<=?$row}?{incr?i}?{
????if?{![string?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)沒(méi)有仿真結(jié)果的問(wèn)題;

3、保證仿真器不退出

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

setfilenamecompile.do
do$filename
setfilename[glob*_simulate.do]
do$filename
log-r/*
restart-force
run1ms

例程

在使用該do文件之前,需要首先通過(guò)vivado調(diào)用modelsim/ questasim,然后將do文件拷貝到工程對(duì)應(yīng)的behave文件夾下。

仍以圖1所示工程為例,當(dāng)修改了代碼內(nèi)部分邏輯后,在QuestaSim的transcrip界面,輸入命令do auto_update_sim.do即可自動(dòng)重新編譯、仿真,結(jié)果如圖4所示(默認(rèn)仿真時(shí)間設(shè)置為1ms)

29857fec-a91a-11ed-bfe3-dac502259ad0.png

圖4 QuestaSim仿真波形

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

2998bbfc-a91a-11ed-bfe3-dac502259ad0.jpg

圖5 QuestaSim仿真波形

完整源碼

setfilename[glob*_compile.do]
setcontent[open$filenamer+]
setrow0
while{![eof$content]}{
incrrow
gets$contentline
setlist($row)$line
}
close$content
setfilename2"compile.do";
setcontent[open$filename2w+]
for{seti1}{$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





審核編輯:劉清

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

    關(guān)注

    14

    文章

    1019

    瀏覽量

    83934
  • questasim
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    7516
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    815

    瀏覽量

    66886
  • MODELSIM仿真
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    7337

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

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何用Python實(shí)現(xiàn)Vivado和ModelSim仿真自動(dòng)化?

    我們?cè)赪indows系統(tǒng)下使用Vivado的默認(rèn)設(shè)置調(diào)用第三方仿真器比如ModelSim進(jìn)行仿真時(shí),
    的頭像 發(fā)表于 09-13 09:23 ?1404次閱讀
    如何用Python實(shí)現(xiàn)<b class='flag-5'>Vivado</b>和ModelSim<b class='flag-5'>仿真</b>自動(dòng)化?

    如何打開(kāi)第三方軟件

    請(qǐng)問(wèn)大神們 誰(shuí)知道如何在Labview 打開(kāi)第三方軟件,我現(xiàn)在想打開(kāi)工程后 自動(dòng)打開(kāi)USB視頻采集卡,然后就直接顯示出采集卡采集到的圖像了請(qǐng)問(wèn)如何打開(kāi)在這先謝過(guò)了
    發(fā)表于 09-11 16:26

    求高手討教!求指點(diǎn)!求鄙視!各種求!調(diào)用第三方軟件!

    各位大神,目前在做個(gè)項(xiàng)目其中有個(gè)功能,要求我對(duì)加載過(guò)來(lái)的TCL腳本 進(jìn)行編譯查看腳本是否正確! 我想調(diào)用第三方軟件(ActiveTCL)編
    發(fā)表于 04-25 10:44

    如何在LabVIEW嵌入第三方軟件界面

    如何把第三方軟件的界面嵌入到labview,并且能夠在LabVIEW的前面板對(duì)第三方軟件進(jìn)行
    發(fā)表于 04-27 23:06

    第三方dll調(diào)用問(wèn)題?。。?/a>

    第三方dll,沒(méi)有.h,labview怎么實(shí)現(xiàn)調(diào)用,dll可以用VS打開(kāi),類庫(kù)說(shuō)明也有
    發(fā)表于 05-11 09:14

    LabVIEW與第三方軟件交互問(wèn)題

    現(xiàn)在做個(gè)軟件,就是通過(guò)LabVIEW去與第三方軟件進(jìn)行交互操作!已經(jīng)通過(guò)百度找到了利用user32.dll調(diào)用FindWindowA與Po
    發(fā)表于 12-26 17:13

    關(guān)于LabVIEW調(diào)用第三方exe,如何去控制第三方exe按鈕的問(wèn)題

    我想調(diào)用第三方的exe,但并沒(méi)有給出任何接口,就單單個(gè)exe程序,通過(guò)查資料得出可以用window自帶的user32.dll可以控制第三方軟件
    發(fā)表于 08-12 16:37

    頭文件包含第三方文件

    macrocmake如果源文件(例如 CPP)包含第三方頭文件,但是頭文件(例如 hpp)不包含該第三方文件頭,采用 PRIVATE。如果源文件和頭文件中都包含該
    發(fā)表于 08-18 08:10

    第三方數(shù)字認(rèn)證

    第三方數(shù)字認(rèn)證 、實(shí)驗(yàn)?zāi)康模?熟悉數(shù)字證書的申請(qǐng)過(guò)程,了解數(shù)字證書的使用。二、實(shí)驗(yàn)前準(zhǔn)備: 先查看本機(jī)的證書狀況,在IE中點(diǎn)工
    發(fā)表于 03-18 18:23 ?2990次閱讀
    <b class='flag-5'>第三方</b>數(shù)字認(rèn)證

    基于Vivado設(shè)計(jì)的第三方仿真器版本說(shuō)明

    本文列出了能夠與 Vivado 設(shè)計(jì)套件聯(lián)用的支持性第三方仿真器。 這些也在隨該軟件起發(fā)布的“Viva
    發(fā)表于 11-15 16:18 ?2141次閱讀

    如何將Vivado IP和第三方綜合工具配合使用

    觀看視頻,學(xué)習(xí)如何將 Vivado IP 和第三方綜合工具配合使用。 此視頻將通過(guò)個(gè)設(shè)計(jì)實(shí)例引導(dǎo)您完成創(chuàng)建自定義 IP 的步驟;用第三方綜合工具IP黑盒子來(lái)審查所需 IP 輸出;整合
    的頭像 發(fā)表于 11-21 06:34 ?5157次閱讀

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

    調(diào)用第三方仿真軟件查看波形過(guò)程中
    的頭像 發(fā)表于 09-02 10:12 ?8624次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>調(diào)用</b>Questa Sim或ModelSim<b class='flag-5'>仿真</b>小技巧

    在SpringBoot重試調(diào)用第三方API教程

    作為后端程序員,我們的日常工作就是調(diào)用一些第三方服務(wù),將數(shù)據(jù)存入數(shù)據(jù)庫(kù),返回信息給前端。但你不能保證所有的事情直都很順利。像有些第三方AP
    的頭像 發(fā)表于 05-11 10:43 ?748次閱讀

    Vivado關(guān)聯(lián)第三方編輯器的方法

    Vivado個(gè)非常強(qiáng)大的工具,但是在一些方面可能不能完全滿足我們的需求,比如代碼編輯器的功能。幸運(yùn)的是,Vivado允許我們關(guān)聯(lián)第三方
    的頭像 發(fā)表于 05-16 16:36 ?1803次閱讀
    <b class='flag-5'>Vivado</b>關(guān)聯(lián)<b class='flag-5'>第三方</b>編輯器的方法

    調(diào)用第三方 API 接口會(huì)遇到哪些問(wèn)題

    了 11、接口時(shí)好時(shí)壞 12、文檔和接口邏輯不致 13、欠費(fèi)了 ? 前言 在實(shí)際工作,我們經(jīng)常需要在項(xiàng)目中調(diào)用第三方API接口,獲取數(shù)據(jù),或者上報(bào)數(shù)據(jù),進(jìn)行數(shù)據(jù)交換和通信。 那么,
    的頭像 發(fā)表于 05-29 14:31 ?1578次閱讀
    金乡县| 大佬百家乐娱乐城| 百家乐官网庄闲分布概率| 澳门百家乐如何算| 百家乐官网技巧-百家乐官网开户指定代理网址 | 罗浮宫百家乐的玩法技巧和规则| 百家乐官网庄6点| 六合彩最快开奖| 百家乐赌博经历| 百家乐官网真人娱乐城陈小春| 大发888娱乐城官方网站| 网上百家乐怎么破解| 百家乐官网娱乐城公司| 大发888下载安全的| 百家乐斗地主在哪玩| 查看百家乐官网赌博| 澳门博彩网站| 网页百家乐的玩法技巧和规则 | 新世纪百家乐官网现金网| 大发888娱乐场注册| 百家乐什么牌最大| 真人百家乐官网赌博技巧| 皇冠足球现金网| 香港百家乐的玩法技巧和规则| 大西洋百家乐官网的玩法技巧和规则 | 利记百家乐官网现金网| 威尼斯人娱乐场官网48008| 百家乐网上公式| 百家乐官网棋牌辅助| 皇冠足球投| 百家乐筹码托盘| 百家乐高档筹码| 百家乐官网里靴是什么意识| 东城区| 大发888好么| 大世界百家乐赌场娱乐网规则| 澳门百家乐官网官方网站破解百家乐官网技巧| 百家乐官网最佳公式| 博九娱乐场| 威尼斯人娱乐城线上赌博| 什么是百家乐赌博|