那曲檬骨新材料有限公司

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

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

3天內不再提示

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

FPGA之家 ? 來源:網絡交換FPGA ? 作者:董勐 ? 2021-09-02 10:12 ? 次閱讀

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

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

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

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

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

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

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

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

圖3 QuestaSim仿真波形

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

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

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

解決方案

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

1、對XXX_compile.do自動修改

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

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 {![string match “quit -force” $list($i)]} {

puts $content $list($i)

}

};

close $content

2、使用“log -r /*”命令

該命令可以讓modelsim/Questa Sim在進行仿真中,對所有信號同步進行仿真,從而解決新加入的觀測信號沒有仿真結果的問題;

3、保證仿真器不退出

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

set filename compile.do

do $filenameset filename [glob *_simulate.do]

do $filenamelog -r /*

restart -force

run 1ms

例程

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

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

圖4 QuestaSim仿真波形

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

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

圖5 QuestaSim仿真波形

完整源碼

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 {![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

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

    關注

    5

    文章

    1718

    瀏覽量

    149957
  • 仿真器
    +關注

    關注

    14

    文章

    1019

    瀏覽量

    83934
  • 代碼
    +關注

    關注

    30

    文章

    4825

    瀏覽量

    69036
  • Vivado
    +關注

    關注

    19

    文章

    815

    瀏覽量

    66883

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    使用modelsim時的問題分析

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

    Vivado使用小技巧

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

    Efinity FIFO IP仿真問題 -v1

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

    如何在ModelSim中添加Xilinx仿真

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

    SIM卡座的接口定義

    SIM卡座連接器的接口定義是移動通信設備中不可或缺的一部分,確保了SIM卡與設備之間的穩定通信和數據傳輸。在本文中,連欣科技將詳細探討一下SIM卡座的接口定義,包括其結構、引腳功能、以及接口標準,為
    的頭像 發表于 06-17 17:47 ?4915次閱讀
    <b class='flag-5'>SIM</b>卡座的接口定義

    FPGA入門必備:Testbench仿真文件編寫實例詳解

    在編寫完HDL代碼后,往往需要通過仿真軟件Modelsim或者Vivadao自帶的仿真功能對HDL代碼功能進行驗證,此時我們需要編寫Testbench文件對HDL功能進行測試驗證。
    發表于 04-29 10:43 ?2270次閱讀

    Vivado 使用Simulink設計FIR濾波器

    ,選擇好需要觀測的信號后直接右鍵單擊Xilinx Add to Viewer。這時啟動仿真將自動打開vivado的Waveform窗口,可以在時域上觀察每一個點的數據。 上圖為單個25M正弦波
    發表于 04-17 17:29

    ISE 關聯 Modelsim 詳細操作

    在兩者之間即可,然后保存。 第三步,打開ISE,在菜單Edit-Preferences…,調出設置窗口。 設置好之后就到了最后一步,在新建工程時,選擇對應的modelsim即可,在看仿真時正常打開就行了。
    發表于 03-22 18:55

    最實用的Modelsim使用教程

    過程又有兩種方法,一種是通過Quartus調用Modelsim,Quartus在編譯之后自動把仿真需要的.vo文件以及需要的仿真庫加到modelsi
    發表于 03-19 16:40

    fpga仿真文件怎么寫

    首先,你需要選擇一個FPGA仿真軟件,如ModelSimVivado、Quartus II等。這些軟件都提供了強大的仿真功能,可以幫助你驗證FPGA設計的正確性。
    的頭像 發表于 03-15 14:00 ?893次閱讀

    ADS調用spectre網表仿真異常—薛定諤的NetlistInclude

    ADS是支持調用spice/spectre等網表文件進行仿真的,可以用NetlistInclude控件來進行調用
    的頭像 發表于 03-07 09:57 ?2661次閱讀
    ADS<b class='flag-5'>調用</b>spectre網表<b class='flag-5'>仿真</b>異常—薛定諤的NetlistInclude

    最實用的Modelsim使用及仿真的基本步驟

    仿真也稱為時序仿真或者布局布線后仿真,是指電路已經映射到特定的工藝環境以后,綜合考慮電路的路徑延遲與門延遲的影響,驗證電路能否在一定時序條件下滿足設計構想的過程,是否存在時序違規。
    的頭像 發表于 03-06 09:58 ?9651次閱讀
    最實用的<b class='flag-5'>Modelsim</b>使用及<b class='flag-5'>仿真</b>的基本步驟

    【基于Lattice MXO2的小腳丫FPGA核心板】02ModelSim仿真

    ModelSim軟件用于FPGA的模塊仿真 軟件安裝 ModelSim仿真軟件隨著Diamond一同安裝,軟件的安裝和證書申請流程很簡單可以參考電子森林Lattice Diamond教
    發表于 02-29 08:25

    Modelsim報錯, -novopt 開關打開,仿真失敗

    在使用紫光同創PDS和Modelsim聯合仿真時,modelsim報錯不會解決,如下圖
    發表于 02-18 10:26
    百家乐平点| 威尼斯人娱乐城信誉| 威尼斯人娱乐备用622| 皇博国际| 百家乐官网国际娱乐场| 澳门百家乐牌规| 顶级赌场直营| 百家乐官网网页游戏网址| 百家乐官网园蒙| 杭州太阳城假日酒店| 豪博百家乐官网现金网| 属马做生意坐向| 大发888下载删除| 百家乐官网最好打法与投注| 精英百家乐现金网| 大发888有哪些| 百家乐官网下注所有组合| 娱乐城百家乐怎么样| 德州扑克辅助软件| 百家乐官网直杀| 百家乐平台送彩金| 亿博国际| 汇丰百家乐官网娱乐城| 大发888官方我的爱好| 百家乐官网的注码技巧| 爱赢百家乐的玩法技巧和规则 | 金银岛百家乐官网的玩法技巧和规则 | 爱赢百家乐官网的玩法技巧和规则 | 游戏厅百家乐官网技巧| 澳门百家乐真人斗地主| 888真人娱乐城| 阳宅24山吉凶方位| 德州扑克发牌员| 凤凰百家乐官网的玩法技巧和规则 | 水果机上分器| 百家乐官网最新产品| 老虎机破解方法| 百家乐官网8点直赢| 泰山百家乐的玩法技巧和规则 | 威尼斯人娱乐欢迎您| 九龙坡区|