最近在學(xué)習(xí)FPGA DSP相關(guān)設(shè)計(jì),從濾波器開始學(xué)習(xí),最開始先生成兩個(gè)正弦信號(hào),產(chǎn)生混頻信號(hào),通過modelsim仿真來驗(yàn)證設(shè)計(jì)。 本案例用Block Design方法進(jìn)行設(shè)計(jì)(也可以選擇編寫.v文件的形式進(jìn)行設(shè)計(jì))。
信號(hào)源產(chǎn)生
本次案例用DDS IP核產(chǎn)生兩個(gè)簡(jiǎn)單的正弦信號(hào),為了方便后面觀察,這里分別產(chǎn)生一個(gè)4M和一個(gè)5M的正弦信號(hào)。
同樣的,在Summary選項(xiàng)中查看設(shè)置的參數(shù)信息
混頻
調(diào)用一個(gè)乘法器,將兩路正弦信號(hào)進(jìn)行混頻,觀察混頻之后的信號(hào)。
會(huì)產(chǎn)生一個(gè)aclk的輸入管腳,然后把另外一個(gè)DDS IP核的aclk引腳連接到aclk輸入管腳上。
然后把兩個(gè)DDS的M_ASIS_DATA輸出管腳分別連接到mult_gen IP核的A和B上,之后,右鍵點(diǎn)擊P管腳,選擇make external自動(dòng)生成輸出的管腳即可。
右鍵點(diǎn)擊空白處,選擇valid design,出現(xiàn)如下窗口,說明連接沒有錯(cuò)誤。
連線完成之后,ctrl+s保存一下工程,然后在source窗口里面,有一個(gè)類似于金字塔形狀的選項(xiàng)
這個(gè)就是工程的BD文件,右鍵點(diǎn)擊,選擇create a HDL wapper,生成一個(gè)頂層文件。
仿真
工程建立完成以后,我們寫個(gè)TB文件對(duì)其進(jìn)行仿真,測(cè)試代碼如下:
module tb_top(
);
reg aclk_0 ;
wire [31:0]S_0;
initial
begin
aclk_0 = 1;
end
always #5 aclk_0 = ~aclk_0 ;
DSP_TEST_wrapper DSP_TEST_wrapper_i
(.aclk_0(aclk_0),
.S_0(S_0));
endmodule
將測(cè)試文件添加進(jìn)工程,點(diǎn)擊左側(cè)run simulation即可用modelsim進(jìn)行仿真(需要將VIVADO和modelsim進(jìn)行關(guān)聯(lián),在SIMULATION選項(xiàng)進(jìn)行設(shè)置)
仿真結(jié)果如下圖所示(我將兩路正弦信號(hào)也連了管腳出來,便于仿真觀察,也可以在modelsim中把DDS IP的信號(hào)添加進(jìn)來觀察,效果一樣)
編輯:hfy
-
dsp
+關(guān)注
關(guān)注
554文章
8058瀏覽量
349619 -
FPGA
+關(guān)注
關(guān)注
1630文章
21777瀏覽量
604795 -
濾波器
+關(guān)注
關(guān)注
161文章
7854瀏覽量
178547
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論