Vivado综合属性:USE_DSP

在Vivado中,默认情况下用HDL描述的乘法、乘加、乘减、乘累加以及预加相乘最终都会映射到DSP48中,但是加法、减法和累加运算则会用常规的逻辑资源即查找表、进位链等来实现。相比于查找表,DSP48在功耗和速度上都有优势。如果期望加法运算也能映射到DSP48中,那么就要用到综合属性use_dsp(它取代了之前的use_dsp48,目前仍然可以使用use_dsp48,但建议使用新的名称)。

该综合属性有4个值,分别是simd,logic,yes和no。这里重点介绍simd。实际上simd(Single Instruction, Multiple Data)是DSP48的一个特征。它使得48-bit的ALU可配置为4个12-bit的ALU(执行加法、减法或位逻辑运算)或者2个24-bit的ALU,如下图所示。此时DSP48内部的乘法器是无法使用的。

从图中可以看出,simd可以有效节省LUT和FF,同时提升时钟频率。在使用simd时,要遵循simd的代码风格。如下图所示的VHDL和Verilog代码。

当只有一个加法操作时,将use_dsp的值设置为”yes”则可将该加法运算映射到DSP48内。

结论

-USE_DSP可使得加法、减法或累加映射到DSP内

-USE_DSP的simd可使得2个24-bit加法或4个12-bit加法映射到DSP内

上期内容:

Vivado综合属性:SRL_STYLE

下期内容:

Vivado综合属性:RAM_STYLE和ROM_STYLE

本文分享自微信公众号 - Lauren的FPGA(Lauren_FPGA)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券