DSP48E2
- 更新时间2023-02-17
- 阅读时长13分钟
DSP48E2
在DSP48E2逻辑片上计算自定义算术方程或逻辑运算,DSP48E2逻辑片仅在指定Xilinx FPGA终端上可用。
在项选项卡上配置节点接口,自定义节点运行时的算术方程或逻辑运算。
输入/输出

a
逻辑片上算术运算或逻辑运算中使用的值。
保持定点数值精度
定点值不适用于具有不同数据类型的输入控件和显示控件。该程序将强制转换值,这将导致精度损耗。如要保持精度,连线具有匹配数据类型的定点值至输入,或调整输入的整数字长。

acin
从上一个DSP48节点级联的a的值,用于片上算术运算或逻辑运算。
如要显示该输入,在项选项卡上单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡上勾选acin。
级联后的输入连接
该级联后的输入仅可连接至另一个DSP48节点的acout输出。

b
逻辑片上算术运算或逻辑运算中使用的值。
保持定点数值精度
定点值不适用于具有不同数据类型的输入控件和显示控件。该程序将强制转换值,这将导致精度损耗。如要保持精度,连线具有匹配数据类型的定点值至输入,或调整输入的整数字长。

bcin
从上一个DSP48节点级联的b的值,用于片上算术运算或逻辑运算。
如要显示该输入,在项选项卡上单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡上勾选bcin。
级联后的输入连接
该级联后的输入仅可连接至另一个DSP48节点的bcout输出。

c
逻辑片上算术运算或逻辑运算中使用的值。
保持定点数值精度
定点值不适用于具有不同数据类型的输入控件和显示控件。该程序将强制转换值,这将导致精度损耗。如要保持精度,连线具有匹配数据类型的定点值至输入,或调整输入的整数字长。

inmode
控制位选择预加器的功能及a、b、d和输入寄存器。
仅当在项选项卡的计算选项中选择自定义时,该输入可见。

pcin
从上一个DSP48节点级联的p的值,用于片上算术运算或逻辑运算。
如要显示该输入,在项选项卡上单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡上勾选pcin。
级联后的输入连接
该级联后的输入仅可连接至另一个DSP48节点的pcout输出。

carryin
表示FPGA逻辑进位输入的布尔值。
| TRUE | DSP48逻辑片上的外部算术运算进位输入设置为1。 |
| FALSE | DSP48逻辑片上的外部算术运算进位输入设置为0。 |
如要显示该输入,在项选项卡上单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡上勾选carryin。

carrycascin
表示来自上一个DSP48节点的级联进位输入的布尔值。
| TRUE | DSP48逻辑片上的外部算术运算级联的进位输入设置为1。 |
| FALSE | DSP48逻辑片上的外部算术运算级联的进位输入设置为0。 |
如要显示该输入,在项选项卡上单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡上勾选carrycascin。
级联后的输入连接
该级联后的输入仅可连接至另一个DSP48节点的carrycascout输出。

multsignin
表示上一个DSP48节点计算的乘法结果符号的布尔值。
| TRUE | 上一个DSP48节点的乘法结果为负,且DSP48逻辑片的输入设置为1。 |
| FALSE | 上一个DSP48节点的乘法结果为正,且DSP48逻辑片的输入设置为0。 |
如要显示该输入,在项选项卡上单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡上勾选multsignin。
级联后的输入连接
该级联后的输入仅可连接至另一个DSP48节点的multsignout输出。

alumode
选择逻辑片评估的算术方程或逻辑运算的控制位。
仅当在项选项卡的计算选项中选择自定义时,该输入可见。

opmode
控制位选择逻辑片上X、Y和Z多路复用器的输入。
仅当在项选项卡的计算选项中选择自定义时,该输入可见。

carryinsel
选择进位源的控制位。
仅当在项选项卡的计算选项中选择自定义时,该输入可见。

acout
级联至另一个DSP48节点的a的值。
如要显示该输出,在项选项卡中单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡中勾选acout。
级联后的输出连接
该级联后的输出仅可连接至另一个DSP48节点的acin输入。

bcout
级联至另一个DSP48节点的b的值。
如要显示该输出,在项选项卡中单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡中勾选bcout。
级联后的输出连接
该级联后的输出仅可连接至另一个DSP48节点的bcin输入。

p
逻辑片的运算结果。
保持定点数值精度
定点值不适用于具有不同数据类型的输入控件和显示控件。该程序将强制转换值,这将导致精度损耗。如要保持精度,连线具有匹配数据类型的定点值至输出,或调整输出的整数字长。

