女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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 {?。踖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 {?。踫tring 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 {?。踫tring 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

    文章

    1779

    瀏覽量

    151266
  • 仿真器
    +關注

    關注

    14

    文章

    1033

    瀏覽量

    84922
  • 代碼
    +關注

    關注

    30

    文章

    4886

    瀏覽量

    70232
  • Vivado
    +關注

    關注

    19

    文章

    828

    瀏覽量

    68192

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    NVIDIA Isaac Sim與NVIDIA Isaac Lab的更新

    在 COMPUTEX 2025 上,NVIDIA 宣布了機器人仿真參考應用 NVIDIA Isaac Sim 和機器人學習框架 NVIDIA Isaac Lab 的更新,以加速各種形態機器人的開發。
    的頭像 發表于 05-28 10:06 ?206次閱讀

    西門子推出Questa One智能驗證解決方案

    西門子數字化工業軟件宣布推出 Questa One 智能驗證軟件產品組合,以人工智能(AI)技術賦能連接性、數據驅動方法和可擴展性,突破集成電路 (IC) 驗證流程限制,助力工程團隊有效提高生產效率。
    的頭像 發表于 05-13 18:19 ?381次閱讀

    Vivado調用MIG產生DDR3的問題解析

    下面是調用的DDR3模塊的,模塊的倒數第二行是,模塊的時鐘輸入,時鐘源來自PLL產生的系統時鐘的倍頻。
    的頭像 發表于 05-03 10:21 ?431次閱讀
    在<b class='flag-5'>Vivado</b><b class='flag-5'>調用</b>MIG產生DDR3的問題解析

    一文詳解Vivado時序約束

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

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

    就沒問題了。然后點擊 OK,開始仿真。 可以看到會彈出一個新的選項卡叫”sim”,然后看紅框部分,當點擊 OK 后,實際上 Modelsim 自動輸入一 句命令 vsim -gui
    發表于 02-25 18:36

    RTX 5880 Ada 驅動51Sim實現端到端仿真與數據合成新飛躍

    。 51Sim 由 51WORLD 于 2017 年孵化,是國內領先的 AI 合成數據及仿真平臺公司,在智能駕駛仿真和數據閉環領域有著卓越的產品競爭力和商業化能力?,F核心產品包括智能駕駛與機器人
    的頭像 發表于 02-13 12:46 ?400次閱讀
    RTX 5880 Ada 驅動51<b class='flag-5'>Sim</b>實現端到端<b class='flag-5'>仿真</b>與數據合成新飛躍

    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>

    SIM卡座按結構類型可劃分成哪些

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

    使用modelsim時的問題分析

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

    Vivado使用小技巧

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

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

    0-SIM卡的迭代(SIM-USIM-eSIM-vSIM-softSIM)從2G時代一直到現在5G的到來,網絡在發展SIM卡的形態也跟著在變化,從大變小,從小變更小,在從更小變無(純軟件)。?
    發表于 10-22 10:06 ?8次下載

    Efinity FIFO IP仿真問題 -v1

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

    如何在ModelSim中添加Xilinx仿真

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

    使用SIM卡座帶卡托有哪些注意事項

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

    SIM卡座的接口定義

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