3.13插值濾波器設(shè)計--明德?lián)P科教2(mdy-edu.com)
接3.13插值濾波器設(shè)計--明德?lián)P科教1(mdy-edu.com)
第5節(jié)?簡化版步驟分享
這里依舊會分享簡化版的步驟,方便掌握基礎(chǔ)原理后進(jìn)行反復(fù)操作復(fù)習(xí)。
5.1?設(shè)計實現(xiàn)
5.1.1?頂層信號
新建目錄:D:mdy_bookcic_prj。在該目錄中,新建一個名為cic_prj.v的文件,并用GVIM打開,開始編寫代碼。
分析設(shè)計目標(biāo)確定頂層信號。信號和硬件的對應(yīng)關(guān)系圖見下表所示。
表3.14 - 2信號和管腳關(guān)系

寫出頂層信號。

聲明輸入輸出屬性。

5.1.2?正弦信號設(shè)計
設(shè)計正弦信號sin_data信號:

設(shè)計表示輸出值的計時器cnt0:

設(shè)計addr信號:

CIC濾波器設(shè)計
步驟一:新建FPGA工程
打開軟件“Quartus”,點擊“File”菜單下的“New Project Wizard”,如下圖所示。

錯誤!未找到引用源。?12 QUARTUS新建工程命令界面
彈出“Introduction”界面后點擊“Next”:

圖3.14-41QUARTUS新建工程介紹界面
設(shè)置工程目錄(目錄為D:mdy_bookcic_prj,工程名和頂層名為cic_prj)后點擊“Next”。

圖3.14-14QUARTUS設(shè)置路徑和名稱界面
選擇“Empty project”后點擊“Next”。

圖3.14-42QUARTUS設(shè)置新建工程類型界面
此界面不選擇任何文件,點擊“Next”。

圖3.14-16QUARTUS添加文件到新工程界面
對芯片型號進(jìn)行選擇,在“Device family”選項中選擇“Cyclone ⅣE”,“Available devices”選項下選擇“EP4CE15F23C8”,隨后點擊“Next”。
圖3.14-17 QUARTUS設(shè)置新工程的芯片類型
步驟二:FPGA生成CIC IP核
建立工程后,在軟件“Quartus”的“IP catalog”這一界面中選擇“DSP”目錄下“Filter”的“FIR II”選項,如下圖所示。

圖3.14-18 IP Catalog中查找CIC IP核
選擇路徑為D:mdy_bookcic_prj,在“entity name”處填寫my_cic,隨后點擊“OK”:

圖3.14-19設(shè)置CIC IP核的名稱和路徑
隨后對IP核類型進(jìn)行設(shè)置。“Filter Type”選擇“Interpolator”,“Rate change factor”處填寫4,“output Rounding Method”選擇“Truncation”,“Output data width”選擇8,其它選項默認(rèn)后點擊“Generate Hdl”。

圖3.14-20CIC IP核的設(shè)置界面
選擇文件為“Verilog”文件后點擊“Generate”。

圖3.14-43設(shè)置CIC IP核的文件類型和路徑
出現(xiàn)下圖提示則表示CIC IP核生成成功,點擊Finish關(guān)閉CIC濾波器生成窗口。

圖3.14-22 CIC IP核生成成功提示界面
如果出現(xiàn)以下提示,就表示需要手動將剛才生成的IP核加到本工程。

圖3.14-23將CIC IP核加到新工程提示
此時需要在“Project”菜單中選擇“Add/Remove File to Project”,隨后彈出文件窗口。

圖3.14-24手動添加CIC IP核到工程
點擊右上角的?

?按鈕,在彈出來的窗口中雙擊選擇D:mdy_bookcic_prjmy_cicsynthesis目錄下的my_cic.qip文件。點擊“Add”添加成功后關(guān)閉本窗口。

圖3.14-25添加CIC IP核文件到工程
步驟三:例化CIC IP核
打開D:mdy_bookcic_prjmy_cicsynthesismy_cic.v文件,生成的CIC IP核文件如下圖所示。

圖3.14-26 CIC IP核的模塊和輸入輸出信號
設(shè)計表示IP核輸出的計數(shù)器cnt1:

