DSP48E或DSP48E1配置对话框底部的示意图显示了函数的内部组合路径。如该组合路径过长,函数不能在用户指定的时钟周期编译。尝试编译FPGA VI时,LabVIEW将返回错误。

为函数添加内部寄存器可避免发生上述错误。添加寄存器可增加函数在指定时钟周期内完成编译的机率。但也增加了DSP48E函数的延迟,可能导致内部数据路径延迟的相对不平衡。根据使用函数的方式,该不平衡是可以接受的。但必须考虑内部数据路径的延迟,以确保函数能够按照预期执行。

通过配置对话框的寄存器页面添加和配置DSP48E逻辑片的内部寄存器。注,添加和配置寄存器时,对话框底部示意图中的绿色框亮起。数据路径也可能发生改变。

注: 内部寄存器仅在顶层FPGA VI运行时重置。(DSP48E)关于逻辑片内寄存器的详细信息,见Virtex-5 FPGA XtremeDSP Design Considerations User Guide中的表1-4。通过www.xilinx.com可获取该文档。(DSP48E1)关于该函数的信息,见Virtex-6 FPGA DSP48E1 Slice User Guide中的表1-4。

启用和重置寄存器

每个寄存器都具有相应的启用和重置接线端。默认情况下,LabVIEW设置重置接线端为FALSE,且从程序框图隐藏所有接线端时启用接线端为TRUE。如默认设置可用,则无需更改设置。

如要详尽的控制启用和充值操作,可使用启用重置页面指定LabVIEW在程序框图上显示的启用和重置接线端。在每个页面的顶端为可选选项的下拉菜单,如下图所示:

这些选项对添加的寄存器的影响如下:

  • 隐藏全部信号-指定LabVIEW在程序框图上不显示启用或重置接线端。此时LabVIEW执行上述的默认操作。
  • 所有寄存器使用一个接线端-根据用户的配置页面,指定LabVIEW显示启用清除输入接线端。如要在逻辑片中启用/重置所有寄存器,连线一个TRUE值到该接线端。
  • 选择要显示的接线端-启用该下拉菜单下的复选框。如要显示单个寄存器的接线端,请勾选相应的对话框。括号中的名称为启用或重置信号的VHDL名称。
    注: 如选择了该选项,但LabVIEW仍禁用了某些复选框。这是因为尚未在寄存器页面添加相应的寄存器。单击寄存器选项卡,勾选相应的复选框。然后返回启用重置页面。

单击确定按钮并返回程序框图时,LabVIEW显示您选中的任意布尔输入接线端。然后可连线代码,以将这些接线端在适当的时间设置为TRUE或FALSE。

等效于LabVIEW选项的VHDL代码

如要查看配置的相应VHDL代码,单击VHDL实例选项卡。关于指定属性的详细信息,见Virtex-5 FPGA XtremeDSP Design Considerations User GuideVirtex-6 FPGA DSP48E1 Slice User Guide中的表1-3。通过Xilinx网站www.xilinx.com可获取该文档。下表为对应于LabVIEW中每个选项的属性。

LabVIEW选项 表1-3的参考属性

AREG

BREG

ACASCREG

BCASCREG
alumode寄存器 ALUMODEREG
c寄存器 CREG
carryin寄存器 CARRYINREG
carryinsel寄存器 CARRYINSELREG
(DSP48E) m寄存器 MREG
(DSP48E) multcarryin寄存器 MULTCARRYINREG
(DSP48E1) m寄存器和multcarryin寄存器 MREG
opmode寄存器 OPMODEREG
p寄存器 PREG
(DSP48E1) d寄存器 DREG
(DSP48E1) ad寄存器 ADREG
(DSP48E1) inmode寄存器 INMODEREG