打印

DSP硬件实现的优化(四)—快速准确的评估

[复制链接]
606|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianli1980|  楼主 | 2014-9-14 21:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DSP硬件实现的优化(四)—快速准确的评估高速超大规模的并行乘加电路组合逻辑资源

在高速超大规模的并行乘加电路的设计中(FIR或者其他运算形式),经常使用booth编码把各乘法化解成部分积,然后用CSA为基本组成单位来进入 Wallace tree进行压缩,直到得到S和2C为止。在DC综合中,经常把其中的CSA单元设为dont touch,不去优化,所以当电路需要跑高速的时候,这部分逻辑资源不会产生变化,变化的只是加入了pipeline寄存器。因此这种架构具有非常明显的 资源优势。那么应该在还没写代码进行综合的时候准确的评估其逻辑资源呢?

方法如下:
1. Booth编码器的资源。假设分解为n比特的部分积,那么只要知道平均做booth编码时每比特大概占用多少资源即可。现分析如下:做部分积的时候,有5 种可能性,0, a, -a,2a,-2a(带符号移位)。这五种可能性取决于另外一个低位乘数的a(i+1),a(i)和a(i-1),因此该部分编码电路每比特可以等效为一 个Mux4再加几个小的逻辑门即可,因为0这个数可以被其他门电路做逻辑运算取代,所以只需两个mux2即可。部分积取负操作需要取反加一,为了改进时 序,做booth编码时候只做取反操作,加一操作和其他项组成部分积。因此每比特的booth编码器耗费资源一般不超过10门,经实际分析,以9个门左右 为经验值。


2. 做Wallace tree时使用的CSA资源。N个n比特的部分积需要N-2个n比特的CSA,因为Wallace tree的压缩的目的就是把所有的部分积压缩到只剩下两个数相加,而每组CSA只能减少一个部分积,而一个设计良好的Wallace tree,不会发生做压缩时产生的位宽扩展现象,所以CSA资源基本上为N-2个n比特的CSA。一个CSA等价的门数看驱动能力而定,一般经验值取为9.


3. 最后一级的全加器资源。该部分资源在大规模设计中基本上可以忽略不计。


综上所述,评估该种架构的乘加电路组合逻辑资源可以使用该种方式,而根据DC综合出来的资源结果跟预估结果事实上也相差无几。

相关帖子

沙发
小木欧尼| | 2014-9-14 23:25 | 只看该作者
真心学习啦

使用特权

评论回复
板凳
long009| | 2014-11-30 13:57 | 只看该作者
:handshake

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

482

主题

2214

帖子

11

粉丝