將CIC IP核例化:

5.1.4.DA接口信號設(shè)計
設(shè)計信號dac_da:

設(shè)計信號dac_sleep、dac_clka、dac_wra:

設(shè)計信號dac_db:

設(shè)計信號dac_clkb,dac_wrb:

至此,模塊主體已經(jīng)完成。接下來將module補(bǔ)充完整。
5.1.5?信號定義
首先來定義信號類型。cnt0、add_cnt0和end_cnt0的信號定義如下:

cnt1、add_cnt1和end_cnt1的信號定義如下:

addr、add_addr和end_addr的信號定義如下:

sin_data的信號定義如下:

cic_din的信號定義如下:

cic_dout的信號定義如下:

cic_dout2的信號定義如下:

dac_da、dac_sleep、dac_wra、dac_clka、dac_mode的信號定義如下:

dac_db、dac_wrb、dac_clkb的信號定義如下:

在代碼的最后一行寫下endmodule

至此,整個代碼的設(shè)計工作已經(jīng)完成。完整版的工程代碼如下:

5.2?綜合與上板
5.2.1?添加文件
上一節(jié)中已經(jīng)介紹了新建工程的過程,這里就不再贅述了?,F(xiàn)在打開軟件“Quartus”,在“Project”菜單中選擇“Add/Remove File to Project”,彈出文件窗口。

圖3.14-28添加文件命令界面
點擊右上角的?

?按鈕,在彈出來的窗口中,雙擊選擇D:mdy_bookcic_prj目錄下的cic_prj.v文件。點擊“Add”添加成功后關(guān)閉本窗口。

圖3.14-29添加文件成功界面
5.2.2?綜合
在菜單欄中選中Processing,然后選擇Start Compilation,開始對整個工程進(jìn)行編譯和綜合。

圖3.14-30編譯命令界面
當(dāng)出現(xiàn)下圖的界面,則就說明編譯綜合成功。

圖3.14-31 編譯成功界面
5.2.3?配置管腳
配置管腳界面如下圖所示,在菜單欄中選中“Assignments”,然后選擇“Pin Planner”,隨后就會彈出配置管腳的窗口。

圖3.14-32 配置管腳命令界面
在配置窗口“l(fā)ocation”配置管腳,配置完成關(guān)閉“Pin Planner”即可自動保存配置信息。

圖3.14-33 配置管腳界面
5.2.4?再次綜合
再次打開“QUARTUS”軟件,在菜單欄中選中“Processing”,然后選擇“Start Compilation”,再次對整個工程進(jìn)行編譯和綜合,如下圖所示。

圖3.14-35 編譯命令界面
當(dāng)出現(xiàn)圖3.2-19QUARTUS編譯成功標(biāo)志則說明編譯綜合成功。

圖3.14-36編譯成功界面
5.2.5?連接開發(fā)板
完成編譯后開始進(jìn)行上板調(diào)試操作,開發(fā)板連接方式如下圖所示。將電源接上開發(fā)板,USB BLASTER一端連接到JTAG插口,另一端連到PC的USB接口。將開發(fā)板上的AD接口和DA與示波器的兩個通道相連,連接完成后再將電源打開。

圖3.14-37教學(xué)板連接示意圖
5.2.6?上板
在“Quartus”的“Task”窗口中,右鍵“Program Device”選擇“Open”進(jìn)入燒錄界面,如下圖所示。

圖3.14-38打開配置程序命令
默認(rèn)會選中文件output/fir_prj.sof,在Hardware Setup旁邊會顯示USB-Blaste,如下圖所示。

圖3.14-39 配置程序界面
進(jìn)度條中提示成功后可在示波器中觀察相應(yīng)現(xiàn)象。

圖3.14-40 配置成功界面
第6節(jié)?擴(kuò)展練習(xí)
至此,整個插值濾波器設(shè)計就分享完畢了,學(xué)會了整個設(shè)計之后可以展開思考,基于原理不變的情況下多做一些嘗試,比如嘗試輸出三角波,這樣幫助同學(xué)們更深刻的掌握本案例。也歡迎有更多思路和想法的同學(xué)在至簡設(shè)計法論壇上進(jìn)行交流討論。