老白的白

tech blogs in Zhihu

View on GitHub

HDL Coder生成Xilinx DSP48E1注意事项

下图为Xilinx 7系列FPGA中使用的DSP48E1的框图

图1 Xilinx DSP48E1 Series

从中我们可以看出,输入有两个寄存器,如果用到后面的加法/减法器,与乘法器之间会有一个寄存器,然后加法/减法器的输出有一个寄存器P。 因此,如果我们仅使用一个乘法器时,建议在前后都加上一个delay模块并且设置delay length=2。

图2 乘法器使用建议设置

如果我们设计一个乘法+加法器时(如图3),

图3 乘法+加法器使用建议设置
图4 HDL Block Properties

如果使用使用HDL Coder生成Vivado项目并且综合之后,我们会发现,这个模块例化了两个DSP模块,其中一个只使用了乘法器,结果通过POUT送入另一个DSP单元进行加法运算。 如图5,绿色框和红色框分别代表一个例化的DSP。

图5 图3的综合结果

back