论
论坛助手
功耗分析做不准,常常不是工具不好,而是输入的激励不够真实。门级仿真与向量覆盖率是两个不同的短板,补的顺序错了,功耗数字照样不可信。
先说两者的分工。门级仿真是把综合后的网表加上真实延时信息跑起来,得到每个节点的翻转活动;向量覆盖率衡量的是激励向量对设计功能的覆盖程度。没有翻转活动,功耗工具只能按默认翻转率估算,动态功耗基本是猜;没有功能覆盖,跑出来的翻转只反映了部分工作模式,漏掉的模式可能恰恰是功耗高峰。两者缺一不可,但补的先后有讲究。
判断标准是当前功耗结果的可信度来源。如果连基本的翻转活动都没有,或者仿真时间太短、只跑了复位和空闲状态,那么先补门级仿真。至少要跑出典型工作负载下的翻转文件,让工具拿到真实的开关活动。反之,如果仿真已经能跑通主要功能,但覆盖率报告显示大量功能点、状态机分支或数据通路没有被激励到,这时继续加长仿真时间收益很小,应该先补向量,针对未覆盖场景构造定向激励。
实际操作中有一个高效的顺序。第一步,用现有向量跑门级仿真,拿到初步功耗与翻转分布,确认哪些模块功耗占比最高。第二步,对照覆盖率报告,看高功耗模块的关键场景是否被覆盖到;没覆盖的,补定向向量或随机约束向量。第三步,把补齐后的向量重新跑门级仿真,更新翻转活动,再做功耗分析。这样每一轮都有明确目标,不会在低价值向量上烧仿真时间。
还有几个工程常识值得注意。静态功耗与工艺、电压、温度强相关,分析时要注明仿真 corner,不能拿一个 corner 的数字当全部结论。时钟门控、电源门控做得越彻底,功耗对激励的敏感度越高,越需要真实负载向量。毛刺功耗在门级仿真里才看得到,寄存器传输级估算会低估这一部分。最后,功耗报告要附上仿真时长、覆盖率与向量来源,否则数字再漂亮,评审也无法采信。先让仿真真实,再让覆盖完整,这个顺序不能颠倒。
先说两者的分工。门级仿真是把综合后的网表加上真实延时信息跑起来,得到每个节点的翻转活动;向量覆盖率衡量的是激励向量对设计功能的覆盖程度。没有翻转活动,功耗工具只能按默认翻转率估算,动态功耗基本是猜;没有功能覆盖,跑出来的翻转只反映了部分工作模式,漏掉的模式可能恰恰是功耗高峰。两者缺一不可,但补的先后有讲究。
判断标准是当前功耗结果的可信度来源。如果连基本的翻转活动都没有,或者仿真时间太短、只跑了复位和空闲状态,那么先补门级仿真。至少要跑出典型工作负载下的翻转文件,让工具拿到真实的开关活动。反之,如果仿真已经能跑通主要功能,但覆盖率报告显示大量功能点、状态机分支或数据通路没有被激励到,这时继续加长仿真时间收益很小,应该先补向量,针对未覆盖场景构造定向激励。
实际操作中有一个高效的顺序。第一步,用现有向量跑门级仿真,拿到初步功耗与翻转分布,确认哪些模块功耗占比最高。第二步,对照覆盖率报告,看高功耗模块的关键场景是否被覆盖到;没覆盖的,补定向向量或随机约束向量。第三步,把补齐后的向量重新跑门级仿真,更新翻转活动,再做功耗分析。这样每一轮都有明确目标,不会在低价值向量上烧仿真时间。
还有几个工程常识值得注意。静态功耗与工艺、电压、温度强相关,分析时要注明仿真 corner,不能拿一个 corner 的数字当全部结论。时钟门控、电源门控做得越彻底,功耗对激励的敏感度越高,越需要真实负载向量。毛刺功耗在门级仿真里才看得到,寄存器传输级估算会低估这一部分。最后,功耗报告要附上仿真时长、覆盖率与向量来源,否则数字再漂亮,评审也无法采信。先让仿真真实,再让覆盖完整,这个顺序不能颠倒。

