HDL Coder生成Xilinx DSP48E1注意事项

AI助手已提取文章相关产品:

点击蓝字关注我们

关注、星标公众号,精彩内容每日送达
来源:网络素材

42c911e0cf29376f6ff227acc8bb842d.jpeg

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

fa8ac4dca83b92f7c118752d5c02871f.jpeg
图1 Xilinx DSP48E1 Series

从中我们可以看出,输入有两个寄存器,如果用到后面的加法/减法器,与乘法器之间会有一个寄存器,然后加法/减法器的输出有一个寄存器P。

因此,如果我们**仅使用一个乘法器**时,建议在前后都加上一个delay模块并且设置delay length=2。

6ffe8918b002ccb714ff6b930e0b3893.jpeg
图2 乘法器使用建议设置

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

400553cb310ca576e11b5b1798d7b59d.jpeg
图3 乘法+加法器使用建议设置

- 建议使用delay length=2的delay模块连接乘法和加法模块(乘法加法之间使用delay length=1也可以)

- 右键设置所有delay的HDL Block Properties中ResetType为none,这样做是为了防止全局的reset信号控制内部寄存器,需要额外逻辑,造成Vivado编译器无法优化DSP

92f17260995221f0f7036fb1f9c32836.jpeg
图4 HDL Block Properties

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

如图5,绿色框和红色框分别代表一个例化的DSP。

8f856640d1d0cba7a792a4faeb498d17.jpeg
图5 图3的综合结果

ee53926b1622683c2c8ae2baafb32cfb.jpeg

想要了解FPGA吗?这里有实例分享,ZYNQ设计,关注我们的公众号,探索

您可能感兴趣的与本文相关内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值