FPGA 整數運算 IP 核

Intel FPGA 整數運算 IP 內核用戶指南
針對英特爾® Quartus® Prime 設計套件更新:20.3

在線版 反饋

UG-01063

編號:683490 版本:2020.10.05

內容
內容
1. Intel FPGA Integer Arthmetic IP Cores………………………………………………………….. 5
2. LPM_COUNTER(計數器)IP核……………………………………………………………………………………………………………………………………7 2.1. 特點…………………………………………………………………………………………7 2.2. Verilog HDL 原型………………………………………………………………………….. 8 2.3. VHDL 組件聲明…………………………………………………………………….8 2.4. VHDL LIBRARY_USE 聲明…………………………………………………………………… 9 2.5. 端口…………………………………………………………………………………………..9 2.6. 參數………………………………………………………………………………………… 10
3. LPM_DIVIDE (Divider) Intel FPGA IP Core………………………………………………………….. 12 3.1. 特徵………………………………………………………………………………………………。 12 3.2。 Verilog HDL 原型……………………………………………………………………………… 12 3.3. VHDL 組件聲明……………………………………………………………….. 13 3.4. VHDL LIBRARY_USE聲明………………………………………………………………。 13 3.5。 端口……………………………………………………………………………………………… 13 3.6. 參數………………………………………………………………………………………… 14
4. LPM_MULT(乘法器)IP核……………………………………………………………………。 16 4.1。 特徵………………………………………………………………………………………………。 16 4.2。 Verilog HDL 原型……………………………………………………………………………… 17 4.3. VHDL 組件聲明……………………………………………………………….. 17 4.4. VHDL LIBRARY_USE聲明………………………………………………………………。 17 4.5。 信號………………………………………………………………………………………… 18 4.6. Stratix V、Arria V、Cyclone V 和 Intel Cyclone 10 LP 設備的參數……………… 18 4.6.1. 通用選項卡………………………………………………………………………………18 4.6.2. 總則 2 選項卡……………………………………………………………………………… 19 4.6.3. 流水線選項卡……………………………………………………………………………… 19 4.7. 英特爾 Stratix 10、英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備的參數………….. 20 4.7.1. 通用選項卡………………………………………………………………………………20 4.7.2. 總則 2 選項卡……………………………………………………………………………… 20 4.7.3. 流水線…………………………………………………………………………21
5. LPM_ADD_SUB(加法器/減法器)………………………………………………………………………… 22 5.1. 特徵………………………………………………………………………………………………。 22 5.2。 Verilog HDL 原型……………………………………………………………………………… 23 5.3. VHDL 組件聲明……………………………………………………………….. 23 5.4. VHDL LIBRARY_USE聲明………………………………………………………………。 23 5.5。 端口………………………………………………………………………………………………23 5.6. 參數…………………………………………………………………………………… 24
6. LPM_COMPARE(比較器)……………………………………………………………………………… 26 6.1. 特徵………………………………………………………………………………………………。 26 6.2。 Verilog HDL 原型……………………………………………………………………………… 27 6.3. VHDL 組件聲明……………………………………………………………….. 27 6.4. VHDL LIBRARY_USE聲明………………………………………………………………。 27 6.5。 端口……………………………………………………………………………………………… 27 6.6. 參數…………………………………………………………………………………… 28

Intel FPGA 整數運算 IP 內核用戶指南 2

傳送回饋

內容

7. ALTECC(糾錯碼:Encoder/Decoder)IP核………………………………………… 30
7.1. ALTECC 編碼器特性…………………………………………………………………………..31 7.2. Verilog HDL 原型(ALTECC_ENCODER)……………………………………………………。 32 7.3。 Verilog HDL 原型(ALTECC_DECODER)……………………………………………………。 32 7.4。 VHDL 組件聲明(ALTECC_ENCODER)……………………………………………………33 7.5. VHDL 組件聲明(ALTECC_DECODER)………………………………………………33 7.6. VHDL LIBRARY_USE聲明………………………………………………………………。 33 7.7。 編碼器端口………………………………………………………………………………………… 33 7.8. 解碼器端口…………………………………………………………………………………………34 7.9. 編碼器參數……………………………………………………………………………… 34 7.10. 解碼器參數……………………………………………………………………………… 35
8. Intel FPGA 乘法加法器 IP 核………………………………………………………………. 36
8.1. 特徵………………………………………………………………………………………………。 37 8.1.1。 預加器……………………………………………………………………………….. 38 8.1.2. 收縮期延遲寄存器……………………………………………………………….. 40 8.1.3. 預載常數………………………………………………………………………… 43 8.1.4. 雙蓄能器…………………………………………………………………… 43
8.2. Verilog HDL 原型……………………………………………………………………………… 44 8.3. VHDL 組件聲明……………………………………………………………….. 44 8.4. VHDL LIBRARY_USE聲明………………………………………………………………。 44 8.5。 信號………………………………………………………………………………………… 44 8.6. 參數…………………………………………………………………………………… 47
8.6.1. 通用選項卡………………………………………………………………………………47 8.6.2. 額外模式選項卡…………………………………………………………………….. 47 8.6.3。 乘數選項卡………………………………………………………………………….. 49 8.6.4。 Preadder Tab…………………………………………………………………………。 51 8.6.5。 蓄能器選項卡…………………………………………………………………….. 53 8.6.6. 收縮/Chainout 選項卡……………………………………………………………………. 55 8.6.7。 流水線選項卡……………………………………………………………………………… 56
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP核………………………………57
9.1. 特徵………………………………………………………………………………………………。 57 9.2。 Verilog HDL 原型……………………………………………………………………………… 58 9.3. VHDL 組件聲明……………………………………………………………….. 58 9.4. 端口……………………………………………………………………………………………… 59 9.5. 參數………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Multiply-Accumulate) IP核…………………………………………………… 61
10.1. 特點…………………………………………………………………………………….. 62 10.2. Verilog HDL 原型…………………………………………………………………………..62 10.3. VHDL 組件聲明…………………………………………………………………… 63 10.4. VHDL LIBRARY_USE 聲明……………………………………………………………………63 10.5. 端口……………………………………………………………………………………。 63 10.6。 參數…………………………………………………………………………………………。 64
11. ALTMULT_ADD (Multiply-Adder) IP核…………………………………………………………..69
11.1. 特點…………………………………………………………………………………….. 71 11.2. Verilog HDL 原型……………………………………………………………………..72 11.3. VHDL 組件聲明…………………………………………………………………… 72 11.4. VHDL LIBRARY_USE聲明………………………………………………………………72

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 3

內容
11.5。 端口……………………………………………………………………………………。 72 11.6。 參數…………………………………………………………………………………………。 73
12. ALTMULT_COMPLEX(複數乘法器)IP核……………………………………………… 86 12.1. 複數乘法……………………………………………………………………。 86 12.2。 規範表示………………………………………………………………………… 87 12.3. 常規表示法………………………………………………………………。 87 12.4。 特點…………………………………………………………………………………….. 88 12.5. Verilog HDL 原型…………………………………………………………………………..88 12.6. VHDL 組件聲明…………………………………………………………………… 89 12.7. VHDL LIBRARY_USE 聲明……………………………………………………………………89 12.8. 信號……………………………………………………………………………………。 89 12.9。 參數…………………………………………………………………………………………。 90後
13. ALTSQRT(整數平方根)IP核………………………………………………………………92 13.1. 特點…………………………………………………………………………………….. 92 13.2. Verilog HDL 原型…………………………………………………………………………..92 13.3. VHDL 組件聲明…………………………………………………………………… 93 13.4. VHDL LIBRARY_USE 聲明……………………………………………………………………93 13.5. 端口……………………………………………………………………………………。 93 13.6。 參數…………………………………………………………………………………………。 94
14. PARALLEL_ADD(並行加法器)IP核………………………………………………………….. 95 14.1. 特點…………………………………………………………………………………….95 14.2. Verilog HDL 原型…………………………………………………………………………..95 14.3. VHDL 組件聲明…………………………………………………………………… 96 14.4. VHDL LIBRARY_USE 聲明……………………………………………………………………96 14.5. 端口……………………………………………………………………………………。 96 14.6。 參數…………………………………………………………………………………………。 97
15. Integer Arithmetic IP Cores User Guide Document Archives…………………………………… 98
16. 英特爾 FPGA 整數運算 IP 內核用戶指南的文檔修訂歷史……。 99

Intel FPGA 整數運算 IP 內核用戶指南 4

傳送回饋

683490 | 2020.10.05 反饋意見

1. Intel FPGA 整數運算 IP 核

您可以使用英特爾® FPGA 整數 IP 核在您的設計中執行數學運算。

與編寫您自己的函數相比,這些函數提供了更高效的邏輯綜合和設備實現。 您可以定制 IP 核以滿足您的設計要求。

Intel 整數運算 IP 核分為以下兩類: · 參數化模塊庫 (LPM) IP 核 · Intel 專用 (ALT) IP 核

下表列出了整數運算 IP 內核。

表 1.

IP核列表

IP核

LPM IP核

LPM_計數器

LPM_DIVIDE

LPM_MULT

LPM_ADD_SUB
LPM_比較
Intel 特定 (ALT) IP 內核 ALTECC

功能結束view 計數器分頻器乘數
加法器或減法器比較器
ECC 編碼器/解碼器

支援設備
Arria® II GX、Arria II GZ、Arria V、英特爾 Arria 10、Cyclone® IV E、Cyclone IV GX、Cyclone V、英特爾 Cyclone 10 LP、
英特爾 Cyclone 10 GX、MAX® II、MAX V、MAX 10、Stratix® IV、Stratix V
Arria II GX、Arria II GZ、Arria V、英特爾 Arria 10、Cyclone IV E、Cyclone IV GX、
Cyclone V、英特爾 Cyclone 10 LP、英特爾 Cyclone 10 GX、MAX II、MAX V、MAX 10、Stratix IV、Stratix V、英特爾 Stratix 10
Arria II GX、Arria II GZ、Arria V、英特爾 Arria 10、Cyclone IV E、Cyclone IV GX、
Cyclone V、英特爾 Cyclone 10 LP、英特爾 Cyclone 10 GX、MAX II、MAX V、MAX 10、Stratix IV、Stratix V、英特爾 Stratix 10
Arria II GX、Arria II GZ、Arria V、Cyclone IV E、Cyclone IV GX、Cyclone V、英特爾 Cyclone 10 LP、MAX 10、MAX
II、MAX V、Stratix IV、Stratix V
Arria II GX、Arria II GZ、Arria V、Cyclone IV E、Cyclone IV GX、Cyclone V、英特爾 Cyclone 10 LP、MAX 10、MAX
II、MAX V、Stratix IV、Stratix V
Arria II GX、Arria II GZ、Arria V、英特爾 Arria 10、Cyclone IV E、Cyclone IV GX、
Cyclone V、英特爾 Cyclone 10 LP、英特爾 Cyclone 10 GX、MAX II、MAX V、MAX
10、Stratix IV、Stratix V續……

英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。

ISO 9001:2015 註冊

1. 英特爾 FPGA 整數運算 IP 核 683490 | 2020.10.05

IP 內核 Intel FPGA 乘法加法器或 ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
並行添加

功能結束view 乘加器
基於內存的常係數乘法器
乘法累加器乘法加法器
複數乘法器
整數平方根
並行加法器

支援設備
Arria V、Stratix V、Cyclone V、英特爾 Stratix 10、英特爾 Arria 10、英特爾 Cyclone
10 GX
Arria II GX、Arria II GZ、Arria V、英特爾 Arria 10(英特爾 Quartus® Prime 標準版)、Cyclone IV E、Cyclone IV GX、Cyclone V、英特爾
Cyclone 10 LP、MAX II、MAX V、MAX 10、Stratix IV、Stratix V
Arria II GX、Arria II GZ、Cyclone IV E、Cyclone IV GX、英特爾 Cyclone 10 LP、MAX 10、MAX II、MAX V、Stratix IV
Arria II GX、Arria II GZ、Cyclone IV E、Cyclone IV GX、Intel Cyclone 10 LP、MAX 10、MAX II、MAX V、Stratix IV
Arria II GX、Arria II GZ、英特爾 Arria 10、Arria V、Arria V GZ、Cyclone IV E、Cyclone IV GX、Cyclone V、英特爾
Cyclone 10 GX、英特爾 Cyclone 10 LP、MAX 10、Stratix V、英特爾 Stratix 10
Arria II GX、Arria II GZ、Arria V、英特爾 Arria 10、Cyclone IV E、Cyclone IV GX、
Cyclone V、英特爾 Cyclone 10 LP、英特爾 Cyclone 10 GX、MAX II、MAX V、MAX
10、Stratix IV、Stratix V
Arria II GX、Arria II GZ、Arria V、英特爾 Arria 10、Cyclone IV E、Cyclone IV GX、
Cyclone V、英特爾 Cyclone 10 LP、英特爾 Cyclone 10 GX、MAX II、MAX V、MAX
10、Stratix IV、Stratix V

相關資訊
· 英特爾 FPGA 和可編程設備發行說明
· 英特爾 FPGA IP 核簡介 提供有關英特爾 FPGA IP 核的更多信息。
· 浮點 IP 核用戶指南 提供有關 Intel FPGA 浮點 IP 核的更多信息。
· 英特爾 FPGA IP 核簡介 提供有關所有英特爾 FPGA IP 核的一般信息,包括參數化、生成、升級和模擬 IP 核。
· 創建獨立於版本的 IP 和 Qsys 仿真腳本創建不需要手動更新軟件或 IP 版本升級的仿真腳本。
· 項目管理最佳實踐指南,用於項目和 IP 的有效管理和可移植性 files.
· 整數運算 IP 核用戶指南文檔存檔 (第 98 頁) 提供以前版本的整數運算 IP 核的用戶指南列表。

Intel FPGA 整數運算 IP 內核用戶指南 6

傳送回饋

683490 | 2020.10.05 反饋意見

2. LPM_COUNTER(計數器)IP核

圖 1.

LPM_COUNTER IP 內核是一個二進制計數器,可創建遞增計數器、遞減計數器以及遞增或遞減計數器,輸出高達 256 位寬。

下圖顯示了 LPM_COUNTER IP 內核的端口。

LPM_COUNTER 端口

LPM_計數器

ssclr sload sset 數據[]

q[]

上下

庫特

aclr 加載集

clk_en cnt_en 辛
安裝

