DIY编程器网

标题: DSP48E的基本操作 [打印本页]

作者: liyf    时间: 2012-1-27 14:07
标题: DSP48E的基本操作

                      DSP48E的计算部分有一个25×18的二进制补码乘法器,接着是3个48位的数据通路多路复用器(X,Y和Z),其后是一个3输入加/减法器或二输入逻辑运算单元。当使用二输入逻辑运算单元时,乘法器不能使用。
  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)?? (11-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可控制加法器/减法器和逻辑运算单元的功能。




  图 DSP48E的功能简化

  
            




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2