采用RTL代码描述位宽相同的两个数相加或相减

描述

本文用的芯片型号为xcku115-flvd1924-1L-i,时钟频率为400MHz。

两个有符号数相加

采用RTL代码描述位宽相同的两个数相加或相减,无论是有符号数还是无符号数,Vivado综合后的结果是一致的。以32bit数据为例,相应的代码如下图所示。这里考虑到两个32bit数据相加其结果可能为33bit,同时对于高速设计(时钟频率至少400MHz)为了满足性能,对输入和输出分别添加了流水寄存器。

代码

  最终的资源利用率如下图所示。  

代码

从逻辑级数的角度看,逻辑级数最大为5(有一条),大多数路径为3,如下图所示。

代码

从综合属性角度看,可以通过use_dsp属性使得该加法操作映射到DSP48中,该属性的使用方法如下图所示。

代码

采用DSP48实现时,上述代码可达到完全映射,不会消耗SLICE中的任何资源。假定时钟频率为400MHz,对比使用LUT+FF和DSP48两种实现方式,不难看出后者在时序(逻辑级数降低至1)和功耗方面均有优势。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分