日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]在我們用ModelSim仿真的時候經(jīng)常是修改一點一點修改代碼,這樣會造成一個無奈的操作循環(huán):修改代碼--->編譯代碼--->仿真設(shè)置--->進入仿真頁面--->添加需要觀察的波形--->運

在我們用ModelSim仿真的時候經(jīng)常是修改一點一點修改代碼,這樣會造成一個無奈的操作循環(huán):修改代碼--->編譯代碼--->仿真設(shè)置--->進入仿真頁面--->添加需要觀察的波形--->運行仿真。如果仿真結(jié)果不理想,還得需要重新修改代碼,重復(fù)上述的操作。

計算機擅長做重復(fù)的事情,為什么不讓計算機代勞呢?

我們可以參照Xilinx ISE是如何調(diào)用ModelSim進行仿真的,尤其是腳本的編寫。

下面一個腳本是我用ISE10.1建立了一個AES256的工程,然后在調(diào)用ModelSim6.5的時候,ISE會生成這幾個腳本文件,AES256_tb.fdo, AES256_tb_wave.fdo 和 AES256_tb.udo。

下面的代碼是AES256_tb.fdo文件的內(nèi)容。

1: vlib work #創(chuàng)建名字是work的庫,這個仿真之前必須做的

2: vcom -explicit -93 "SBOX_ROM.vhd" #編譯vhd代碼

3: vcom -explicit -93 "Inv_SBOX_ROM.vhd"

4: vcom -explicit -93 "AES_package.vhd"

5: vcom -explicit -93 "subbytes.vhd"

6: vcom -explicit -93 "SBOX_ROM_reg.vhd"

7: vcom -explicit -93 "round_key_BRAM.vhd"

8: vcom -explicit -93 "Inv_subbytes.vhd"

9: vcom -explicit -93 "Keyexpansion_Yao.vhd"

10: vcom -explicit -93 "AES256_ENC_DEC.vhd"

11: vcom -explicit -93 "AES256_TOP.vhd"

12: vcom -explicit -93 "AES256_tb.vhd"

13: vsim -t 1ps -lib work AES256_tb #進入仿真設(shè)置,時間單位為1ps,庫指定為work,AES256_tb就是指你的top層設(shè)計的名字

14: do {AES256_tb_wave.fdo} #執(zhí)行*.fdo文件,用來添加信號和變量或者內(nèi)部的寄存器到波形(WAVE)窗口

15: view wave #打開波形窗口

16: view structure #打開架構(gòu)(structure)窗口

17: view signals #打開信號列表窗口

18: run 1000ns #運行1000ns

19: do {AES256_tb.udo} #運行用戶定義的腳本

只要編譯的時候沒有出現(xiàn)語法錯誤或者是找不到定義的庫文件等錯誤提示,一般會很容易的看到仿真的波形,而不用手動進行操作。這樣方便了仿真的整個過程,而無需用很多鼠標(biāo)點擊操作。

現(xiàn)在通過一個具體的實例來說明如何運用腳本來實現(xiàn)ModelSim的仿真。

工具版本:ISE10.1 ,ModelSim 6.5a

1. 創(chuàng)建ISE工程

首先通過ISE創(chuàng)建test.vhd 和test_tb.vhd文件并添加到工程中,這里不細說如何創(chuàng)建HDL源代碼。

然后配置ISE的仿真器,右鍵選中FPGA芯片,點擊properTIes,然后在Simulator選擇Modelsim-SE VHDL。

 


圖1. 工程屬性

在source窗口選擇“Behavioral SimulaTIon”,可以看到工程中的test_tb.vhd(testbench文件)。選中test_tb.vhd文件,在Process窗口中雙擊Simulate Behavioral Model,ISE開始調(diào)用ModelSim,這是ISE自動生成了三個腳本文件:test_tb.fdo, test_tb_wave.fdo和test_tb.udo。

 


圖2. Behavioral SimulaTIon 窗口

看看三個腳本文件的內(nèi)容吧。

test_tb.fdo內(nèi)容如下:

1: vlib work #添加library

2: vcom -explicit -93 "test.vhd" #編譯test的頂層文件

3: vcom -explicit -93 "test_tb.vhd" #編譯test_tb的testbench文件

