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

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

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

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

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

點擊Browse,瀏覽文件

選擇兩個文件并打開

添加文件到工程,點擊OK

點擊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檢查是否有語法錯誤等,直至顯示編譯成功。
五、仿真運行
編譯成功后即可運行仿真了;
開始仿真:Simulation>Start Simulation;或者點擊下圖中的小圖標(biāo)

此時記得要選中tb測試激勵文件(testbench文件)進行仿真,點擊ok確定

如果Transcript顯示無報錯則可以進行下一步操作

端口類型

激勵類型

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

為了便于觀察波形,進行分組并命名,點擊ok確定;

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

同樣為了便于觀察波形,進行分組并命名;

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

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

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

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

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

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

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