2.1. 特點
LPM_COUNTER IP 內核提供以下功能: · 生成遞增、遞減和遞增/遞減計數器 · 生成以下計數器類型:
— 普通二進制——計數器從零開始遞增或從 255 開始遞減
— 模數——計數器遞增或遞減用戶指定的模值並重複
· 支持可選的同步清除、加載和設置輸入端口 · 支持可選的異步清除、加載和設置輸入端口 · 支持可選的計數使能和時鐘使能輸入端口 · 支持可選的進位和進位輸出端口

英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。

ISO 9001:2015 註冊

2. LPM_COUNTER(計數器)IP核
683490 | 2020.10.05
2.2. Verilog HDL 原型
以下 Verilog HDL 原型位於 Verilog Design File (.v) lpm.v 在edasynthesis目錄。
模塊 lpm_counter(q、數據、時鐘、cin、cout、clk_en、cnt_en、updown、aset、aclr、aload、sset、sclr、sload、eq); 參數 lpm_type = “lpm_counter”; 參數 lpm_width = 1; 參數 lpm_modulus = 0; 參數 lpm_direction = “未使用”; 參數 lpm_avalue = “未使用”; 參數 lpm_svalue = “未使用”; 參數 lpm_pvalue = “未使用”; 參數 lpm_port_updown = “PORT_CONNECTIVITY”; 參數 lpm_hint = “未使用”; 輸出 [lpm_width-1:0] q; 輸出計數; 輸出 [15:0] eq; 輸入辛; 輸入 [lpm_width-1:0] 數據; 輸入時鐘,clk_en,cnt_en,updown; 輸入 aset、aclr、aload; 輸入 sset、sclr、sload; 終端模塊
2.3. VHDL 組件聲明
VHDL 組件聲明位於 VHDL Design File (.vhd) LPM_PACK.vhd 在librariesvhdllpm 目錄。
組件 LPM_COUNTER 通用(LPM_WIDTH:自然;LPM_MODULUS:自然:= 0;LPM_DIRECTION:字符串:=“UNUSED”;LPM_AVALUE:字符串:=“UNUSED”;LPM_SVALUE:字符串:=“UNUSED”;LPM_PORT_UPDOWN:字符串:=“PORT_CONNECTIVITY” ;LPM_PVALUE:字符串:=“未使用”;LPM_TYPE:字符串:= L_COUNTER;LPM_HINT:字符串:=“未使用”); 端口(數據:在 std_logic_vector(LPM_WIDTH-1 向下到 0)中:=(其他 =>
'0'); 時鐘:在 std_logic 中; CLK_EN : 在 std_logic := '1'; CNT_EN : 在 std_logic := '1'; UPDOWN : 在 std_logic := '1'; SLOAD : 在 std_logic := '0'; SSET : 在 std_logic := '0'; SCLR : 在 std_logic := '0'; ALOAD : 在 std_logic := '0'; ASET : 在 std_logic := '0'; ACLR:在 std_logic 中:= '0'; CIN : 在 std_logic := '1'; COUT:輸出標準邏輯:='0'; 問:輸出 std_logic_vector(LPM_WIDTH-1 降為 0); 均衡器:輸出 std_logic_vector(15 downto 0));
結束組件;

Intel FPGA 整數運算 IP 內核用戶指南 8

傳送回饋

2. LPM_COUNTER(計數器)IP核683490 | 2020.10.05

2.4. VHDL LIBRARY_USE 聲明
如果您使用 VHDL 組件聲明,則不需要 VHDL LIBRARY-USE 聲明。
圖書館 lpm; 使用 lpm.lpm_components.all;

2.5. 連接埠

下表列出了 LPM_COUNTER IP 內核的輸入和輸出端口。

表 2.

LPM_COUNTER 輸入端口

連接埠名稱

必需的

描述

數據[]

並行數據輸入到計數器。 輸入端口的大小取決於 LPM_WIDTH 參數值。

是的

上升沿觸發時鐘輸入。

時鐘_cn

時鍾啟用輸入以啟用所有同步活動。 如果省略,默認值為 1。

cnt_cn

計數使能輸入可在置為低電平時禁用計數,而不影響 sload、sset 或 sclr。 如果省略,默認值為 1。

上下

控制計數的方向。 置為高電平 (1) 時,計數方向為向上,置為低電平 (0) 時,計數方向為向下。 如果使用 LPM_DIRECTION 參數,則無法連接 updown 端口。 如果不使用 LPM_DIRECTION,則 updown 端口是可選的。 如果省略,默認值為 up (1)。

進位到低位。 對於遞增計數器,cin 輸入的行為是

與 cnt_en 輸入的行為相同。 如果省略,默認值為 1

(VCC)。

訪問控制寄存器

異步清除輸入。 如果同時使用和斷言 aset 和 aclr,則 aclr 覆蓋 aset。 如果省略,默認值為 0(禁用)。

資產

異步設置輸入。 將 q[] 輸出指定為全 1,或指定為 LPM_AVALUE 參數指定的值。 如果同時使用和斷言 aset 和 aclr 端口,則 aclr 端口的值將覆蓋 aset 端口的值。 如果省略,默認值為 0,禁用。

負載

使用數據輸入上的值異步加載計數器的異步加載輸入。 使用aload端口時,必須連接data[]端口。 如果省略,默認值為 0,禁用。

單反

在下一個有效時鐘邊沿清除計數器的同步清除輸入。 如果同時使用和斷言 sset 和 sclr 端口,則 sclr 端口的值將覆蓋 sset 端口的值。 如果省略,默認值為 0,禁用。

塞特

在下一個有效時鐘邊沿設置計數器的同步設置輸入。 將 q 輸出的值指定為全 1,或指定為 LPM_SVALUE 參數指定的值。 如果同時使用和斷言 sset 和 sclr 端口,
sclr 端口的值覆蓋 sset 端口的值。 如果省略,默認值為 0(禁用)。

負載

同步加載輸入,在下一個有效時鐘邊沿用數據 [] 加載計數器。 使用 sload 端口時,必須連接 data[] 端口。 如果省略,默認值為 0(禁用)。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 9

2. LPM_COUNTER(計數器)IP核683490 | 2020.10.05

表 3.

LPM_COUNTER 輸出端口

連接埠名稱

必需的

描述

q[]

計數器的數據輸出。 輸出端口的大小取決於

LPM_WIDTH 參數值。 q[] 或至少一個 eq[15..0] 端口

必須連接。

當量 [15..0]

計數器解碼輸出。 eq[15..0] 端口在參數編輯器中不可訪問,因為該參數僅支持 AHDL。
必須連接 q[] 端口或 eq[] 端口。 最多可以使用 c 個 eq 端口 (0 <= c <= 15)。 只有 16 個最低計數值被解碼。 當計數值為 c 時,eqc 輸出置為高電平 (1)。 對於前ample,當計數為 0 時,eq0 = 1,當計數為 1 時,eq1 = 1,當計數為 15 時,eq 15 = 1。計數值為 16 或更大的解碼輸出需要外部解碼。 eq[15..0] 輸出與 q[] 輸出異步。

庫特

計數器的 MSB 位的進位輸出端口。 它可用於連接到另一個計數器以創建更大的計數器。

2.6。 參量

下表列出了 LPM_COUNTER IP 核的參數。

表 4.

LPM_COUNTER 參數

參數名稱

類型

LPM_WIDTH

整數

LPM_DIRECTION

細繩

LPM_MODULUS LPM_AVALUE

整數
整數/字符串

LPM_SVALUE LPM_HINT

整數/字符串
細繩

LPM_類型

細繩

需要 是 否 否 否
否 否

描述
指定 data[] 和 q[] 端口的寬度(如果使用)。
值為 UP、DOWN 和 UNUSED。 如果使用 LPM_DIRECTION 參數,則無法連接 updown 端口。 當updown端口未連接時,LPM_DIRECTION參數默認值為UP。
最大計數加一。 計數器週期中唯一狀態的數量。 如果加載值大於 LPM_MODULUS 參數,則不指定計數器的行為。
當 aset 置高時加載的常量值。 如果指定的值大於或等於,計數器的行為是一個未定義的 (X) 邏輯電平,其中是 LPM_MODULUS(如果存在)或 2 ^ LPM_WIDTH。 Intel 建議您將此值指定為 AHDL 設計的十進制數。
當 sset 端口置為高電平時,在時鐘端口的上升沿加載的恆定值。 Intel 建議您將此值指定為 AHDL 設計的十進制數。
當您在 VHDL 設計中實例化參數化模塊 (LPM) 函數庫時 File (.vhd),您必須使用 LPM_HINT 參數來指定英特爾特定的參數。 對於前ample: LPM_HINT = “CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES”
默認值為未使用。
標識 VHDL 設計中參數化模塊 (LPM) 實體名稱的庫 files.
持續…

Intel FPGA 整數運算 IP 內核用戶指南 10

傳送回饋

2. LPM_COUNTER(計數器)IP核683490 | 2020.10.05

參數名稱 INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN

類型 字符串 字符串
細繩
細繩

需要 否 否

描述
此參數用於建模和行為模擬目的。 此參數用於建模和行為模擬目的。 參數編輯器計算該參數的值。
英特爾特定參數。 VHDL設計中必須使用LPM_HINT參數指定CARRY_CNT_EN參數 file秒。 值為 SMART、ON、OFF 和 UNUSED。 啟用 LPM_COUNTER 函數以通過進位鏈傳播 cnt_en 信號。 在某些情況下,CARRY_CNT_EN 參數設置可能對速度有輕微影響,因此您可能希望將其關閉。 默認值為 SMART,它提供了大小和速度之間的最佳權衡。
英特爾特定參數。 VHDL設計中必須使用LPM_HINT參數指定LABWIDE_SCLR參數 file秒。 值為 ON、OFF 或 UNUSED。 默認值為開。 允許您禁用在過時的設備系列中找到的 LABwide sclr 功能。 關閉此選項會增加完全使用部分填充的 LAB 的機會,因此當 SCLR 不適用於完整的 LAB 時可以允許更高的邏輯密度。 該參數用於向後兼容,Intel 建議您不要使用該參數。
指定 updown 輸入端口的用法。 如果省略,默認值為 PORT_CONNECTIVITY。 當端口值設置為 PORT_USED 時,端口被視為已使用。 當端口值設置為 PORT_UNUSED 時,端口被視為未使用。 當端口值設置為 PORT_CONNECTIVITY 時,端口使用情況通過檢查端口連接性來確定。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 11

683490 | 2020.10.05 反饋意見

3. LPM_DIVIDE(分頻器)Intel FPGA IP核

圖 2.

LPM_DIVIDE Intel FPGA IP 內核實現了一個除法器,將分子輸入值除以分母輸入值以產生商和余數。

下圖顯示了 LPM_DIVIDE IP 內核的端口。

LPM_DIVIDE 端口

LPM_DIVIDE

numer[] denom[] 時鐘

商[]保持[]

clken aclr

安裝

3.1. 特點
LPM_DIVIDE IP 內核提供以下特性: · 生成一個除法器,將分子輸入值除以分母輸入
產生商和余數的值。 · 支持1 位的數據寬度。 ·支持分子的有符號和無符號數據表示格式
和分母值。 ·支持區域或速度優化。 · 提供一個選項來指定正餘數輸出。 ·支持流水線可配置的輸出延遲。 · 支持可選的異步清除和時鐘使能端口。

3.2. Verilog HDL 原型
以下 Verilog HDL 原型位於 Verilog Design File (.v) lpm.v 在edasynthesis目錄。
模塊 lpm_divide(商、剩餘、數字、denom、時鐘、clken、aclr); 參數 lpm_type = “lpm_divide”; 參數 lpm_widthn = 1; 參數 lpm_widthd = 1; 參數 lpm_nrepresentation = “UNSIGNED”; 參數 lpm_drepresentation = “UNSIGNED”; 參數 lpm_remainderpositive = “TRUE”; 參數 lpm_pipeline = 0;

英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。

ISO 9001:2015 註冊

3. LPM_DIVIDE(分頻器)英特爾 FPGA IP 核 683490 | 2020.10.05

參數 lpm_hint = “未使用”; 輸入時鐘; 輸入時鐘; 輸入 aclr; 輸入 [lpm_widthn-1:0] 數字; 輸入 [lpm_widthd-1:0] denom; 輸出 [lpm_widthn-1:0] 商; 輸出 [lpm_widthd-1:0] 保持不變; 終端模塊

3.3. VHDL 組件聲明
VHDL 組件聲明位於 VHDL Design File (.vhd) LPM_PACK.vhd 在librariesvhdllpm 目錄。
組件 LPM_DIVIDE 通用(LPM_WIDTHN:自然;LPM_WIDTHD:自然;
LPM_NREPRESENTATION:字符串:=“未簽名”; LPM_DREPRESENTATION:字符串:=“未簽名”; LPM_PIPELINE:自然:= 0; LPM_TYPE:字符串:= L_DIVIDE; LPM_HINT:字符串:=“未使用”); 端口(NUMER:在 std_logic_vector(LPM_WIDTHN-1 下降到 0)中;DENOM:在 std_logic_vector(LPM_WIDTHD-1 下降到 0)中;ACLR:在 std_logic 中:='0';CLOCK:在 std_logic 中:='0';CLKEN:在 std_logic 中:= '1'; QUOTIENT : out std_logic_vector(LPM_WIDTHN-1 downto 0); REMAIN : out std_logic_vector(LPM_WIDTHD-1 downto 0)); 結束組件;

3.4. VHDL LIBRARY_USE 聲明
如果您使用 VHDL 組件聲明,則不需要 VHDL LIBRARY-USE 聲明。
圖書館 lpm; 使用 lpm.lpm_components.all;

3.5. 連接埠

下表列出了 LPM_DIVIDE IP 內核的輸入和輸出端口。

表 5.

LPM_DIVIDE 輸入端口

連接埠名稱

必需的

數字[]

是的

面額[]

是的

描述
分子數據輸入。 輸入端口的大小取決於 LPM_WIDTHN 參數值。
分母數據輸入。 輸入端口的大小取決於 LPM_WIDTHD 參數值。
持續…

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 13

3. LPM_DIVIDE(分頻器)英特爾 FPGA IP 核 683490 | 2020.10.05

端口名稱時鐘clken
訪問控制寄存器

需要 否 否

描述
流水線使用的時鐘輸入。 對於 0(默認)以外的 LPM_PIPELINE 值,必須啟用時鐘端口。
時鍾啟用流水線使用。 當 clken 端口置高時,除法操作發生。 當信號為低時,不發生任何操作。 如果省略,默認值為 1。
異步清零端口隨時用於將流水線重置為與時鐘輸入異步的全“0”。

表 6.

LPM_DIVIDE 輸出端口

連接埠名稱

必需的

描述

商[]

是的

