續上
許久沒更新了,間歇性來寫寫,還是繼續Modelsim中關于內存的操作,涉及的文件可在文末自行獲取,本篇對應memory的文件夾。
準備
把文件準備好后,啟動軟件,將路徑設置成文件對應的路徑,然后
命令行示例
#依次進行即可,路徑對應自己的
cd E:/Soft_File/Sim_File/memory
vlog *.v
庫里面出現work庫,且包含以下編譯后的內容
雙擊ram_tb載入仿真,并選擇Memory List的窗口
雙擊spram1對應的mem,會直接在右窗口加載mem中的地址與值,由于還沒啟動仿真,所以這時還是未知態
點擊運行的圖標,或者命令行:run -all,仿真在$stop處停止,然后再返回mem的數據列表,可以看到數據已經更新為運行值了
顯示設置
有時為了方便分析,就需要對數據重新排列,比如我們數據是個8bit的,然后想讓其與地址一一對應,可以按下面的使用過程進行
在窗口內右鍵,然后點Properties
出現的窗口可以對顯示做設置,把地址改成10進制顯示,數據改為無符號十進制,每行只顯示1個值(千萬別把words看成word的了,和字長啥的沒關系)
設置好后,OK就會出現顯示地址遞增對應數據的結果
數據定位
排好數據后,肯定還需要掌握搜索定位的功能,如果想按地址進行定位,就在地址的隊列中右鍵,然后點Goto
然后輸入要定位到的地址值,比如輸100
OK后就直接跳到了對應的地址
此外還可以直接進行相對地址的跳轉,比如想讓233的地址出現在111地址的位置,就直接在111上雙擊,然后輸入233,回車后直接進行跳轉
如果是數據中有特征信息,想從數據上進行定位,就在數據列中右鍵,然后Find
比如搜個233的數據,如果具有重復,還需要找,就點Find Next繼續查找
導出數據
如果想把運行至某時刻時的數據做保存(本例程已經直接運行至停止的位置),可以使用Export進行導出,在Memory List界面選中要導出的對應內存變量或者直接在想導出的那個Memory Data中右鍵,然后Export...
出現窗口中設置導出的數據范圍和格式信息,此處就只導出0~233地址的數據,格式MTI(Verilog的格式可以導出后用于后續代碼直接進行讀取做初始化),地址和數據采用剛剛同樣的配置,然后修改好文件名后就OK
接著就可以用其他軟件打開查看了
最后再導出個無地址信息的數據,待會需要用到
初始化內存
打開spram3的mem,方便分析初始化的效果,把屬性設成和剛剛spram1的一樣
數據界面右鍵,然后Import
選擇剛剛導出的文件,其他設置如下,然后OK
數據發生更新,然后定位到233的地址,可以明顯看到把數據全部完成新的初始化
接下來再演示下指定位置,且在可用數據小于指定長度時填充其他數據,進行初始化,為方便看,先定位到1000的地址處
然后Import,在地址范圍處填好起止地址,然后文件要選無地址信息的那個文件
1000處的地址開始發生更新
跳轉到1233的位置,從1234的地址開始填充從0開始的遞增數,直到1500地址處停止
手動賦值
打開spram2的mem
接著數據處右鍵,點Change或者直接選中要修改的區域后再點Change
出現的界面填寫要覆蓋的地址區域以及要填充的數字,設置好后,OK
從0x11到0x22地址的數據都被從0開始的遞增數覆蓋
除了這種批量性的修改數據值,還可以直接雙擊單個要改的,回車后即可實現直接單個修改
結束
關于Memory的知識,大概就分享到這吧。
審核編輯:湯梓紅
-
仿真
+關注
關注
51文章
4241瀏覽量
135332 -
Memory
+關注
關注
1文章
79瀏覽量
29587 -
ModelSim
+關注
關注
5文章
174瀏覽量
47936
原文標題:Modelsim的仿真之路(Memory小技能)
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
Altera ModelSim 6.5仿真入門教程

Modelsim的功能仿真和時序仿真
使用 ModelSim 進行設計仿真詳解
modelsim仿真詳細過程(功能仿真與時序仿真)

仿真軟件ModelSim及其應用,ModelSim的仿真流程
Modelsim仿真教程Modelsim的基礎入門基礎教程免費下載

Modelsim與MATLAB的聯合仿真
基于ModelSim使用二聯合Quarus自動仿真教程

評論