4: vsim -t 1ps -lib work test_tb #進入仿真,時間單位1ps,仿真test_tb

5: do {test_tb_wave.fdo} #執(zhí)行*.fdo腳本文件,用于添加仿真波形

6: view wave #打開波形窗口

7: view structure #打開structure窗口

8: view signals #打開信號窗口

9: run 1000ns #仿真運行1000ns

10: do {test_tb.udo} #執(zhí)行*.udo腳本文件,用于執(zhí)行用戶定義的腳本命令

test_tb_wave.fdo內(nèi)容如下():

1: ## Project Navigator simulaTIon template: test_tb_wave.fdo

2: ## You may edit this file to control your simulation.

3: add wave * ##添加Top層所有的端口信號

test_tb.ufo內(nèi)容為空白,是留著給用戶自己添加。

對我們來說最有用的就是test_tb.fdo文件了,只要稍微修改就可以成為一個針對這個工程的很好的用于仿真的腳本。當(dāng)然我們可以自己手動來編寫類似的腳本,用ISE自動生成主要是為了涂個省事。

2.調(diào)用ModelSim進行仿真

在圖2中,Process窗口中雙擊Simulate Behavioral Model,進入ModelSim仿真環(huán)境。請仔細觀察ModelSim Transcript窗口中消息的輸出。內(nèi)容如下:

1: # do {test_tb.fdo} #<-------執(zhí)行腳本文件

2: # ** Warning: (vlib-34) Library already exists at "work".

3: # Model Technology ModelSim SE vcom 6.5 Compiler 2009.01 Jan 22 2009 #<-----編譯test.vhd得到的message

4: # -- Loading package standard

5: # -- Loading package std_logic_1164

6: # -- Loading package std_logic_arith

7: # -- Loading package std_logic_unsigned

8: # -- Compiling entity test

9: # -- Compiling architecture test of test

10: # Model Technology ModelSim SE vcom 6.5 Compiler 2009.01 Jan 22 2009 #<-----編譯test.vhd得到的message

11: # -- Loading package standard

12: # -- Loading package std_logic_1164

13: # -- Loading package std_logic_arith

14: # -- Loading package std_logic_unsigned[!--empirenews.page--]

15: # -- Compiling entity test_tb

16: # -- Compiling architecture behavior of test_tb

17: # vsim -lib work -t 1ps test_tb #仿真設(shè)置命令行

18: # Loading std.standard

19: # Loading ieee.std_logic_1164(body)

20: # Loading ieee.std_logic_arith(body)

21: # Loading ieee.std_logic_unsigned(body)

22: # Loading work.test_tb(behavior)#1 #加載test_tb

23: # .main_pane.wave.interior.cs.body.pw.wf #打開wave窗口

24: # .main_pane.structure.interior.cs.body.struct #列出structure

25: # .main_pane.objects.interior.cs.body

注:在test_tb.fdo的每一行都可以在ModelSim Transcript窗口中分開一行一行執(zhí)行。

然后可以觀察到仿真波形文件。

3. 調(diào)試代碼

或許仿真出來的結(jié)果不是我們想要的,必須的修改代碼,然后再仿真。那我們應(yīng)該怎么辦呢?

在trasncript窗口輸入:

1: quit -sim #退出仿真

2: do test_tb.fdo #修改代碼完成后重新執(zhí)行該腳本進行仿真

在仿真的波形的時候,我們不僅僅希望看到Top層設(shè)計的端口信號的波形,還希望能觀察到內(nèi)部信號是如何變化的,所以我們在Sim窗口中找到內(nèi)部的信號放到wave中進行觀察。但是如果我們重新運行當(dāng)初test_tb.fdo文件,我們又再一次只能看到Top層設(shè)計的端口信號的波形,而內(nèi)部信號的波形已經(jīng)被刪除。那我們應(yīng)該如何保存和運用我們仿真波形文件呢?

我現(xiàn)在需要觀察內(nèi)部的一個寄存器輸出:tmp信號,見圖4。Ctrl+S,保存波形文件。默認(rèn)保存為工程目錄下/wave.do,但是我們將用波形文件保存為test_tb_wave.fdo文件,這樣做的好處可以不用修test_tb.fdo文件。

 


圖4.內(nèi)部信號觀察

我們重新運行test_tb.fdo腳本文件之后,輸出的波形是圖4,而不是圖3。

