對于FPGA開發(fā)而言,仿真是開發(fā)流程中必不可少的一步,也是非常重要的一步,仿真是將RTL代碼模擬運(yùn)行,得到module中信號波形,再進(jìn)行功能分析的過程。強(qiáng)大的功能與速度兼具的modelsim仿真就是你開發(fā)過程的最合適的選擇了,下面我以簡單的24進(jìn)制計(jì)數(shù)器帶各位熟悉modelsim仿真流程及波形。
一、新建工作庫Library
1、點(diǎn)擊File>New>Library

創(chuàng)建新的庫和邏輯映射,編輯庫名,點(diǎn)擊ok確定

如果已經(jīng)建立過work庫可以跳過該步驟
2、庫的其他功能
由于modelsim無法識別其他廠商器件的IPcore,所以如果需要用到綜合器對應(yīng)廠商如Xilinx或Gowin芯片的功能,則需對modelsim添加廠商提供的庫相關(guān)文件,并編譯庫,從而達(dá)到調(diào)用庫的功能,進(jìn)而對 VIVADO或Gowin軟件進(jìn)行設(shè)置,最后進(jìn)行聯(lián)合仿真。
二、新建工程Project
點(diǎn)擊File>New>Project

創(chuàng)建工程名、設(shè)置工程路徑、確定默認(rèn)工作庫

三、添加仿真源文件
仿真源文件包含功能源文件與測試激勵源文件;

點(diǎn)擊Browse,瀏覽文件

選擇兩個(gè)文件并打開

添加文件到工程,點(diǎn)擊OK

點(diǎn)擊close關(guān)閉

如有不清楚testbench編寫,可以參考myminieye公益課堂系列教程第18集;仿真基礎(chǔ)篇1FPGA_simulation_testbench,
連接:https://www.bilibili.com/video/BV1EE411475Z?p=18
四、仿真源文件編譯
若狀態(tài)Status顯示“?”為文件未編譯

常用有3種編譯方式:編譯選中文件、編譯所有文件、編譯未編譯文件;對應(yīng)操作方式如下:
菜單欄: 右擊菜單

圖標(biāo):

若狀態(tài)Status顯示“√”則為編譯成功,也可從下方Transcript看出文件編譯成功

若狀態(tài)Status并未顯示“√“,或者下方Transcript顯示編譯不成功,則需修改對應(yīng)的源文件。

修改后重新編譯,可從Transcript檢查是否有語法錯(cuò)誤等,直至顯示編譯成功。
五、仿真運(yùn)行
編譯成功后即可運(yùn)行仿真了;
開始仿真:Simulation>Start Simulation;或者點(diǎn)擊下圖中的小圖標(biāo)

此時(shí)記得要選中tb測試激勵文件(testbench文件)進(jìn)行仿真,點(diǎn)擊ok確定

如果Transcript顯示無報(bào)錯(cuò)則可以進(jìn)行下一步操作

端口類型

激勵類型

2.添加波形文件
Sim:選擇下圖所示的sim,右鍵點(diǎn)擊選中tb測試文件>addto>wave>all items in region

為了便于觀察波形,進(jìn)行分組并命名,點(diǎn)擊ok確定;

為了與tb測試文件仿真波形進(jìn)行對比,同理可添加源文件波形;

同樣為了便于觀察波形,進(jìn)行分組并命名;

信號位置移動方便多個(gè)信號同時(shí)分析:分組后,可以上下拖拽所需要分析的信號,方便且清晰的上下對比所需波形之間的差異,此時(shí)分組的目的就是能與拖拽前后波形信號對比區(qū)分,不至于搞混;

信號顯示屬性設(shè)置,選擇合適的顯示方式便于功能分析更好的找到信號并確定結(jié)果是否符合預(yù)期;
信號顯示進(jìn)制設(shè)置:
例:選擇十六進(jìn)制的信號格式:選中對應(yīng)信號右鍵>Radix>hexadecimal

可修改為常用的信號格式:二進(jìn)制Binary、八進(jìn)制 Octal、十進(jìn)制Decimal、無符號型Unsigned、十六進(jìn)制Hexadecimal等;
也可在屬性Properties中修改信號格式,修改波形顏色,信號名顏色;
也可選擇需要修改的信號波形顏色及信號名顏色,這樣在仿真波形圖中能更容易分辨;

3、 運(yùn)行仿真工程,并設(shè)置運(yùn)行時(shí)間
可在Transcript命令行輸入run 1us命令,運(yùn)行 1us 時(shí)間,也可運(yùn)行其他時(shí)間

也可點(diǎn)擊下圖中輸入需要運(yùn)行波形的時(shí)間,然后點(diǎn)擊圖中的小圖標(biāo)。

4波形界面調(diào)整
下圖為波形界面常用的控制圖標(biāo)解析;

自此Modelsim將RTL代碼轉(zhuǎn)化為波形的功能完成,仿真后續(xù)內(nèi)容需要自行根據(jù)實(shí)際module功能進(jìn)行波形分析。
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1664文章
22502瀏覽量
639079 -
仿真
+關(guān)注
關(guān)注
55文章
4535瀏覽量
138659 -
波形
+關(guān)注
關(guān)注
3文章
407瀏覽量
33197 -
ModelSim
+關(guān)注
關(guān)注
5文章
175瀏覽量
49469
發(fā)布評論請先 登錄
賽目科技Sim Pro工具助力國標(biāo)仿真測試流程規(guī)范落地
如何使用Modelsim仿真I2C控制器
【ALINX 教程】FPGA Multiboot 功能實(shí)現(xiàn)——基于 ALINX Artix US+ AXAU25 開發(fā)板
是德科技VPS如何用高精度仿真和AI工具重塑安全氣囊開發(fā)流程
【產(chǎn)品介紹】Modelsim:HDL語言仿真軟件
電能質(zhì)量在線監(jiān)測裝置歷史波形回放的操作流程是怎樣的
FPGA板下載運(yùn)行調(diào)試流程
FPGA板下載調(diào)試流程
ModelSim仿真蜂鳥E203 / 200 教程【功能驗(yàn)證】
eVTOL艙內(nèi)噪聲響應(yīng)分析的仿真流程
vivado仿真時(shí)GSR信號的影響
擁抱開源!一起來做FPGA開發(fā)板啦!
基于 FPGA 的任意波形發(fā)生器+低通濾波器系統(tǒng)設(shè)計(jì)
適用于Versal的AMD Vivado 加快FPGA開發(fā)完成Versal自適應(yīng)SoC設(shè)計(jì)
概倫電子大容量波形查看器NanoWave介紹
FPGA開發(fā):modelsim仿真流程及波形
評論