国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

腳本化Questasim/Modelsim自動(dòng)仿真——脫離聯(lián)合仿真

這篇具有很好參考價(jià)值的文章主要介紹了腳本化Questasim/Modelsim自動(dòng)仿真——脫離聯(lián)合仿真。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

引言

腳本仿真步驟分析

完整的腳本代碼

保姆級(jí)使用教程

擴(kuò)展


引言

之前對(duì)于工程一直采用的是vivado+questasim聯(lián)合仿真的模式,對(duì)于大型工程來說這個(gè)是合適的,因?yàn)樾枰{(diào)用一些ip庫和包括約束之類的,vivado的圖形化界面做的很完善,基本是一站式服務(wù)了;而對(duì)于一個(gè)小demo來說,如果為此要新建一個(gè)工程的話操作還是有點(diǎn)復(fù)雜的,而且占據(jù)的空間也很大。并且對(duì)于一個(gè)合格的工程師來說,最好還是減少重復(fù)工作,畢竟已經(jīng)21世紀(jì)了(雖然我還做不到),所以自己就閑的探索了一下基于腳本化的自動(dòng)仿真流程,只需要有一個(gè)設(shè)計(jì)文件和TB文件即可對(duì)一些小demo完成仿真。

腳本仿真步驟分析

本工程的例子為對(duì)一個(gè)異步fifo的腳本化仿真測試

1、首先我們先創(chuàng)建一個(gè).do文件,方法隨意,我一般建一個(gè)txt,然后后綴改成.do,例如 auto_test.do

2、此do文件是在Questa/Modelsim的命令行中執(zhí)行的,所以需要先退出當(dāng)前工程,命令為:

quit    -sim

3、然后清除命令行的顯示信息

.main   clear

4、仿真器需要?jiǎng)?chuàng)建一個(gè)物理目錄(文件夾),將編譯后的庫文件放在其中,以便仿真的時(shí)候?qū)ζ溥M(jìn)行調(diào)用

vlib    ./lib
vlib    ./lib/work

5、創(chuàng)建邏輯庫(work),并映射邏輯庫到物理目錄,編譯工程之后的編譯文件存放在該目錄下

vmap    work    ./lib/work

6、編譯Verilog 源代碼,將編譯得到的信息文件與編譯的文件放到邏輯庫里面,庫名缺省編譯到work本地庫,文件按順序編譯。

主要是編譯設(shè)計(jì)文件,測試文件,調(diào)用的IP核.v文件,相應(yīng)的庫文件,通配符./../xxx/ *.v,要注意編譯的順序.

NOTE:測試tb文件放在./tb文件夾下,設(shè)計(jì)文件放在./source文件夾下

