DSP48E1片的數學部分由一個25位的預加器、2個25位、18位的補法器和3個48位的數據路徑多路復用器(具有輸出X、Y和Z)組成,然后是一個3輸入加法器/減法器或2輸入邏輯單元(參見圖2-5)。使用2輸入邏輯單元時,不能使用乘法器。
DSP48E1片的數據和控制輸入提供算術和邏輯階段。A和B數據輸入可以選擇性地寄存一兩個時鐘周期,以幫助構建不同的、高度流水線化的DSP應用解決方案。D路徑和AD路徑可以分別寄存一次。其他數據輸入和控件輸入可以選擇性寄存一次。數據表中規定的最大頻率操作是通過使用pipelineregisters實現的。更詳細的時間信息可在第3章,DSP48E1設計注意事項中獲得。
在其最基本的形式中,加/減/邏輯單元的輸出是其輸入的函數。輸入由上游多路復用器、進位選擇邏輯和乘法器陣列驅動。
式2-1總結了X、Y、Z、CIN的加/減組合。CIN、X多路復用器輸出和Y多路復用器輸出相加。可以有選擇地向Z多路復用器輸出中添加或減去此組合結果。第二個選項是通過將ALUMODE設置為0001獲得的。
Adder/SubOut=(Z±(X+Y+CIN))or(-Z+(X+Y+CIN)–1)公式2-1
DSP48E1片的一個典型用法是將A和B的輸入相乘,然后將結果添加到C寄存器中或從C寄存器中減去。后面幾節將描述基于控制和數據輸入的更詳細的操作。選擇乘法器函數將消耗X和Y多路復用器的輸出來供給加法器。乘法器的兩個43位部分乘積在發送到加法器/減法器之前被符號擴展到48位。
當不使用第一階段乘法器時,48位雙輸入按位邏輯函數實現AND、OR、not、NAND、NOR、XOR和XNOR。這些函數的輸入是A:B、C、P或PCIN,通過X和Z多路復用器選擇,Y多路復用器根據邏輯操作選擇所有的1或所有的0。
加法器/減法器或邏輯單元的輸出提供模式檢測器邏輯。模式檢測器允許DSP48E1切片支持收斂舍入、計數值達到時計數器自動復位以及累加器中的溢出/下溢/飽和。結合邏輯單元,模式檢測器可以擴展為對兩個48位字段執行48位動態比較。這使得諸如A:BNANDC==0或A:B(按位邏輯)C==模式等函數得以實現。
圖2-5以非常簡化的形式顯示了DSP48E1片。7個OPMODE位控制X、Y和Z多路復用器的選擇,將輸入輸入加/減或邏輯單元。在所有情況下,從乘法器到X和Y多路復用器的43位部分乘積數據都進行了符號擴展,形成加/減法器的48位輸入數據路徑。基于43位操作數和48位累加器輸出,保護位的數目(即(可用來防止溢出的位)是5。為了擴展MACC操作的數量,應該使用ACC_EXTEND特性,它允許MACC通過兩個DSP48E1片擴展到96位。如果A端口被限制為18位(有符號擴展為25位),那么MACC就有12個保護位。在乘法運算中,CARRYOUT位無效。OPMODE、ALUMODE、CARRYINSEL和CARRYIN的組合控制加/減或邏輯單元的功能。
審核編輯:何安
-
dsp
+關注
關注
552文章
7962瀏覽量
348255
發布評論請先 登錄
相關推薦
評論