微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 是如何在RTL级别推算功耗的

是如何在RTL级别推算功耗的

时间:12-12 整理:3721RD 点击:
比如PowerTheater?或是其它的类似工具?

貌似要吃.lib,然后把rtl map成.lib里面的standard cell
然后根据wire load model和.lib,还有vaf等来计算静态和动态功耗
PT的文档里面有一些大概的描述^_^

是的, 其实就是先把RTL转成门级网表,
然后根据wire load, drive, load, 标准单元的功耗 累加起来,
当然会考虑clock gating的影响

多谢几位高人的回复:〉
不过人家公司的人过来说PowerTheater是直接在RTL下面作功耗分析,不需要综合后的门级网表!说这样速度很快,并且有助于高层次的架构分析。
的确如此,但这是什么原理呢?

那要看这工具到底目标是什么,估算到底能达到什么水平了,不同的建模级别的准确度
可能相差很多哦  楼主有没有拿个实际的设计评估一下?

对于可综合得RTL来说,人家说可以控制误差在15%以内。更关键的我想知道他是基于什么算法的?有没有可能对一些特性的架构设计有一些指导性?

觉得这玩意儿跟RTL代码风格很有关系
高度结构化,参数化的RTL估计起来应该比较准
如果RTL比较零散,状态机较多的话差的比较远
猜想这个tool会有内部mapping的引擎,map之后用常规的算法估计功耗
但<15%误差有点夸张,90nm以下PT不上spef误差也将近15%

有些工具其实是基于统计学原理,你的设计的size和工艺基本决定了特定频率下完全工作时的动态功耗。这类工具往往比基于netlist去计算还要准确,但是如果设计本身对功耗控制比较精细(比如加大量clock gate),误差就会较大了
另外这类工具对于模块级的分析还算可以,对于SOC系统来说就没有什么效果了。SOC本身功耗就是动态的,设计者既要关心它的峰值功耗,还要关心它的平均功耗。

应该需要一段仿真波形,统计翻转吧?就像saif文件类似的。
感觉还是需要有netlist比较靠谱,难道这种工具内部自己做了一个简单的综合?

一般推荐要有波形, 没有的话,可以用一个参数假定平均多少周期翻转一次(这个非常不推荐)

我的意思是说基于RTL做功耗分析
但在软件内部他可以做一个简单的mapping, 得到网表(这个非常快)
spyglass就是这样的,它内部一个快速综合引擎

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top