低功耗设计之Multi-Bit Cell

david 2021-12-27 09:00:22 5300

从Cadence user guide可以查阅到如下描述:Multi-bit flip-flop (MBFF) flow provides power optimization benefits with a minimum impact on timing. This flow is called as a part of the preCTS optimization stage.所谓multi-bit cell,可以理解成把多个完全相同的cell合并在一个cell里,如下图所示,集成2bit的multi-bit cell的clock inverter是共享的,那么可以节省2个clock inverter的面积、功耗。同时由于flip-flop数量减少,时钟互联线也减少,即减少了clock net length、capacitance、clock inverter更利于总功耗的降低。

有一点非常重要,MBFF对SBFF的合并使用目的是降低功耗,但是前提是保证timing,若timing不满足,MBFF是应该被要求拆分成SBFF,SBFF更方便resize、move等操作。

芯片功耗很大一部分在时钟树上,通过multi-bit cell技术我们可以获得如下图所示的功耗改观:

此外,通常scan DFF由于带了scan mux电路,其面积会更大,而Multi-bit flip-flop (MBFF)合并单bit寄存器后,可以更明显降低面积,以scan DFF为例,single bit 和multi bit的逻辑关系一般如下:

在晶体管级别的版图设计过程中,会采用优化晶体管连接,晶体管共用等手段来节约面积,因此multi-bit cell比同等bit数目的single-bit cell的版图面积总和要小一些。假设一个1-bit DFF的面积为 ,那么一个2-bit DFF的面积一般会比 小一些,4-bit DFF的面积会比 小更多。在Cadence INNOVUS中可以用如下命令查看MBFF信息:- reportMultiBitFFs -all

- reportMultiBitFFs -statistics

  • reportMultiBitFFs -cell MB2SDFCNQOPPSBD1BWP24P90ELVT

MBFF结构在功耗上带来的好处主要体现在以下几个方面,整体而言,就是减少了clock net length、capacitance、clock inverter。

1)clock pin capacitance减少从而降低clock switching power

由下图可知,虽然2bit MBFF较1bit flip-flop的clock pin cap改观不大,但当design中有大量multi-bit DFF来替代single-bit DFF时,DFF数量大量降低,芯片时钟树上整体pin cap的下降是非常明显的。cap越小switching power也越小,动态功耗降低。

2)时钟树buffer数量减少,降低switching和leakage power

由于multi-bit DFF中每个DFF的clock pin cap相对于single-bit DFF有一些减小,那么在multi-bit design中一个相同的buffer可以驱动更多的MDFF,当然最主要还是DFF数量的减少,从而显著减少时钟树上的buffer数量和面积,进一步降低时钟树上的功耗。3)时钟树绕线资源减少,时钟树寄生RC从而降低dynamic power

MBFF大量使用时,相对于single-bit design来说,芯片standard cell数量大幅下降,而且在很多时候DFF的摆放也可能会更加集中,时钟树绕线将节省大量走线资源,进而减少整个时钟网络的寄生RC。下图展示了single-bit DFF与multi-bit DFF的绕线差异,可以看出右侧的MBFF绕线明显更少,时钟整体的寄生RC得到减少,从而降低功耗。

尽管multi-bit有以上诸多优点,但是在实际应用中并不总能得到最好的结果。其主要原因在于以下几个方面:a) single-bit到multi-bit的转化有诸多条件限制,很多时候design实际的multi-bit cell比率不高。b) multi-bit cell摆放不合理可能会引起congestion问题、timing问题,反而会增加更多的组合逻辑的power从而抵消clock tree上带来的功耗降低的效果。比如,2bit single-bit DFF本来被place在不同位置,若合同为2bit的multi-bit DFF后,routing连线可能反而更长,增加了路径延迟,工具会采用buffering、sizing的优化方式优化时序,若依然不能满足timing,那么multi-bit cell不如拆分成single-bit cell,因为single-bit cell可以更方便resize、move。c) IR/EM方面的考虑可能会故意让multi-bit cell互相摆放的远一些,从而无法达到减少clock net length寄生RC从而降低功耗的效果。

转载:全栈芯片工程师

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
david
红包 点赞 1 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
david
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区