EDA工具里的功耗分析方法(上)

在当下的芯片设计中,工艺越先进,芯片规模越大,功耗就越发敏感,降低功耗的诉求越来越紧迫。在小编过往的文章中,有过低功耗设计实现的一些讨论,具体猛戳如下链接:

浅谈芯片低功耗的设计实现(上)
浅谈芯片低功耗的设计实现(下)
优化一定是建立在计算和数据的基础上的,那么对于EDA而言,功耗是怎么算出来的呢?今天,就让小编带领大家一起从EDA的视角,来洞察功耗计算的零零总总。
在这里插入图片描述

开篇之前,先复习一下功耗的计算公式:

Total Power
Dymanic PowerLeakage Power
Switching PowerInternal Power
Pswithing=12V2 ×Cload ×Tr Pinternal=V×Tr ×Qx Pleakage=V×Ileakage

注解

  • V :器件电压
  • C l o a d C_{load} Cload :器件有效负载电容
  • T r T_{r} Tr : 翻转率
  • Q x Q_{x} Qx:一次翻转过程中从电源流到地的电荷量
  • l l e a k a g e l_{leakage} lleakage:漏电电流

EDA对功耗评估的分类

基于上述功耗的计算理论,为了方便计算,EDA工具对与功耗的评估分为如下几类

基于library非功耗的信息,计算功耗

switching power可以结合设计状态,通过演算获取功耗

  • V:用户定义,和library保持一致
  • C l o a d C_{load} Cload: 负载输入input pin的电容(来自于负载器件的pin的library信息)和绕线寄生电容(RC回路模型)
  • T r T_{r} Tr:频率变化信息,由设计里的信号翻转的信息决断

input pin的cap描述

基于SDPD的功耗查看

leakage power可以基于SDPD,直接查看library获取功耗

  • 基于器件输入状态进行功耗查看:器件状态决断SDPD (Status Dependency Path Dependency)
  • library同时提供默认的leakage power的功耗信息
    leakage power的lib描述

基于SDPD和pin的属性查找表

internal power可以基于SDPD和input/outputl 的RC属性查找表来获取

  • 基于SDPD的数据查询
  • input pin:基于input transiton的查找表
  • output pin:基于input transiton和output cap的查找表
  • cel的internal power是所有pin在SDPD下的总和

在这里插入图片描述

在这里插入图片描述

注释:SDPD是一种瞬态值。在芯片常规的工作中,某一时刻,芯片是某一种固定的SDPD,所以一个芯片的实际工作状态(功耗)是由各种SDPD按照出现的比率描述的一个完备值(各种SDPD出现概率总和是100%)
据上,器件的功耗的相关性可以用如下的表格来归类

功耗分类设计lib对象类别SDPD比率合并
switching power电压、信号频率,绕线RC负载器件负载输入pin的capnetNA
leakage power信号频率基于SDPD和和input_trans的查找表cellstate probability
internal power信号频率基于SDPD和 input_tran 后者 input_tran和output_cap的查找表pintoggle rate

EDA的功耗计算示例

EDA工具提供了相应的信息和抽取方式来拟合library的描述。以常用的DC工具里的report_power命令为例,工具会罗列出下面的功耗信息:
在这里插入图片描述
表头解析:

cellCell Internal PowerDriven net Switching powerTot Dynamic Power (% Cell/Tot)Cell Leakage Power
器件name来自于internal power的查找表基于负载pin的cap,主要被电压(V)和 T r T_r Tr所决断 所以,工具在此处将driven net 和switching power做了合并dynamic power 总和(switching+internal),后面的百分比表述了,switching power占整个dynamic power的比率,即cell的功耗贡献比率来自于leakage power的查找表

DC也会把器件分类进行功耗报告打印:

在这里插入图片描述
对于器件的分类方法见下表:
在这里插入图片描述

通常,report_power默认行为是打印类似上述的芯片功耗的总和结果,这些都是每一个器件单独功耗的合计值,当然,也可以使用一些选项打印出某一个cell或者net或的功耗细节。
但是通常不太会这么做,因为去看每一个cell或者net的功耗意义并不很大,反而是找到芯片里边的最差功耗的cell或者net会比较有趣(设计里的功耗大户)。
譬如关心cell的动态功耗,这时可以使用下列命令来罗列:
在这里插入图片描述
如果用户对功耗最大的cell比较感兴趣,可以使用-verbose的选项
罗列出更多的细节:
在这里插入图片描述
类似的也可以针对net类型进行sort、verbose的报告。
在这里插入图片描述
在这里插入图片描述

cell、net和pin的功耗归一化:

从上文描述中可以看到,net会描述switching power,cell对标的则是internla power和leakage power。但是工具在产生报告的时候,无论是net还是cell都会把三类功耗打印完全,这里是使用output pin对应的net来做的cell、net归一化处理

在这里插入图片描述
对于internal power,其在在library里的描述是pin based的
在这里插入图片描述
report_power命令里边,internal power被整合为cell类型,但是本质上就是所有pin在SDPD下的总和表达。