數據輸出。 輸出端口的大小取決於 LPM_WIDTHN

參數值。

保持[]

是的

數據輸出。 輸出端口的大小取決於 LPM_WIDTHD

參數值。

3.6。 參量

下表列出了 LPM_DIVIDE Intel FPGA IP 內核的參數。

參數名稱

類型

必需的

描述

LPM_WIDTHN

整數

是的

指定 numer[] 和

商 [] 端口。 值為 1 到 64。

LPM_WIDTHD

整數

是的

指定 denom[] 的寬度和

保留 [] 端口。 值為 1 到 64。

LPM_NREPRESENTATION LPM_DREPRESENTATION

字符串 字符串

分子輸入的符號表示。

值為 SIGNED 和 UNSIGNED。 當這個

參數設置為SIGNED,分頻器

將 numer[] 輸入解釋為帶符號的二進制數

補充。

分母輸入的符號表示。

值為 SIGNED 和 UNSIGNED。 當這個

參數設置為SIGNED,分頻器

將 denom[] 輸入解釋為帶符號的二進制數

補充。

LPM_類型

細繩

標識參數化庫

VHDL 設計中的模塊 (LPM) 實體名稱

files (.vhd)。

LPM_HINT 提示

細繩

當你實例化一個庫時

參數化模塊 (LPM) 中的函數

VHDL設計 File (.vhd),您必須使用

LPM_HINT 參數指定一個 Intel-

具體參數。 對於前amp文件:LPM_HINT

=“CHAIN_SIZE = 8,

ONE_INPUT_IS_CONSTANT = YES”

默認值為未使用。

LPM_REMAINDERPOSITIVE

細繩

英特爾特定參數。 你必須使用

LPM_HINT 參數指定

LPM_REMAINDERPOSITIVE 參數在

VHDL設計 file秒。 值為 TRUE 或 FALSE。

如果此參數設置為 TRUE,則

remain[] 端口的值必須更大

持續…

Intel FPGA 整數運算 IP 內核用戶指南 14

傳送回饋

3. LPM_DIVIDE(分頻器)英特爾 FPGA IP 核 683490 | 2020.10.05

參數名稱

類型

MAXIMIZE_SPEED

整數

LPM_管道

整數

INTENDED_DEVICE_FAMILY SKIP_BITS

字符串整數

必填 否
不 不 不

描述
小於或等於零。 如果此參數設置為 TRUE,則 remain[] 端口的值為零,或者該值與 numer 端口的值具有相同的符號,無論是正數還是負數。 為了減少面積和提高速度,英特爾建議在餘數必須為正或餘數不重要的操作中將此參數設置為 TRUE。
英特爾特定參數。 VHDL設計中必須使用LPM_HINT參數指定MAXIMIZE_SPEED參數 file秒。 值為 [0..9]。 如果使用, Intel Quartus Prime 軟件會嘗試優化 LPM_DIVIDE 函數的特定實例以提高速度而不是可佈線性,並覆蓋 Optimization Technique 邏輯選項的設置。 如果未使用 MAXIMIZE_SPEED,則使用優化技術選項的值。 如果 MAXIMIZE_SPEED 的值為 6 或更高,Compiler 通過使用進位鏈優化 LPM_DIVIDE IP 內核以獲得更高的速度; 如果該值為 5 或更小,編譯器將實現無進位鏈的設計。
指定與 quotient[] 和 remain[] 輸出關聯的延遲時鐘週期數。 零 (0) 值表示不存在延遲,並且實例化了純組合函數。 如果省略,則默認值為 0(非流水線)。 您不能為 LPM_PIPELINE 參數指定一個高於 LPM_WIDTHN 的值。
此參數用於建模和行為模擬目的。 參數編輯器計算該參數的值。
通過向 LPM_DIVIDE IP 內核提供前導 GND 的數量,允許更有效的小數位劃分以優化前導位上的邏輯。 在此參數的商輸出上指定前導 GND 的數量。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 15

683490 | 2020.10.05 反饋意見

4. LPM_MULT(乘法器)IP核

圖 3.

LPM_MULT IP 內核實現了一個乘法器來將兩個輸入數據值相乘以產生一個乘積作為輸出。

下圖顯示了 LPM_MULT IP 內核的端口。

LPM_多端口

LPM_MULT 時鐘 dataa[] result[] datab[] aclr/sclr clken
安裝

相關信息 第 71 頁的功能

4.1. 特點
LPM_MULT IP 內核提供以下特性: · 生成乘法器,將兩個輸入數據值相乘 · 支持 1 位數據寬度 · 支持有符號和無符號數據表示格式 · 支持面積或速度優化 · 支持具有可配置輸出延遲的流水線 · 提供一個在專用數字信號處理 (DSP) 中實施的選項
塊電路或邏輯元件 (LE) 注意:當構建大於本地支持的大小的乘法器時,可能/
DSP 塊的級聯將對性能產生影響。 · 支持可選異步清零和時鐘使能輸入端口 · 支持英特爾 Stratix 10、英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備的可選同步清零

英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。

ISO 9001:2015 註冊

4. LPM_MULT(乘法器)IP 內核 683490 | 2020.10.05
4.2. Verilog HDL 原型
以下 Verilog HDL 原型位於 Verilog Design File (.v) lpm.v 在edasynthesis目錄。
模塊 lpm_mult (result, dataa, datab, sum, clock, clken, aclr) 參數 lpm_type = “lpm_mult”; 參數 lpm_widtha = 1; 參數 lpm_widthb = 1; 參數 lpm_widths = 1; 參數 lpm_widthp = 1; 參數 lpm_representation = “UNSIGNED”; 參數 lpm_pipeline = 0; 參數 lpm_hint = “未使用”; 輸入時鐘; 輸入時鐘; 輸入 aclr; 輸入 [lpm_widtha-1:0] 數據a; 輸入[lpm_widthb-1:0]數據b; 輸入 [lpm_widths-1:0] 總和; 輸出 [lpm_widthp-1:0] 結果; 終端模塊
4.3. VHDL 組件聲明
VHDL 組件聲明位於 VHDL Design File (.vhd) LPM_PACK.vhd 在librariesvhdllpm 目錄。
組件 LPM_MULT 通用(LPM_WIDTHA:自然;LPM_WIDTHB:自然;LPM_WIDTHS:自然:= 1;LPM_WIDTHP:自然;
LPM_REPRESENTATION:字符串:=“未簽名”; LPM_PIPELINE:自然:= 0; LPM_TYPE:字符串:= L_MULT; LPM_HINT:字符串:=“未使用”); 端口(DATAA:在std_logic_vector(LPM_WIDTHA-1 downto 0)中;DATAB:在std_logic_vector(LPM_WIDTHB-1 downto 0)中;ACLR:在std_logic中:='0';CLOCK:在std_logic中:='0';CLKEN:在std_logic中:= '1'; SUM : in std_logic_vector(LPM_WIDTHS-1 downto 0) := (OTHERS => '0'); 結果:out std_logic_vector(LPM_WIDTHP-1 downto 0)); 結束組件;
4.4. VHDL LIBRARY_USE 聲明
如果您使用 VHDL 組件聲明,則不需要 VHDL LIBRARY-USE 聲明。
圖書館 lpm; 使用 lpm.lpm_components.all;

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 17

4. LPM_MULT(乘法器)IP 內核 683490 | 2020.10.05

4.5. 信號

表 7.

LPM_MULT 輸入信號

訊號名稱

必需的

描述

數據[]

是的

數據輸入。

對於 Intel Stratix 10、Intel Arria 10 和 Intel Cyclone 10 GX 設備,輸入信號的大小取決於 Dataa 寬度參數值。

對於舊的和 Intel Cyclone 10 LP 設備,輸入信號的大小取決於 LPM_WIDTHA 參數值。

數據[]

是的

數據輸入。

對於 Intel Stratix 10、Intel Arria 10 和 Intel Cyclone 10 GX 設備,輸入信號的大小取決於 Datab width 參數值。

對於舊的和 Intel Cyclone 10 LP 設備,輸入信號的大小取決於

LPM_WIDTHB 參數值。

流水線使用的時鐘輸入。

對於舊的和 Intel Cyclone 10 LP 設備,必須為 LPM_PIPELINE 值而不是 0(默認值)啟用時鐘信號。

對於 Intel Stratix 10、Intel Arria 10 和 Intel Cyclone 10 GX 設備,如果 Latency 值不是 1(默認值),則必須啟用時鐘信號。

流水線使用的時鐘使能。 當 clken 信號置為高電平時,

加法器/減法器操作發生。 信號低時,無操作

發生。 如果省略,默認值為 1。

aclr 單反

隨時使用的異步清除信號將流水線重置為全 0,

與時鐘信號異步。 管道初始化為未定義 (X)

邏輯電平。 輸出是一致的,但非零值。

隨時使用的同步清除信號將流水線重置為全 0,

同步到時鐘信號。 管道初始化為未定義 (X)

邏輯電平。 輸出是一致的,但非零值。

表 8.

LPM_MULT 輸出信號

信號名稱

必需的

描述

結果[]

是的

數據輸出。

對於舊的和 Intel Cyclone 10 LP 設備,輸出信號的大小取決於 LPM_WIDTHP 參數值。 如果 LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) 或 (LPM_WIDTHA + LPM_WIDTHS),則僅存在 LPM_WIDTHP MSB。

對於英特爾 Stratix 10、英特爾 Arria 10 和英特爾 Cyclone 10 GX,輸出信號的大小取決於結果寬度參數。

4.6. Stratix V、Arria V、Cyclone V 和 Intel Cyclone 10 LP 器件的參數

4.6.1. 常規選項卡

表 9.

常規選項卡

範圍

價值

乘法器配置

將“dataa”輸入乘以“datab”輸入

預設值

描述

將“dataa”輸入乘以“datab”輸入

為乘法器選擇所需的配置。
持續…

Intel FPGA 整數運算 IP 內核用戶指南 18

傳送回饋

4. LPM_MULT(乘法器)IP 內核 683490 | 2020.10.05

範圍
“dataa”輸入應該有多寬? “datab”輸入應該有多寬? “結果”輸出的寬度應該如何確定? 限制寬度

價值
將“dataa”輸入自身相乘(平方運算)
1 – 256 位

預設值

描述

8位

指定 dataa[] 端口的寬度。

1 – 256 位

8位

指定 datab[] 端口的寬度。

自動計算寬度 限制寬度
1 – 512 位

自動計算寬度

選擇所需的方法來確定 result[] 端口的寬度。

16位

指定 result[] 端口的寬度。
只有在類型參數中選擇限制寬度時,此值才會有效。

4.6.2. 一般 2 選項卡

表 10. 常規 2 選項卡

範圍

價值

數據輸入

“datab”輸入總線是否具有常數值?

否 是

乘法類型

哪種類型

未簽名

你要乘法嗎? 簽

執行

應該使用哪個乘法器實現?

使用默認實現
使用專用乘法器電路(並非適用於所有系列)
使用邏輯元素

預設值

描述

選擇 Yes 以指定常量值

`datab' 輸入總線,如果有的話。

未簽名

指定 dataa[] 和 datab[] 輸入的表示格式。

使用默認實現

選擇所需的方法來確定 result[] 端口的寬度。

4.6.3. 流水線選項卡

表 11. 流水線選項卡

範圍

你想流水線否

功能?

是的

價值

創建一個“aclr”

異步清除端口

預設值

描述

選擇是啟用流水線註冊到

乘法器的輸出並指定所需的

時鐘週期中的輸出延遲。 啟用

流水線寄存器增加了額外的延遲

輸出。

未選取

選擇此選項可啟用 aclr 端口以對流水線寄存器使用異步清除。
持續…

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 19

4. LPM_MULT(乘法器)IP 內核 683490 | 2020.10.05

範圍
創建一個“clken”時鐘使能時鐘
最佳化
你想要什麼類型的優化?

價值 -
默認速度區域

預設值

描述

未選取

為流水線寄存器的時鐘端口指定高電平有效時鐘使能

預設

為 IP 內核指定所需的優化。
選擇 Default 讓 Intel Quartus Prime 軟件確定 IP 內核的最佳優化。

4.7. 英特爾 Stratix 10、英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備的參數

4.7.1. 常規選項卡

表 12. 常規選項卡

範圍

價值

預設值

描述

乘法器配置類型
數據端口寬度

將“dataa”輸入乘以“datab”輸入
將“dataa”輸入自身相乘(平方運算)

將“dataa”輸入乘以“datab”輸入

為乘法器選擇所需的配置。

數據寬度

1 – 256 位

8位

指定 dataa[] 端口的寬度。

數據寬度

1 – 256 位

8位

指定 datab[] 端口的寬度。

“結果”輸出的寬度應該如何確定?

類型

自動計算寬度
限制寬度

自動計算寬度

選擇所需的方法來確定 result[] 端口的寬度。

價值

1 – 512 位

16位

指定 result[] 端口的寬度。
只有在類型參數中選擇限制寬度時,此值才會有效。

結果寬度

1 – 512 位

顯示 result[] 端口的有效寬度。

4.7.2. 一般 2 選項卡

表 13. 常規 2 選項卡

範圍

數據輸入

“datab”輸入總線是否具有常數值?

否 是

價值

預設值

描述

選擇 Yes 以指定常量值

`datab' 輸入總線,如果有的話。

持續…

Intel FPGA 整數運算 IP 內核用戶指南 20

傳送回饋

4. LPM_MULT(乘法器)IP 內核 683490 | 2020.10.05

範圍

價值

價值

任何大於 0 的值

乘法類型

哪種類型

未簽名

你要乘法嗎? 簽

實施方式

應該使用哪個乘法器實現?

使用默認實現
使用專用乘法器電路
使用邏輯元素

預設值

描述

0

指定 datab[] 端口的常量值。

未簽名

指定 dataa[] 和 datab[] 輸入的表示格式。

使用默認實現

選擇所需的方法來確定 result[] 端口的寬度。

4.7.3. 流水線

表 14. 流水線選項卡

範圍

價值

你想流水線功能嗎?

管道

否 是

延遲清除信號類型

任何大於 0 的值。
無 ACLR SCLR

創建一個“clken”時鐘

使能時鐘

你想要什麼類型的優化?

類型

默認速度區域

預設值

描述

否 1 無

選擇是啟用流水線寄存器到乘法器的輸出。 啟用流水線寄存器會增加輸出的額外延遲。
以時鐘週期指定所需的輸出延遲。
指定流水線寄存器的複位類型。 如果您不使用任何流水線寄存器,請選擇 NONE。 選擇 ACLR 以對流水線寄存器使用異步清除。 這將生成 ACLR 端口。 選擇 SCLR 以對流水線寄存器使用同步清零。 這將生成 SCLR 端口。
為流水線寄存器的時鐘端口指定高電平有效時鐘使能

