本文是本系列的第三篇,本文主要介紹FPGA常用運算模塊-乘加器,xilinx提供了相關的IP以便于用戶進行開發使用。
乘加器
乘加器核提供使用DSP片的乘加實現。 它執行兩個操作數的乘法,并將全精度乘積加(或減)到第三個操作數,執行P = C +/- A * B的操作。 乘加器模塊對有符號或無符號數據進行操作。 該模塊可以流水線化。 支持二補符號和無符號操作。 支持從1到52位無符號或2到53位有符號的乘數輸入和從1到105位無符號或2到106位有符號的加減操作數輸入。 可選時鐘啟用和同步清除。
乘加器IP在許多配置中比單獨的乘和加操作更有效,因為它使用DSP48原語。 可以在許多應用程序中使用這個IP,特別是那些基于多項式算法的應用程序,如FIR和IIR實現。
IP核圖示以及端口介紹
Name | I/O | Description |
---|---|---|
A[N:0] | Input | A輸入(乘法操作數1) |
B[M:0] | Input | B輸入(乘法操作數2) |
C[L:0] | Input | C輸入(加減操作數) |
PCIN | Input | 級聯輸入 |
SUBTRACT | Input | 控制加/減操作(1=減法,0=加法) |
CE | Input | 時鐘使能 (高有效) |
CLK | Input | 時鐘信號,上升沿有效 |
SCLR | Input | 同步復位,高有效 |
PCOUT | Output | 輸出級聯 |
P[Q:0] | Output | 輸出端口 |
操作指南
流水操作
乘法器核心考慮了兩種不同的延遲路徑; 一個是從A和B輸入到P輸出,另一個是從C/PCIN輸入到P輸出。 這些延遲被定義為A:B - P延遲和C - P延遲。
這些延遲只能采用兩個值:0 表示無延遲或 -1 表示最大/最佳延遲。 如果這兩個延遲中的任何一個指定為 -1,則它們都被視為 -1; 對于完全組合的設計,兩者都必須設置為 0。
級聯的PCIN端口的使用也會影響延遲。
不用級聯輸入:
使用級聯輸入:
下圖顯示了乘加器的內部結構,在內部相當于引用了一個乘法器和一個加減法器。 從該結構中可以清楚的看出,A:B - P 延時和C - P延時路徑。
數據調整
當傳遞給IP輸入時,所有輸入都是右對齊的。 必須設置輸入的正確 LSB 或 MSB 填充或符號擴展(相當于二進制小數點)。
在乘法加法器中,乘法器輸出沒有截斷或舍入; 這是一個完整的精確結果。 C 輸入被添加到乘積中。 下面的例子實現了切片操作的功能。 切片選取輸出的0到11位。
向量相乘的例子
圖3-4(單DSP片實現)和圖3-5(多DSP片實現)實現了一個簡單的矢量乘法。在3-4圖中,如果使用單DSP片實現向量相乘,則按照該圖示連接進行實現。采用級聯操作,將級聯是輸入輸出相互連接。此時不能進行設置C的輸入。
在3-5圖中,如果使用多DSP片實現,則按照該圖示連接進行實現。此時可以進行設置C的輸入,級聯操作通過連接P和C端相互連接。
乘加器IP配置
在乘加器IP配置界面,可以對輸入輸出的位寬進行配置,以及相關IP的配置。
A/B Input Width :設置端口A或者B輸入的寬度。有效的范圍是1 ~ 52無符號和2 ~ 53有符號。默認值為18。該值在IP中自動設置,可以手動設置。
C Input Width :設置端口C(加/減操作數)輸入的寬度。有效的范圍是1到105無符號和2到106有符號。默認值為48。該值在IP中自動設置,可以手動設置。
A/B/C Input Type :設置端口A、B 、C數據的類型。0表示有符號,1表示無符號。默認值為0。該值在IP中自動設置,可以手動設置。
Output MSB / Output LSB :設置輸出的切片位寬范圍。
Use PCIN :當該參數設置為1時,使用PCIN 端口。 PCIN 端口是 加法器/減法器操作數的級聯輸入端口。設置為0時,PCIN 端口為 忽略。設置為 1 時,C 輸入寬度限制為 48 位。
Sync Control CE Priority :此參數控制 SCLR和CE信號的優先級當該信號為0時,Sync Control CE Priority。當該信號為1時,SCLR 僅在 CE 為高電平時有效。這默認值為0。
A:B - P Latency : A、B端口到輸出端口P的時延。 取值如下: -1, 0。 默認值為-1。
C - P Latency :從 C 或 PCIN 端口到輸出端口 P 的延遲。 取值如下: -1, 0。 默認值為-1。
-
dsp
+關注
關注
552文章
7962瀏覽量
348259 -
FPGA
+關注
關注
1626文章
21665瀏覽量
601828 -
Xilinx
+關注
關注
71文章
2163瀏覽量
121008 -
IP核
+關注
關注
4文章
326瀏覽量
49428 -
乘加器
+關注
關注
0文章
4瀏覽量
6006
發布評論請先 登錄
相關推薦
評論