差不多常用的VHDL仿真命令都用上了,我相信這樣做肯定會提高仿真的效率。如果想要熟悉更多的ModelSim的仿真命令,請查看ModelSim的用書手冊。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

Xilinx Versal自適應(yīng)計算加速平臺(ACAP)作為7nm工藝的里程碑式產(chǎn)品,其AI Engine陣列與可編程邏輯(PL)、標(biāo)量引擎(PS)的深度融合,為AI推理、5G信號處理等場景提供了突破性的性能提升。本文聚...

關(guān)鍵字: Xilinx AI Engine 陣列編程

隨著汽車向電動化、智能化、網(wǎng)聯(lián)化加速轉(zhuǎn)型,車載電子系統(tǒng)對存儲技術(shù)的要求日益嚴(yán)苛。從發(fā)動機控制單元(ECU)到高級駕駛員輔助系統(tǒng)(ADAS),再到自動駕駛決策平臺,都需要兼具高速讀寫、非易失性、寬溫適應(yīng)和低功耗的存儲解決方...

關(guān)鍵字: 車載電子 存儲技術(shù) 輔助系統(tǒng)

基于Verilog的FPGA設(shè)計中,Xilinx綜合工具的參數(shù)設(shè)置直接影響邏輯優(yōu)化的效果。通過合理配置XST、Vivado等工具的屬性,結(jié)合流水線設(shè)計、資源復(fù)用等優(yōu)化策略,可顯著提升設(shè)計性能。本文結(jié)合Xilinx官方文檔...

關(guān)鍵字: Xilinx Verilog

在可持續(xù)能源蓬勃發(fā)展的當(dāng)下,如何高效獲取、存儲并利用能源,已成為全球科技創(chuàng)新的核心議題。隨著全球氣候變化和能源需求增長的雙重壓力,清潔能源的高效利用正成為全球關(guān)注的焦點。而在新能源時代,能量收集與存儲技術(shù)的重要性愈加凸顯...

關(guān)鍵字: 新能源 能量 存儲技術(shù)

上海 2025年6月20日 /美通社/ -- 6月18日,上海世界移動通信大會(MWC 2025)在上海新國際博覽中心盛大啟幕。德明利以"智存無界,全棧智能&qu...

關(guān)鍵字: 嵌入式 AI 全棧 存儲技術(shù)

臺北 2025年5月23日 /美通社/ -- 2025年5月20日至23日,全球科技盛會COMPUTEX臺北國際電腦展順利舉辦,德明利以"智存無界,全棧智能&qu...

關(guān)鍵字: 存儲技術(shù) 全棧 TE COMPUT

在嵌入式開發(fā)領(lǐng)域,工具鏈的生態(tài)競爭直接影響開發(fā)效率與產(chǎn)品競爭力。德州儀器(TI)的Code Composer Studio(CCS)與賽靈思(Xilinx)的Vitis作為兩大主流平臺,分別在DSP與FPGA/SoC開發(fā)...

關(guān)鍵字: TI Xilinx

北京2024年12月23日 /美通社/ -- 在當(dāng)今數(shù)字化浪潮洶涌澎湃的時代背景下,大模型技術(shù)猶如一顆璀璨的明星,照亮了科技發(fā)展的廣闊蒼穹,而存儲技術(shù)的變革,作為這一進程中的堅實基石,正日益成為產(chǎn)業(yè)界與學(xué)術(shù)界共同矚目的核...

關(guān)鍵字: 模型 存儲系統(tǒng) 存儲技術(shù) 顯存

Serial RapidIO(SRIO)是一種高性能、低引腳數(shù)、基于數(shù)據(jù)包交換的互連技術(shù),專為滿足未來高性能嵌入式系統(tǒng)的需求而設(shè)計。它由Motorola和Mercury等公司率先倡導(dǎo),旨在為嵌入式系統(tǒng)提供可靠的、高性能的...

關(guān)鍵字: SRIO Xilinx

隨著Altera,Xilinx兩家FPGA巨頭陸續(xù)被收購,F(xiàn)PGA的未來似乎已經(jīng)與數(shù)據(jù)中心、AI等超大規(guī)模應(yīng)用綁定。

關(guān)鍵字: Altera Xilinx
關(guān)閉