預設

為 IP 內核指定所需的優化。
選擇 Default 讓 Intel Quartus Prime 軟件確定 IP 內核的最佳優化。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 21

683490 | 2020.10.05 反饋意見

5. LPM_ADD_SUB(加法器/減法器)

圖 4.

LPM_ADD_SUB IP 核允許您實現一個加法器或減法器來加或減數據集以產生包含輸入值的和或差的輸出。

下圖顯示了 LPM_ADD_SUB IP 內核的端口。

LPM_ADD_SUB 端口

LPM_ADD_SUB add_sub cin

數據[]

時鐘 clken datab[] aclr

結果[]溢出計數

安裝

5.1. 特點
LPM_ADD_SUB IP 內核提供以下功能: · 生成加法器、減法器和可動態配置的加法器/減法器
職能。 · 支持1 位的數據寬度。 · 支持有符號和無符號等數據表示格式。 · 支持可選的進位(借位)、異步清零和時鐘使能
輸入端口。 · 支持可選的進位輸出(借位輸入)和溢出輸出端口。 · 將任一輸入數據總線分配給常量。 · 支持具有可配置輸出延遲的流水線。

英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。

ISO 9001:2015 註冊

5. LPM_ADD_SUB(加法器/減法器)683490 | 2020.10.05
5.2. Verilog HDL 原型
以下 Verilog HDL 原型位於 Verilog Design File (.v) lpm.v 在edasynthesis目錄。
模塊 lpm_add_sub(結果、cout、溢出、add_sub、cin、dataa、datab、時鐘、clken、aclr); 參數 lpm_type = “lpm_add_sub”; 參數 lpm_width = 1; 參數 lpm_direction = “未使用”; 參數 lpm_representation = “SIGNED”; 參數 lpm_pipeline = 0; 參數 lpm_hint = “未使用”; 輸入 [lpm_width-1:0] dataa, datab; 輸入 add_sub, cin; 輸入時鐘; 輸入時鐘; 輸入 aclr; 輸出 [lpm_width-1:0] 結果; 輸出cout,溢出; 終端模塊
5.3. VHDL 組件聲明
VHDL 組件聲明位於 VHDL Design File (.vhd) LPM_PACK.vhd 在librariesvhdllpm 目錄。
組件 LPM_ADD_SUB 通用(LPM_WIDTH:自然;
LPM_DIRECTION:字符串:=“未使用”; LPM_REPRESENTATION: string := “SIGNED”; LPM_PIPELINE:自然:= 0; LPM_TYPE:字符串:= L_ADD_SUB; LPM_HINT:字符串:=“未使用”); 端口(DATAA:在std_logic_vector(LPM_WIDTH-1 downto 0)中;DATAB:在std_logic_vector(LPM_WIDTH-1 downto 0)中;ACLR:在std_logic中:='0';CLOCK:在std_logic中:='0';CLKEN:在std_logic中:= '1'; CIN : in std_logic := 'Z'; ADD_SUB : in std_logic := '1'; RESULT : out std_logic_vector(LPM_WIDTH-1 downto 0); COUT : out std_logic; OVERFLOW : out std_logic); 結束組件;
5.4. VHDL LIBRARY_USE 聲明
如果您使用 VHDL 組件聲明,則不需要 VHDL LIBRARY-USE 聲明。
圖書館 lpm; 使用 lpm.lpm_components.all;
5.5. 連接埠
下表列出了 LPM_ADD_SUB IP 內核的輸入和輸出端口。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 23

5. LPM_ADD_SUB(加法器/減法器)683490 | 2020.10.05

表 15. LPM_ADD_SUB IP 內核輸入端口

連接埠名稱

必需的

描述

進位到低位。 對於加法運算,默認值為 0。對於

減法運算,默認值為1。

數據[]

是的

數據輸入。 輸入端口的大小取決於 LPM_WIDTH 參數值。

數據[]

是的

數據輸入。 輸入端口的大小取決於 LPM_WIDTH 參數值。

添加_訂閱

可選輸入端口可在加法器和減法器之間動態切換

職能。 如果使用 LPM_DIRECTION 參數,則不能使用 add_sub。 如果

省略,默認值為ADD。 英特爾建議您使用

LPM_DIRECTION參數指定LPM_ADD_SUB函數的操作,

而不是將常量分配給 add_sub 端口。

流水線使用的輸入。 時鐘端口為流水線提供時鐘輸入

手術。 對於 0(默認)以外的 LPM_PIPELINE 值,時鐘端口必須是

已啟用。

流水線使用的時鐘使能。 當 clken 端口置高時,加法器/

減法運算發生。 當信號為低時,不發生任何操作。 如果

省略,默認值為 1。

訪問控制寄存器

流水線使用的異步清除。 管道初始化為未定義 (X)

邏輯電平。 可以隨時使用 aclr 端口將管道重置為全 0,

與時鐘信號異步。

表 16. LPM_ADD_SUB IP 內核輸出端口

連接埠名稱

必需的

描述

結果[]

是的

數據輸出。 輸出端口的大小取決於 LPM_WIDTH 參數

價值。

庫特

最高有效位 (MSB) 的進位(借位)。 cout端口有一個物理

解釋為 MSB 的進出(借入)。 cout端口檢測

UNSIGNED 操作溢出。 cout 端口以相同的方式運行

SIGNED 和 UNSIGNED 操作。

溢出

可選的溢出異常輸出。 溢流口的物理解釋為

MSB 的進位與 MSB 的進位異或。 溢流口

當結果超過可用精度時斷言,並且僅在

LPM_REPRESENTATION 參數值為 SIGNED。

5.6。 參量

下表列出了 LPM_ADD_SUB IP 內核參數。

表 17. LPM_ADD_SUB IP 內核參數

參數名稱 LPM_WIDTH

類型整數

需要 是

描述
指定 dataa[]、datab[] 和 result[] 端口的寬度。

LPM_DIRECTION

細繩

值為 ADD、SUB 和 UNUSED。 如果省略,則默認值為 DEFAULT,指示參數從 add_sub 端口獲取其值。 如果使用 LPM_DIRECTION,則不能使用 add_sub 端口。 Intel 建議您使用 LPM_DIRECTION 參數來指定 LPM_ADD_SUB 函數的操作,而不是為 add_sub 端口分配一個常量。
持續…

Intel FPGA 整數運算 IP 內核用戶指南 24

傳送回饋

5. LPM_ADD_SUB(加法器/減法器)683490 | 2020.10.05

參數名稱 LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY

類型 字符串 整數 字符串 字符串 字符串 整數
細繩

需要 否 否 否 否 否

描述
指定執行的添加類型。 值為 SIGNED 和 UNSIGNED。 如果省略,則默認值為 SIGNED。 當此參數設置為 SIGNED 時,加法器/減法器將數據輸入解釋為帶符號的二進制補碼。
指定與 result[] 輸出關聯的延遲時鐘週期數。 零 (0) 值表示不存在延遲,並且將實例化純組合函數。 如果省略,默認值為 0(非流水線)。
允許您在 VHDL 設計中指定特定於英特爾的參數 files (.vhd)。 默認值為未使用。
標識 VHDL 設計中參數化模塊 (LPM) 實體名稱的庫 files.
英特爾特定參數。 VHDL設計中必須使用LPM_HINT參數指定ONE_INPUT_IS_CONSTANT參數 file秒。 值為 YES、NO 和 UNUSED。 如果一個輸入不變,則提供更好的優化。 如果省略,默認值為 NO。
英特爾特定參數。 VHDL設計中必須使用LPM_HINT參數指定MAXIMIZE_SPEED參數 file秒。 您可以指定 0 到 10 之間的值。如果使用, Intel Quartus Prime 軟件會嘗試優化 LPM_ADD_SUB 函數的特定實例以提高速度而不是可佈線性,並覆蓋 Optimization Technique 邏輯選項的設置。 如果未使用 MAXIMIZE_SPEED,則使用優化技術選項的值。 如果 MAXIMIZE_SPEED 的設置為 6 或更高,Compiler 使用進位鏈優化 LPM_ADD_SUB IP 內核以獲得更高的速度; 如果設置為 5 或更小,Compiler 會在沒有進位鏈的情況下實現設計。 僅當不使用 add_sub 端口時,必須為 Cyclone、Stratix 和 Stratix GX 器件指定此參數。
此參數用於建模和行為模擬目的。 參數編輯器計算該參數的值。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 25

683490 | 2020.10.05 反饋意見

6. LPM_COMPARE(比較器)

圖 5.

LPM_COMPARE IP 內核比較兩組數據的值以確定它們之間的關係。 在最簡單的形式中,您可以使用異或門來確定兩位數據是否相等。

下圖顯示了 LPM_COMPARE IP 內核的端口。

LPM_COMPARE 端口

LPM_比較

白蛋白

埃布

數據[]

阿格布

數據[]

年齡

阿內布

訪問控制寄存器

阿萊布

安裝

6.1. 特點
LPM_COMPARE IP 內核提供以下特性: · 生成一個比較器函數來比較兩組數據 · 支持 1 位數據寬度 · 支持數據表示格式,如有符號和無符號 · 產生以下輸出類型:
— alb(輸入 A 小於輸入 B) — aeb(輸入 A 等於輸入 B) — agb(輸入 A 大於輸入 B) — ageb(輸入 A 大於或等於輸入 B) — aneb (輸入 A 不等於輸入 B) — aleb(輸入 A 小於或等於輸入 B) · 支持可選的異步清除和時鐘使能輸入端口 · 將 datab[] 輸入分配給常量 · 支持具有可配置輸出延遲的流水線

英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。

ISO 9001:2015 註冊

6. LPM_COMPARE(比較器)683490 | 2020.10.05
6.2. Verilog HDL 原型
以下 Verilog HDL 原型位於 Verilog Design File (.v) lpm.v 在edasynthesis目錄。
模塊 lpm_compare(alb、aeb、agb、aleb、aneb、ageb、dataa、datab、clock、clken、aclr); 參數 lpm_type = “lpm_compare”; 參數 lpm_width = 1; 參數 lpm_representation = “UNSIGNED”; 參數 lpm_pipeline = 0; 參數 lpm_hint = “未使用”; 輸入 [lpm_width-1:0] dataa, datab; 輸入時鐘; 輸入時鐘; 輸入 aclr; 輸出 alb、aeb、agb、aleb、aneb、ageb; 終端模塊
6.3. VHDL 組件聲明
VHDL 組件聲明位於 VHDL Design File (.vhd) LPM_PACK.vhd 在librariesvhdllpm 目錄。
組件 LPM_COMPARE 通用(LPM_WIDTH:自然;
LPM_REPRESENTATION:字符串:=“未簽名”; LPM_PIPELINE:自然:= 0; LPM_TYPE:字符串:= L_COMPARE; LPM_HINT:字符串:=“未使用”); 端口(DATAA:在std_logic_vector(LPM_WIDTH-1 downto 0)中;DATAB:在std_logic_vector(LPM_WIDTH-1 downto 0)中;ACLR:在std_logic中:='0';CLOCK:在std_logic中:='0';CLKEN:在std_logic中:= '1'; AGB : out std_logic; AGEB : out std_logic; AEB : out std_logic; ANEB : out std_logic; ALB : out std_logic; ALEB : out std_logic); 結束組件;
6.4. VHDL LIBRARY_USE 聲明
如果您使用 VHDL 組件聲明,則不需要 VHDL LIBRARY-USE 聲明。
圖書館 lpm; 使用 lpm.lpm_components.all;
6.5. 連接埠
下表列出了 LMP_COMPARE IP 內核的輸入和輸出端口。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 27

6. LPM_COMPARE(比較器)683490 | 2020.10.05

表 18. LPM_COMPARE IP 內核輸入端口

連接埠名稱

必需的

描述

數據[]

是的

數據輸入。 輸入端口的大小取決於 LPM_WIDTH 參數值。

數據[]

是的

數據輸入。 輸入端口的大小取決於 LPM_WIDTH 參數值。

流水線使用的時鐘輸入。 時鐘端口為流水線提供時鐘輸入

手術。 對於 0(默認)以外的 LPM_PIPELINE 值,時鐘端口必須是

已啟用。

流水線使用的時鐘使能。 當 clken 端口置為高電平時,

比較操作發生。 當信號為低時,不發生任何操作。 如果

省略,默認值為 1。

訪問控制寄存器

流水線使用的異步清除。 管道初始化為未定義 (X) 邏輯

等級。 可以隨時使用 aclr 端口將管道重置為全 0,

與時鐘信號異步。

表 19. LPM_COMPARE IP 內核輸出端口

連接埠名稱

必需的

描述

白蛋白

比較器的輸出端口。 如果輸入 A 小於輸入 B 則置位。

埃布

比較器的輸出端口。 如果輸入 A 等於輸入 B,則置位。

阿格布

比較器的輸出端口。 如果輸入 A 大於輸入 B 則置位。

年齡

比較器的輸出端口。 如果輸入 A 大於或等於輸入則置位

B.

阿內布

比較器的輸出端口。 如果輸入 A 不等於輸入 B,則置位。

阿萊布

比較器的輸出端口。 如果輸入 A 小於或等於輸入 B,則置位。

6.6。 參量

下表列出了 LPM_COMPARE IP 內核的參數。

表 20. LPM_COMPARE IP 內核參數

參數名稱

類型

必需的

LPM_WIDTH

整數 是

LPM_REPRESENTATION

細繩

LPM_管道

整數 否

LPM_HINT 提示

細繩

描述
指定 dataa[] 和 datab[] 端口的寬度。
指定執行的比較類型。 值為 SIGNED 和 UNSIGNED。 如果省略,默認值為 UNSIGNED。 當此參數值設置為 SIGNED 時,比較器將數據輸入解釋為帶符號的二進制補碼。
指定與 alb、aeb、agb、ageb、aleb 或 aneb 輸出關聯的延遲時鐘週期數。 零 (0) 值表示不存在延遲,並且將實例化純組合函數。 如果省略,則默認值為 0(非流水線)。
允許您在 VHDL 設計中指定特定於英特爾的參數 files (.vhd)。 默認值為未使用。
持續…

Intel FPGA 整數運算 IP 內核用戶指南 28

傳送回饋

6. LPM_COMPARE(比較器)683490 | 2020.10.05
參數名稱 LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT

類型 字符串 字符串
細繩

需要 否 否

