FPGA中DSP資源是寶貴的且有限,我們在計算大位寬的指數、復數乘法、累加、累乘等運算時都會用到DSP資源,如果我們不了解底層的DSP特性,很多設計可能都無法進行。邏輯綜合往往是不可控的,為了能夠充分利用DSP資源,我們需要對DSP48E1有所了解。
1.DSP48E1介紹
DSP48E1是7系列的最小計算單元,DSP資源,支持許多獨立的功能,其基本功能如下所示
DSP48E1簡易模型
包括:
? 帶有D寄存器的25位預加法器
? 25*18二進制乘法
? 48位累加
? 三輸入加法
其他的一些功能還包括桶形移位、寬總線多路復用、幅度比較器、按位邏輯功能和寬計數器等。
每個DSP48E1都有一個雙輸入乘法器,接著是3個數據通路的多路復用器和一個三輸入的(加法器/減法器/累加器)
DSP48E1內部詳細資源
一種典型的使用是A,B輸入相乘后與C輸入相加或減;當不使用第一級的乘法器的時候,兩組48位輸入可以實現按位操作的邏輯功能。
A和B的數據輸入可以選擇直接輸入或者寄存一級、兩級輸入,如下所示
DSP48E1輸入分層視圖
其他的數據和控制輸入可是選擇寄存一級輸入,這樣的輸入選擇有助于構建多種類型,高流水化的DSP應用。
2. DSP48E1使用
(1)DSP原語使用的每個端口及位寬如下所示:
①表示的數據通道,運算數據的輸入。
②寄存器配置通道,我們可以通過配置這些寄存器,實現不同的功能,比 如加法、減法、乘累加,累減等。
③數據輸入寄存器使能通道,在數據輸入的時候可以選擇寄存一級或者兩 級(兩級僅限A和B)。
④配置寄存器使能通道。
⑤復位信號,寄存器的復位端口。
⑥、⑦和⑧表示的是級聯通道,其中CIN表示級聯的輸入,COUT表示級聯 的輸出。
⑨模式檢測輸出,模式檢測用于檢測P總線是否與指定的模式或者模式的 補碼完全匹配,如果加法器的輸出與設置的模式匹配,則PATTERNDETECT (PD)將變高,如果與設置的補碼匹配,則PATTERNBDETECT(PBD)將變高,其 使用邏輯如下
模式檢測邏輯
OVERFLOW和UNDERFLOW是與模式檢測一起使用時的溢出指示標志。
(2)DSP的使用主要通過三個寄存器來進行控制和改變相應的運算。
?INMODE 控制預加器,A,B,D寄存器的輸入;(5bit)
?OPMODE 控制X,Y,Z選擇器的輸入;(7bit)
?ALUMODE邏輯控制選擇單元;(4bit)
我們通過構建一個乘累加器來介紹DSP的使用以及寄存器的配置。
實現的乘累加完成如下功能,即SUM = SUM + A * B ;SUM也就是DSP中的P輸出。
明確了運算表達式,然后我們需要對三個寄存器進行設置:
①乘法器的兩個輸入分別為A和B,我們選擇A端口和B的數據相乘的時候,只使用A的[24:0]位參與運算,具體介紹可以見Xinlinx文檔ug479(P30),這里我們把數據通過第二個寄存器輸出到乘法器,INMODE設置為5’b00000。
圖片居中使用:
②多路復用器需要指明參與ALU運算模塊的數據,根據運算功能,我們選擇乘法器的輸出和P輸出作為信號的輸入,OPMODE設置為7’b010_0001。
③在最后的運算中我們選擇加法運算。ALUMODE設置為4’b0000。即P=Z+X+Y+CIN其中Z=P,X=M,Y=0,CIN=0,M=A*B。所以P=P+A*B。
(3)相應的配置設置好之后,例化DSP48E1的原語,原語的調用可以見Xinlinx文檔ug768(P120),然后建立Vivado工程,測試如下
通過仿真得到了正確的乘累加結果
需要注意的是:在計算乘法時,M寄存器必須是打開的,多路復用器Z的輸入通過P寄存器,因此輸出至少滯后2個時鐘周期,這里通過A2和B2寄存器輸入,故延遲了4個時鐘周期輸出結果。
3. DSP48E1注意事項
? 使用有符號數進行數據的處理。
? 盡量使用流水進行數字信號的處理。
?當數字的處理位寬較小時,盡量使用邏輯進行數據處理
?級聯使用DSP的時候請盡量使用專用布線資源。
?合理的去復用DSP資源。
?在DSP不使用的時候,通過USE_MULT將乘法器關閉以降低功耗。
編輯:hfy
-
dsp
+關注
關注
556文章
8155瀏覽量
356722 -
寄存器
+關注
關注
31文章
5432瀏覽量
124156 -
Xilinx
+關注
關注
73文章
2184瀏覽量
124971 -
多路復用器
+關注
關注
9文章
919瀏覽量
66018 -
乘法器
+關注
關注
9文章
211瀏覽量
37930
發布評論請先 登錄
在XC7K325T FPGA中如何充分利用GTX資源?
求DSP48E1和BRAM36K / BRAM18K之間水平關系的信息?
DSP48E1的屬性詳解
7系列FPGA DSP48E1片的特點
System generator DSP48E1 (1):端口說明

System generator DSP48E1 (2):四路加法器

DSP48E1詳解(3): DSP48E1屬性

7系列FPGA DSP48E1的參數特點概述
DSP48E1詳解(1):7系列FPGA DSP48E1片的特點

DSP48E1詳解(3):DSP48E1屬性

評論