CN112287626B - 基于静态时序信息的开关电流模型拟合功耗变化波形方法 - Google Patents

基于静态时序信息的开关电流模型拟合功耗变化波形方法 Download PDF

Info

Publication number
CN112287626B
CN112287626B CN202011155578.6A CN202011155578A CN112287626B CN 112287626 B CN112287626 B CN 112287626B CN 202011155578 A CN202011155578 A CN 202011155578A CN 112287626 B CN112287626 B CN 112287626B
Authority
CN
China
Prior art keywords
time
power consumption
switch current
instance
current model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011155578.6A
Other languages
English (en)
Other versions
CN112287626A (zh
Inventor
丁勇
刘毅
丁越雷
戴悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202011155578.6A priority Critical patent/CN112287626B/zh
Publication of CN112287626A publication Critical patent/CN112287626A/zh
Application granted granted Critical
Publication of CN112287626B publication Critical patent/CN112287626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法,主要应用于芯片电源完整性验证的动态分析。本发明包括如下步骤:首先,解析TimingWindow文件和SDF文件,得到slewRate库和IO‑Path Delay库;然后,根据开关电流模型的建模方式,对每个instance的所有翻转状态进行建模;接着,处理功耗仿真文件,处理每个instance的每个翻转时刻,匹配相应状态的开关电流模型,并将能量进行分配,得到每个instance在仿真时间内的所有功耗波形特征组,对其进行叠加检查和处理,最终得到每个instance的功耗变化情况。本发明提出的方法可以在不增加较大时间代价的基础上,得到每个instance贴近真实工作下的功耗变化情况,有利于提高动态IR Drop仿真器仿真结果的准确性。

Description

基于静态时序信息的开关电流模型拟合功耗变化波形方法
技术领域
本发明属于EDA算法与器件模型技术领域,尤其涉及一种基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法。
背景技术
在EM/IR签核工具的工作流程中,包含寄生参数提取、时序分析、功耗分析、电路IRDrop 仿真、数据后处理以及图形界面等几个关键软件模块。其运行流程大致是①寄生参数提取模块对芯片物理设计的寄生参数进行计算提取,得到寄生参数网表;②时序仿真模块根据芯片的门级Verilog网表、标准单元库文件、时序约束文件以及①中的寄生参数网表进行静态时序仿真,得到芯片的静态时序信息;③功耗分析模块根据①②的结果,结合标准单元库信息和芯片后端物理设计文件,对芯片进行功耗计算分析,得到全芯片的所有instance的功耗情况;④电路IR Drop仿真模块将③中的功耗信息作为①中寄生参数网表的激励源,进行仿真求解,得到芯片电源网络的IR Drop分布情况;⑤数据后处理模块对以上模块的输出数据进行优化排序筛选,生成易于用户阅读报告文件,并承担一些分析功能;⑥图形界面模块将以上模块的信息进行图形化的显示,以较好的视觉效果为用户呈现最终的仿真结果。
一款成熟的EM/IR签核工具具有静态和动态两种分析仿真模式。两种模式的区别主要体现在功耗分析模块和电路IR Drop仿真模块。静态分析时,功耗静态分析模块只需要根据用户指定的翻转率、工作频率等参数,计算芯片在稳态下的平均功耗,电路静态IRDrop仿真模块则将芯片每个instance的功耗等效为恒定电流源反标在仅有寄生电阻的网表上,形成一个超大规模的电网路矩阵,对这个矩阵求解节点电压方程,即可得到全芯片电源网络在稳态下的IR Drop 情况。而在动态仿真时,功耗动态分析模块要基于前端设计时产生的仿真波形文件,计算在仿真过程中每个instance在每次信号翻转下产生的功耗,得到全芯片每个instance的功耗随时间变化的波形。由于仿真波形文件的内容往往记录了芯片模拟真实工作情况下,一段较长时间内全芯片各信号的翻转信息,而在进行EM/IR分析时,用户关注的是芯片最坏情况下全芯片IRdrop 及EM效应的情况,因此往往用户会指定一个时间窗格的大小,EM/IR签核工具的功耗分析模块会在计算功耗的同时,找到芯片功耗最大的时间窗格,作为最坏情况的时间窗格,将这段时间窗格内的功耗波形作为输入激励,提供给电路IR Drop仿真器去求解芯片动态IR Drop的分布情况。此时的电路IR Drop仿真器将每个instance等效为电流可变的电流源,将其反标进带有电阻、电容、电感的寄生参数网表,求解瞬态下电源网络每个节点的IR Drop变化情况。
在动态仿真过程中,功耗动态分析模块为电路动态IR Drop仿真模块提供的功耗波形越接近真实情况,最终的仿真结果则越接近真实情况,软件也就能为芯片设计者们检测出更多可能出现的隐患。尤其是在采用先进工艺制程的大规模数字芯片,其金属线线宽极小、从芯片外部的电源Pad到芯片内部的instance的金属线长度极大,都会造成极其严重的IR Drop效应和EM 效应。在设计这些芯片时,对EM/IR签核工具的准确度要求极高。目前功耗动态分析工具在实际工作过程中,根据仿真波形文件的信息,先计算每个instance在出现信号翻转时产生的能量 (根据翻转状态,分别计算出内部功耗产生的能量和翻转功耗产生的能量),再将该能量平均分配至一段时间内得到一次信号翻转下的功耗,时间的大小取决于是翻转状态以及instance的静态时序信息。最终呈现的波形是一系列方波,即在未出现信号翻转的时间里,仅有泄漏功耗,功耗值极低,在出现方波的时间是由于instance的信号发生翻转,产生了内部功耗或翻转功耗。但是,这样的功耗方波与instance真实翻转下的功耗波形有一定的差距,这导致最终的仿真结果难以反映芯片真实的动态IR Drop情况。而如果为了追求高精度在动态分析功耗时采用晶体管级的仿真(如Hspice等),则会带来仿真时间过长的影响。采用晶体管级进行功耗仿真在仿真大规模数字芯片时造成的时间代价是芯片设计过程中不可接受的。因此需要一种器件功耗模型和相关方法,使整个仿真过程能够在不增加过大时间代价和输入信息的基础上(仍然针对芯片门级物理设计),使功耗动态计算得到的功耗波形能够更加贴近芯片真实工作情况,进而提高最终仿真结果的准确度。现今,这样的模型和方法在国内开发的EM/IR签核工具上依然是一个难点,而在国外的成熟商业工具中也仅有Redhawk有一套和foundry深度合作后拟合的模型,该模型虽然能提供较好的精度表现,但同时由于和工艺紧密结合,每种新的工艺都需要重新拟合相应的模型,因此需要耗费大量的精力与资源。
发明内容
鉴于以上所述问题,本发明的目的在于提供一种基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法,用于解决EM/IR签核工具在进行动态分析时,在不造成较大时间代价的前提下,为电路IR Drop仿真器提供近似真实情况的功耗波形,以提高最终的仿真准确度。
为了实现上述目的,本发明采用如下技术方案:
基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法,包括以下内容:
步骤1:对芯片进行静态时序仿真,得到静态时序仿真文件;
步骤2:对获取到的静态时序仿真文件进行文本解析,解析后获得芯片标准单元库的基本时序信息和每个instance引脚的slewRate信息;所述的芯片标准单元库的基本时序信息指该静态时序仿真文件描述的引脚上升转换时间对应的电平阈值、以及引脚下降转换时间对应的电平阈值;所述的slewRate信息包括输入引脚上升转换时间、输入引脚下降转换时间、输出引脚上升转换时间、输出引脚下降转换时间;
根据芯片标准单元库的基本时序信息,得到上升转换时间的电平阈值范围和下降转换时间的电平阈值范围,计算此阈值范围还原至10%~90%需要的还原系数;利用还原系数对每个 instance引脚的平均上升转换时间和平均下降转换时间进行缩放,得到包含所有instance缩放后的slew信息的slewRate库;
步骤3:获取芯片所有instance的输入引脚到输出引脚的IO_Path Delay信息,得到IO-Path Delay库;所述的IO-Path Delay信息指引起输出引脚翻转的输入引脚开始翻转时刻到输出引脚开始翻转时刻所用的延迟时间,称为单元延迟时间;根据输出引脚的翻转方向分为上升单元延迟时间和下降单元延迟时间;
步骤4:基于slewRate库和IO-Path Delay库,获得包含所有instance开关电流模型的开关电流模型库;
步骤4.1:根据slewRate库,遍历每个instance,根据每个instance的slew信息确定引脚数量,得到包含所有输入引脚和输出引脚的翻转状态表;
步骤4.2:根据翻转状态表构建开关电流模型,所述的开关电流模型采用三角波模型,利用三角波的相对起点、波宽和峰值时间来描述三角波的时间信息;
根据翻转状态表中的每一条翻转状态确定产生功耗的类型:
若输入引脚信号翻转而输出引脚信号未翻转,则属于内部功耗;对于属于内部功耗的翻转状态,需要判断输入引脚信号的翻转方向,当输入引脚信号为上升时,三角波模型的相对起点为输入引脚上升转换时间的二分之一,波宽为输入引脚的上升转换时间,峰值时间为输入引脚上升转换时间的二分之一;当输入引脚信号为下降时,三角波模型的相对起点为输入引脚下降转换时间的二分之一,波宽为输入引脚下降转换时间的1.1倍,峰值时间为输入引脚的下降转换时间;
若输入引脚信号翻转造成输出引脚信号翻转,则属于翻转功耗;对于属于翻转功耗的翻转状态,三角波模型的相对起点为0,波宽为该instance单元延迟与发生翻转的输出引脚转换时间的二分之一之和,峰值时间为该instance的单元延迟时间与发生翻转的输出引脚转换时间的二分之一之差;
步骤4.3:对每个instance的每种翻转状态均采用步骤4.2的方法建立一个开关电流模型,得到包含所有instance开关电流模型的开关电流模型库;
步骤5:在仿真过程中,获得芯片所有instance的平均泄漏功耗、翻转时刻、翻转状态以及对应的能量,生成相应功耗波形。
进一步的,所述的相对起点是指三角波开始发生变化时的时刻相对于仿真波形文件中输入信号发生变化的时刻的时间差;所述的波宽是指三角波开始变化到停止变化的时间宽度;所述的峰值时间是指三角波从开始变化到达到峰值的时间。
进一步的,所述的步骤5具体为:
步骤5.1:逐个处理每个instance,将平均泄漏功耗的值作为功耗波形的最小值;
步骤5.2:逐个处理每个翻转时刻,根据翻转状态确定instance对应状态下的开关电流模型:
若输入引脚翻转、输出引脚未翻转,则在开关电流模型库中寻找对应输入引脚翻转状态下的开关电流模型;
若输入引脚翻转、输出引脚也翻转,则在开关电流模型库中寻找对应输入引脚翻转状态下的开关电流模型和输出引脚翻转状态下的开关电流模型;
根据不同的翻转状态,最终得到一组或两组对应的开关电流模型,表示为 <startPoint,timeWidth,peakTime>;startPoint是对应开关电流模型的相对起点,timeWidth是对应开关电流模型的波宽,peakTime是对应开关电流模型的峰值时间;
步骤5.3:根据翻转时刻和对应的能量,结合步骤5.2得到的开关电流模型,拟合功耗波形特征组;
步骤5.4:以时间为顺序遍历instance的所有功耗波形特征组里的点,并对重叠时刻做功耗叠加,最终得到一系列时刻-功耗的点,将相邻时刻的点相连即得到全部instance在仿真时间内的功耗波形。
本发明的有益效果:
(1)本发明提出了一种基于静态时序信息的开关电流模型,开关电流模型的建模方式根据逻辑门的产生功耗的种类分为两类,一类用于描述内部功耗,一类用于描述翻转功耗,建模方式与发生翻转的输入输出引脚的转换时间和逻辑门的单元延迟相关,利用三角波的相对起点、波宽和峰值时间来描述三角波的时间信息,该建模方式消耗时间短,建模更精确;
(2)本发明利用提出的基于静态时序信息的开关电流模型对芯片逻辑门功耗变化波形进行了拟合,最终能得到近似芯片真实情况的功耗波形,通过实验验证,生成的功耗波形更贴近利用Hspice进行晶体管级仿真的结果,且不造成过大的时间代价,该波形作为动态IR仿真器的输入,得到的最终仿真结果更加准确。
附图说明
图1为本发明提出的基于静态时序的开关电流模型建模方式原理图。
图2为应用本发明提出的基于静态时序的开关电流模型对2输入与非门产生内部功耗时的功耗波形示意。
图3为应用本发明提出的基于静态时序的开关电流模型对2输入或门产生翻转功耗时的功耗波形示意。
图4为应用本发明提出的开关电流模型,结合功耗动态分析模块提供的能量信息,生成近似真实功耗波形的流程图。
图5为应用本发明提出的模型和方法,对实际芯片中某一instance拟合后的功耗波形图和采用Hspice对该instance仿真后的电流波形的对比结果(仅产生内部功耗,且无波形叠加的情况)。
图6为应用本发明提出的模型和方法,对实际芯片中某一instance拟合后的功耗波形图和采用Hspice对该instance仿真后的电流波形的对比结果(同时产生内部功耗和翻转功耗,且存在波形叠加的情况)。
具体实施方式
下面结合附图对本发明方法作进一步说明。
本发明公开了一种基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法,用以解决在进行功耗动态分析时,逻辑门功耗变化情况与真实情况差距较大的问题,主要应用于芯片电源完整性验证中功耗的动态分析。
本发明所采取的技术方案主要包括两方面内容,一是建立了一种基于静态时序信息的开关电流模型,二是应用该模型并结合功耗动态分析得到的能量,生成近似真实功耗波形的方法。
下面对第一部分的基于静态时序信息的开关电流模型进行介绍。
首先,本发明提出的开关电流模型是针对芯片门级物理设计中的每个instance的所有产生动态功耗的情况进行建模,即在完成布局布线、静态时序分析后,根据每个instance的静态时序信息,对instance所有可能的输入输出翻转状态(只有当信号发生翻转才会产生动态功耗) 分别建模,最终每个instance的每种翻转状态都对应有一个开关电流模型。如图1所示,为本发明提出的基于静态时序的开关电流模型建模方式原理图。下面结合图1作进一步解释:
开关电流模型实质上是将instance在产生动态功耗时的复杂变化最终抽象为三角波的模型。模型提供三角波的相对起点(startPoint)、波宽(timeWidth)和峰值时间(peakTime)来描述三角波的时间信息。
其中,相对起点指:功耗三角波开始发生变化时的时刻相对于仿真波形文件中输入信号发生变化的时刻的时间差;波宽指:功耗三角波开始变化到停止变化的时间宽度;峰值时间指:功耗三角波从开始变化到达到峰值的时间;至于三角波的高度需要结合实际功耗分析工具计算得到的动态能量来确定。由于不同的翻转状态产生的动态功耗类型不同,而不同的功耗类型,功耗变化不同,所以不同翻转状态的建模方式不同。根据产生功耗类型的不同将所有翻转状态分为两类:一是产生内部功耗状态,二是翻转功耗状态。两类的建模方式存在不同。
(1)产生内部功耗是由于输入引脚信号翻转而输出信号未翻转,在标准单元内部的部分 MOSFET发生瞬间的短路,进而发生了电源端到地端的短路电流,产生了短路功耗。该状态下的建模方式仅与发生信号翻转的输入引脚的静态时序信息相关。在该状态下根据对应输入引脚的翻转方向,分为2种建模方式。
①当输入引脚信号为上升时,模型的相对起点为该引脚上升转换时间的二分之一,波宽为该引脚的上升转换时间,峰值时间为该引脚上升转换时间的二分之一。②当输入引脚信号为下降时,模型的相对起点为该引脚下降转换时间的二分之一,波宽为该引脚下降转换时间的1.1 倍,峰值时间为该引脚的下降转换时间。如图2所示,应用上述状态下的开关电流模型后,与非门输入端发生翻转而未造成输出端翻转时的功耗波形。
(2)产生翻转功耗是由于输入引脚信号翻转造成输出信号翻转,输出信号的翻转会对输出端的负载电容进行充放电,进而产生了翻转功耗。该状态下的建模方式与整个instance的静态时序信息相关。该状态下的三角波反映的是instance的翻转功耗的变化情况。该状态的建模方式是:相对起点为0,波宽为该instance的单元延迟+发生翻转的输出引脚转换时间的二分之一,峰值时间为该instance的单元延迟-发生翻转的输出引脚转换时间的二分之一。如图3所示,应用上述状态下的开关电流模型后,或门输入端发生翻转同时造成输出端翻转时的功耗波形。
该模型描述的波形变化基本符合Hspice的仿真结果,相较于传统的功耗方波,经该模型拟合后的功耗波形能够更贴近真实功耗变化情况。
下面对第二部分的应用本发明提出的开关电流模型,结合功耗动态分析模块提供的能量信息,生成近似真实功耗波形的方法进行介绍。
首先,对仿真对象进行静态时序仿真,利用PrimeTime得到TimingWindow文件,对该文件包含的信息进行文本解析,生成包含芯片所有instance的slewRate库。要求功耗分析模块提供每个instance在输出引脚发生翻转时的IO-Path Delay(反标对应的上升和下降状态),或解析由PrimeTime生成的延时反标文件(SDF)得到所有instance在上升和下降状态下的IO-Path Delay,形成IO-Path Delay库。
基于slewRate库和IO-Path Delay库,生成所有instance的各翻转状态下的开关电流模型。要求功耗动态分析模块提供在最坏时间窗口内,每个instance每次信号翻转的状态、时刻(输入端信号翻转的时刻)、产生的能量(每次翻转下产生的翻转能量和内部能量)以及平均泄漏功耗,基于以上数据,根据翻转状态匹配对应的开关电流模型,拟合出相应的功耗波形,最终形成近似真实情况的功耗波形。
生成近似真实功耗波形的方法的具体实施步骤是:
步骤(1).使用PrimeTime工具对芯片进行静态时序仿真,由命令”write_rh_file-output xxx.twf”生成建模需要TimingWindow文件。
步骤(2).解析TimingWindow文件,获取以下两部分信息:
a、该设计使用的标准单元库的基本时序信息:
Figure BDA0002742637040000071
b、每个instance的每个PIN的slewRate信息:
Figure BDA0002742637040000081
对于a中数据,根据所得数据,得到本次仿真下slew的阈值范围,并计算出还原至10%~90%阈值范围的系数,计算公式如下
Figure BDA0002742637040000082
Figure BDA0002742637040000083
式中,αfall是下降还原系数,αrise是上升还原系数,slew_upper_threshold_pct_fall是slewRate的下降阈值最大值,slew_lower_threshold_pct_fall是slewRate的下降阈值最小值, slew_upper_threshold_pct_rise是slewRate的上升阈值最大值,slew_lower_threshold_pct_rise 是slewRate的上升阈值最小值。
对应b中数据,先分别计算出rise和fall的平均slew,再基于αfall和αrise进行放大,最终每个instance对应的数据为:
Figure BDA0002742637040000084
Figure BDA0002742637040000085
式中,slewrise和slewfall是缩放后的上升转换时间和下降转换时间,lew_rise_max和 slew_rise_min分别是上升转换时间的最大值和最小值,slew_fall_max和slew_fall_min分别是下降转换时间的最大值和最小值。
最终得到包含所有instance slew信息的slewRate库。库中信息如下:
Figure BDA0002742637040000086
步骤(3).根据功耗分析模块提供的所有instance在输出端上升下降的IO-PathDelay或延时反标文件的信息,生成IO-Path Delay库。
IO-Path Delay的定义为从引起输出端翻转的输入端开始翻转时刻到输出端开始翻转时刻,由于输入输出引脚的电压变化需要一定的时间,因此取从输入端到达50%VDD到输出端为50%VDD的延时为IO-Path Delay。IO_Path Delay库中信息如下:
Figure BDA0002742637040000091
步骤(4).基于slewRate库和IO-Path Delay库,生成全部instance的开关电流模型:
①根据instance引脚情况,确定全部翻转情况,得到翻转状态表。
②遍历翻转状态表,计算每个引脚在每种翻转状态下的三角波数据特征(相对起点、波宽、峰值时间),具体计算方式如下:
反应内部功耗的三角波:
Figure BDA0002742637040000092
timeWidthrise=input_pinX_slew_rise (6)
peakTimerise=50%×input_pinX_slew_rise (7)
Figure BDA0002742637040000093
timeWidthfall=1.1×input_pinX_slew_fall (9)
peakTimerise=input_pinX_slew_fall (10)
反应翻转功耗的三角波为:
startPointrise=0 (11)
Figure BDA0002742637040000094
Figure BDA0002742637040000095
startPointfall=0 (14)
Figure BDA0002742637040000096
Figure BDA0002742637040000101
按照上述计算方式,对所有instance的每个引脚的每种翻转状态进行计算,最终得到所有 instance的开关电流模型库:
Figure BDA0002742637040000102
步骤(5).根据功耗动态分析模块的能量结果,生成相应功耗波形:
功耗动态分析模块将按如下格式生成最坏时间窗格内,芯片所有instance的翻转时刻、翻转状态以及对应的能量(分别显示内部功耗和翻转功耗产生的能量)。
Figure BDA0002742637040000103
生成波形的过程如下:
步骤(5.1):逐个处理每个instance,将ave_leakge_power的值作为功耗波形的最小值;
步骤(5.2):逐个处理每个翻转时刻,根据翻转状态确定instance对应状态下的开关电流模型:
若输入引脚翻转、输出引脚未翻转,则在开关电流模型库中寻找对应输入引脚翻转状态下的开关电流模型,仅匹配出一个开关电流模型;
若输入引脚翻转、输出引脚也翻转,则在开关电流模型库中寻找对应输入引脚翻转状态下的开关电流模型和输出引脚翻转状态下的开关电流模型,需匹配2个开关电流模型;
根据不同的翻转状态,最终得到一组或两组对应的开关电流模型,表示为 <startPoint,timeWidth,peakTime>;startPoint是对应开关电流模型的相对起点,timeWidth是对应开关电流模型的波宽,peakTime是对应开关电流模型的峰值时间;
步骤(5.3):根据翻转时刻和对应的能量,结合步骤5.2得到的开关电流模型,拟合功耗波形特征组;
拟合三角波的起点:
timestart=timeX+startPoint
其中,timestart是拟合起点时刻,timeX是instance的翻转时刻;
拟合三角波的终点:
timeend=timestart+timeWidth
其中,timeend是拟合终点时刻;
拟合三角波的峰值点:
timepeak=timestart+peakTime
Figure BDA0002742637040000111
Figure BDA0002742637040000112
其中,timepeak是拟合峰值点时刻,Powerpeak是拟合峰值点,E是翻转时刻对应的能量, E_internal是内部功耗产生的能量,E_switch是翻转功耗产生的能量;
一个instance在仿真时间内发生多次不同情况的翻转,便会产生多组功耗波形特征组,每一组功耗波形特征组表示为{timestart,timeend,timepeak,Powerpeak}。
步骤(5.4):以时间为顺序遍历instance的所有功耗波形特征组里的点,并对重叠时刻做功耗叠加,最终得到一系列时刻-功耗的点,将相邻时刻的点相连即得到全部instance在仿真时间内的功耗波形。
如图4所示,下面以SMIC55NM工艺为例,对本发明的具体实施步骤和实施效果进行进一步的说明。
步骤(1).对完成了布局布线后的芯片物理设计运行PrimeTime进行静态时序仿真,使用命令“write_rh_file-output ir.twf”获得包含了全芯片所有instance的transition time信息的 TimingWindow文件。使用命令“write_sdf ir.sdf”获得包含全芯片所有instance的IO-Path Delay 信息的SDF文件。
步骤(2).解析(1)中TimingWindow文件,TimingWindow文件内容的部分示意如下:
Figure BDA0002742637040000113
Figure BDA0002742637040000121
通过解析该文件获得2部分信息:
该设计使用的标准单元库的基本时序信息:
Figure BDA0002742637040000122
每个instance的每个PIN的slewRate信息:
Figure BDA0002742637040000123
计算本次静态时序仿真下slew的阈值范围还原至10%~90%阈值范围的系数:
Figure BDA0002742637040000124
Figure BDA0002742637040000125
基于上述系数对所有instance的slew进行缩放。最终得到包含所有instanceslew信息的 slewRate库:
Figure BDA0002742637040000131
步骤(3).根据SDF文件,SDF部分内容示意如下:
Figure BDA0002742637040000132
每个instance的每个输入引脚到输出引脚有4组IO-Path Delay,分别为输出端上升时的最大 /最小IO-Path Delay和输出端下降时的最大/最小IO-Path Delay。分别对它们求平均,得到每个 instance的每个输入引脚到输出引脚的平均上升IO-Path Delay和平均下降IO-Path Delay。
生成IO_Path Delay库:
Figure BDA0002742637040000141
步骤(4).基于slewRate库和IO-Path Delay库,生成每个instance的全部开关电流模型,最终 U3、U4的所有开关电流模型如下:
Figure BDA0002742637040000142
步骤(5).根据功耗动态分析模块的能量结果,生成相应功耗波形:
功耗动态分析模块生成的所有instance的翻转时刻-状态-能量信息部分内容如下所示:
Figure BDA0002742637040000143
Figure BDA0002742637040000151
匹配得到的U3在第一个翻转时刻的开关电流模型为:
<r X X><-0.1 0.2 0.1>
匹配得到的U4在第一个翻转时刻的开关电流模型为:
Figure BDA0002742637040000152
根据翻转时刻和对应的能量,拟合功耗波形特征组,以U4的第一个翻转时刻为例,由于该时刻下U4输出端发生翻转,因此存在2个功耗波形特征组,分别描述内部功耗和翻转功耗的变化情况,拟合过程如下:
a)拟合功耗三角波起点:
Figure BDA0002742637040000153
Figure BDA0002742637040000154
b)拟合功耗三角波终点:
Figure BDA0002742637040000155
Figure BDA0002742637040000156
c)拟合功耗三角波峰值点:
Figure BDA0002742637040000157
Figure BDA0002742637040000158
最终拟合出instance在仿真时间内的所有翻转时刻下的功耗波形特征组。如U4在仿真时间内所有功耗波形特征组为:
Figure BDA0002742637040000159
Figure BDA0002742637040000161
得到instance的在一段仿真时间内全部翻转时刻下所有的功耗波形特征组,由于存在相邻功耗特征组所描述的三角波重叠(2个或多个翻转时刻间隔过小,或产生翻转功耗时内部功耗三角波与翻转功耗三角波重叠)的情况。需要以时间为顺序遍历instance的所有功耗波形特征组里的点,确定重叠情况,并对重叠时刻做功耗叠加,最终将所有的点对叠加ave_leakge_power 得到一系列时刻-功耗的点对以描述instance在仿真时间内的功耗变化情况(点对连线即为功耗波形);最终得到全部instance在仿真时间内的功耗波形。
以U3,U4为例,通过本发明提出的模型和波形拟合方法得到的功耗波形变化情况和采用 Hspice进行晶体管级仿真的结果对比结果如图5、图6。对比Hspice仿真得到的U3、U4的VDD 端的电流波形和拟合后的功耗波形,可以发现,采用本发明提出的模型和波形拟合方法后得到的功耗波形与采用晶体管级仿真器的仿真结果接近(VDD端的电流方向与功耗波形方向相反,对比时需要将其中一种波形反向后对比),能更好地还原instance真实的功耗变化情况。本发明提出的开关电流模型和波形拟合方法可以在不增加较大时间代价的基础上,得到每个逻辑门贴近真实工作下的功耗变化情况,有利于提高动态IR Drop仿真器仿真结果的准确性。
以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。