描述
標識 VHDL 設計中參數化模塊 (LPM) 實體名稱的庫 files.
此參數用於建模和行為模擬目的。 參數編輯器計算該參數的值。
英特爾特定參數。 VHDL設計中必須使用LPM_HINT參數指定ONE_INPUT_IS_CONSTANT參數 file秒。 值為 YES、NO 或 UNUSED。 如果輸入不變,則提供更好的優化。 如果省略,默認值為 NO。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 29

683490 | 2020.10.05 反饋意見

7. ALTECC(糾錯碼:編碼器/解碼器)IP核

圖 6.

Intel 提供 ALTECC IP 內核來實現 ECC 功能。 ECC 檢測數據傳輸期間在接收方發生的損壞數據。 這種糾錯方法最適用於錯誤隨機發生而不是突發發生的情況。

ECC 通過數據編碼和解碼過程檢測錯誤。 對於前amp例如,當 ECC 應用於傳輸應用程序時,從源讀取的數據在發送到接收器之前進行編碼。 編碼器的輸出(代碼字)由附加了奇偶校驗位數的原始數據組成。 附加的奇偶校驗位的確切數量取決於輸入數據中的位數。 然後將生成的代碼字傳輸到目的地。

接收器接收代碼字並對其進行解碼。 解碼器獲得的信息決定是否檢測到錯誤。 解碼器檢測單比特和雙比特錯誤,但只能修復損壞數據中的單比特錯誤。 這種類型的 ECC 是單錯誤糾正雙錯誤檢測 (SECDED)。

您可以配置 ALTECC IP 內核的編碼器和解碼器功能。 輸入到編碼器的數據被編碼以生成代碼字,該代碼字是數據輸入和生成的奇偶校驗位的組合。 生成的代碼字在到達其目標塊之前被傳輸到解碼器模塊進行解碼。 譯碼器生成校正子向量以確定接收到的碼字中是否有任何錯誤。 僅當單位錯誤來自數據位時,解碼器才糾正數據。 如果單位錯誤來自奇偶校驗位,則不會標記任何信號。 解碼器還具有標誌信號,用於顯示接收到的數據的狀態和解碼器採取的操作(如果有)。

下圖顯示了 ALTECC IP 內核的端口。

ALTECC 編碼器端口

ALTECC_ENCODER

數據[]

q[]

時鐘

訪問控制寄存器

安裝

英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。

ISO 9001:2015 註冊

7. ALTECC(糾錯碼:編碼器/解碼器)IP核683490 | 2020.10.05

圖 7. ALTECC 解碼器端口

ALTECC_解碼器

數據[]時鐘時鐘

q[] 錯誤檢測到錯誤更正
錯誤_致命

訪問控制寄存器

安裝

7.1. ALTECC 編碼器特性

ALTECC 編碼器 IP 內核提供以下特性: · 使用漢明編碼方案執行數據編碼 · 支持 2 位數據寬度 · 支持有符號和無符號數據表示格式 · 支持輸出延遲為一個或兩個時鐘週期的流水線 · 支持可選異步清除和時鐘使能端口

ALTECC 編碼器 IP 內核使用漢明編碼方案接收數據並對其進行編碼。 漢明編碼方案導出奇偶校驗位並將它們附加到原始數據以產生輸出碼字。 附加的奇偶校驗位數取決於數據的寬度。

下表列出了為不同數據寬度範圍附加的奇偶校驗位數。 Total Bits 列表示輸入數據位和附加奇偶校驗位的總數。

表 21.

根據數據寬度的奇偶校驗位數和代碼字

數據寬度

奇偶校驗位數

總位數(碼字)

2-4

3+1

6-8

5-11

4+1

10-16

12-26

5+1

18-32

27-57

6+1

34-64

58-64

7+1

66-72

奇偶校驗位推導使用偶校驗。 額外的 1 位(在表中顯示為 +1)作為碼字的 MSB 附加到奇偶校驗位。 這確保代碼字具有偶數個 1。 對於前ample,如果數據寬度為4位,則在數據後附加4個校驗位,成為一共8位的碼字。 如果 7 位代碼字的 LSB 開始的 8 位有奇數個 1,則代碼字的第 8 位 (MSB) 為 1,使得代碼字中 1 的總數為偶數。
下圖顯示了生成的代碼字以及奇偶校驗位和數據位在 8 位數據輸入中的排列。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 31

7. ALTECC(糾錯碼:編碼器/解碼器)IP核683490 | 2020.10.05

圖 8.

8位生成碼字中的奇偶校驗位和數據位排列

MSB

最低有效位

4 個奇偶校驗位

4 個資料位

8

1

ALTECC 編碼器 IP 內核一次僅接受 2 至 64 位的輸入寬度。 非常適合英特爾設備的 12 位、29 位和 64 位輸入寬度分別生成 18 位、36 位和 72 位的輸出。 您可以在參數編輯器中控制位選擇限制。

7.2. Verilog HDL 原型 (ALTECC_ENCODER)
以下 Verilog HDL 原型位於 Verilog Design File (.v) lpm.v 在edasynthesis目錄。
module altecc_encoder #( 參數 intended_device_family = “未使用”,參數 lpm_pipeline = 0,參數 width_codeword = 8,參數 width_dataword = 8,參數 lpm_type = “altecc_encoder”,參數 lpm_hint = “未使用”)(輸入線 aclr,輸入線時鐘,輸入wire clocken,輸入線 [width_dataword-1:0] 數據,輸出線 [width_codeword-1:0] q); 終端模塊

7.3. Verilog HDL 原型 (ALTECC_DECODER)
以下 Verilog HDL 原型位於 Verilog Design File (.v) lpm.v 在edasynthesis目錄。
module altecc_decoder #( 參數 intended_device_family = “未使用”,參數 lpm_pipeline = 0,參數 width_codeword = 8,參數 width_dataword = 8,參數 lpm_type = “altecc_decoder”,參數 lpm_hint = “未使用”)(輸入線 aclr,輸入線時鐘,輸入wire clocken,輸入線 [width_codeword-1:0] 數據,輸出線 err_corrected,輸出線 err_detected,輸出線 err_fatal,輸出線 [width_dataword-1:0] q); 終端模塊

Intel FPGA 整數運算 IP 內核用戶指南 32

傳送回饋

7. ALTECC(糾錯碼:編碼器/解碼器)IP核683490 | 2020.10.05
7.4. VHDL 組件聲明 (ALTECC_ENCODER)
VHDL 組件聲明位於 VHDL Design File (.vhd) altera_mf_components.vhd 在librariesvhdlaltera_mf 目錄。
組件altecc_encoder通用(intended_device_family:string:=“unused”;lpm_pipeline:natural:=0;width_codeword:natural:=8;width_dataword:natural:=8;lpm_hint:string:=“UNUSED”;lpm_type:string:=“altecc_encoder ”); 端口( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 downto 0); q:out std_logic_vector(width_codeword -1 下降到 0)); 結束組件;
7.5. VHDL 組件聲明 (ALTECC_DECODER)
VHDL 組件聲明位於 VHDL Design File (.vhd) altera_mf_components.vhd 在librariesvhdlaltera_mf 目錄。
組件altecc_decoder通用(intended_device_family:string:=“unused”;lpm_pipeline:natural:=0;width_codeword:natural:=8;width_dataword:natural:=8;lpm_hint:string:=“UNUSED”;lpm_type:string:=“altecc_decoder ”); 端口( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1 downto 0); err_corrected : out std_logic; err_detected : 輸出 std_logic; q: 輸出 std_logic_vector(width_dataword-1 downto 0); syn_e : 輸出 std_logic; 結束組件;
7.6. VHDL LIBRARY_USE 聲明
如果您使用 VHDL 組件聲明,則不需要 VHDL LIBRARY-USE 聲明。
庫 altera_mf; 使用 altera_mf.altera_mf_components.all;
7.7. 編碼器端口
下表列出了 ALTECC 編碼器 IP 內核的輸入和輸出端口。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 33

7. ALTECC(糾錯碼:編碼器/解碼器)IP核683490 | 2020.10.05

表 22. ALTECC 編碼器輸入端口

連接埠名稱

必需的

描述

數據[]

是的

數據輸入端口。 輸入端口的大小取決於 WIDTH_DATAWORD

參數值。 data[] 端口包含要編碼的原始數據。

是的

時鐘輸入端口,提供時鐘信號以同步編碼操作。

當 LPM_PIPELINE 值大於 0 時,需要時鐘端口。

時鐘

時鐘使能。 如果省略,默認值為 1。

訪問控制寄存器

異步清除輸入。 高電平有效 aclr 信號可隨時用於

異步清除寄存器。

表 23. ALTECC 編碼器輸出端口

端口名稱 q[]

需要 是

描述
編碼數據輸出端口。 輸出端口的大小取決於 WIDTH_CODEWORD 參數值。

7.8. 解碼器端口

下表列出了 ALTECC 解碼器 IP 內核的輸入和輸出端口。

表 24. ALTECC 解碼器輸入端口

連接埠名稱

必需的

描述

數據[]

是的

數據輸入端口。 輸入端口的大小取決於 WIDTH_CODEWORD 參數值。

是的

時鐘輸入端口,提供時鐘信號以同步編碼操作。 當 LPM_PIPELINE 值大於 0 時,需要時鐘端口。

時鐘

時鐘使能。 如果省略,默認值為 1。

訪問控制寄存器

異步清除輸入。 高電平有效 aclr 信號可隨時用於異步清除寄存器。

表 25. ALTECC 解碼器輸出端口

端口名稱 q[]

需要 是

描述
解碼數據輸出端口。 輸出端口的大小取決於 WIDTH_DATAWORD 參數值。

err_detected 是

標誌信號反映接收到的數據的狀態並指定發現的任何錯誤。

err_correcte 是 d

標誌信號反映接收到的數據的狀態。 表示發現並糾正了單位錯誤。 您可以使用該數據,因為它已被更正。

錯誤_致命

是的

標誌信號反映接收到的數據的狀態。 表示發現雙位錯誤,但未更正。 如果斷言此信號,則不得使用數據。

同義詞

每當在奇偶校驗上檢測到一位錯誤時,輸出信號就會變高

位元.

7.9. 編碼器參數
下表列出了 ALTECC 編碼器 IP 核的參數。

Intel FPGA 整數運算 IP 內核用戶指南 34

傳送回饋

7. ALTECC(糾錯碼:編碼器/解碼器)IP核683490 | 2020.10.05

表 26. ALTECC 編碼器參數

參數名稱

類型

必需的

描述

WIDTH_DATAWORD

整數 是

指定原始數據的寬度。 值介於 2 到 64 之間。如果省略,則默認值為 8。

WIDTH_CODEWORD

整數 是

指定相應碼字的寬度。 有效值為 6 到 72,不包括 9、17、33 和 65。如果省略,則默認值為 13。

LPM_管道

整數 否

指定電路的管道。 值介於 0 到 2 之間。如果值為 0,則端口未註冊。 如果值為 1,則輸出端口已註冊。 如果值為 2,則註冊輸入和輸出端口。 如果省略,默認值為 0。

7.10. 解碼器參數

下表列出了 ALTECC 解碼器 IP 內核參數。

表 27. ALTECC 解碼器參數

參數名稱 WIDTH_DATAWORD

類型整數

必需的

描述

是的

指定原始數據的寬度。 值為 2 到 64。

默認值為 8。

WIDTH_CODEWORD

整數

是的

指定相應碼字的寬度。 值為 6

到 72,不包括 9、17、33 和 65。如果省略,默認值

是 13。

LPM_管道

整數

指定電路的寄存器。 值從 0 到 2。如果

值為 0,沒有實現寄存器。 如果值為 1,則

輸出被註冊。 如果值為 2,則輸入和

輸出被註冊。 如果該值大於 2,則附加

寄存器在輸出端實現,用於額外的

延遲。 如果省略,默認值為 0。

創建一個“syn_e”端口

整數

打開此參數以創建一個 syn_e 端口。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 35

683490 | 2020.10.05 反饋意見

8. Intel FPGA 乘法加法器 IP 核

圖 9.

英特爾 FPGA 乘法加法器(英特爾 Stratix 10、英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備)或 ALTERA_MULT_ADD(Arria V、Stratix V 和 Cyclone V 設備)IP 核允許您實現乘法器-加法器。

下圖顯示了 Intel FPGA Multiply Adder 或 ALTERA_MULT_ADD IP 內核的端口。

英特爾 FPGA 乘加器或 ALTERA_MULT_ADD 端口

英特爾 FPGA 乘法加法器或 ALTERA_MULT_ADD

dataa[]signadatab[]signbdatac[]coefsel0[]coefsel1[]coefsel2[]coefsel3[]addnsub1addnsub3aclr/sclr[]scanina[]clock0clock1clock2ena0ena1ena2sload_accum
Accum_sload chainin[]

scanouta[] 結果[]

aclr0 aclr1

安裝
乘加器接受成對的輸入,將值相乘,然後與所有其他對的乘積相加或相減。
如果所有輸入數據寬度都是 9 位寬或更小,則該函數在支持 9 x 9 配置的設備的 DSP 模塊中使用 9 x 9 位輸入乘法器配置。 如果不是,則 DSP 模塊使用 18 × 18 位輸入乘法器來處理寬度在 10 位和 18 位之間的數據。 如果設計中出現多個 Intel FPGA Multiply Adder 或 ALTERA_MULT_ADD IP 內核,則功能將分配給

英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。

ISO 9001:2015 註冊

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05
盡可能多的不同 DSP 塊,以便路由到這些塊更加靈活。 每個 DSP 模塊更少的乘法器通過最小化到設備其餘部分的路徑允許更多路由選擇進入模塊。
以下信號的寄存器和額外流水線寄存器也放置在 DSP 塊內: · 數據輸入 · 有符號或無符號選擇 · 加或減選擇 · 乘法器的乘積
在輸出結果的情況下,第一個寄存器放在 DSP 塊中。 然而,額外的延遲寄存器放置在塊外的邏輯元素中。 DSP 模塊的外設,包括乘法器的數據輸入、控制信號輸入和加法器的輸出,使用常規路由與設備的其餘部分進行通信。 函數中的所有連接都使用 DSP 塊內的專用路由。 當您選擇將乘法器的寄存輸入數據從一個乘法器轉移到相鄰乘法器的選項時,此專用佈線包括移位寄存器鏈。
有關任何 Stratix V 和 Arria V 器件系列中 DSP 模塊的更多信息,請參考文獻和技術文檔頁面上相應手冊的 DSP 模塊章節。
相關鏈接 AN 306:在 FPGA 設備中實現乘法器
提供有關在英特爾 FPGA 設備中使用 DSP 和內存塊實現乘法器的更多信息。
8.1. 特點
Intel FPGA 乘法加法器或 ALTERA_MULT_ADD IP 核提供以下特性: · 生成乘法器以執行兩個複數的乘法運算
numbers 注意:當構建大於本機支持的大小的乘法器時,可能/
DSP 塊的級聯將對性能產生影響。 · 支持 1 256 位的數據寬度 · 支持有符號和無符號數據表示格式 · 支持具有可配置輸入延遲的流水線 · 提供在有符號和無符號數據支持之間動態切換的選項 · 提供在加法和減法操作之間動態切換的選項 · 支持可選的異步和同步清除和時鐘使能輸入端口·支持收縮延遲寄存器模式·支持每個乘法器具有 8 個預加載係數的預加器·支持預加載常數以補充累加器反饋

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 37

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

