文章 ID: 000083380 內容類型: 疑難排解 最近查看日期: 2012 年 12 月 15 日

FIR 篩選器可能無法使用 DSP 區塊輸入暫存器

環境

    Intel® Quartus® II 訂閱版
BUILT IN - ARTICLE INTRO SECOND COMPONENT

重大問題

描述

FIR 編譯器 II 所生產的一些 FIR 濾波器發生故障 使用所有適當的 DSP 區塊輸入暫存器。TimeQuest 沒有正確分析這些 FIR 濾波器,而且它們看起來 符合時機。實際上,未註冊路徑的時機是 未經分析,這些 FIR 篩選器可能會導致計時相關 在硬體中實用時發生錯誤。此問題影響到 Stratix V, Arria V (GX 和 GZ),以及 Cyclone V 裝置。問題會影響 FIR 篩選準則:使用 systolic 模式需要奇數的乘數,這一點 問題不會影響需要數量甚至數量的 FIR 篩選準則 乘數。奇數,甚至請參閱實體乘數數量 可執行 FIR 篩選,而不是您最初使用的水龍頭數量 指定。具有數量均勻水龍頭的 FIR 篩選器可能需要一個奇數 實體乘數數量,反之亦然。若要判斷是否 我的 FIR 篩選器受到影響,請按照下列步驟:檢查所產生的 VHDL 代碼,以判斷它是否包含 d對應倍增器。A systolic FIR 篩選器包含許多 CHAINMULTADD 評論。 如果您的 FIR 篩選器未包含任何類似的評論 以下評論,您的 FIR 篩選器不是 systolic FIR 篩選器 並且不會受到影響: --u0_m0_wo0_cma0(CHAINMULTADD,33)@13

如果您的 FIR 包含一個或多個 CHAINMULTADD 意見,請檢查 遵循每個此類評論的 VHDL 代碼。之後幾行 CHAINMULTADD 評論,尋找類似鏈條的程式 下列代碼:u0_m0_wo0_cma0_chainmultadd:處理 (clk,元件) 開始如果 (被設定 = '1') 然後u0_m0_wo0_cma0_a (其他 =>'0')); u0_m0_wo0_cma0_b (其他人 =>'0');) u0_m0_wo0_cma0_c (其他 => '0')); u0_m0_wo0_cma0_anl (其他 => '0')); ELSIF (clk'EVENT 和 clk = '1') 然後 IF (d_u0_m0_wo0_compute_q_13_q = 「1」) 然後 u0_m0_wo0_cma0_a (0) '0'); u0_m0_wo0_cma0_b (0) '0'); u0_m0_wo0_cma0_c (0) '0'); u0_m0_wo0_cma0_anl

解決方法

為了解決這個問題,請增加您指定的長度 適用于 FIR 篩檢程式。如果您選擇正確的長度,則實作 不需要任何 dlier 倍增器。或者,以手動方式編輯 FIR 編譯器 II 所產生的 VHDL,以新增 Quartus II 保留 屬性為 DSP 輸入暫存器。Quartus II 合成確實如此 請不移除 ddvd 倍增輸入寄存器和 Quartus II 介面卡可正確封裝所有 DSP 區塊輸入暫存器。自 手動編輯 VHDL,請按照下列步驟操作:尋找聲明 輸入寄存器的名稱與下列代碼類似:類型 u0_m0_wo0_cma0_a_type是簽名陣列(0 至 3)(16 下至 0);信號 u0_m0_wo0_cma0_a:u0_m0_wo0_cma0_a_type;輸入u0_m0_wo0_cma0_b_type 是陣列 (0 至 3) 的簽名 (16 下至 0);訊號u0_m0_wo0_cma0_b :u0_m0_wo0_cma0_b_type;類型 u0_m0_wo0_cma0_c_type 是陣列 (0 到 3) UNSIGNED(2 下至 0);訊號u0_m0_wo0_cma0_c:u0_m0_wo0_cma0_c_type;如果 FIR 篩選器不使用 DSP 區塊\的預設程式,\'b\' 訊號 不存在。新增下列代碼:屬性保留:boolean;屬性 保留u0_m0_wo0_cma0_a:訊號屬實;屬性保留 u0_m0_wo0_cma0_b:訊號屬實;屬性保留u0_m0_wo0_cma0_c :訊號屬實;應只新增保留屬性應宣告 只有一次。

此問題已在 DSP Builder v13.1 中得到解決。

相關產品

本文章適用於 1 產品

Intel® 可程式裝置

1

此頁面上的內容是原始英文內容的人工和電腦翻譯的組合。此內容僅供您方便,僅供一般參考,不應被視為完整或準確。如果本頁面的英文版本與翻譯之間存在任何矛盾,則以英文版本為準。 查看此頁面的英文版本。