Claims (6)

1.基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法,其特征在于,包括以下内容:
步骤1:对芯片进行静态时序仿真,得到静态时序仿真文件;
步骤2:对获取到的静态时序仿真文件进行文本解析,解析后获得芯片标准单元库的基本时序信息和每个instance引脚的slewRate信息;所述的芯片标准单元库的基本时序信息包含引脚上升转换时间对应的电平阈值、以及引脚下降转换时间对应的电平阈值;所述的slewRate信息包括输入引脚上升转换时间、输入引脚下降转换时间、输出引脚上升转换时间、输出引脚下降转换时间;
根据芯片标准单元库的基本时序信息,得到上升转换时间的电平阈值范围和下降转换时间的电平阈值范围,计算此阈值范围还原至10%~90%需要的还原系数;利用还原系数对每个instance引脚的平均上升转换时间和平均下降转换时间进行缩放,得到包含所有instance缩放后的slew信息的slewRate库;
步骤3:获取芯片所有instance的输入引脚到输出引脚的IO_Path Delay信息,得到IO-Path Delay库;所述的IO-Path Delay信息指引起输出引脚翻转的输入引脚开始翻转时刻到输出引脚开始翻转时刻所用的延迟时间,称为单元延迟时间;根据输出引脚的翻转方向分为上升单元延迟时间和下降单元延迟时间;
步骤4:基于slewRate库和IO-Path Delay库,获得包含所有instance开关电流模型的开关电流模型库;
步骤4.1:根据slewRate库,遍历每个instance,根据每个instance的slew信息确定引脚数量,得到包含所有输入引脚和输出引脚的翻转状态表;
步骤4.2:根据翻转状态表构建开关电流模型,所述的开关电流模型采用三角波模型,利用三角波的相对起点、波宽和峰值时间来描述三角波的时间信息;
根据翻转状态表中的每一条翻转状态确定产生功耗的类型:
若输入引脚信号翻转而输出引脚信号未翻转,则属于内部功耗;对于属于内部功耗的翻转状态,需要判断输入引脚信号的翻转方向,当输入引脚信号为上升时,三角波模型的相对起点为输入引脚上升转换时间的二分之一,波宽为输入引脚的上升转换时间,峰值时间为输入引脚上升转换时间的二分之一;当输入引脚信号为下降时,三角波模型的相对起点为输入引脚下降转换时间的二分之一,波宽为输入引脚下降转换时间的1.1倍,峰值时间为输入引脚的下降转换时间;
若输入引脚信号翻转造成输出引脚信号翻转,则属于翻转功耗;对于属于翻转功耗的翻转状态,三角波模型的相对起点为0,波宽为该instance单元延迟与发生翻转的输出引脚转换时间的二分之一之和,峰值时间为该instance的单元延迟时间与发生翻转的输出引脚转换时间的二分之一之差;
步骤4.3:对每个instance的每种翻转状态均采用步骤4.2的方法建立一个开关电流模型,得到包含所有instance开关电流模型的开关电流模型库;
步骤5:在仿真过程中,获得芯片所有instance的平均泄漏功耗、翻转时刻、翻转状态以及对应的能量,生成相应功耗波形。
2.根据权利要求1所述的基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法,其特征在于,所述的相对起点是指三角波开始发生变化时的时刻相对于仿真波形文件中输入信号发生变化的时刻的时间差;所述的波宽是指三角波开始变化到停止变化的时间宽度;所述的峰值时间是指三角波从开始变化到达到峰值的时间。
3.根据权利要求1所述的基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法,其特征在于,所述的步骤5具体为:
步骤5.1:逐个处理每个instance,将平均泄漏功耗的值作为功耗波形的最小值;
步骤5.2:逐个处理每个翻转时刻,根据翻转状态确定instance对应状态下的开关电流模型:
若输入引脚翻转、输出引脚未翻转,则在开关电流模型库中寻找对应输入引脚翻转状态下的开关电流模型;
若输入引脚翻转、输出引脚也翻转,则在开关电流模型库中寻找对应输入引脚翻转状态下的开关电流模型和输出引脚翻转状态下的开关电流模型;
根据不同的翻转状态,最终得到一组或两组对应的开关电流模型,表示为<startPoint,timeWidth,peakTime>;startPoint是对应开关电流模型的相对起点,timeWidth是对应开关电流模型的波宽,peakTime是对应开关电流模型的峰值时间;
步骤5.3:根据翻转时刻和对应的能量,结合步骤5.2得到的开关电流模型,拟合功耗波形特征组;
步骤5.4:以时间为顺序遍历instance的所有功耗波形特征组里的点,并对重叠时刻做功耗叠加,最终得到一系列时刻-功耗的点,将相邻时刻的点相连即得到全部instance在仿真时间内的功耗波形。
4.根据权利要求3所述的基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法,其特征在于,所述步骤5.3中的拟合过程如下:
拟合三角波的起点:
timestart=timeX+startPoint
其中,timestart是拟合起点时刻,timeX是instance的在仿真文件中的翻转时刻;
拟合三角波的终点:
timeend=timestart+timeWidth
其中,timeend是拟合终点时刻;
拟合三角波的峰值点:
timepeak=timestart+peakTime
Figure FDA0002742637030000031
Figure FDA0002742637030000032
其中,timepeak是拟合峰值点时刻,Powerpeak是拟合峰值点,E是翻转时刻对应的能量,E_internal是内部功耗产生的能量,E_switch是翻转功耗产生的能量;
一个instance在仿真时间内发生多次不同情况的翻转,便会产生多组功耗波形特征组,每一组功耗波形特征组表示为{timestart,timeend,timepeak Powerpeak}。
5.根据权利要求1所述的基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法,其特征在于,步骤2中的还原系数计算公式为:
Figure FDA0002742637030000033
Figure FDA0002742637030000034
其中,αfall是下降还原系数,αrise是上升还原系数,slew_upper_threshold_pct_fall是slewRate的下降阈值最大值,slew_lower_threshold_pct_fall是slewRate的下降阈值最小值,slew_upper_threshold_pct_rise是slewRate的上升阈值最大值,slew_lower_threshold_pct_rise是slewRate的上升阈值最小值。
6.根据权利要求5所述的基于静态时序信息的开关电流模型拟合芯片逻辑门功耗变化波形的方法,其特征在于,步骤2所述的利用还原系数对每个instance引脚的平均上升转换时间和平均下降转换时间进行缩放,缩放公式为:
Figure FDA0002742637030000041
Figure FDA0002742637030000042
其中,slewrise和slewfall是缩放后的上升转换时间和下降转换时间,slew_rise_max和slew_rise_min分别是上升转换时间的最大值和最小值,slew_fall_max和slew_fall_min分别是下降转换时间的最大值和最小值。
CN202011155578.6A 2020-10-26 2020-10-26 基于静态时序信息的开关电流模型拟合功耗变化波形方法 Active CN112287626B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011155578.6A CN112287626B (zh) 2020-10-26 2020-10-26 基于静态时序信息的开关电流模型拟合功耗变化波形方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011155578.6A CN112287626B (zh) 2020-10-26 2020-10-26 基于静态时序信息的开关电流模型拟合功耗变化波形方法