8.1.1. 預加器
對於預加器,加法或減法是在饋入乘法器之前完成的。
有五種預加器模式: · 簡單模式 · 係數模式 · 輸入模式 · 平方模式 · 常數模式

筆記:

使用預加器時(預加器係數/輸入/平方模式),乘法器的所有數據輸入必須具有相同的時鐘設置。

8.1.1.1。 預加器簡單模式

在這種模式下,兩個操作數都來自輸入端口,並且不使用或繞過預加器。 這是默認模式。

圖 10. 預加器簡單模式
a0 b0

多0

結果

8.1.1.2。 預加器係數模式
在這種模式下,一個乘法器操作數來自預加器,另一個操作數來自內部係數存儲。 係數存儲最多允許 8 個預設常數。 係數選擇信號是 coefsel[0..3]。
該模式用下式表示。

下面顯示了乘法器的預加器係數模式。

圖 11. 預加器係數模式

佈道器

a0

多0

+/-

結果

b0

coefsel0 係數

Intel FPGA 整數運算 IP 內核用戶指南 38

傳送回饋

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05
8.1.1.3. 預加器輸入模式 在此模式下,一個乘法器操作數來自預加器,另一個操作數來自 datac[] 輸入端口。 該模式用下式表示。

下面顯示了乘法器的預加器輸入模式。

圖 12. 預加器輸入模式
a0 b0

多0

+/-

結果

c0

8.1.1.4。 預加器方波模式 該模式用下式表示。

下面顯示了兩個乘法器的預加器平方模式。

圖 13. 預加器平方模式
a0 b0

多0

+/-

結果

8.1.1.5。 預加器常量模式
在這種模式下,一個乘法器操作數來自輸入端口,另一個操作數來自內部係數存儲。 係數存儲最多允許 8 個預設常數。 係數選擇信號是 coefsel[0..3]。
該模式用下式表示。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 39

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

下圖顯示了乘法器的預加器常數模式。

圖 14. 預加器常量模式
a0

多0

結果

係數0
係數
8.1.2. 收縮延遲寄存器
在脈動架構中,輸入數據被送入充當數據緩衝器的級聯寄存器。 每個寄存器傳遞一個輸入 sample 到乘數,乘以相應的係數。 鏈加法器存儲逐漸組合的乘法器結果和先前從 chainin[] 輸入端口註冊的結果,以形成最終結果。 每個乘加元素都必須延遲一個週期,以便在將結果加在一起時適當地同步。 每個連續的延遲都用於尋址係數存儲器和它們各自的乘加元素的數據緩衝器。 對於前ample,第二個乘加元素的單個延遲,第三個乘加元素的兩個延遲,依此類推。
圖 15. 脈動寄存器
收縮寄存器

x(t) c(0)

S -1

S -1

丙(1)

S -1

S -1

丙(2)

S -1

S -1

c(N-1)

S -1

S -1

S -1

S -1 y(t)

x(t) 表示來自連續輸入流 s 的結果amples 和 y(t)
表示一組輸入 s 的總和amples,並及時乘以他們的
各自的係數。 輸入和輸出結果都從左向右流動。 c(0)到c(N-1)表示係數。 收縮延遲寄存器由 S-1 表示,而 1 表示單個時鐘延遲。 收縮延遲寄存器被添加在
輸入和輸出流水線的方式,以確保從結果
乘數操作數和累加和保持同步。 這個處理元素
被複製以形成計算濾波函數的電路。 這個功能是
用下式表示。

Intel FPGA 整數運算 IP 內核用戶指南 40

傳送回饋

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

N表示進入累加器的數據循環次數,y(t)表示時間t的輸出,A(t)表示時間t的輸入,B(i)為係數。 等式中的 t 和 i 對應於特定的時刻,因此要計算輸出 sample y(t) 在時間 t,一組輸入 sampN個不同時間點的文件,或者需要A(n), A(n-1), A(n-2), ... A(n-N+1)。 N 個輸入的組amples乘以N個係數並加在一起形成最終結果y。
脈動寄存器架構僅適用於 2 和和 4 模式。 對於兩種脈動寄存器架構模式,第一個 chainin 信號需要綁定到 0。
下圖顯示了 2 個乘法器的收縮延遲寄存器實現。
圖 16. 2 個乘法器的收縮延遲寄存器實現
連鎖

a0

多0

+/-

b0

a1

多1

+/-

b1

結果
兩個乘數之和用下式表示。
下圖顯示了 4 個乘法器的收縮延遲寄存器實現。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 41

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

圖 17. 4 個乘法器的收縮延遲寄存器實現
連鎖

a0

多0

+/-

b0

a1

多1

+/-

b1

a2

多2

+/-

b2

a3

多3

+/-

b3

結果
四個乘法器的總和表示為以下等式。 圖 18. 4 個乘法器的總和
下面列出了advantag脈動寄存器實現的 es: · 減少 DSP 資源使用 · 使用鏈加法器結構在 DSP 塊中實現高效映射

Intel FPGA 整數運算 IP 內核用戶指南 42

傳送回饋

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

8.1.3. 預載常數
預加載常量控制累加器操作數並補充累加器反饋。 有效的 LOADCONST_VALUE 範圍為 0。常量值等於 64N,其中 N = LOADCONST_VALUE。 當 LOADCONST_VALUE 設置為 2 時,常量值等於 64。此函數可用作偏置舍入。
下圖顯示了預加載常量的實現。
圖 19. 預載常量

蓄能器反饋

持續的

a0

多0

+/-

b0

a1

多1

+/b1

結果

累積負載 sload_accum

其他乘法器實現請參考以下 IP 內核: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. 雙蓄能器
雙累加器功能在累加器反饋路徑中添加了一個額外的寄存器。 雙累加器寄存器位於輸出寄存器之後,其中包括時鐘、時鐘使能和 aclr。 附加累加器寄存器以一個週期延遲返回結果。 此功能使您能夠擁有兩個具有相同資源計數的累加器通道。
下圖顯示了雙累加器的實現。

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 43

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

圖 20. 雙累加器

雙累加器寄存器

累加器反饋

a0

多0

+/-

b0

a1

多1

+/b1

輸出結果 輸出寄存器

8.2. Verilog HDL 原型
您可以找到 Intel FPGA Multiply Adder 或 ALTERA_MULT_ADD Verilog HDL 原型 file (altera_mult_add_rtl.v) 在librariesmegafunctions 目錄。
8.3. VHDL 組件聲明
VHDL 組件聲明位於 altera_lnsim_components.vhd 中librariesvhdl altera_lnsim 目錄。
8.4. VHDL LIBRARY_USE 聲明
如果您使用 VHDL 組件聲明,則不需要 VHDL LIBRARY-USE 聲明。
庫 altera_mf; 使用 altera_mf.altera_mf_components.all;

8.5. 信號

下表列出了 Multiply Adder Intel FPGA IP 或 ALTERA_MULT_ADD IP 內核的輸入和輸出信號。

表 28. 乘法加法器英特爾 FPGA IP 或 ALTERA_MULT_ADD 輸入信號

訊號

必需的

描述

數據a_0[]/數據a_1[]/

是的

數據a_2[]/數據a_3[]

乘法器的數據輸入。 輸入端口 [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] 寬
持續…

Intel FPGA 整數運算 IP 內核用戶指南 44

傳送回饋

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

信號 datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] 時鐘[1:0] aclr[1:0] sclr[1:0] ena [1:0] 信號
標誌b
掃描[] accum_sload

需要 是 否
不不不不不

否 否

描述
此 IP 的仿真模型支持這些信號的未確定輸入值 (X)。 當您為這些信號提供 X 值時,X 值將在輸出信號上傳播。
乘法器的數據輸入。 輸入信號 [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] 寬 該 IP 的仿真模型支持這些信號的未確定輸入值 (X)。 當您為這些信號提供 X 值時,X 值會在輸出信號上傳播。
乘法器的數據輸入。 輸入信號 [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] wide 為 Select preadder mode 參數選擇 INPUT 以啟用這些信號。 此 IP 的仿真模型支持這些信號的未確定輸入值 (X)。 當您為這些信號提供 X 值時,X 值會在輸出信號上傳播。
時鐘輸入端口到相應的寄存器。 IP 內核中的任何寄存器都可以使用該信號。 此 IP 的仿真模型支持這些信號的未確定輸入值 (X)。 當您為這些信號提供 X 值時,X 值會在輸出信號上傳播。
異步清零輸入到相應的寄存器。 此 IP 的仿真模型支持這些信號的未確定輸入值 (X)。 當您為這些信號提供 X 值時,X 值會在輸出信號上傳播。
同步清零輸入到相應的寄存器。 此 IP 的仿真模型支持這些信號的未確定輸入值 X。 當您為這些信號提供 X 值時,X 值將在輸出信號上傳播
使能信號輸入到相應的寄存器。 此 IP 的仿真模型支持這些信號的未確定輸入值 (X)。 當您為這些信號提供 X 值時,X 值會在輸出信號上傳播。
指定乘法器輸入 A 的數值表示。如果 signa 信號為高,則乘法器將乘法器輸入 A 信號視為有符號數。 如果 signa 信號為低電平,則乘法器將乘法器輸入 A 信號視為無符號數。 為 What is the representation format for Multipliers A inputs 參數選擇 VARIABLE 以啟用此信號。 此 IP 的仿真模型支持此信號的未確定輸入值 (X)。 當您為此輸入提供 X 值時,X 值將在輸出信號上傳播。
指定乘法器輸入 B 信號的數字表示。 如果 signb 信號為高電平,則乘法器將乘法器輸入 B 信號視為帶符號的二進制補碼。 如果 signb 信號為低電平,則乘法器將乘法器輸入 B 信號視為無符號數。 此 IP 的仿真模型支持此信號的未確定輸入值 (X)。 當您為此輸入提供 X 值時,X 值將在輸出信號上傳播。
掃描鏈 A 的輸入。輸入信號 [WIDTH_A – 1, … 0] 寬。 當 INPUT_SOURCE_A 參數的值為 SCANA 時,需要 scanina[] 信號。
動態指定累加器值是否恆定。 如果 accum_sload 信號為低電平,則乘法器輸出加載到累加器中。 不要同時使用 accum_sload 和 sload_accum。
持續…

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 45

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

信號 sload_accum
chainin[] addnsub1
添加子3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]

必填 否
否 否

不不不不

描述
此 IP 的仿真模型支持此信號的未確定輸入值 (X)。 當您為此輸入提供 X 值時,X 值將在輸出信號上傳播。
動態指定累加器值是否恆定。 如果 sload_accum 信號為高,則乘法器輸出加載到累加器中。 不要同時使用 accum_sload 和 sload_accum。 此 IP 的仿真模型支持此信號的未確定輸入值 (X)。 當您為此輸入提供 X 值時,X 值將在輸出信號上傳播。
來自前面 s 的加法器結果輸入總線tage. 輸入信號 [WIDTH_CHAININ – 1, … 0] 寬。
對第一對乘法器的輸出執行加法或減法。 輸入 1 到 addnsub1 信號以添加第一對乘法器的輸出。 輸入 0 到 addnsub1 信號以減去第一對乘法器的輸出。 此 IP 的仿真模型支持此信號的未確定輸入值 (X)。 當您為此輸入提供 X 值時,X 值將在輸出信號上傳播。
對第一對乘法器的輸出執行加法或減法。 輸入 1 到 addnsub3 信號以添加第二對乘法器的輸出。 輸入 0 到 addnsub3 信號以減去第一對乘法器的輸出。 此 IP 的仿真模型支持此信號的未確定輸入值 (X)。 當您為此輸入提供 X 值時,X 值將在輸出信號上傳播。
係數輸入信號[0:3]到第一個乘法器。 此 IP 的仿真模型支持此信號的未確定輸入值 (X)。 當您為此輸入提供 X 值時,X 值將在輸出信號上傳播。
係數輸入信號[0:3]到第二個乘法器。 此 IP 的仿真模型支持此信號的未確定輸入值 (X)。 當您為此輸入提供 X 值時,X 值將在輸出信號上傳播。
係數輸入信號[0:3]到第三個乘法器。 此 IP 的仿真模型支持此信號的未確定輸入值 (X)。 當您為此輸入提供 X 值時,X 值將在輸出信號上傳播。
係數輸入信號[0:3]到第四個乘法器。 此 IP 的仿真模型支持此信號的未確定輸入值 (X)。 當您為此輸入提供 X 值時,X 值將在輸出信號上傳播。

表 29. 乘加器 Intel FPGA IP 輸出信號

訊號

必需的

描述

結果 []

是的

乘法器輸出信號。 輸出信號 [WIDTH_RESULT – 1 … 0] 寬

此 IP 的仿真模型支持未確定的輸出值 (X)。 當您提供 X 值作為輸入時,X 值將在此信號上傳播。

掃描[]

掃描鏈 A 的輸出。輸出信號 [WIDTH_A – 1..0] 寬。

為乘法器的數量選擇大於 2,並為 What is the input A of the multiplier connected to parameter 選擇 Scan chain input 以啟用此信號。

Intel FPGA 整數運算 IP 內核用戶指南 46

傳送回饋

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

8.6。 參量

8.6.1. 常規選項卡

表 30. 常規選項卡

範圍

IP 生成參數

價值

乘數是多少?

number_of_m 1 – 4 個乘數

A width_a 輸入總線應該有多寬?

1 – 256

B width_b 輸入總線應該有多寬?

1 – 256

“結果”輸出總線應該有多寬?

寬度_結果

1 – 256

為每個時鐘創建關聯的時鐘使能

gui_associate 開啟 d_clock_enab 關閉 e

8.6.2. 額外模式選項卡

表 31. 額外模式選項卡

範圍

IP 生成參數

價值

輸出配置

加法器單元的寄存器輸出

