首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

下一篇
举报
领券