在那個(gè)網(wǎng)站可買做鞋子的羊毛/免費(fèi)網(wǎng)站代理訪問
一、概述
我們?cè)谶M(jìn)行FPGA開發(fā)的過程之中,大部分情況下都是在進(jìn)行仿真,從而驗(yàn)證代碼實(shí)現(xiàn)結(jié)果的正確與否,這里我們引入了獨(dú)立仿真和聯(lián)合仿真進(jìn)行一個(gè)簡單介紹。
聯(lián)合仿真:一般我們?cè)谶M(jìn)行仿真之前需要在相應(yīng)的軟件中建立相應(yīng)的工程之后才能進(jìn)行結(jié)果仿真(這里我們使用的Quartus和modelsim)。這是我們習(xí)慣上采用的方式。
獨(dú)立仿真:顧名思義就是不依靠其他因素,對(duì)于代碼進(jìn)行直接仿真。
二、實(shí)現(xiàn)方式
聯(lián)合仿真:這個(gè)仿真我們用的很多,這里就不做過多贅述。重點(diǎn)講一下獨(dú)立仿真
獨(dú)立仿真:在進(jìn)行獨(dú)立仿真之前,我們需要再代碼中編寫一個(gè).do文件,如下:
#在當(dāng)前目錄下生成物理工作庫work
vlib work
#將物理工作庫work映射到虛擬工作庫work(第1個(gè)work為物理工作庫 第2個(gè)work為虛擬工作庫(在modelsim中))
vmap work work#編譯testbench文件
vlog xxxx_tb.v#編譯設(shè)計(jì)文件
vlog ../rtl/xxxx.v
vlog ../rtl/xxxx.v#指定仿真頂層 modelsim2020用參數(shù)-voptargs=+acc modelsim altera用參數(shù)-novopt
vsim -novopt work.xxxx_tb#添加波形
add wave -position insertpoint sim:/xxxx_tb/*
add wave -position insertpoint sim:/xxxx_tb/xxx/*
這里就是一個(gè).do文件的基本模板,其中xxxx是模塊名,xxxx_tb是測試文件,xxx是模塊實(shí)例化的名字。
三、仿真操作
1、這里我們以modelsim仿真軟件為例,打開modelsim軟件,如圖:
2、選中.do文件目錄(這里我的目錄是桌面/FPGA/f_adder/tb)?,根據(jù)自己.do文件所在目錄選中就行:
3、選擇好.do文件目錄之后我們?cè)赥ranscript窗口輸入do f_adder_tb.do(這里是用戶.do文件的名字)?,回車之后代碼成功仿真,得到相應(yīng)的波形圖。
4、?Transcript窗口運(yùn)行結(jié)果
?
5、最終得到的波形圖
?四、總結(jié)
這里我們通過得到的波形圖和運(yùn)用聯(lián)合仿真的波形圖是一致的,兩者實(shí)現(xiàn)的結(jié)果都一樣,只不過獨(dú)立仿真更適用于代碼結(jié)果的仿真。