gui_output_re 開啟

吉斯特

離開

時鐘輸入的來源是什麼?

gui_output_register_clock

時鐘 0 時鐘 1 時鐘 2

異步清除輸入的來源是什麼?

gui_output_register_aclr

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_output_register_sclr

無 SCLR0 SCLR1

加法運算

應該對第一對乘法器的輸出執行什麼操作?

gui_multiplier 1_direction

添加、子、變量

默認值 1
16

描述
要加在一起的乘數數。 值為 1 到 4。指定 dataa[] 端口的寬度。

16

指定 datab[] 端口的寬度。

32

指定 result[] 端口的寬度。

離開

選擇此選項以創建時鐘使能

對於每個時鐘。

預設值

描述

關閉時鐘0
無 無

選擇此選項以啟用加法器模塊的輸出寄存器。
選擇 Clock0 、 Clock1 或 Clock2 以啟用並指定輸出寄存器的時鐘源。 您必須選擇 Register output of the adder unit 以啟用此參數。
指定加法器輸出寄存器的異步清零源。 您必須選擇 Register output of the adder unit 以啟用此參數。
指定加法器輸出寄存器的同步清零源。 您必須選擇 Register output of the adder unit 以啟用此參數。

添加

選擇要對第一個和第二個乘法器之間的輸出執行加法或減法運算。
· 選擇ADD 進行加法運算。
· 選擇SUB 進行減法運算。
· 選擇 VARIABLE 以使用 addnsub1 端口進行動態加法/減法控制。
持續…

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 47

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

範圍

IP 生成參數

價值

註冊 'addnsub1' 輸入

gui_addnsub_ 開啟 multiplier_reg 關閉 ister1

時鐘輸入的來源是什麼?

gui_addnsub_ multiplier_reg ister1_clock

時鐘 0 時鐘 1 時鐘 2

異步清除輸入的來源是什麼?

gui_addnsub_ multiplier_aclr 1

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_addnsub_ multiplier_sclr 1

無 SCLR0 SCLR1

應該對第二對乘法器的輸出執行什麼操作?

gui_multiplier 3_direction

添加、子、變量

註冊 'addnsub3' 輸入

gui_addnsub_ 開啟 multiplier_reg 關閉 ister3

時鐘輸入的來源是什麼?

gui_addnsub_ multiplier_reg ister3_clock

時鐘 0 時鐘 1 時鐘 2

預設值
關閉時鐘 0 無 無 添加
關閉時鐘0

描述
選擇 VARIABLE 值時: · 將 addnsub1 信號驅動為高電平
加法運算。 · 將 addnsub1 信號驅動為低電平
減法運算。 您必須選擇兩個以上的乘法器才能啟用此參數。
選擇此選項以啟用 addnsub1 端口的輸入寄存器。 您必須為應該對第一對乘法器的輸出執行什麼操作選擇 VARIABLE 以啟用此參數。
選擇 Clock0 、 Clock1 或 Clock2 以指定 addnsub1 寄存器的輸入時鐘信號。 您必須選擇註冊“addnsub1”輸入以啟用此參數。
指定 addnsub1 寄存器的異步清零源。 您必須選擇註冊“addnsub1”輸入以啟用此參數。
指定 addnsub1 寄存器的同步清零源。 您必須選擇註冊“addnsub1”輸入以啟用此參數。
選擇加法或減法運算以對第三和第四乘法器之間的輸出執行。 · 選擇ADD進行加法
手術。 · 選擇SUB進行減法
手術。 · 選擇VARIABLE使用addnsub1
用於動態加法/減法控制的端口。 選擇 VARIABLE 值時: · 將 addnsub1 信號驅動為高電平以進行加法運算。 · 將addnsub1 信號驅動為低電平以進行減法運算。 您必須為乘數的數量選擇值 4? 啟用此參數。
選擇此選項以啟用 addnsub3 信號的輸入寄存器。 您必須為應該對第二對乘法器的輸出執行的操作選擇 VARIABLE 以啟用此參數。
選擇 Clock0 、 Clock1 或 Clock2 以指定 addnsub3 寄存器的輸入時鐘信號。 您必須選擇 Register 'addnsub3' input 才能啟用此參數。
持續…

Intel FPGA 整數運算 IP 內核用戶指南 48

傳送回饋

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

範圍
異步清除輸入的來源是什麼?

IP 生成參數

價值

gui_addnsub_ multiplier_aclr 3

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_addnsub_ multiplier_sclr 3

無 SCLR0 SCLR1

極性啟用`use_subadd'

gui_use_subn 開啟

添加

離開

8.6.3. 乘數選項卡

表 32. 乘數選項卡

範圍

IP 生成參數

價值

什麼是

gui_代表

表示格式ation_a

對於乘法器 A 輸入?

有符號、無符號、可變

註冊“signa”輸入

gui_register_s 打開

伊格納

離開

時鐘輸入的來源是什麼?

gui_register_s igna_clock

時鐘 0 時鐘 1 時鐘 2

異步清除輸入的來源是什麼?

gui_register_s igna_aclr

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_register_s igna_sclr

無 SCLR0 SCLR1

什麼是

gui_代表

表示格式ation_b

對於乘法器 B 輸入?

有符號、無符號、可變

註冊`signb'輸入

gui_register_s 打開

點火器

離開

默認值 無
沒有任何

描述
指定 addnsub3 寄存器的異步清零源。 您必須選擇註冊“addnsub3”輸入以啟用此參數。
指定 addnsub3 寄存器的同步清零源。 您必須選擇 Register 'addnsub3' input 才能啟用此參數。

離開

選擇此選項以反轉功能

addnsub 輸入端口。

將 addnsub 驅動為高電平以進行減法運算。

將 addnsub 驅動為低電平以進行加法操作。

預設值

描述

UNSIGNED 指定乘法器 A 輸入的表示格式。

離開

選擇此選項以啟用信號

登記。

您必須為乘法器 A 輸入的表示格式是什麼選擇 VARIABLE 值? 啟用此選項的參數。

時鐘0

選擇 Clock0 、 Clock1 或 Clock2 以啟用並指定 signa 寄存器的輸入時鐘信號。
您必須選擇 Register `signa' input 以啟用此參數。

沒有任何

指定 signa 寄存器的異步清零源。
您必須選擇 Register `signa' input 以啟用此參數。

沒有任何

指定 signa 寄存器的同步清零源。
您必須選擇 Register `signa' input 以啟用此參數。

UNSIGNED 指定乘法器 B 輸入的表示格式。

離開

選擇此選項以啟用 signb

登記。

持續…

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 49

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

範圍

IP 生成參數

價值

預設值

時鐘輸入的來源是什麼?

gui_register_s ignb_clock

時鐘 0 時鐘 1 時鐘 2

時鐘0

異步清除輸入的來源是什麼?

gui_register_s ignb_aclr

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_register_s ignb_sclr

無 SCLR0 SCLR1

輸入配置
乘法器的寄存器輸入 A
時鐘輸入的來源是什麼?

gui_input_reg 打開

姐妹

離開

gui_input_reg ister_a_clock

時鐘 0 時鐘 1 時鐘 2

無 無
關閉時鐘0

異步清除輸入的來源是什麼?

gui_input_register_a_aclr

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_input_register_a_sclr

無 SCLR0 SCLR1

乘法器的寄存器輸入 B
時鐘輸入的來源是什麼?

gui_input_reg 打開

伊斯特_b

離開

gui_input_reg ister_b_clock

時鐘 0 時鐘 1 時鐘 2

無 無 關閉時鐘 0

異步清除輸入的來源是什麼?

gui_input_register_b_aclr

無 ACLR0 ACLR1

沒有任何

同步清除輸入的來源是什麼?

gui_input_reg ister_b_sclr

無 SCLR0 SCLR1

沒有任何

乘法器的輸入 A 連接到什麼?

gui_multiplier 乘數輸入乘數

_a_輸入

掃描鏈輸入輸入

描述
您必須為 What is the representation format for Multipliers B inputs 選擇 VARIABLE 值? 啟用此選項的參數。
選擇 Clock0 、 Clock1 或 Clock2 以啟用並指定 signb 寄存器的輸入時鐘信號。 您必須選擇 Register `signb' input 以啟用此參數。
指定 signb 寄存器的異步清零源。 您必須選擇 Register `signb' input 以啟用此參數。
指定 signb 寄存器的同步清零源。 您必須選擇 Register `signb' input 以啟用此參數。
選擇此選項以啟用數據輸入總線的輸入寄存器。
選擇 Clock0 、 Clock1 或 Clock2 以啟用和指定數據 a 輸入總線的寄存器輸入時鐘信號。 您必須選擇 Register input A of the multiplier 以啟用此參數。
指定數據 a 輸入總線的寄存器異步清零源。 您必須選擇 Register input A of the multiplier 以啟用此參數。
指定數據 a 輸入總線的寄存器同步清零源。 您必須選擇 Register input A of the multiplier 以啟用此參數。
選擇此選項以啟用數據輸入總線的輸入寄存器。
選擇 Clock0 、 Clock1 或 Clock2 以啟用和指定數據輸入總線的寄存器輸入時鐘信號。 您必須選擇乘法器的寄存器輸入 B 才能啟用此參數。
指定數據輸入總線的寄存器異步清除源。 您必須選擇乘法器的寄存器輸入 B 才能啟用此參數。
指定數據輸入總線的寄存器同步清除源。 您必須選擇乘法器的寄存器輸入 B 才能啟用此參數。
選擇乘法器輸入 A 的輸入源。
持續…

Intel FPGA 整數運算 IP 內核用戶指南 50

傳送回饋

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

範圍

IP 生成參數

價值

掃描 A 寄存器配置

掃描鏈的寄存器輸出

gui_scanouta 開啟

_登記

離開

時鐘輸入的來源是什麼?

gui_scanouta _register_clock k

時鐘 0 時鐘 1 時鐘 2

異步清除輸入的來源是什麼?

gui_scanouta_register_aclr

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_scanouta_register_sclr

無 SCLR0 SCLR1

8.6.4. 標籤頁

表 33. 分佈器選項卡

範圍

IP 生成參數

價值

選擇預加器模式

preadder_mode

簡單、係數、輸入、平方、常數

預設值

描述
選擇乘法器輸入以使用數據輸入總線作為乘法器的源。 選擇 Scan chain input 以使用 scanin 輸入總線作為乘法器的源並啟用 scanout 輸出總線。 當您為乘法器的數量選擇 2、3 或 4 時,此參數可用。 範圍。

關閉時鐘 0 無 無

選擇此選項以啟用 scanouta 輸出總線的輸出寄存器。
您必須為 What is the input A of the multiplier connected to? 選擇 Scan chain input? 啟用此選項的參數。
選擇 Clock0 、 Clock1 或 Clock2 以啟用和指定 scanouta 輸出總線的寄存器輸入時鐘信號。
您必須打開 Register output of the scan chain parameter 以啟用此選項。
指定 scanouta 輸出總線的寄存器異步清除源。
您必須打開 Register output of the scan chain parameter 以啟用此選項。
指定 scanouta 輸出總線的寄存器同步清除源。
您必須選擇 Register output of the scan chain parameter 以啟用此選項。

預設值
簡單的

描述
指定預加器模塊的操作模式。 SIMPLE:此模式繞過預加器。 這是默認模式。 COEF:此模式使用預加器和 coefsel 輸入總線的輸出作為乘法器的輸入。 輸入:此模式使用預加器和數據輸入總線的輸出作為乘法器的輸入。 SQUARE:此模式使用預加器的輸出作為乘法器的輸入。
持續…

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 51

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

範圍

IP 生成參數

價值

選擇預加器方向

gui_preadder 添加,

_方向

子系統

C width_c 輸入總線應該有多寬?

1 – 256

數據 C 輸入寄存器配置

寄存器數據輸入

gui_datac_inp 打開

ut_寄存器

離開

時鐘輸入的來源是什麼?

gui_datac_inp ut_register_cl 鎖

時鐘 0 時鐘 1 時鐘 2

異步清除輸入的來源是什麼?

gui_datac_inp ut_register_a clr

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_datac_inp ut_register_sc lr

無 SCLR0 SCLR1

係數
係數寬度應該有多寬?

寬度係數

1 – 27

係數寄存器配置

註冊 coefsel 輸入

gui_coef_regi 打開

斯特爾

離開

時鐘輸入的來源是什麼?

gui_coef_regi ster_clock

時鐘 0 時鐘 1 時鐘 2

預設值
添加
16

描述
CONSTANT:此模式使用預加器旁路的數據輸入總線和 coefsel 輸入總線作為乘法器的輸入。
指定預加器的操作。 要啟用此參數,請為 Select preadder mode 選擇以下選項: · COEF · INPUT · SQUARE 或 · CONSTANT
指定 C 輸入總線的位數。 您必須為 Select preadder mode 選擇 INPUT 以啟用此參數。

在時鐘 0 無 無

選擇此選項以啟用 datac 輸入總線的輸入寄存器。 您必須將 INPUT 設置為 Select preadder mode 參數以啟用此選項。
選擇 Clock0 、 Clock1 或 Clock2 以指定 datac 輸入寄存器的輸入時鐘信號。 您必須選擇 Register datac input 以啟用此參數。
指定 datac 輸入寄存器的異步清零源。 您必須選擇 Register datac input 以啟用此參數。
指定 datac 輸入寄存器的同步清零源。 您必須選擇 Register datac input 以啟用此參數。

18

指定位數

coefsel 輸入總線。

您必須為預加器模式選擇 COEF 或 CONSTANT 才能啟用此參數。

在時鐘 0

選擇此選項以啟用 coefsel 輸入總線的輸入寄存器。 您必須為預加器模式選擇 COEF 或 CONSTANT 才能啟用此參數。
選擇 Clock0 、 Clock1 或 Clock2 以指定 coefsel 輸入寄存器的輸入時鐘信號。 您必須選擇 Register the coefsel input 以啟用此參數。
持續…

Intel FPGA 整數運算 IP 內核用戶指南 52

傳送回饋

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

範圍
異步清除輸入的來源是什麼?

IP 生成參數

價值

gui_coef_regi ster_aclr

無 ACLR0 ACLR1

同步清零輸入的來源是什麼

gui_coef_regi ster_sclr

無 SCLR0 SCLR1

Coefficient_0 配置

coef0_0 到 coef0_7

0x00000 0xFFFFFFF

Coefficient_1 配置

coef1_0 到 coef1_7

0x00000 0xFFFFFFF

Coefficient_2 配置

coef2_0 到 coef2_7

0x00000 0xFFFFFFF

Coefficient_3 配置