Publications (2)

Publication Number Publication Date
CN112287626A CN112287626A (zh) 2021-01-29
CN112287626B true CN112287626B (zh) 2022-05-06

Family

ID=74372238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011155578.6A Active CN112287626B (zh) 2020-10-26 2020-10-26 基于静态时序信息的开关电流模型拟合功耗变化波形方法

Country Status (1)

Country Link
CN (1) CN112287626B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114818598B (zh) * 2022-04-24 2024-06-11 浙江大学 一种基于电路翻转行为的vcd矢量压缩方法及装置
CN114910689B (zh) * 2022-07-12 2022-09-30 沐曦集成电路(上海)有限公司 一种芯片电流的实时监测方法
CN117155540B (zh) * 2023-10-31 2024-07-05 深圳市纽创信安科技开发有限公司 确定侧信道安全性的方法、装置、设备、芯片和存储介质
CN117391010B (zh) * 2023-11-01 2024-07-23 深圳市合芯数字科技有限公司 芯片的功耗波形文件生成方法、设备及存储介质
CN117540690B (zh) * 2024-01-09 2024-04-26 芯潮流(珠海)科技有限公司 用于电源完整性分析的芯片电流的构造方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195593A (ja) * 1990-11-28 1992-07-15 Seiko Epson Corp 論理シミュレータによる消費電力の算出方法
JP2008065496A (ja) * 2006-09-06 2008-03-21 Fujitsu Ltd Lsiの消費電力ピーク見積プログラム及びその装置
CN102147822A (zh) * 2010-12-23 2011-08-10 上海高性能集成电路设计中心 一种基于功耗库的大规模数字集成电路功耗动态评估装置
US8132137B1 (en) * 2007-11-10 2012-03-06 Altera Corporation Prediction of dynamic current waveform and spectrum in a semiconductor device
CN105446859A (zh) * 2014-09-01 2016-03-30 上海华虹集成电路有限责任公司 功耗分析的软件条件监测及波形文件自动生成方法
CN105975664A (zh) * 2016-04-28 2016-09-28 福州瑞芯微电子股份有限公司 一种芯片功耗评估平台的评估方法
US10386395B1 (en) * 2015-06-03 2019-08-20 University Of Southern California Subcircuit physical level power monitoring technology for real-time hardware systems and simulators
US10515174B1 (en) * 2018-07-31 2019-12-24 Cadence Design Systems, Inc. Interface modeling for power analysis of an integrated circuit

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI463344B (zh) * 2005-10-24 2014-12-01 Cadence Design Systems Inc 積體電路時序、雜訊、及功率分析技術
KR102089083B1 (ko) * 2018-11-14 2020-03-16 주식회사 바움 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195593A (ja) * 1990-11-28 1992-07-15 Seiko Epson Corp 論理シミュレータによる消費電力の算出方法
JP2008065496A (ja) * 2006-09-06 2008-03-21 Fujitsu Ltd Lsiの消費電力ピーク見積プログラム及びその装置
US8132137B1 (en) * 2007-11-10 2012-03-06 Altera Corporation Prediction of dynamic current waveform and spectrum in a semiconductor device
CN102147822A (zh) * 2010-12-23 2011-08-10 上海高性能集成电路设计中心 一种基于功耗库的大规模数字集成电路功耗动态评估装置
CN105446859A (zh) * 2014-09-01 2016-03-30 上海华虹集成电路有限责任公司 功耗分析的软件条件监测及波形文件自动生成方法
US10386395B1 (en) * 2015-06-03 2019-08-20 University Of Southern California Subcircuit physical level power monitoring technology for real-time hardware systems and simulators
CN105975664A (zh) * 2016-04-28 2016-09-28 福州瑞芯微电子股份有限公司 一种芯片功耗评估平台的评估方法
US10515174B1 (en) * 2018-07-31 2019-12-24 Cadence Design Systems, Inc. Interface modeling for power analysis of an integrated circuit

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A hybrid power modeling approach to enhance high-level power models;Alejandro Nocua等;《 2016 IEEE 19th International Symposium on Design and Diagnostics of Electronic Circuits & Systems 》;20160702;第1-6页 *
Fast and Accurate Waveform Analysis with Current Source Models;Vineeth Veetil等;《9th International Symposium on Quality Electronic Design》;20080331;第53-56页 *
Standard Cell Behavior Analysis and Waveform Set Model for Statistical Static Timing Analysis;Ashish Nigam;《Circuits and Systems》;20100731;第1-119页 *
开关电源静态泄漏和动态功率建模与分析;赵四化等;《微电子学》;20121220;第842-845页 *
片上实时功耗监控与估测的分析设计;段玮等;《计算机辅助设计与图形学学报》;20101115(第11期);第40-43页 *

