用户可使用4个DSP48E逻辑单元实现复数乘法器。乘法器的输入为4个定点数(x1、x2、y1和y2),每对表示一个复数:

  • x1 + j * y1
  • x2 + j * y2

复数乘法器使用这些输入并生成2个定点数:

  • x1 * x2 – y1 * y2
  • x1 * y2 + x2 * y1

然后可计算 (x1 * x2 – y1* y2) + j(x1 * y2 + x2 * y1).

按照下列步骤创建一个复数乘法器。

  1. 在FPGA终端上新建一个VI。
  2. 添加DSP48E函数至程序框图。
  3. 双击函数并按照下列方式配置函数:
    1. 函数页面:

    2. 接线端页面:

    3. 单击确定按钮保存更改,并返回程序框图。
    此函数当前为函数0。
  4. 按下<Ctrl>键,然后拖曳函数至当前函数的下方。此操作将创建DSP48E函数的副本-函数1。此副本与之前的函数具有相同的配置。当前的程序框图将显示下图:

  5. 添加另一个DSP48E函数至函数0的右侧。该函数为函数2。
  6. 双击函数并按照下列方式配置函数:
    1. 函数页面:

    2. 接线端页面:

    3. 寄存器页面:

      添加额外的电阻至每个数据路径,能够确保此应用中的延时平衡。
    4. 单击确定按钮保存更改,并返回程序框图。
  7. 按下<Ctrl>键,拖曳函数至函数1的右侧,函数2的下方。
  8. 双击此副本,并按照下列方式配置函数页面。

  9. 单击确定按钮保存更改并返回程序框图。程序框图将显示下图:

  10. 按照下图创建并连线输入控件和显示控件:

    注: 根据x1、x2、y1和y2的数据源,可能需要配置DSP48E输入接线端的整数字节长度。
  11. 保存VI至可用的路径为DSP48E Complex Multiplier.vi

此VI可被输出以用于仿真。如要在FPGA终端上运行此VI,必须在单周期定时循环中关闭此代码。

提示 在程序框图上可缩放函数按钮以节省空间。