coef3_0 到 coef3_7

0x00000 0xFFFFFFF

8.6.5. 累加器選項卡

表 34. 累加器選項卡

範圍

IP 生成參數

價值

啟用累加器?

累加器

是的,沒有

什麼是累加器操作類型?

accum_directi 添加,

on

子系統

默認值 無
沒有任何
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0

描述
指定 coefsel 輸入寄存器的異步清零源。 您必須選擇 Register the coefsel input 以啟用此參數。
指定 coefsel 輸入寄存器的同步清零源。 您必須選擇 Register the coefsel input 以啟用此參數。
指定第一個乘數的係數值。 位數必須與係數寬度應多寬? 範圍。 您必須為預加器模式選擇 COEF 或 CONSTANT 才能啟用此參數。
指定第二個乘數的係數值。 位數必須與係數寬度應多寬? 範圍。 您必須為預加器模式選擇 COEF 或 CONSTANT 才能啟用此參數。
指定此第三個乘數的係數值。 位數必須與係數寬度應多寬? 範圍。 您必須為預加器模式選擇 COEF 或 CONSTANT 才能啟用此參數。
指定第四個乘法器的係數值。 位數必須與係數寬度應多寬? 範圍。 您必須為預加器模式選擇 COEF 或 CONSTANT 才能啟用此參數。

默認值 否
添加

描述
選擇 YES 啟用累加器。 使用累加器功能時,必須選擇加法器單元的寄存器輸出。
指定累加器的操作: · ADD 用於加法運算 · SUB 用於減法運算。 您必須為啟用累加器選擇是? 啟用此選項的參數。
持續…

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 53

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

範圍
Preload Constant 啟用預加載常量

IP 生成參數

價值

gui_ena_prelo 打開

廣告常量

離開

accumulate 端口的輸入連接到什麼?

gui_accumula ACCUM_SLOAD,te_port_select SLOAD_ACCUM

選擇預加載值 loadconst_val 0 – 64

持續的

ue

時鐘輸入的來源是什麼?

gui_accum_sl oad_register_clock

時鐘 0 時鐘 1 時鐘 2

異步清除輸入的來源是什麼?

gui_accum_sl oad_register_aclr

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_accum_sl oad_register_sclr

無 SCLR0 SCLR1

啟用雙累加器

gui_double_a 打開

累積

離開

預設值

描述

離開

啟用 accum_sload 或

sload_accum 信號和寄存器輸入

動態選擇輸入到

累加器。

當 accum_sload 為低或 sload_accum 時,乘法器輸出被送入累加器。

當 accum_sload 為高或 sload_accum 時,用戶指定的預加載常量被送入累加器。

您必須為啟用累加器選擇是? 啟用此選項的參數。

ACCUM_SL OAD

指定 accum_sload/sload_accum 信號的行為。
ACCUM_SLOAD:將 accum_sload 驅動為低電平以將乘法器輸出加載到累加器。
SLOAD_ACCUM:將 sload_accum 驅動為高電平以將乘法器輸出加載到累加器。
您必須選擇 Enable preload constant 選項以啟用此參數。

64

指定預設常數值。

該值可以是 2N,其中 N 是預設常量值。

當N=64時,代表常數零。

您必須選擇 Enable preload constant 選項以啟用此參數。

時鐘0

選擇 Clock0 、 Clock1 或 Clock2 以指定 accum_sload/sload_accum 寄存器的輸入時鐘信號。
您必須選擇 Enable preload constant 選項以啟用此參數。

沒有任何

指定 accum_sload/sload_accum 寄存器的異步清零源。
您必須選擇 Enable preload constant 選項以啟用此參數。

沒有任何

指定 accum_sload/sload_accum 寄存器的同步清零源。
您必須選擇 Enable preload constant 選項以啟用此參數。

離開

啟用雙累加器寄存器。

Intel FPGA 整數運算 IP 內核用戶指南 54

傳送回饋

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

8.6.6. 收縮/Chainout 選項卡

表 35. Systolic/Chainout Adder 選項卡

參數啟用 chainout 加法器

IP 生成參數

價值

chainout_add 是的,

er

什麼是 chainout 加法器操作類型?

chainout_add 添加,

錯誤的方向

子系統

為 chainout 加法器啟用“否定”輸入?

端口否定

PORT_USED,PORT_UNUSED

註冊“否定”輸入? negate_regist er

未註冊,時鐘 0,時鐘 1,時鐘 2,時鐘 3

異步清除輸入的來源是什麼?

否定_aclr

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

否定_sclr

無 SCLR0 SCLR1

收縮延遲
啟用收縮延遲寄存器

gui_systolic_d 打開

lay

離開

時鐘輸入的來源是什麼?

gui_systolic_d CLOCK0,

延遲時鐘

時鐘 1,

預設值

描述
選擇 YES 以啟用 chainout 加法器模塊。

添加

指定 chainout 加法器操作。
對於減法運算,必須選擇 SIGNED for Multipliers A 輸入的表示格式是什麼? 乘法器 B 輸入的表示格式是什麼? 在“乘數”選項卡中。

PORT_UN 使用

選擇 PORT_USED 以啟用負輸入信號。
當 chainout adder 被禁用時,該參數無效。

未註冊

啟用反輸入信號的輸入寄存器並指定反寄存器的輸入時鐘信號。
如果不需要反輸入寄存器,則選擇未註冊
選擇時該參數無效:
· NO 用於啟用 chainout 加法器或
· PORT_UNUSED 用於為 chainout 加法器啟用“否定”輸入? 參數或

沒有任何

指定否定寄存器的異步清零源。
選擇時該參數無效:
· NO 用於啟用 chainout 加法器或
· PORT_UNUSED 用於為 chainout 加法器啟用“否定”輸入? 參數或

沒有任何

指定否定寄存器的同步清零源。
選擇時該參數無效:
· NO 用於啟用 chainout 加法器或
· PORT_UNUSED 用於為 chainout 加法器啟用“否定”輸入? 參數或

關閉 CLOCK0

選擇此選項以啟用收縮模式。 當您為乘法器的數量選擇 2 或 4 時,此參數可用。 範圍。 您必須啟用加法器單元的寄存器輸出才能使用脈動延遲寄存器。
指定收縮延遲寄存器的輸入時鐘信號。
持續…

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 55

8. 英特爾 FPGA 乘法加法器 IP 核 683490 | 2020.10.05

範圍

IP 生成參數

價值

時鐘 2,

異步清除輸入的來源是什麼?

gui_systolic_delay_aclr

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_systolic_delay_sclr

無 SCLR0 SCLR1

預設值
沒有任何
沒有任何

描述
您必須選擇 enable systolic delay registers 才能啟用此選項。
指定收縮延遲寄存器的異步清除源。 您必須選擇 enable systolic delay registers 才能啟用此選項。
指定收縮延遲寄存器的同步清除源。 您必須選擇 enable systolic delay registers 才能啟用此選項。

8.6.7. 流水線選項卡

表 36. 流水線選項卡

參數流水線配置

IP 生成參數

價值

您要將流水線寄存器添加到輸入嗎?

gui_pipelining 不,是

預設值

請指定

延遲

延遲時鐘數

週期

任何大於 0 的值

時鐘輸入的來源是什麼?

gui_input_late ncy_clock

時鐘 0、時鐘 1、時鐘 2

異步清除輸入的來源是什麼?

gui_input_late ncy_aclr

無 ACLR0 ACLR1

同步清除輸入的來源是什麼?

gui_input_late ncy_sclr

無 SCLR0 SCLR1

時鐘 0 無 無

描述
選擇 Yes 為輸入信號啟用額外級別的流水線寄存器。 您必須為 Please specify the number of latency clock cycles 參數指定一個大於 0 的值。
指定所需的時鐘週期延遲。 一級流水線寄存器 = 1 個時鐘週期延遲。 您必須為 Do you want to add pipeline register to the input? 選擇 YES? 啟用此選項。
選擇 Clock0 、 Clock1 或 Clock2 以啟用和指定流水線寄存器輸入時鐘信號。 您必須為 Do you want to add pipeline register to the input? 選擇 YES? 啟用此選項。
指定附加流水線寄存器的寄存器異步清除源。 您必須為 Do you want to add pipeline register to the input? 選擇 YES? 啟用此選項。
指定附加流水線寄存器的寄存器同步清除源。 您必須為 Do you want to add pipeline register to the input? 選擇 YES? 啟用此選項。

Intel FPGA 整數運算 IP 內核用戶指南 56

傳送回饋

683490 | 2020.10.05 反饋意見

9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP核

注意力:

英特爾已在英特爾 Quartus Prime 專業版 20.3 版中移除了對該 IP 的支持。 如果您設計中的 IP 內核以 Intel Quartus Prime Pro Edition 中的器件為目標,您可以用 LPM_MULT Intel FPGA IP 替換 IP 或重新生成 IP 並使用 Intel Quartus Prime Standard Edition 軟件編譯您的設計。

ALTMEMMULT IP 內核用於使用 Intel FPGA 中的片上內存塊(具有 M512、M4K、M9K 和 MLAB 內存塊)創建基於內存的乘法器。 如果您沒有足夠的資源來實現邏輯單元 (LE) 中的乘法器或專用乘法器資源,則此 IP 內核很有用。
ALTMEMMULT IP 內核是需要時鐘的同步功能。 ALTMEMMULT IP 內核實現了一個乘法器,對於一組給定的參數和規範,其吞吐量和延遲可能最小。
下圖顯示了 ALTMEMMULT IP 內核的端口。

圖 21. ALTMEMMULT 端口

阿爾特蒙多

data_in[] sload_data coeff_in[]

結果[] result_valid load_done

負載係數

時鐘
安裝

相關信息 第 71 頁的功能

9.1. 特點
ALTMEMMULT IP 核提供以下特性: · 使用片上存儲器塊僅創建基於存儲器的乘法器
英特爾 FPGA · 支持 1 位數據寬度 · 支持有符號和無符號數據表示格式 · 支持固定輸出延遲的流水線

英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。

ISO 9001:2015 註冊

9. ALTMEMMULT(基於內存的常數係數乘法器)IP 內核 683490 | 2020.10.05
· 在隨機存取存儲器 (RAM) 中存儲多個常量
· 提供選擇RAM塊類型的選項
· 支持可選的同步清零和負載控制輸入端口
9.2. Verilog HDL 原型
以下 Verilog HDL 原型位於 Verilog Design File (.v) altera_mf.v 在eda綜合目錄。
模塊 altmemmult #( 參數 coeff_representation = “SIGNED”,參數 coefficient0 = “UNUSED”,參數 data_representation = “SIGNED”,參數 intended_device_family = “unused”,參數 max_clock_cycles_per_result = 1,參數 number_of_coefficients = 1,參數 ram_block_type = “AUTO”,參數total_latency = 1, parameter width_c = 1, parameter width_d = 1, parameter width_r = 1, parameter width_s = 1, parameter lpm_type = “altmemmult”, parameter lpm_hint = “unused”) (input wire clock, input wire [width_c-1: 0]coeff_in,輸入線 [width_d-1:0] data_in,輸出線 load_done,輸出線 [width_r-1:0] 結果,輸出線 result_valid,輸入線 sclr,輸入線 [width_s-1:0] sel,輸入wire sload_coeff, input wire sload_data)/* synthesis syn_black_box=1 */; 終端模塊
9.3. VHDL 組件聲明
VHDL 組件聲明位於 VHDL Design File (.vhd) altera_mf_components.vhd 在librariesvhdlaltera_mf 目錄。
component altmemmult generic ( coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; intended_device_family:string := “unused”; max_clock_cycles_per_result:natural := 1; number_of_coefficients:natural := 1; ram_block_type:string := “AUTO”; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural := 1; lpm_hint:string := “UNUSED”; lpm_type:string := “altmemmult”); 端口(時鐘:in std_logic;coeff_in:in std_logic_vector(width_c-1 downto 0):=(others => '0');data_in:in std_logic_vector(width_d-1 downto 0);

Intel FPGA 整數運算 IP 內核用戶指南 58

傳送回饋

9. ALTMEMMULT(基於內存的常數係數乘法器)IP 內核 683490 | 2020.10.05

加載完成:輸出標準邏輯; 結果:out std_logic_vector(width_r-1 downto 0); 結果有效:輸出標準邏輯; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (others => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); 結束組件;

9.4. 連接埠

下表列出了 ALTMEMMULT IP 內核的輸入和輸出端口。

表 37. ALTMEMMULT 輸入端口

連接埠名稱

必需的

描述

是的

乘法器的時鐘輸入。

係數輸入[]

乘法器的係數輸入端口。 輸入端口的大小取決於 WIDTH_C 參數值。

數據輸入[]

是的

乘法器的數據輸入端口。 輸入端口的大小取決於 WIDTH_D 參數值。

單反

同步清零輸入。 如果未使用,默認值為高電平有效。

選擇[]

固定係數選擇。 輸入端口的大小取決於 WIDTH_S

參數值。

負載係數

同步負載係數輸入端口。 用 coeff_in 輸入中指定的值替換當前選定的係數值。

加載數據

同步負載數據輸入端口。 指定新乘法運算並取消任何現有乘法運算的信號。 如果 MAX_CLOCK_CYCLES_PER_RESULT 參數的值為 1,則忽略 sload_data 輸入端口。

表 38. ALTMEMMULT 輸出端口

連接埠名稱

必需的

描述

結果[]

是的

乘法器輸出端口。 輸入端口的大小取決於 WIDTH_R 參數值。

結果_有效

是的

指示輸出何時是完整乘法的有效結果。 如果 MAX_CLOCK_CYCLES_PER_RESULT 參數的值為 1,則不使用 result_valid 輸出端口。

加載完成

指示新係數何時完成加載。 load_done 信號在新係數完成加載時置位。 除非 load_done 信號為高電平,否則無法將其他係數值加載到存儲器中。

9.5。 參量

下表列出了 ALTMEMMULT IP 內核的參數。

表 39.
寬度_D 寬度_C

ALTMEMMULT 參數
參數名稱

類型必填

描述

整數 是

指定 data_in[] 端口的寬度。

整數 是

指定 coeff_in[] 端口的寬度。 繼續…

傳送回饋

Intel FPGA 整數運算 IP 內核用戶指南 59

9. ALTMEMMULT(基於內存的常數係數乘法器)IP 內核 683490 | 2020.10.05

參數名稱 WIDTH_R WIDTH

文件/資源

英特爾 FPGA 整數運算 IP 內核 [pdf] 使用者指南
FPGA 整數算術 IP 核、整數算術 IP 核、算術 IP 核、IP 核

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *