chinese腹肌校草洗澡小说_中文无码天天av天天爽_飘雪影院免费版在线观看视频_成全视频高清免费观看在线播放_大地资源中文在线观看官网第二页_军人各种做高h尿在里面_亂伦丰满人妻av怡红院_欧美中字狠狠第一页_小收影院 成人a片产无码免费视频奶头

FPGA中如何充分利用DSP資源,DSP48E1內(nèi)部詳細資源介紹

share

FPGA中DSP資源是寶貴的且有限,我們在計算大位寬的指數(shù)、復數(shù)乘法、累加、累乘等運算時都會用到DSP資源,如果我們不了解底層的DSP特性,很多設計可能都無法進行。邏輯綜合往往是不可控的,為了能夠充分利用DSP資源,我們需要對DSP48E1有所了解。

1.DSP48E1介紹

DSP48E1是7系列的最小計算單元,DSP資源,支持許多獨立的功能,其基本功能如下所示

DSP48E1簡易模型

包括:

?帶有D寄存器的25位預加法器

?25*18二進制乘法

?48位累加

?三輸入加法

其他的一些功能還包括桶形移位、寬總線多路復用、幅度比較器、按位邏輯功能和寬計數(shù)器等。

每個DSP48E1都有一個雙輸入乘法器,接著是3個數(shù)據(jù)通路的多路復用器和一個三輸入的(加法器/減法器/累加器)

DSP48E1內(nèi)部詳細資源

一種典型的使用是A,B輸入相乘后與C輸入相加或減;當不使用第一級的乘法器的時候,兩組48位輸入可以實現(xiàn)按位操作的邏輯功能。

A和B的數(shù)據(jù)輸入可以選擇直接輸入或者寄存一級、兩級輸入,如下所示

DSP48E1輸入分層視圖

其他的數(shù)據(jù)和控制輸入可是選擇寄存一級輸入,這樣的輸入選擇有助于構(gòu)建多種類型,高流水化的DSP應用。

2.DSP48E1使用

(1)DSP原語使用的每個端口及位寬如下所示:

①表示的數(shù)據(jù)通道,運算數(shù)據(jù)的輸入。

②寄存器配置通道,我們可以通過配置這些寄存器,實現(xiàn)不同的功能,比如加法、減法、乘累加,累減等。

③數(shù)據(jù)輸入寄存器使能通道,在數(shù)據(jù)輸入的時候可以選擇寄存一級或者兩級(兩級僅限A和B)。

④配置寄存器使能通道。

⑤復位信號,寄存器的復位端口。

⑥、⑦和⑧表示的是級聯(lián)通道,其中CIN表示級聯(lián)的輸入,COUT表示級聯(lián)的輸出。

⑨模式檢測輸出,模式檢測用于檢測P總線是否與指定的模式或者模式的補碼完全匹配,如果加法器的輸出與設置的模式匹配,則PATTERNDETECT(PD)將變高,如果與設置的補碼匹配,則PATTERNBDETECT(PBD)將變高,其使用邏輯如下

模式檢測邏輯

OVERFLOW和UNDERFLOW是與模式檢測一起使用時的溢出指示標志。

(2)DSP的使用主要通過三個寄存器來進行控制和改變相應的運算。

?INMODE控制預加器,A,B,D寄存器的輸入;(5bit)

?OPMODE控制X,Y,Z選擇器的輸入;(7bit)

?ALUMODE邏輯控制選擇單元;(4bit)

我們通過構(gòu)建一個乘累加器來介紹DSP的使用以及寄存器的配置。

實現(xiàn)的乘累加完成如下功能,即SUM=SUM+A*B;SUM也就是DSP中的P輸出。

明確了運算表達式,然后我們需要對三個寄存器進行設置:

①乘法器的兩個輸入分別為A和B,我們選擇A端口和B的數(shù)據(jù)相乘的時候,只使用A的[24:0]位參與運算,具體介紹可以見Xinlinx文檔ug479(P30),這里我們把數(shù)據(jù)通過第二個寄存器輸出到乘法器,INMODE設置為5’b00000。圖片居中使用:

②多路復用器需要指明參與ALU運算模塊的數(shù)據(jù),根據(jù)運算功能,我們選擇乘法器的輸出和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的原語,原語的調(diào)用可以見Xinlinx文檔ug768(P120),然后建立Vivado工程,測試如下

通過仿真得到了正確的乘累加結(jié)果

需要注意的是:在計算乘法時,M寄存器必須是打開的,多路復用器Z的輸入通過P寄存器,因此輸出至少滯后2個時鐘周期,這里通過A2和B2寄存器輸入,故延遲了4個時鐘周期輸出結(jié)果。

3.DSP48E1注意事項

?使用有符號數(shù)進行數(shù)據(jù)的處理。

?盡量使用流水進行數(shù)字信號的處理。

?當數(shù)字的處理位寬較小時,盡量使用邏輯進行數(shù)據(jù)處理

?級聯(lián)使用DSP的時候請盡量使用專用布線資源。

?合理的去復用DSP資源。

?在DSP不使用的時候,通過USE_MULT將乘法器關(guān)閉以降低功耗。

編輯:hfy

share