精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Vivado調用Questa Sim仿真中存在的一些問題

FPGA之家 ? 來源:網(wǎng)絡交換FPGA ? 2023-05-08 11:19 ? 次閱讀

Vivado調用Questa Sim或ModelSim仿真中存在的一些自動化問題的解決方案。

Vivado調用Questa Sim仿真中存在的一些問題

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

1、添加新的觀測信號需要重新仿真

Vivado直接調用Modelsim/QuestaSim進行仿真時,波形文件里默認只會出現(xiàn)仿真最頂層中包含的信號,若此時將仿真運行一段時間后,想要查看其他模塊信號波形時,需要重新仿真或者運行do XXX_simulate.do方可。 以圖1所示工程為例,

82f11584-ec2f-11ed-90ce-dac502259ad0.jpg

圖1 vivado示例工程

在這個工程中,我們調用Questa Sim進行仿真,可以看到頂層模塊會自動跑100ns,如圖2所示

8319ad82-ec2f-11ed-90ce-dac502259ad0.jpg

圖2 QuestaSim仿真波形

此時,我們若想查看l_ethernet_0_pkt_gen_mon這個模塊的波形時,直接進入波形界面進行添加,結果如圖3所示。

8329584a-ec2f-11ed-90ce-dac502259ad0.jpg

圖3 QuestaSim仿真波形

從圖3中可以看到,當模塊的信號被添加進來后,已經(jīng)運行過的仿真時間內,新加入的信號沒有仿真結果。

2、修改邏輯代碼后,需要重新調用仿真器

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

解決方案

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

1、對XXX_compile.do自動修改

對XXX_compile.do自動修改,去除其末尾的“quit -force”,并生成新的compile.do文件,其對應的源代碼如下:

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在進行仿真中,對所有信號同步進行仿真,從而解決新加入的觀測信號沒有仿真結果的問題;

3、保證仿真器不退出

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

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

例程

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

8348360c-ec2f-11ed-90ce-dac502259ad0.png

圖4 QuestaSim仿真波形

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

8359db32-ec2f-11ed-90ce-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





審核編輯:劉清

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

    關注

    14

    文章

    1016

    瀏覽量

    83638
  • TCL
    TCL
    +關注

    關注

    10

    文章

    1715

    瀏覽量

    88468
  • Vivado
    +關注

    關注

    19

    文章

    808

    瀏覽量

    66326
  • MODELSIM仿真
    +關注

    關注

    0

    文章

    15

    瀏覽量

    7278

原文標題:[源碼]Vivado調用Questa Sim仿真小技巧

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    仿真執(zhí)行自定義custom指令時,只能執(zhí)行軟件程序中所調用條是為什么?

    學識淵博的人你好,我們在編寫軟件程序的時候出現(xiàn)的一些問題。在仿真執(zhí)行自定義custom指令時,只能執(zhí)行軟件程序中所調用條,而后在仿真中
    發(fā)表于 08-16 07:07

    cadence畫板中遇到的一些問題

    cadence畫板中遇到的一些問題,在這里分享給大家,多多指教
    發(fā)表于 02-25 16:01 ?0次下載

    關于紅外通信的一些問題知識點

    關于紅外通信的一些問題知識點。
    發(fā)表于 05-05 17:40 ?4次下載

    基于linux系統(tǒng)實現(xiàn)的vivado調用VCS仿真教程

    在linux系統(tǒng)上實現(xiàn)vivado調用VCS仿真教程 作用:vivado調用VCS仿真可以加快工
    的頭像 發(fā)表于 07-05 03:30 ?1.1w次閱讀
    基于linux系統(tǒng)實現(xiàn)的<b class='flag-5'>vivado</b><b class='flag-5'>調用</b>VCS<b class='flag-5'>仿真</b>教程

    基于saber仿真中一些問題的處理方法

    來源:電源網(wǎng) 由于saber仿真要求較高,所以給初學者造成了一些困擾,現(xiàn)在我們交流下一些常見錯誤的解決方法: 1)設置元件屬性時加了單位,這就要抽臉了,初犯可以寬恕。 2)元件名文件名路徑名有重復
    的頭像 發(fā)表于 10-12 01:57 ?1141次閱讀

    VCS獨立仿真Vivado IP核的一些方法總結

    前年,發(fā)表了篇文章《VCS獨立仿真Vivado IP核的一些方法總結》(鏈接在參考資料1),里面簡單講述了使用VCS仿真
    的頭像 發(fā)表于 03-22 10:31 ?4114次閱讀

    Vivado調用Questa Sim或ModelSim仿真小技巧

    Vivado調用Questa Sim或ModelSim仿真中存在
    的頭像 發(fā)表于 09-02 10:12 ?8406次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>調用</b><b class='flag-5'>Questa</b> <b class='flag-5'>Sim</b>或ModelSim<b class='flag-5'>仿真</b>小技巧

    使用Vivado仿真器進行混合語言仿真一些要點

    Vivado 仿真器支持混合語言項目文件及混合語言仿真。這有助于您在 VHDL 設計中包含 Verilog 模塊,反過來也是樣。 本文主要介紹使用
    的頭像 發(fā)表于 10-28 16:24 ?3139次閱讀

    Vivado仿真器進行混合語言仿真一些要點

    本文主要介紹使用 Vivado 仿真器進行混合語言仿真一些要點。
    發(fā)表于 08-01 09:25 ?1294次閱讀

    使用VCS仿真Vivado IP核時遇到的問題及解決方案

    前年,發(fā)表了篇文章《VCS獨立仿真Vivado IP核的一些方法總結》(鏈接在參考資料1),里面簡單講述了使用VCS仿真
    的頭像 發(fā)表于 08-29 14:41 ?2180次閱讀

    關于Vivado Non-project,我們應知道的一些問題

    ,同時也便于工程管理。Non-Project模式編譯時間會比Project模式短,因為所有數(shù)據(jù)存儲在內存,直接內存讀取數(shù)據(jù)比硬盤讀取要快一些。這里我們探討下使用Non-Project模式時可能碰到的一些問題
    的頭像 發(fā)表于 12-15 13:51 ?2022次閱讀

    Questa Sim不支持-novopt問題

    仿真中為防止信號被優(yōu)化,會在modelsim仿真的do文件中使用vsim -novopt項,但是Questa Sim已經(jīng)不支持,并會提示以下信息。所以要觀察信號第
    的頭像 發(fā)表于 12-23 10:34 ?5176次閱讀
    <b class='flag-5'>Questa</b> <b class='flag-5'>Sim</b>不支持-novopt問題

    Vivado調用第三方仿真軟件查看波形的過程中存在一些問題

    首先說明下Modelsim與Questa Sim都可以與Vivado聯(lián)調,也比較相似,但是Questa
    的頭像 發(fā)表于 02-10 16:28 ?3610次閱讀

    使用Vivado調用questasim仿真報錯的原因及其解決辦法

    天使用Vivado調用questasim(modelsim估計也樣),仿真報錯
    的頭像 發(fā)表于 05-08 17:12 ?2991次閱讀

    Vivado調用Modelsim仿真

    Modelsim是十分常用的外部仿真工具,在Vivado中也可以調用Modelsim進行仿真,下面將介紹如何對vivado進行配置并
    的頭像 發(fā)表于 07-24 09:04 ?3572次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>調用</b>Modelsim<b class='flag-5'>仿真</b>