返回列表 发帖

[原创] low power RTL 设计优化

Reducebit width.

最简单的比如 4 10 bits数相加,也许就会有人得出需要13bit的结论

C code: F=  A+B+C+D

Wire [10:0] F_pre1 = A[9:0] + B[9:0];

Wire [11:0] F_pre2 = F_pre1 + C[9:0];

Wire [12:0]F     = F_pre2 + D[9:0]; //sum of four10bit only need 12bit result.


特别是有些计算,如果能够通过简单推导或者合并降低位宽,那会既省面积又省power.


Hardmacrovs Register:

Tsmc 40 nm工艺下面,简单对比单个寄存器和sram的大小,

SDFCNQD1BWP    5.2u2  (Min size )

SDFCNQD2BWP    5.9 u2

For 1prf128x36=5458u2, each bit is 1.18u2

Forsparm576x32=12884, each bit is 0.69u2

Forspram 896x48=23515u2, each bit is 0.546u2

通过查手册,知道单次读写的power, 以便在大量数据需要寄存时,分析到底是用hardmaco 还是 DFF.

TOP

Logicbalancing:综合工具在时序紧的时候更多的用并行逻辑来减少计算delay, 在时序松的时候用串行逻辑来减少面积,如果我们在写code的时候能把一些不在关键路径上的逻辑拆开,这样能优化面积,同时减少power.
如下图,非关键路径第一拍逻辑多,第2拍逻辑少。
balance1.JPG
5 天前 13:06


balance后的结构如下:
balance2.JPG
5 天前 13:07


一个具体实例如下:两个时序很紧的加法器balance后area power的变换。 area power都有下降


  

Style

  
  

Power

  
  

area

  
  

No-balance

  
  

6.491e-06

  
  

729.06

  
  

Balance

  
  

5.618e-06

  
  

373.08

  


当然,如果为了balance 逻辑需要寄存大量的中间结果也是不合适的,上面power没降这么多是因为增加寄存器hold中间结果,这个最好能有工具提供优化提示。

TOP

顶顶顶顶

TOP

markmarkmarkmark

TOP

返回列表

站长推荐 关闭


音频系统、USB TYPE-C、智能手机、移动电源、SSD 参考设计汇总(免信元)

太多参考设计,原理图了,都是精品!(免信元下载)


查看