Virtex DSP48简介及使用.docx
《Virtex DSP48简介及使用.docx》由会员分享,可在线阅读,更多相关《Virtex DSP48简介及使用.docx(22页珍藏版)》请在三一办公上搜索。
1、Virtex DSP48简介及使用Virtex-4 FPGA XtremeDSP 简介及简单使用 前言: 随着应用需求的增加,算法复杂度也提高了.为了处理这些新的算法,需要有高性能的信号处理引擎.典型的固定加构DSP处理器不能独立穷完成处理任务,通常还需要一个DSP协处理器,来处理不断增加的,复杂算法的高性能部分.而FPGA非常适合弥补这些性能的差距.采用革命性_XtremeDSPTM Slice ,Xilinx的Virtex4 FPGA可以为高性能的数字信号处理提供理想的解决方案. 简介: 1. XtremeDSP Slice具有最高的性能、最低的功耗和最佳的经济性;级联逻辑的简单性和有效性
2、;极低的功耗;增加成本效益灵活性;易用性。 2. 每个XtremeDSP tile都包含两个DSP48 slices 来构成一种能用粗精度DSP架构的基础。许多DSP的设计在乘法运算后要进行加法运算,这些功能在V4中都采用专用电路进行支持。 3. DSP48 Slice支持多种独立的功能,包括乘法器、乘累加器(MAC)、后接加法器的乘法器、三输入加法器、桶型移位器、宽总线多路利用器、大小比较器或宽计数器。还支持多个DSP48 Slice的连接以形成多种算术函数、DSP48滤波器以及不使用能用FPGA结构的复数算法。 4. DSP48 Slice是一个18*18位2进制补码乘法器,跟随一个48位
3、符号扩展加法器/减法器/累加器(这是其主要应用) 5. 操作数输入、中间积和累加器输出的可编程流水线操作提高了吞吐量。48位内部总线几乎可以实现DSPSlice的无限制集合。 6. 可以将一个XtremeDSP Slice的输出结果与下一个XtremeDSP Slice的输入级联而无需使用一般的结构布线。该通路为许多具有任意罐头长度的DSP滤波器功能提供了高性能和低功耗的后加法功能。对于多精度算法,该通路可支持右引线移位,故一个XtremeDSP Slice的部分积可以进行右对齐,与下一个相邻的Slice计算的部分积相加。用该技术XtremeDSP Slice可以被设置为支持任意大小的操作数。
4、 Virtex-4 DSP Slice架构亮点: 每个_DSP48 Slice具有一个后接多路复用器的2输入乘法器和一个3输入加法器/减法器。乘法器接受两个18位2进制补码操作数,产生一个36位2进制补码结果。该结果数可符号扩展至48位,并且可以馈至加法/减法器。加法/减法器接受三个48位2进制补码操作数(这其中有级联数据和累加减的结果数据),产生一个48位2进制补码结果。进行级联后还可以支持更高级别的DSP功能。主要亮点归纳: u 18位*18位2进制补码乘法器,具有全精度36位结果,可符号扩展至48位 u 带有寄存式累加反馈的灵活的3输入48位加法/减法器 u 动态的用户控制操作模式(OP
5、MODE),以便在时钟周期改变时调整DSP48的功能 u 级联18位B总线支持输入采样传输 u 级联48位P总线支持部分结果的输出传输 u 支持多精度乘法器和算法,可将17位操作数右移来对齐宽位数乘法器部分积 u 支持对称智能舍入以获取更高的计算精度 u 控制和数据信号的性能增强流水线选项,可在配置位进行设置 u 输入端口C一般情况下用于乘法-加法运算、大型3操作数加法或灵活的舍入模式 u 控制和数据寄存器具有各自的复位和时钟使能 u I/O寄存器在不增加面积成本的情况下可保证最大的时钟性能和可能的最高采样率 u OPMODE多路复用器 下表给出了几种Virtex4器件内DSP48的数量 下图
6、表明了其器件端口图,关于具体的设置将在后面介绍 关于DSP48的常规算术功能: 加减法 DSP48 Slice包含一个加/减法单元,可以在单个DSP Slice上实现不同的加/减逻辑组合。其格式为 Out = Z _ (X + Y +CIN) 公式中的X、Y和Z是多路复用器。可能根据OPMODE的设置来选择X、Y、Z的选择结果。CIN项是加/减法单元的进位输入。确定是加法还是减法是由SUBTRACT输入来控制的,将其设置为0则为加法,为1为减法。下表给出了OPMODE中关于X、Y、Z的设置。 注:其中A:B是将A输入的18位和B的18位组合成36位作为一个36位有符号数作为一个输入的。 如果将
7、Y设成01即A*B,则X也应该这样设置。见下面乘累加。 乘法 将X、Y均设置成01,则可实现乘法。其表达式为 Out = C (A B + CIN) 其他相关参数设置和加法设置相似。 FPGA主要参数设置: 下面给出的是在Verilog编程语句中的一个例化语段格式,真正使用时要做一定修改。 DSP48 #( /各线路流水线寄存器等参数的配置 .AREG(1), / Number of pipeline registers on the A input, 0, 1 or 2 .BREG(1), / Number of pipeline registers on the B input, 0, 1
8、 or 2 .B_INPUT(DIRECT), / B input DIRECT from fabric or CASCADE from another DSP48 .CARRYINREG(1), / Number of pipeline registers for the CARRYIN input, 0 or 1 .CARRYINSELREG(1), / Number of pipeline registers for the CARRYINSEL, 0 or 1 .CREG(1), / Number of pipeline registers on the C input, 0 or 1
9、 .LEGACY_MODE(MULT18X18S), / Backward compatibility, NONE, MULT18X18 or MULT18X18S .MREG(1), / Number of multiplier pipeline registers, 0 or 1 .OPMODEREG(1), / Number of pipeline regsiters on OPMODE input, 0 or 1 .PREG(1), / Number of pipeline registers on the P output, 0 or 1 .SUBTRACTREG(1) / Numb
10、er of pipeline registers on the SUBTRACT input, 0 or 1 ) DSP48_inst ( /这个是例化的名字,下面是一个例化的接口参数设置 .BCOUT(BCOUT), / 18-bit B cascade output .P(P), / 48-bit product output .PCOUT(PCOUT), / 48-bit cascade output .A(A), / 18-bit A data input .B(B), / 18-bit B data input .BCIN(BCIN), / 18-bit B cascade inpu
11、t .C(C), / 48-bit cascade input .CARRYIN(CARRYIN), / Carry input signal .CARRYINSEL(CARRYINSEL), / 2-bit carry input select .CEA(CEA), / A data clock enable input .CEB(CEB), / B data clock enable input .CEC(CEC), / C data clock enable input .CECARRYIN(CECARRYIN), / CARRYIN clock enable input .CECINS
12、UB(CECINSUB), / CINSUB clock enable input .CECTRL(CECTRL), / Clock Enable input for CTRL regsiters .CEM(CEM), / Clock Enable input for multiplier regsiters .CEP(CEP), / Clock Enable input for P regsiters .CLK(CLK), / Clock input .OPMODE(OPMODE), / 7-bit operation mode input .PCIN(PCIN), / 48-bit PCI
13、N input .RSTA(RSTA), / Reset input for A pipeline registers .RSTB(RSTB), / Reset input for B pipeline registers .RSTC(RSTC), / Reset input for C pipeline registers .RSTCARRYIN(RSTCARRYIN), / Reset input for CARRYIN registers .RSTCTRL(RSTCTRL), / Reset input for CTRL registers .RSTM(RSTM), / Reset in
14、put for multiplier registers .RSTP(RSTP), / Reset input for P pipeline registers .SUBTRACT(SUBTRACT) / SUBTRACT input ); 要点: 第一个括号内的配置,主要是器件流水线及级联参数的设置 AREG,BREG的属性值可取0、1或2。 属性值规定了A和B输入通路中流水线寄存器的数量。 CREG、MREG和PREG的属性值可取0或1。属性值规定了乘法器输出端和加法器输出端的流水线寄存器数量。CREG的属性用来选择C输入端的流水线寄存器。 如果这些通路中没有流水线寄存器,则CARRYIN
15、REG、CARRYINSELREG、OPMODEREG和SUBTRACTREG属性值均取值为0,如果在其中通路中有一个流水线寄存器,则取值为1。 B_INPUT属性规定了到B端口的输入是来自于并行输入,还是来自前面Slice的级联输入。 LEGACY_MODE的属性具有两个作用。第一个本质上与MREG的属性类似。它规定了实际上是否“直通”乘法器,或者在乘法器的中间包含一个单独的流水线寄存器相同)。MREG的属性和LEGACY_MODE的属性出现任何不一致的设置都将被标记为软件设计规则校验错误。属性的第二个作用是告诉时序工具,在时序计算中应该使用通过组合乘法器通路的A和B端口,还是使用时序更快的
16、A:B的X多路复用器旁路通道。由于OPMODE可以动态变化,如果没有属性,时序工具就不能确定这些信息。 第二个括号内的配置,主要是信号输入输出及计算的操作类型的设置: Directio信号名称 n A I 18 The multipliers A input. This signal can also be used as the adders Most Significant Word (MSW) input. 位宽 功能 B C OPMODE SUBTRACT CARRYIN CARRYINSEL CEA CEB CEC CEM CEP CECTRL CECINSUB CECARRYIN
17、RSTA RSTB RSTC RSTM RSTP RSTCTRL RSTCARRYIN CLK BCIN PCIN BCOUT PCOUT P I I I I I I I I I I I I I I I I I I I I I I I I O O O 18 48 7 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18 48 18 48 48 The multipliers B input. This signal can also be used as the adders Least Significant Word (LSW) input. The adder
18、s C input. Controls the input to the X, Y, and Z multiplexers in the DSP48 slices (第2页有简要设置,后面也会详述). 0 = add, 1 = subtract. The carry input to the carry select logic. Selects carry source (进位来源,后面会给出列表参数). Clock enable: 0 = hold, 1 = enable AREG. Clock enable: 0 = hold, 1 = enable BREG. Clock enable
19、: 0 = hold, 1 = enable CREG. Clock enable: 0 = hold, 1 = enable MREG. Clock enable: 0 = hold, 1 = enable PREG. Clock enable: 0 = hold, 1 = enable OPMODEREG, CARRYINSELREG. Clock enable: 0 = hold, 1 = enable SUBTRACTREG and general interconnect carry input. Clock enable: 0 = hold, 1 = enable (carry i
20、nput from internal paths). Reset: 0 = no reset, 1 = reset AREG. Reset: 0 = no reset, 1 = reset BREG. Reset: 0 = no reset, 1 = reset CREG. Reset: 0 = no reset, 1 = reset MREG. Reset: 0 = no reset, 1 = reset PREG. Reset: 0 = no reset, 1 = reset SUBTRACTREG, OPMODEREG, CARRYINSELREG. Reset: 0 = no rese
21、t, 1 = reset (carry input from general interconnect and internal paths). The DSP48 clock. The multipliers cascaded B input. This signal can also be used as the adders LSW input. Cascaded adders Z input from the previous DSP slice. The B cascade output. The P cascade output. The product output. 进位输入逻
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Virtex DSP48简介及使用 DSP48 简介 使用

链接地址:https://www.31ppt.com/p-3168559.html