0

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

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

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

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

我想在 VHDL 文件中搜索以查看哪些操作使用这些单元。

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

4

2 回答 2

2

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

  1. 可以推断。这是当综合工具通过查看您正在执行的操作(例如乘法)并意识到使用专用资源(DSP48)而不是结构/逻辑来进行乘法时最有效的时候变得智能。
  2. 它可以被实例化。这意味着在您的源文件中直接调用了原语。设计师说我知道我想用这块硬件,所以我要明确地叫出来。此时您可以在 VHDL 源文件中对“DSP48”进行文本搜索。
  3. 它可能是核心的一部分。如果它是核心的一部分,您可能会也可能不会看到该核心。例如,内核的实际实现方式可能与用于仿真的行为模型不同。

在任何情况下,正如 Russell 所建议的那样,使用 Xilinx 工具集来确定设计层次结构中原语的利用率可能是确定单元来自何处的良好第一步。此外,您可以随时打开 FPGA 编辑器,查看 DSP48 单元的名称以及进出 DSP48 的信号,以获取有关它在您的设计中位置的更多提示。

于 2014-07-02T12:43:40.673 回答
0

听起来您正试图找到您的模块级利用率。我知道赛灵思 ISE 支持这一点。在 Design Overview 下有一个名为 Module Level Utilization 的选项,它分解了 VHDL 设计中的每个模块,并告诉您 Regs、LUT、BRAM 和 DSP 的使用位置。

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

于 2014-07-02T12:37:55.473 回答