在FPGA設(shè)計中使用Precision RTL 綜合實例
數(shù)字濾波器通常分成有限脈沖響應(yīng)(finite impulse response,也就是FIR)和
無限脈沖響應(yīng)(infinite impulse response,也就是IIR)兩大類。FIR 濾波器相對
于IIR濾波器而言,優(yōu)點是相位線性和性能穩(wěn)定,應(yīng)用范圍廣,缺點是需要長的
沖擊響應(yīng)(即高階數(shù))才能得到理想的結(jié)果,實現(xiàn)難度較大。因此在FPGA 上實
現(xiàn)高性能FIR 濾波器是很具有挑戰(zhàn)性的。下面我們用幾種不同的方法來完成FIR
濾波器設(shè)計,并進行比較。
FIR 濾波器的系數(shù)為{11,-69, -51, 61, 85, -72, -198, -37, 234,
72,-631,-922,594,4185,8139,9871,8139,4185,594,-922,-631,72,
234,-37,-198,-72,85,61,-51,-69,11}。兩路輸入,輸入信號位寬為7,
輸出信號位寬為23。
設(shè)計輸入為VHDL 語言,輸入輸出信號聲明如下:
entity receive_low_pass_filter is
port (chip_input_i : in signed(6 downto 0);
chip_input_q : in signed(6 downto 0);
clk : in std_logic;
reset : in std_logic;
data_i_channel_output : out signed(22 downto 0);
data_q_channel_output : out signed(22 downto 0) );
end receive_low_pass_filter;
第一種方法:使用Altera 公司的QuartusII3.0 單獨完成整個設(shè)計過程,
在Quartus 中新建一個項目(project),然后將VHDL 文件添加進去,我們選
擇APEX 系列20K1000EBC652 芯片,執(zhí)行Start Compilation,得到時序分析報
告,發(fā)現(xiàn)最大頻率為72.19MHz。
第二種方法:使用Precision RTL 綜合在不使用任何約束條件下對VHDL 文件
進行綜合,如圖2 所示。
圖 2 Precision RTL 綜合界面
用綜合得到的網(wǎng)表文件(EDIF 文件)代替Quartus 項目中的VHDL 文件,執(zhí)
行Start Compilation,得到時序分析報告,發(fā)現(xiàn)最大頻率為95.2MHz。
B 時序仿真
圖4 仿真結(jié)果
以上實例充分驗證了Precision RTL 綜合在FPGA 設(shè)計中的重要作用,它對我們設(shè)計水平的提高有很大幫助。
評論