本文用的芯片型号为xcku115-flvd1924-1L-i,时钟频率为400MHz。
两个有符号数相加
采用RTL代码描述位宽相同的两个数相加或相减,无论是有符号数还是无符号数,Vivado综合后的结果是一致的。以32bit数据为例,相应的代码如下图所示。这里考虑到两个32bit数据相加其结果可能为33bit,同时对于高速设计(时钟频率至少400MHz)为了满足性能,对输入和输出分别添加了流水寄存器。
最终的资源利用率如下图所示。
从逻辑级数的角度看,逻辑级数最大为5(有一条),大多数路径为3,如下图所示。
从综合属性角度看,可以通过use_dsp属性使得该加法操作映射到DSP48中,该属性的使用方法如下图所示。
采用DSP48实现时,上述代码可达到完全映射,不会消耗SLICE中的任何资源。假定时钟频率为400MHz,对比使用LUT+FF和DSP48两种实现方式,不难看出后者在时序(逻辑级数降低至1)和功耗方面均有优势。
全部0条评论
快来发表一下你的评论吧 !