前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论功耗 | 如何计算toggle rate

论功耗 | 如何计算toggle rate

作者头像
老秃胖驴
发布2019-09-16 15:47:41
5.5K1
发布2019-09-16 15:47:41
举报
文章被收录于专栏:陌上风骑驴看IC陌上风骑驴看IC

先吐个槽,数字前端AE 生存环境实属恶劣,按理说AE 只要解决工具端的问题即可,可现实中经常被揪住讨论SDC 如何设置,power 估算该用哪个corner, toggle rate 如何算这些很难概论的问题。周二在某司,某位老兄打了一大叠IEEE 文章在研读toggle rate 计算的问题,兴致勃勃得来找老驴讨论,听完该兄叙述,老驴深深陷入一团迷雾中,于是发文《求助 | toggle rate的计算》求助广大驴友。感谢驴群2.0 的@if 同学,感谢驴群1.0 的@剩凉菜、@刚刚、@白菜王国,感谢驴友@DragonBaby 糖糖、@the1ne. 在以上同学的帮助下,老驴又研读了一些资料,总结于此。

Probability


逻辑功能一定,输入Probability 确定的情况下,输出的Probability 是个定值,Probability 用于leakage 的计算,具体计算方式可回顾《四月清和雨乍晴,静态功耗乱伊心》。此处的Probability  指信号处在状态 “1" 的概率,实际上用duty 更达意。基本逻辑门,Probability 的计算公式为:

除了这个指代信号处于状态"1" 的Probability, 还有一个概念叫Transition Probability, 驴理解的这个概率跟计算输出的toggle rate 相关,如果输入的toggle rate 已知,如果不考虑串扰的影响,那输出的toggle rate 可能可以根据条件概率计算得到。基本逻辑门的 Transition Probability 的计算公式为:

Toggle Rate


真实Toggle Rate 的计算特别复杂,据文献《Toggle Rate Estimation and Glitch Analysis on Logic Circuits 》, 真实的Toggle Rate 受如下因素影响:

  • Temporal correlation
  • Spatial correlation
  • Timing delay of the circuit
  • Presence of glitches

该文献引用了17 篇其他研究Toggle Rate 的文献,有兴趣的同学可以深读一下,概括来说,如果要精确计算Toggle Rate 需要SSTA 来支撑。

显然当今各家Power 分析工具都不会用到如此复杂的方式来计算Toggle Rate, 在《An ASIC low Power Primer 》中提到,对于组合逻辑单元, 输出的toggle Rate 可以根据输入的toggle Rate 及对应的逻辑功能仿真得到。驴群2.0 的@if 同学提到可以用蒙特卡洛仿真,或BDD (Binary decision diagram ) 算法拟合,该同学曾用perl 写过一个蒙特卡洛拟合过程,好牛逼!

除了仿真之外,还有一种简单粗暴的方式,根据输入的Probability 和Toggle Rate 计算得到,老驴估计当前主流Power 分析工具都是用这种方式计算的,基本逻辑门的计算公式为:

到此,再回顾《探讨 | 功耗应该在哪个corner 看》,可以更明确地得知工具只能估算 Power,   无法精确。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陌上风骑驴看IC 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档