vlog    -work   work    ./tb/*.v
vlog    -work   work    ./source/*.v

7、優(yōu)化部分參數(shù)(-voptargs=+acc),鏈接到默認(rèn)的work 庫,啟動(dòng)仿真頂層測試邏輯庫(work)里面的tb文件。

NOTE:這里的測試tb文件名字是tb_asyn_FIFO,使用的時(shí)候需要修改為自己tb的名字。

vsim ? ?-voptargs=+acc ? ?work.tb_asyn_FIFO

8、添加波形 add wave 測試頂層的名字/例化子模塊的例化名字/子模塊信號(hào)的名字

add ? ?wave ? ?-radix bin ? ?tb_ex_shift_reg/o_lvds_d

添加分割線:不同的信號(hào)之間進(jìn)行分割,語法格式是

add ? ?wave ? ?-divider ? ?{分割線的名字}

NOTE:可以修改添加wave的方式為從wave.do中讀取,wave.do為手動(dòng)添加波形之后保存的文件

這里直接添TB頂層的所有信號(hào)

add     wave    tb_asyn_FIFO/*

9、開始仿真,可以自己設(shè)定仿真時(shí)間

run    1ms

完整的腳本代碼

例子為對(duì)一個(gè)異步fifo的腳本化仿真測試

quit    -sim

.main   clear

vlib    ./lib
vlib    ./lib/work

vmap    work    ./lib/work

vlog    -work   work    ./tb/*.v
vlog    -work   work    ./source/*.v

vsim    -voptargs=+acc    work.tb_asyn_FIFO

add     wave    tb_asyn_FIFO/*

run    1ms

保姆級(jí)使用教程

1、首先創(chuàng)建一個(gè)自己的工程文件夾,如asyn_fifo,在里面創(chuàng)建兩個(gè)文件夾,分別為source和tb,source文件夾存放所有的設(shè)計(jì)文件,tb文件夾存放所有的tb文件。

2、將腳本do文件和兩個(gè)文件夾放在同一個(gè)目錄中,如圖所示

腳本化Questasim/Modelsim自動(dòng)仿真——脫離聯(lián)合仿真

3.在questa/modelsim中change directory 到工程文件夾中

腳本化Questasim/Modelsim自動(dòng)仿真——脫離聯(lián)合仿真

4.在命令行中執(zhí)行do auto_test.do命令

腳本化Questasim/Modelsim自動(dòng)仿真——脫離聯(lián)合仿真

?5.之后仿真器便自動(dòng)開始刷刷刷執(zhí)行了

擴(kuò)展

1、如果用到廠商的IP庫,在腳本中也是可以添加進(jìn)去的,但是我做的時(shí)候只針對(duì)小demo的實(shí)現(xiàn),一般用不上,大家有需要的可以去查閱其他資料。

2、執(zhí)行后仿之類的操作,仿真器也有相關(guān)的指令,這里也不再說明,理由同上。

顯示狀態(tài)機(jī)的狀態(tài)

我們?cè)贛odelsim/Questasim中進(jìn)行仿真的時(shí)候,經(jīng)常會(huì)苦惱于狀態(tài)機(jī)的狀態(tài)跳轉(zhuǎn)不夠直觀,因?yàn)橐话銧顟B(tài)機(jī)的編碼都是格雷碼或者二進(jìn)制碼。這時(shí)候我們可以在modelsim中直接顯示狀態(tài)機(jī)的名稱而不是數(shù)字。

一般用的方法有三種,分別為

  • 在testbench文件中對(duì)設(shè)計(jì)文件中的各種狀態(tài)進(jìn)行映射
  • 在testbench文件中對(duì)設(shè)計(jì)文件中的狀態(tài)機(jī)編碼進(jìn)行重定義
  • 使用虛擬對(duì)象顯示狀態(tài)機(jī)名稱

在這里我使用的是第三種,也就是在tcl中進(jìn)行操作,而不需要修改TB中的內(nèi)容,對(duì)于設(shè)計(jì)可能會(huì)更加方便一些。

virtual type { {2‘b01 ONE} { 2'b10 ZERO} } state_type
 
virtual function {(state_type)/inst_fsm/state} fsm_state
 
add wave -color pink /inst_fsm/fsm_state 

仿真波形變?yōu)?/p>

詳細(xì)的介紹可以參考:在Modelsim仿真中顯示狀態(tài)機(jī)名稱_kkfeng1002的博客-CSDN博客

參考文獻(xiàn)

基于腳本的modelsim自動(dòng)化仿真筆記 - IC_learner - 博客園文章來源地址http://www.zghlxwxcb.cn/news/detail-499737.html

到了這里,關(guān)于腳本化Questasim/Modelsim自動(dòng)仿真——脫離聯(lián)合仿真的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • VIVADO和MODELSIM聯(lián)合仿真編譯庫問題

    VIVADO和MODELSIM聯(lián)合仿真編譯庫問題

    初次在VIVADO中使用MODELSIM仿真器,或仿真時(shí)由于編譯庫問題報(bào)錯(cuò),可進(jìn)行如下步驟,個(gè)人經(jīng)驗(yàn),源于百度,如有問題,請(qǐng)多多指教。 Compiled Library location處選擇編譯庫存放的位置,可在任意處新建文件夾即可;Simulation executable path選擇modelsim安裝目錄下win64文件夾,點(diǎn)擊Compile進(jìn)

    2024年02月12日
    瀏覽(23)
  • QUARTUS聯(lián)合modelsim仿真(quartus13.0)

    QUARTUS聯(lián)合modelsim仿真(quartus13.0)

    設(shè)置仿真軟件(Modelsim/ Modelsim-Altera)路徑 (1)點(diǎn)擊tools -Options (2)選擇EDA Tool Options PS:看自己情況設(shè)置,使用獨(dú)立Modelsim仿真時(shí)設(shè)置ModelSim處的值為ModelSim安裝路徑下的win64(或者32)路徑,使用獨(dú)立Modelsim-Altera仿真時(shí),設(shè)置Modelsim-Altera處的值為Modelsim-Altera路徑(一般在quart

    2024年02月09日
    瀏覽(23)
  • 紫光同創(chuàng) FPGA 開發(fā)跳坑指南(三)—— 聯(lián)合 Modelsim 仿真

    紫光同創(chuàng) FPGA 開發(fā)跳坑指南(三)—— 聯(lián)合 Modelsim 仿真

    ????Modelsim 是 FPGA 開發(fā)中重要的 EDA 設(shè)計(jì)仿真工具,主要用于驗(yàn)證數(shù)字電路設(shè)計(jì)是否正確。紫光 Pango Design Suite 開發(fā)套件支持聯(lián)合 Modelsim 仿真,這里作簡要的介紹。 方法一 ????打開 Pango Design Suite,點(diǎn)擊 Tools - Compile Simulation Libraries,在彈出來的窗口中,設(shè)置需要編譯

    2023年04月10日
    瀏覽(20)
  • 【FPGA】Quartus項(xiàng)目工程創(chuàng)建以及聯(lián)合Modelsim進(jìn)行仿真(FPGA項(xiàng)目創(chuàng)建與仿真)

    【FPGA】Quartus項(xiàng)目工程創(chuàng)建以及聯(lián)合Modelsim進(jìn)行仿真(FPGA項(xiàng)目創(chuàng)建與仿真)

    目錄 軟件下載 Quartus中設(shè)置Modelsim-Altera仿真器 創(chuàng)建新項(xiàng)目 編寫項(xiàng)目代碼 編寫測試模塊 ? 這里使用的是Quartus Prime Light 18.1 以及ModelSim Intel FPGA 10.5b,兩個(gè)軟件在同一個(gè)地方下載,附網(wǎng)址https://www.intel.com/content/www/us/en/software-kit/665990/intel-quartus-prime-lite-edition-design-software-version-

    2024年03月15日
    瀏覽(21)
  • 16 RTL仿真工具介紹—Modelsim腳本操作(Modelsim仿真 覆蓋率測試)

    16 RTL仿真工具介紹—Modelsim腳本操作(Modelsim仿真 覆蓋率測試)

    深入還是得靠自己學(xué)——尤其是腳本代碼的編寫 目錄 1.Flist常用寫法 2.Debussy——檢查語法錯(cuò)誤+debug代碼 2.Linux版的Debussy——verdi 3.Modelsim——do file腳本 4.按腳本方式操作Modelsim 1.首先更改工作目錄,到Modelsim文件夾下 2.寫腳本代碼 3.執(zhí)行腳本、仿真 4.加載波形、界面操作、保存

    2024年02月08日
    瀏覽(61)
  • Vivado聯(lián)合modelsim仿真卡在executing analysis and compilation step階段

    Vivado聯(lián)合modelsim仿真卡在executing analysis and compilation step階段

    vivado使用modelsim仿真老是會(huì)有問題,我每次都會(huì)單純?cè)隍?yàn)證到底是哪個(gè)工具的問題上花好幾天時(shí)間,總結(jié)下來幾個(gè)點(diǎn)。 首先,如果一直卡住,那一定是有問題,不用再等了。如果不能仿真,那么從第一步開始檢查,也就是是否關(guān)聯(lián)modelsim成功,一定一定要仔細(xì)檢查,因?yàn)槟J(rèn)

    2024年02月13日
    瀏覽(21)
  • 基于fpga的圖像處理之圖像灰度化處理(Vivado+Modelsim+Matlab聯(lián)合仿真驗(yàn)證)

    基于fpga的圖像處理之圖像灰度化處理(Vivado+Modelsim+Matlab聯(lián)合仿真驗(yàn)證)

    微信公眾號(hào)上線,搜索公眾號(hào) 小灰灰的FPGA ,關(guān)注可獲取相關(guān)源碼,定期更新有關(guān)FPGA的項(xiàng)目以及開源項(xiàng)目源碼,包括但不限于各類檢測芯片驅(qū)動(dòng)、低速接口驅(qū)動(dòng)、高速接口驅(qū)動(dòng)、數(shù)據(jù)信號(hào)處理、圖像處理以及AXI總線等 源碼工程鏈接 https://download.csdn.net/download/m0_50111463/88529260

    2024年02月10日
    瀏覽(25)
  • simulink與modelsim聯(lián)合仿真buck閉環(huán)設(shè)計(jì) 主電路用simulink搭建,控制電路完全有verilog語言實(shí)現(xiàn)

    simulink與modelsim聯(lián)合仿真buck閉環(huán)設(shè)計(jì) 主電路用simulink搭建,控制電路完全有verilog語言實(shí)現(xiàn)

    simulink與modelsim聯(lián)合仿真buck閉環(huán)設(shè)計(jì)? 主電路用simulink搭建,控制電路完全有verilog語言實(shí)現(xiàn)(包括DPWM,PI補(bǔ)償器) 適用于驗(yàn)證基于fpga的電力電子變換器控制,由于控制回路完全由verilog語言編寫,因此仿真驗(yàn)證通過,可直接下載進(jìn)fpga板子,極大縮短了開發(fā)數(shù)字電源的研發(fā)周期。

    2024年01月16日
    瀏覽(19)
  • 新手教程03:通過makefile腳本使用VCS+Verdi進(jìn)行聯(lián)合仿真

    新手教程03:通過makefile腳本使用VCS+Verdi進(jìn)行聯(lián)合仿真

    目錄 前言 makefile腳本的方式使用VCS 1. 自動(dòng)生成 .fsdb 文件 2. 生成 filelist.f 文件 3. 書寫 makefile 腳本 4. termial 中運(yùn)行仿真 5. verdi 的快捷操作 總結(jié) 零基礎(chǔ)初學(xué)數(shù)字IC,學(xué)會(huì)什么寫什么,與大家一起進(jìn)步。 本文主要介紹如何通過makefile腳本的方式用VCS+Verdi進(jìn)行聯(lián)合仿真。 因?yàn)橐?/p>

    2024年02月13日
    瀏覽(34)
  • VSCODE聯(lián)合ModelSim語法檢錯(cuò)

    VSCODE聯(lián)合ModelSim語法檢錯(cuò)

    首先在 vs code 中安裝支持 Verilog 的插件: 在 vs code 的 Extension 中搜索 Verilog,安裝如下圖所示的插件; Modelsim的安裝破解本文不再贅述,可選的Modelsim有與Quartus II集成的ModelsimAltera 和單獨(dú)的 Modelsim,安裝 Quartus II 可以進(jìn)行簡單的仿真和 FPGA 的開發(fā),集成一些FPGA 的 IP 等,根據(jù)

    2024年02月05日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包