MiZ702学习笔记11——如何使用vivado isim仿真
說到vivado的仿真確實是很有意思,不管是ISE還是Quartus都可以自己自動生成測試平臺的完整構架,但是vivado不行,所有的測試代碼自己寫!(我反正是查了好久,都沒發現vivado如何自動生成測試平臺的完整構架)。
而且vivado與眾不同的地方是,他的測試文件和設計文件的類型是一模一樣的。不像Quartus或者ISE那樣測試文件是單獨的類型。
比如Quartus中測試文件都是以.vt類型的。
這也正是vivado勝人一籌的地方,他的測試文件和設計文件的類型是一模一樣,這意味著vivado將不會區分測試文件和設計文件,設計的一致性得到統一。
不知道讀者發現沒有,設計文件新建完成后,在Design Sources和Simulation Sources中都會出現我們添加的設計文件,所以vivado
的這種設計模式,道出了一個真諦——編寫測試文件(及編寫TestBench),和編寫設計文件別無二致,都是建模!
我們要編寫的測試文件,不過是基于我們的設計文件的最頂層再次建模而已。測試文件的目的就是“給些激勵”、“看些反應”如此而已。
添加仿真文件:
將仿真文件設置為頂層文件:
添加代碼如下:
module sim(
);
reg CLK,RSTn;
initial
begin
RSTn = 0; #10; RSTn = 1;
CLK = 0; forever #5 CLK = ~CLK;
end
// 輸出信號
wire lcd_hs;
wire lcd_vs;
wire [3:0]lcd_red;
wire [3:0]lcd_green;
wire [3:0]lcd_blue;
// 例化vga_demo模塊
vga_demo vga_demo(
.CLK(CLK),
.RSTn(RSTn),
//硬件接口
.lcd_hs(lcd_hs), //lcd horizontal sync
.lcd_vs(lcd_vs), //lcd vertical sync
//output lcd_blank, //lcd blank(L:blank)
.lcd_red(lcd_red), //lcd red data
.lcd_green(lcd_green), //lcd green data
.lcd_blue(lcd_blue) //lcd blue data
);
endmodule
sim作為最頂層的文件,不需要任何輸入或者輸出引腳,應為他的任務只是給激勵,刺激它所仿真的模塊。一般情況真正需要自己寫的代碼其實沒有多少。
文件添加完了就可以開始仿真了:
出現如下畫面:
面板1顯示的是工程的層次結構,當在面板1選擇了一個模塊后,面板2會對應變化,顯示當前模塊的的所以信號,這些信號都可以添加到波形顯示框里觀察。
一開始波形顯示框里,只會顯示你在頂層仿真文件中聲明的信號,如果想觀察其他模塊內部寄存器或者引腳的值,可以通過如下方法:
這個三個按鈕,用的比較多:
第一個為復位,仿真會重新開始,一般在添加了新的觀察信號后使用。
第二個是run all 單擊后ISIM會一直仿真知道按下暫停。根據筆者經驗這個按鍵不要輕易按下,
一般電腦承受不起,容易卡住。所以一般會有第三個。
第三個是仿真一段時間,圖中表示一次仿真20000us。相對于run all不容易卡。
總結
以上是生活随笔為你收集整理的MiZ702学习笔记11——如何使用vivado isim仿真的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python chain模块
- 下一篇: 小学生上网课两月近视猛涨200度急坏母亲