DSP48E1詳解-3

DSP48E1屬性

輸入端口

A\B\C\D輸入端口

A、B、C、CARRYIN、CARRYINSEL、OPMODE、BCIN、PCIN、ACIN、ALUMODE、CARRYCASCIN、MULTSIGNIN以及相應的時鐘啓用輸入和復位輸入都是保留端口。D和INMODE端口對於DSP48E1片是唯一的。本節詳細描述DSP48E1片的輸入端口。圖2-6中突出顯示了DSP48E1片的輸入端口。

DSP48E1片輸入數據端口支持許多通用的DSP和數學算法。DSP48E1片有四個直接輸入數據端口,分別爲A、B、C和D。

A數據端口寬30位,B數據端口寬18位,C數據端口寬48位,預加器D數據端口寬25位。

25位A (A[24:0])和18位B端口爲25位乘18位提供輸入數據,這是2的補數乘法器。通過獨立的C端口,每個DSP48E1片能夠進行Multiply-Add, Multiply-Subtract, and Multiply-Round operations(多路加、多路減和多路循環操作)。

連接的A和B端口(A:B)繞過乘數並輸入X多路複用器。30位的A輸入端口形成A:B連接的數據路徑的上30位,18位的B輸入端口形成A:B數據路徑的下18位。A:B數據路徑和C輸入端口使每個DSP48E1片實現一個完整的48位加法器/減法器,前提是不使用乘法器,通過將USE_MULT設置爲NONE(或DYNAMIC)來實現。

每個DSP48E1片還具有兩個級聯輸入路徑(ACIN和BCIN),在相鄰的DSP48E1切片之間提供級聯輸入流。級聯路徑對於A輸入是30位寬,對於B輸入是18位寬。受益於該特性的應用包括FIR濾波器、複雜乘法、多精度乘法和複雜的MACCs。

A和B輸入端口以及ACIN和BCIN級聯端口在其數據路徑中可以有0、1或2個流水線級。雙A, D和預加法器端口邏輯如圖2-7所示。雙B寄存器端口邏輯如圖2-8所示。不同的pipeline stages是使用attributes屬性設置的。屬性AREG和BREG用於爲A和B直接輸入選擇pipeline階段的數量。ACASCREG和BCASCREG在ACOUT和BCOUT級聯數據路徑中選擇pipeline階段的數量。允許的屬性設置如表2-3所示。由配置位控制的多路複用器通過路徑、可選寄存器或級聯輸入來選擇流。數據端口寄存器允許用戶在增加的時鐘頻率和數據延遲之間進行權衡(更高的性能)。

INMODE和USE_DPORT屬性控制預加法器功能和位於乘法器之前的A、B和D寄存器總線多路複用器。如果沒有使用預加法器,USE_DPORT的默認值爲FALSE。

INMODE[0]=1:選擇A1;=0:選擇A2。

INMODE[1]=1強迫A輸入到預加法器爲0。

INMODE[2]=0迫使D輸入到預加法器爲0。

INMODE[3]提供預加法器減控制,其中INMODE[3] = 1表示減,INMODE[3] = 0表示加。

INMODE[4]選擇乘數B端口,其中BREG=1 or 2,INMODE[4] = 1:選擇B1,INMODE[4] = 0:選擇B2。

48位C端口用作Y和Z多路複用器的常規輸入,執行加、減、三輸入加/減和邏輯函數。C輸入還連接到模式檢測器,用於舍入函數實現。C端口邏輯如圖2-9所示。CREG屬性爲C輸入數據路徑選擇pipestage的數量。

 

OPMODE, ALUMODE, and CARRYINSEL 端口

OPMODE、ALUMODE和CARRYINSEL端口邏輯支持flow through or registered輸入控制信號。由配置位控制的多路複用器選擇通過寄存器或可選寄存器的數據流。控制端口寄存器允許用戶對增加的寄存器進行權衡,使其具有獨立的時鐘啓用和復位功能。OPMODE和CARRYINSEL寄存器通過RSTCTRL復位。ALUMODE被RSTALUMODE重置。時鐘啓用,OPMODE、ALUMODE和CARRYINSEL端口邏輯如圖2-10所示。

 

X, Y, and Z Multiplexers

OPMODE(操作模式)控制輸入包含X、Y和Z多路選擇的字段。

OPMODE輸入提供了一種從時鐘週期到時鐘週期動態更改DSP48E1功能的方法(例如,相對於給定的計算序列更改DSP48E1片的內部數據路徑配置)。

OPMODE位可以使用OPMODEREG屬性註冊(如表2-3所示)。

 

ALUMODE

4位ALUMODE控制第二階段加/減/邏輯單元的行爲。

ALUMODE = 0000 選擇表單Z + (X + Y + CIN)的添加操作。

ALUMODE = 0011 選擇Z - (X + Y + CIN)形式的減運算。

ALUMODE = 0001 可以實現- z + (X + Y + CIN) - 1 = not (Z) + X + Y + CIN。

ALUMODE = 0010 可以實現 - (Z + X + Y + CIN) - 1 = not (Z + X + Y + CIN)。

2的補數的負數是通過按位反轉和加1得到的,例如-k = not (k) + 1。

其他的減運算和邏輯運算也可以通過增強型的加/減/邏輯單元來實現。見表2 - 10。

 

輸出端口

 

除ACOUT和BCOUT外的所有輸出端口都由RSTP重置,並由CEP啓用(參見圖2-13)。ACOUT和BCOUT分別通過RSTA和RSTB復位(如圖2-7和圖2-8所示)。

 

P端口

每個DSP48E1片都有一個48位的輸出端口p。這個輸出可以通過PCOUT路徑內部連接(級聯連接)到相鄰的DSP48E1片。PCOUT連接到相鄰的DSP48E1片中的Z多路複用器(PCIN)的輸入。此路徑提供相鄰DSP48E1片之間的輸出級聯流。

 

CARRYCASCOUT and CARRYOUT 端口

每個DSP48E1片的執行可以使用CARRYOUT端口發送到FPGA邏輯。這個端口是4位寬。CARRYOUT[3]是雙輸入48位加法器/減法器或單輸入累加器的有效進位輸出。在本例中,USE_SIMD = ONE48是默認設置,代表非simd配置。當兩個輸入加法器、減法器或使用一個輸入累加器在SIMD模式中,這樣的信號是無效的,如果三個輸入加法器、減法器(例如,a: B + C + PCIN)或兩個輸入累加器(例如,a: B + C + P)配置使用或者使用乘數。

 

...

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章