为了方便表达,工具使用了上述三种对象对功耗进行了分拆,总结如下

功耗类别目标类别计算公式解释
内部功耗pin P l i n t e r n a l = ∑ 1 n A P i n i n t e r n a l P_{linternal}=\sum_1^nAPin_{internal} Plinternal=1nAPininternal基于所有pin上漏电功耗的总和
翻转功耗net P s w i t c h i n g = O N e t s w i t c h i n g P_{switching}=ONet_{switching} Pswitching=ONetswitching基于cell的output net 上的反转率和cap进行的核算
漏电功耗cell P l e a k a g e = C e l l l e a k a g e P_{leakage}=Cell_{leakage} Pleakage=Cellleakage基于对cell的自身的漏电的library查看

可以看出,EDA工具为了简化对功耗的核算,使用了归一化的操作,这样可以大大减少报告数量和歧义,这个对library的诉求也是得到了一致

限于篇幅。上文提到的SDPD、toggle rate和state probability等和功耗计算细节相关的属于,放在下一篇文章站看讨论,敬请期待。

本章词汇

词汇解释
动态功耗器件输入信号发生变化过程中产生的功耗
漏电功耗器件在空闲状态是由于漏电流带来的功耗
翻转功耗器件输入管脚翻转所产生的功耗
内部功耗器件输入管脚翻转过程中,所导致的PMOS、NMOS瞬时同导通时所产生的功耗 ,也叫短路功耗(short power)
SDPD基于状态和路径的分析方法:Status Dependency Path Dependency
toggle rate反转率:指在单位时间(unit time),信号的翻转次数
state probability状态概率:单位时间内逻辑1占用(高电平)所占的比率

【敲黑板划重点】

在这里插入图片描述
理解工具对于三类功耗的计算方法:pin、cell和net就可以在查验、优化功耗的地方做到有的放矢,疏而不漏。

参考资料

Rakesh Chadha • J. Bhasker An ASIC Low Power Primer
Michael Keating • David Flynn • Robert Aitken Alan Gibbons • Kaijian Shi Low Power Methodology Manual For System-on-Chip Design
沧海一升 (一)低功耗设计目的与功耗的类型

  • 6
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 第12届蓝桥杯eda赛题是一个电子设计自动化的竞赛题目。该竞赛要求参赛选手使用EDA(Electronic Design Automation)工具对给定的电路进行分析、设计和优化。 该赛题一般会提供一个电路图,选手需要使用EDA工具进行仿真、布线和逻辑综合等操作,以评估电路的性能并进行优化。在此过程中,选手需注意电路的信号传输、和面积等关键指标,力求通过合适的阻抗匹配、电源布局和时序优化等手段来提高电路的性能和有效性。 此外,该赛题还要求选手利用EDA工具完成RTL级设计和前端设计流程,其中包括高层综合、逻辑综合和门级综合等环节,最终生成能通过验证的可综合、布局和时序约束的RTL代码。 参加这个竞赛需要选手掌握EDA工具的使用方法,并具备电路设计和优化的基础知识。选手应该熟悉基本的逻辑门、时序分析和布线规则,以便针对电路实现高性能和低的优化。 蓝桥杯eda赛题是一个综合了理论与实践的竞赛项目,能够帮助选手提升电路设计和优化的技能,并增加对EDA工具的熟练度。参加这个竞赛将为选手个人的学习和职业发展提供宝贵的经验和机会。 ### 回答2: 第12届蓝桥杯EDA赛题是一个电子设计自动化(EDA)的比赛题目。在这个赛题中,参赛者需要利用EDA工具完成特定的电路设计与优化任务。 在赛题中,参赛者需要完成以下几个步骤: 1. 阅读赛题要求和限制条件:参赛者需要仔细阅读比赛的说明和条件,了解需要完成的电路设计的具体要求和限制条件。 2. 进行电路设计:根据赛题的要求,参赛者需要使用EDA工具进行电路设计。这包括选择适当的电子元件和器件、进行电路连接、进行信号调整等。 3. 优化电路设计:在完成电路设计后,参赛者还需要进行电路的优化。这包括减少电路的、提高电路的速度、优化电路的布局等。参赛者可以通过调整电路参数、改变器件布局等方法来进行优化。 4. 进行仿真与验证:在完成电路设计和优化后,参赛者需要利用EDA工具对设计进行仿真与验证。这包括验证电路的能是否符合要求,通过仿真测试电路的性能等。 5. 提交结果与评估:在完成电路设计、优化和仿真验证后,参赛者需要按照赛题要求提交设计文件和仿真结果。评委会将根据参赛者的设计效果、仿真结果等评估设计的优劣。 通过参加蓝桥杯EDA赛题,选手们可以了解到电子设计自动化领域的最新技术和工具,并且锻炼自己的电路设计与优化能力。同时,这也是一个展示选手创造力和技术实力的舞台,参赛者可以在比赛中展示自己的电路设计与优化成果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值