A和B数据输入可选择是否寄存输入或选择寄存一级或两级,这样有助于构建多种类型,高度流水化的DSP应用,其他数据输入和控制输入端可选择寄存一级输入。当使用流水寄存器时,DSP48E的运行速率可达550 MHz。
加法器/减法器/逻辑运算单元的输入由上级多路复用器,进位选择逻辑和乘法器所驱动。方程式(11-1)描述了加法器/减法器的输出。CIN及X的输出和Y的输出始终相加。设定ALUMODE=0001可使该和与Z的输出相加或相减:
Adder/Sub Out=(Z±(X+Y+CIN))或(-Z+(X+Y+CIN)-1)
一种典型的使用是A,B输入乘后与C输入相加或相减,选择乘法的功能使X,Y多路匐甲器的输入驱动后级的加法器碱法器,乘法器产生的两个43位部分积在输入给加法翱诫法器之前符号FE为48位。
当不使用第1级的乘法器时,两组48位的输入可实现按位操作的逻辑功能,即AND、OR、NOT、NAND、NOR、XOR和XNOR。该功能的输入通过X和Z多路复用器选择,可以是A∶B、C、P或PCIN,而Y多路复用器的输出根据逻辑功能的不同圃定选择为全1或全0。
加法器/减法器或逻辑运算单元可输出给数值检测器,数值检测器使DSP48E单元支持收敛舍入,计数器自动复位和累加器的溢出/下溢/饱和。和逻辑运算单元联合使用,数值检测器可扩展进行两个48位数据的动态比较,可实现如A∶B NAND C==0,或A∶B (bit-wise logic)C==某特定数值的功能。
如图所示为DSP48E的功能简化,7位宽的OPMODE通过控制X、Y和Z多路复用器来选择加法器/减法器和逻辑运算单元的输入。在所有情况下,乘法器得到的43位部分积通过X和Y多路复用器符号扩展为48位输入给加法器/减法器。基于36位操作数和48位累加器输出,“保护位”(即保护不溢出的可用位)的位数是5,这样在溢出前可进行的乘累加(MACC)次数为32。为扩展MACC操作,需要使用MACC-EXTEND特性,该特性允许MACC使用两个DSP48E扩展为96位。如果A端口限定为18位(符号扩展为25),这样有12位的“保护位”给MACC,和V4的DSP48单元一样。在执行乘操作时,CARRYOUT位无效。组合OPMODE、ALUMODE、CARRYINSEL和CARRYIN可控制加法器/减法器和逻辑运算单元的功能。