pcout
级联至另一个DSP48节点的p的值。
如要显示该输出,在项选项卡中单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡中勾选pcout。
级联后的输出连接
该级联后的输出仅可连接至另一个DSP48节点的pcin输入。

carryout
DSP48逻辑片的4位进位输出。
如要显示该输出,在项选项卡中单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡中勾选carryout。

carrycascout
表示进位输出级联至另一个DSP48节点的控制位的布尔值。
| TRUE | DSP48逻辑片上的外部算术运算级联的进位输出设置为1。 |
| FALSE | DSP48逻辑片上的外部算术运算级联的进位输出设置为0。 |
如要显示该输出,在项选项卡中单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡中勾选carrycascout。
级联后的输出连接
该级联后的输出仅可连接至另一个DSP48节点的carrycascin输入。

multsignout
表示级联至另一个DSP48节点的乘法结果符号的布尔值。
| TRUE | 乘法结果符号为负,且DSP48逻辑片的输出设置为1。 |
| FALSE | 乘法结果符号为正,且DSP48逻辑片的输出设置为0。 |
如要显示该输出,在项选项卡中单击更改连线板,然后在配置DSP48连线板对话框的接线端选项卡中勾选multsignout。
级联后的输出连接
该级联后的输出仅可连接至另一个DSP48节点的multsignin输入。
配置节点接口
在项选项卡的计算选项中选择三种方式之一,以确定节点运行时的运算方式。
在项选项卡上单击编辑选择要用于方程的值。
在项选项卡上单击编辑配置布尔表达式。
选择“算术”或“逻辑”计算类型时,DSP48节点自动配置opmode、alumode、inmode和carryinsel。如opmode、alumode、inmode和carryinsel输入的配置组合无效,程序运行时将报告错误,标识输入值的无效组合。
配置DSP48节点输入和输出
DSP48节点具有多个可选输入和输出,用于自定义程序框图上DSP48逻辑片的功能。启用可选节点输入和输出,以配置节点用于执行计算的值。
按照下列步骤选择要在程序框图上显示的DSP48节点输入和输出。
- 在程序框图上单击要配置的DSP48节点。
- 在项选项卡上单击更改连线板按钮。
- 在配置DSP48连线板对话框的接线端选项卡上,选择要在程序框图上显示的输入和输出并单击确定。
保持DSP48节点数值精度
如要保持应用程序的数值精度,必须在计算中正确设置输入的整数字长。如未正确设置整数字长,计算的结果可能出错。
DSP48节点的输入字长为常量值,该值与DSP48逻辑片对应输入的字节宽度匹配。使用配置DSP48连线板对话框的定点配置选项卡调整DSP48节点的输入/组输入的整数字长。
下表概述了如果要保持节点算术计算的数值精度,DSP48节点输入端的数据类型需进行的改动。
| 节点输入或方程配置 | 保持数值精度的要求 | 范例 |
|---|---|---|
|
a, b |
|
b的源的数据类型为I16 <1.15>。如要满足保持精度的要求,请将b的整数字长设置为3、2或1。 |
|
乘法器(p = a × b) |
p的小数字长等于a和b的小数字长和。 |
小数字长和为29。分别设置a、b和p的字长:
|
|
累加器(p = p + c) |
p的小数字长等于c的小数字长。 |
c的源的数据类型为I16 <3.13>。 设置p的整数字长为35。 |
DSP48E2的常用算术方程配置
从项选项卡的计算下拉菜单中选择算术时,DSP48节点使用下列通用方程。
p = (+/Not z) +/- (x+y + carryin)
z、x+y和carryin为变量。可以给这些变量分配常量值、节点输入值及运算结果。carryin可用源取决于用户为z和x+y指定的值。在项选项卡上单击编辑配置方程。
在项选项卡的接口下拉菜单选择DSP48E1时,配置DSP48对话框中出现m的第二个方程求解。可在节点执行的计算中将该方程的结果用作x+y的输入值。
默认情况下,DSP48节点的DSP48E2接口使用下列方程。
p = c + (m + carryin)
m = a × b
| 算术运算 | 算术方程 | 配置 |
|---|---|---|
|
乘 |
p = a × b + carryin |
|
|
带预加器的乘 |
p = (d + a) × b + carryin |
|
|
乘累加器 |
p = p + (a × b + carryin) |
|
|
乘加器 |
p = c + (a × b + carryin) |
|
|
乘减法器 |
p = c - (a × b + carryin) |
|