从 HDL 代码中以 FPGA 上的 DSP 片为目标进行乘法

Targeting DSP slices on FPGA from HDL code for multiplication

我正在 Zynq 芯片上实现 TxRx。我的设计正在运行,但我想对其进行优化。根据报告,我的 DSP 片没有被使用。我想对 DSP slice 进行乘法运算。我刚开始使用 FPGA。从我的 Verilog 代码中,是否有针对 FPGA DSP 切片进行乘法运算的热门指南。写乘法的地方应该怎么写函数?

亲切的问候,

是的,基本上您应该使用流水线寄存器并确保您没有非法使用 DSP 块。一个例子是 Xilinx 的 FPGA 中的 DSP 寄存器没有异步复位。

学习如何在 Verilog 中将 DSP 与 Xilinx 的 FPGA 结合使用的最佳方法是阅读 synthesis guide。您将在 VHDL 和 Verilog 中找到映射到 DSP 的指南和示例,包括在您需要时使用预加器和累加器。

您还会发现 Vivado 在其综合报告中有一个部分显示了使用的每个 dsp 及其配置方式(模式和宽度)。当您觉得您的代码应该映射到 DSP 时,很容易验证 Xilinx 是否确实按照您的预期进行。