最近在學習FPGA DSP相關設計,從濾波器開始學習,最開始先生成兩個正弦信號,產生混頻信號,通過modelsim仿真來驗證設計。 本案例用Block Design方法進行設計(也可以選擇編寫.v文件的形式進行設計)。
信號源產生
本次案例用DDS IP核產生兩個簡單的正弦信號,為了方便后面觀察,這里分別產生一個4M和一個5M的正弦信號。
雙擊打開DDS IP核進入設置,對相關參數進行設置
本案例相關設置如下所示:
設置完相關參數之后,可以在Output Frequencies中查看頻率信息。
同樣的,在Summary選項中查看設置的參數信息
混頻
調用一個乘法器,將兩路正弦信號進行混頻,觀察混頻之后的信號。
會產生一個aclk的輸入管腳,然后把另外一個DDS IP核的aclk引腳連接到aclk輸入管腳上。
然后把兩個DDS的M_ASIS_DATA輸出管腳分別連接到mult_gen IP核的A和B上,之后,右鍵點擊P管腳,選擇make external自動生成輸出的管腳即可。
右鍵點擊空白處,選擇valid design,出現如下窗口,說明連接沒有錯誤。
連線完成之后,ctrl+s保存一下工程,然后在source窗口里面,有一個類似于金字塔形狀的選項
這個就是工程的BD文件,右鍵點擊,選擇create a HDL wapper,生成一個頂層文件。
仿真
工程建立完成以后,我們寫個TB文件對其進行仿真,測試代碼如下:
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
將測試文件添加進工程,點擊左側run simulation即可用modelsim進行仿真(需要將VIVADO和modelsim進行關聯,在SIMULATION選項進行設置)
仿真結果如下圖所示(我將兩路正弦信號也連了管腳出來,便于仿真觀察,也可以在modelsim中把DDS IP的信號添加進來觀察,效果一樣)
編輯:hfy
-
dsp
+關注
關注
555文章
8144瀏覽量
355340 -
FPGA
+關注
關注
1643文章
21968瀏覽量
614309 -
濾波器
+關注
關注
162文章
8078瀏覽量
181098
發布評論請先 登錄
基于 FPGA 的任意波形發生器+低通濾波器系統設計
Vivado FIR IP核實現

帶通濾波器的設計步驟與優化方法
Vivado Design Suite用戶指南:邏輯仿真

模擬低通濾波器的設計方法有哪些
基于FPGA實現FIR數字濾波器

FIR濾波器的工作原理和特點

評論