VHDL中的DSP单元使用

时间:2014-07-02 12:32:48

标签: vhdl register-transfer-level

我们正在使用工具将代码转换为RTL。

使用这些VHDL文件,我们希望使用FPGA合成代码。

在综合结果中,我们看到下表:

Slice Logic Utilization Used   Available Utilization
Number of DSP48E1s      15     864       1%

我想在VHDL文件中搜索哪些操作使用这些单位。

有没有办法找到它们?或任何显示导致使用DSP的操作的文档?

2 个答案:

答案 0 :(得分:2)

有几种方法可以在您的VHDL中使用DSP48。

  1. 可以推断。这是通过查看您正在进行的操作(例如乘法)来实现综合工具的智能,并且意识到使用专用资源(DSP48)而不是结构/逻辑进行乘法是最有效的。
  2. 可以实例化。这意味着在源文件中直接调用了原语。设计师说,我知道我想使用这块硬件,所以我将明确地称之为。这时您可以在VHDL源文件中搜索“DSP48”。
  3. 它可能是核心的一部分。如果它是核心的一部分,您可能会或可能不会看到该核心。例如,核心实际实现的方式可能与用于模拟的行为模型不同。
  4. 在任何情况下,根据Russell的建议,使用Xilinx工具集来确定设计层次结构中基元的利用率可能是确定单元来源的第一步。此外,您始终可以打开FPGA编辑器,查看DSP48单元的调用内容以及进出DSP48的信号,以获取有关设计位置的其他提示。

答案 1 :(得分:0)

听起来你正试图找到你的模块级利用率。我知道Xilinx ISE支持这一点。在“设计概述”下,有一个名为“模块级利用率”的选项可以分解VHDL设计中的每个模块,并告诉您Regs,LUT,BRAM和DSP的使用位置。

如果您无法找到它,请在设计中查找任何大的乘法。大的乘法/累加运算将合成到DSP48中。