Also Published As

Publication number Publication date
CN112287626A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
CN112287626B (zh) 基于静态时序信息的开关电流模型拟合功耗变化波形方法
CN1322462C (zh) 用于集成电路检验的高精度计时模型
JP4001449B2 (ja) 不要輻射解析方法
US7359843B1 (en) Robust calculation of crosstalk delay change in integrated circuit design
US7673260B2 (en) Modeling device variations in integrated circuit design
CN101539958B (zh) 一种标准单元库和集成电路的设计方法和装置
US7191414B1 (en) Apparatus and methods for interconnect simulation in electronic circuitry using non-uniform time step
JP2001147948A (ja) セルの遅延時間計算方法及び半導体集積回路のレイアウト最適化方法
US20030145296A1 (en) Formal automated methodology for optimal signal integrity characterization of cell libraries
US20030212538A1 (en) Method for full-chip vectorless dynamic IR and timing impact analysis in IC designs
JP2001022813A (ja) 不要輻射解析方法
KR20220143809A (ko) 레지스터 전송 레벨 벡터로의 글리치 전력 분석
JP2002164434A (ja) 不要輻射解析方法および不要輻射解析装置
CN109753675B (zh) 逻辑门假信号建模的方法
CN117610475A (zh) 一种基于数学模型的标准单元开关电流自动化拟合方法及系统
CN113536723A (zh) 一种功率器件漏源寄生电容子电路模型及其建模方法
US7065720B2 (en) Apparatus and methods for current-based models for characterization of electronic circuitry
Macys et al. A new algorithm for computing the" effective capacitance" in deep sub-micron circuits
US7007252B2 (en) Method and apparatus for characterizing the propagation of noise through a cell in an integrated circuit
Ackalloor et al. An overview of library characterization in semi-custom design
Chen et al. Effective capacitance of inductive interconnects for short-circuit power analysis
Gandikota et al. Worst-case aggressor-victim alignment with current-source driver models
Dang et al. Technology Education Challenges and Solution to Design a Process Design Kit for Digital CMOS Technology in Vietnam
CN117952045A (zh) 用于静态时序分析的具有图案匹配的延迟计算
Murali Realistic gate model for efficient timing analysis of very deep submicron CMOS circuits

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant