芯片功耗是如何仿真计算的(PTPX为例)

电子说

1.3w人已加入

描述

过往的文章我们谈了好多优化功耗的手段,显然,功耗不能等流片以后直接测试芯片功耗。在EDA阶段我们就要有办法对功耗进行一个仿真。

这篇文章我们以PTPX为例,讲讲芯片在设计阶段是如何仿真功耗的。

1 常见的标准单元库功耗模型

在讲PTPX之前,先简单讲讲标准单元库的模型。

电流源

如上图,实际上电路都可以建模成一个drvier, 一个receiver, 以及中间的传输路径。

实际上,为了描述上面这个系统,功耗仿真中标准单元库有两种功耗模型:

·NLDM (Non Linear Delay Model)

·CCS(Composite Current Source)

1)NLDM模型

这种模型driver model认为是一个内阻恒定的电压源,receiver model是认为是一个电容,显然,输出电压是时间的线性函数。

电流源

我们从输出曲线上也能看到,这种模型其实是比较粗暴地,只要三个点就能确定。在65nm以下很不精确,所以我们有了CCS模型。

2)CCS模型

这种模型是Synopsys提出的。提高了精确度。driver model变成了一个非线性的符合电流源,电流随电压和时间变化。receiver model变成了两个电容的并联。

电流源

得到的大致曲线如下图。

电流源

实际上,PTPX两种模型都支持,一般先进工艺在标准单元库中要提供CCS模型的曲线。

2 功耗是如何计算的

对功耗模型有了一个大致了解以后,我们继续搞明白PTPX计算功耗的原理。PTPX的功耗是分部计算的。

电流源

功耗主要是有leakage power和dynamic power两部分组成的。

1)Leakage power

我们先说这个,leakage power。leakge power顾名思义,到处漏掉的电流。

电流源

主要分析起来,有两种

·intrinsic leakage power, 源极和漏极之间的漏电流。上图中,电流I1,I2,I3都算。

·gate leakage power,栅极和源漏之间的漏电流。上图I4算gate leakage power。评论区有专业人士说这个很小,看了一下ptpx breakdown的值,确实不大。应当可以忽略。

这些静态功耗的参数,都要写在lib文件中,供PTPX调用,直接拟合曲线即可。

2)Dynamic Power

动态功耗,主要也是两种:

电流源

Switching power。如上图蓝线,这个也容易理解,我们要驱动电路,这个CL电容是要充放电的。这个充放电的功耗就是switching power。

电流源

上面的公式中C是负载电容,V是电压,f是翻转频率。应当好理解。有时候f也会被写成a*f, 翻转率乘以频率。

Internal power。如上图绿线,这个表现在零一切换的时候两端晶体管同时导通时,有个短路电流。我们称之为internal power.

电流源

显然,直接等于短路电流乘以电压。

同样,lib会直接提供必要的参数,供ptpx来计算动态功耗。

3)功耗计算小结

电流源

我们看上面这张反向器的图。上面四种功耗都有

·Leakage Power

·intrinsic leakage power, 图中Ilk电流造成的功耗。

·gating leakge power, 图中Igl电流造成的功耗。

·Dynamic power

·switching power, 图中Isw造成的功耗。用于充放电容。

·internel power. 图中Isc造成的功耗。其实就是短路电流造成的功耗。

至此,你应该能看懂PTPX功耗报告中各部分功耗是怎么来得。

3 PTPX的工作流程

知道了PTPX计算功耗的类型,接下来我们大致讲讲,PTPX的处理流程。

电流源

总结起来主要8个步骤。

·step0: 使能功耗仿真,就是个开关,总要打开的。

·step1: 选择仿真模式。PTPX有两种功耗仿真模式。一种是算平均功耗(averaged), 另一种是根据波形详细算(time_based), 这两种模式具体怎么算我们后面详细讲。

·step2: 读入设计数据和库文件。其实主要是两部分,网表文件(verilog,.v)和库文件(synopsys database,.db, 提供NLPM或者CCS模型)

·step3: 设置仿真条件。主要是仿真温度和电压。PTPX根据温度和电压,根据db文件中提供的参数来计算功耗。

·step4: 指定翻转率数据。这个地方,average模式和time_based模式提供的文件有区别。后面我们详细讲这两种模式下怎么提供文件。

·step5: 这一步提供一些额外仿真设置,按需设置,没什么特殊的。

·step6: update power。真正开始跑仿真。

·step7: report_power。将报告报出来。

4 总结

这篇文章讲了功耗仿真的第一部分,包括了功耗模型、功耗计算方法、ptpx的基本流程。

审核编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分