用于芯片设计的方法、系统、设备以及存储介质转让专利
申请号 : CN202010980254.X
文献号 : CN112100950B
文献日 : 2021-07-02
发明人 : 王毓千 , 梁洪昌 , 晋大师 , 姚水音
申请人 : 海光信息技术股份有限公司
摘要 :
权利要求 :
1.一种用于芯片设计的方法,包括:加载网表,其中,所述网表包括用于芯片设计的多个功能模块、位于所述多个功能模块之间的多个逻辑电路以及所述多个功能模块的时序信息;
基于时序分析工具根据所述网表获得波形文件,其中,所述波形文件包括所述多个逻辑电路的工作波形;
加载与所述波形文件关联的属性设计文件,结合所述网表从所述属性设计文件中读取所述多个功能模块的时钟频率;
根据所述多个功能模块的时钟频率,确定位于所述多个功能模块中的相邻传输级功能模块的稳定频率,其中,确定位于所述多个功能模块中的相邻传输级功能模块的稳定频率包括:
将所述相邻传输级功能模块的其中之一的时钟频率作为稳定频率;基于所述稳定频率,标识所述相邻传输级功能模块之间的逻辑电路的工作波形中的非稳定翻转状态,其中,标识所述逻辑电路的工作波形中的非稳定翻转状态包括:比较所述相邻传输级功能模块的稳定频率对应的波形与所述相邻传输级功能模块之间的逻辑电路的工作波形,
当所述逻辑电路的工作波形中的至少一个脉冲与所述稳定频率对应的波形的有效沿不重叠时,所述至少一个脉冲被标识为非稳定翻转状态,其中,所述稳定频率对应的波形的有效沿包括所述稳定频率对应的波形的上升沿。
2.根据权利要求1所述的用于芯片设计的方法,还包括:根据标识出的所述逻辑电路的工作波形中的非稳定翻转状态,计算单个功率分析周期内的时钟信号在所述相邻传输级功能模块之间传递过程中产生的非稳定翻转状态导致的功率。
3.根据权利要求1所述的用于芯片设计的方法,其中,把将所述相邻传输级功能模块的其中之一的时钟频率作为稳定频率替换为:将所述相邻传输级功能模块的时钟频率中最大的时钟频率作为稳定频率。
4.根据权利要求1‑3任一所述的用于芯片设计的方法,其中,所述多个功能模块包括第一触发器和第二触发器,
所述第一触发器的输出端通过所述逻辑电路与所述第二触发器的输入端连接,所述第一触发器的时钟引脚与所述第二触发器的时钟引脚连接,所述第一触发器的时钟频率与所述第二触发器的时钟频率相等。
5.根据权利要求4所述的用于芯片设计的方法,其中,所述逻辑电路包括第一组合逻辑电路,
所述第一组合逻辑电路与所述第一触发器的输出端和所述第二触发器的输入端连接,其中,标识所述逻辑电路的工作波形中的非稳定翻转状态包括:将所述第一触发器的时钟频率作为稳定频率,基于所述第一触发器的时钟频率对应的波形,标识所述第一组合逻辑电路的工作波形中的非稳定翻转状态。
6.根据权利要求4所述的用于芯片设计的方法,其中,所述多个功能模块还包括第三触发器,
所述逻辑电路包括扇出逻辑电路,所述扇出逻辑电路包括多个第一分支逻辑电路,所述第一触发器的输出端通过所述多个第一分支逻辑电路分别与所述第二触发器的输入端和所述第三触发器的输入端连接,所述第一触发器的时钟引脚接收第一时钟信号,所述第三触发器的时钟引脚接收第二时钟信号,所述第一时钟信号包括第一时钟频率,所述第二时钟信号包括第二时钟频率,所述第一触发器和所述第二触发器的时钟频率分别包括所述第一时钟频率,所述第三触发器的时钟频率包括所述第二时钟频率,标识所述逻辑电路的工作波形中的非稳定翻转状态包括:将所述第一触发器的第一时钟频率作为稳定频率,基于所述第一触发器的第一时钟频率对应的波形,分别标识所述扇出逻辑电路的多个第一分支逻辑电路的工作波形中的非稳定翻转状态。
7.根据权利要求6所述的用于芯片设计的方法,其中,所述多个第一分支逻辑电路包括第一子分支逻辑电路、第二子分支逻辑电路以及第三子分支逻辑电路,其中,所述第一子分支逻辑电路与所述第一触发器的输出端连接,所述第二子分支逻辑电路和所述第三子分支逻辑电路都与所述第一子分支逻辑电路连接,所述第二子分支逻辑电路与所述第二触发器的输入端连接,所述第三子分支逻辑电路与所述第三触发器的输入端连接,
标识所述逻辑电路的工作波形中的非稳定翻转状态包括:基于所述第一触发器的第一时钟频率对应的波形,分别标识所述第一子分支逻辑电路和所述第二子分支逻辑电路的工作波形中的第一非稳定翻转状态和第二非稳定翻转状态;
基于所述第三触发器的第二时钟频率对应的波形,标识所述第三子分支逻辑电路的工作波形中的第三非稳定翻转状态。
8.根据权利要求6所述的用于芯片设计的方法,其中,所述多个功能模块还包括第四触发器,
所述逻辑电路包括扇入逻辑电路,所述扇入逻辑电路包括多个第二分支逻辑电路,所述第一触发器的输出端和所述第四触发器的输出端通过所述多个第二分支逻辑电路与所述第二触发器的输入端连接,所述第四触发器的时钟引脚接收第一时钟信号,所述第一触发器的时钟引脚接收第二时钟信号,所述第一时钟信号包括第一时钟频率,所述第二时钟信号包括第二时钟频率,所述第一触发器和所述第二触发器的时钟频率分别包括所述第二时钟频率,所述第四触发器的时钟频率包括所述第一时钟频率,标识所述逻辑电路的工作波形中的非稳定翻转状态包括:将所述第二触发器的第二时钟频率作为稳定频率,基于所述第二触发器的第二时钟频率对应的波形,分别标识所述扇出逻辑电路的多个第二分支逻辑电路的工作波形中的非稳定翻转状态。
9.根据权利要求8所述的用于芯片设计的方法,其中,所述多个第二分支逻辑电路包括第四子分支逻辑电路、第五子分支逻辑电路以及第六子分支逻辑电路,所述第四子分支逻辑电路与所述第四触发器的输出端连接,所述第五子分支逻辑电路和所述第一触发器的输出端连接,所述第四子分支逻辑电路和所述第五子分支逻辑电路都与所述第六子分支逻辑电路连接,所述第六子分支逻辑电路与所述第二触发器的输入端连接,
标识所述逻辑电路的工作波形中的非稳定翻转状态包括:基于所述第二触发器的第二时钟频率对应的波形,分别标识所述第五子分支逻辑电路和所述第六子分支逻辑电路的工作波形中的第四非稳定翻转状态和第五非稳定翻转状态;
以及
基于所述第四触发器的第一时钟频率对应的波形,标识所述第四子分支逻辑电路的工作波形中的第六非稳定翻转状态。
10.根据权利要求2所述的用于芯片设计的方法,还包括:将所述单个功率分析周期内的时钟信号在所述相邻传输级功能模块之间传递过程中产生的所述非稳定翻转状态导致的功率相加,得到每个功率分析周期的非稳定翻转状态导致的功率,
将所述每个功率分析周期的非稳定翻转状态导致的功率相加,得到多个功率分析周期的非稳定翻转状态导致的功率。
11.一种用于芯片设计的系统,包括:网表加载单元,配置为加载网表,其中,所述网表包括用于芯片设计的多个功能模块、位于所述多个功能模块之间的多个逻辑电路以及所述多个功能模块的时序信息;
文件获得单元,配置为基于时序分析工具根据所述网表获得波形文件,其中,所述波形文件包括所述多个逻辑电路的工作波形;
文件加载单元,配置为加载与所述波形文件关联的属性设计文件,结合所述网表从所述属性设计文件中读取所述多个功能模块的时钟频率;
稳定频率确定单元,配置为根据所述多个功能模块的时钟频率,确定位于所述多个功能模块中的相邻传输级功能模块的稳定频率,其中,确定位于所述多个功能模块中的相邻传输级功能模块的稳定频率包括:将所述相邻传输级功能模块的其中之一的时钟频率作为稳定频率;标识单元,配置为基于所述稳定频率,标识所述相邻传输级功能模块之间的逻辑电路的工作波形中的非稳定翻转状态,
其中,标识所述逻辑电路的工作波形中的非稳定翻转状态包括:比较所述相邻传输级功能模块的稳定频率对应的波形与所述相邻传输级功能模块之间的逻辑电路的工作波形,
当所述逻辑电路的工作波形中的至少一个脉冲与所述稳定频率对应的波形的有效沿不重叠时,所述至少一个脉冲被标识为非稳定翻转状态,其中,所述稳定频率对应的波形的有效沿包括所述稳定频率对应的波形的上升沿。
12.一种用于芯片设计的设备,包括:处理器;和
存储器,其中,所述存储器中存储有计算机可执行代码,所述计算机可执行代码当由所述处理器运行时,执行权利要求1‑10任一所述的用于芯片设计的方法。
13.一种计算机可读存储介质,其上存储有计算机可执行代码,所述计算机可执行代码在被处理器执行时,使得所述处理器执行权利要求1‑10任一所述的用于芯片设计的方法。
说明书 :
用于芯片设计的方法、系统、设备以及存储介质
技术领域
背景技术
中,动态功率是关键设计指标之一,而动态功率的关键部分之一就是毛刺功率(glitch
power)。在实际电路中,例如由于器件延迟的存在,电路会产生额外的功耗,这种功耗被称
为毛刺功率。
发明内容
块之间的多个逻辑电路以及所述多个功能模块的时序信息;基于时序分析工具根据所述网
表获得波形文件,其中,所述波形文件包括所述多个逻辑电路的工作波形;加载与所述波形
文件关联的属性设计文件,结合所述网表从所述属性设计文件中读取所述多个功能模块的
时钟频率;根据所述多个功能模块的时钟频率,确定位于所述多个功能模块中的相邻传输
级功能模块的稳定频率;以及基于所述稳定频率,标识所述相邻传输级功能模块之间的逻
辑电路的工作波形中的非稳定翻转状态。
述相邻传输级功能模块之间传递过程中产生的非稳定翻转状态导致的功率。
波形与所述相邻传输级功能模块之间的逻辑电路的工作波形,当所述逻辑电路的工作波形
中的至少一个脉冲与所述稳定频率对应的波形的有效沿不重叠时,所述至少一个脉冲被标
识为非稳定翻转状态,其中,所述稳定频率对应的波形的有效沿包括所述稳定频率对应的
波形的上升沿。
频率中最大的时钟频率作为稳定频率。
之一的时钟频率作为稳定频率。
触发器的输入端连接,所述第一触发器的时钟引脚与所述第二触发器的时钟引脚连接,所
述第一触发器的时钟频率与所述第二触发器的时钟频率相等。
器的输入端连接,其中,标识所述逻辑电路的工作波形中的非稳定翻转状态包括:将所述第
一触发器的时钟频率作为稳定频率,基于所述第一触发器的时钟频率对应的波形,标识所
述第一组合逻辑电路的工作波形中的非稳定翻转状态。
分支逻辑电路,所述第一触发器的输出端通过所述多个第一分支逻辑电路分别与所述第二
触发器的输入端和所述第三触发器的输入端连接,所述第一触发器的时钟引脚接收第一时
钟信号,所述第三触发器的时钟引脚接收第二时钟信号,所述第一时钟信号包括第一时钟
频率,所述第二时钟信号包括第二时钟频率,所述第一触发器和所述第二触发器的时钟频
率分别包括所述第一时钟频率,所述第三触发器的时钟频率包括所述第二时钟频率,标识
所述逻辑电路的工作波形中的非稳定翻转状态包括:将所述第一触发器的第一时钟频率作
为稳定频率,基于所述第一触发器的第一时钟频率对应的波形,分别标识所述扇出逻辑电
路的多个第一分支逻辑电路的工作波形中的非稳定翻转状态。
中,所述第一子分支逻辑电路与所述第一触发器的输出端连接,所述第二子分支逻辑电路
和所述第三子分支逻辑电路都与所述第一子分支逻辑电路连接,所述第二子分支逻辑电路
与所述第二触发器的输入端连接,所述第三子分支逻辑电路与所述第三触发器的输入端连
接,标识所述逻辑电路的工作波形中的非稳定翻转状态包括:基于所述第一触发器的第一
时钟频率对应的波形,分别标识所述第一子分支逻辑电路和所述第二子分支逻辑电路的工
作波形中的第一非稳定翻转状态和第二非稳定翻转状态;基于所述第三触发器的第二时钟
频率对应的波形,标识所述第三子分支逻辑电路的工作波形中的第三非稳定翻转状态。
分支逻辑电路,所述第一触发器的输出端和所述第四触发器的输出端通过所述多个第二分
支逻辑电路与所述第二触发器的输入端连接,所述第四触发器的时钟引脚接收第一时钟信
号,所述第一触发器的时钟引脚接收第二时钟信号,所述第一时钟信号包括第一时钟频率,
所述第二时钟信号包括第二时钟频率,所述第一触发器和所述第二触发器的时钟频率分别
包括所述第二时钟频率,所述第四触发器的时钟频率包括所述第一时钟频率,标识所述逻
辑电路的工作波形中的非稳定翻转状态包括:将所述第二触发器的第二时钟频率作为稳定
频率,基于所述第二触发器的第二时钟频率对应的波形,分别标识所述扇出逻辑电路的多
个第二分支逻辑电路的工作波形中的非稳定翻转状态。
述第四子分支逻辑电路与所述第四触发器的输出端连接,所述第五子分支逻辑电路和所述
第一触发器的输出端连接,所述第四子分支逻辑电路和所述第五子分支逻辑电路都与所述
第六子分支逻辑电路连接,所述第六子分支逻辑电路与所述第二触发器的输入端连接,标
识所述逻辑电路的工作波形中的非稳定翻转状态包括:基于所述第二触发器的第二时钟频
率对应的波形,分别标识所述第五子分支逻辑电路和所述第六子分支逻辑电路的工作波形
中的第四非稳定翻转状态和第五非稳定翻转状态;基于所述第四触发器的第一时钟频率对
应的波形,标识所述第四子分支逻辑电路的工作波形中的第六非稳定翻转状态。
翻转状态导致的功率相加,得到每个功率分析周期的非稳定翻转状态导致的功率,将所述
每个功率分析周期的非稳定翻转状态导致的功率相加,得到多个功率分析周期的非稳定翻
转状态导致的功率。
网表,其中,所述网表包括用于芯片设计的多个功能模块、位于所述多个功能模块之间的多
个逻辑电路以及所述多个功能模块的时序信息;文件获得单元配置为基于时序分析工具根
据所述网表获得波形文件,其中,所述波形文件包括所述多个逻辑电路的工作波形;文件加
载单元配置为加载与所述波形文件关联的属性设计文件,结合所述网表从所述属性设计文
件中读取所述多个功能模块的时钟频率;稳定频率确定单元配置为根据所述多个功能模块
的时钟频率,确定位于所述多个功能模块中的相邻传输级功能模块的稳定频率;标识单元
配置为基于所述稳定频率,标识所述相邻传输级功能模块之间的逻辑电路的工作波形中的
非稳定翻转状态。
析周期内的时钟信号在所述相邻传输级功能模块之间传递过程中产生的非稳定翻转状态
导致的功率。
之间的逻辑电路的工作波形,当所述逻辑电路的工作波形中的至少一个脉冲与所述稳定频
率对应的波形的有效沿不重叠时,所述至少一个脉冲被标识为非稳定翻转状态,其中,所述
稳定频率对应的波形的有效沿包括所述稳定频率对应的波形的上升沿。
使得所述处理器执行如前任一所述的用于芯片设计的方法。
计的方法。
状态,从而可以根据标识出的工作波形中的非稳定翻转状态对应的功耗,得到非稳定翻转
状态导致的功率,例如毛刺功率。
附图说明
具体实施方式
开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术
人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或
者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似
的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其
等同,而不排除其他元件或者物件。
时序的门级网表(Gate Netlist)进行模拟。该SDF文件为动态时序仿真所用的文件,并包括
门级网表中每个单元或模块的时序信息,基本的时序数据由以下几部分组成:IOPATH延迟、
INTERCONNECT延迟、SETUP时序检查以及HOLD时序检查等。模拟器得到的记录波形的文件,
例如VCD(Value Change Dump)文件或FSDB(Fast Signal Data Base)文件,与标准媒介文
件(Standard Parasitic Exchange Format,SPEF)一起被馈送到功率分析工具。该功率分
析工具用于测试与统计分析,以计算基于时间的开关功率。
收时钟信号A和时钟信号B,并输出时钟信号D,或门01输出的时钟信号D和时钟信号C输入到
与门02,与门02输出时钟信号E。
生翻转。时钟信号E对应的波形在时刻t1、时刻t2以及时刻t3发生翻转。例如,时钟信号E对
应的波形在时刻t3发生翻转之后获得了稳定的传输,即与之后接收时钟信号E的逻辑电路
的时钟信号相同,则时钟信号E在时刻t3为最终稳定值。但是,在时刻t3之前,时钟信号E对
应的波形在时刻t1和时刻t2的翻转,例如时刻t1和时刻t2之间的脉冲,为非稳定翻转的中
间值(例如不必要的信号转换)。根据以上分析,时刻t1和时刻t2之间的脉冲为毛刺
(glitch),该毛刺所引起的功耗为毛刺功率(glitch power)。
率属于逻辑电路的动态功耗,与逻辑电路中门开关活动成正比。以触发器为例,相邻传输级
的触发器通过逻辑电路连接,触发器的状态元素(例如,在芯片设计的过程中,约束设计文
件(Synopsys Design Constraints,SDC)中约束的触发器的工作频率),相邻传输级的触发
器的状态元素之间的逻辑电路在每个状态元素之间形成传递函数。例如,毛刺功率可以是
状态元素之间的逻辑电路在稳定到最终稳定值(例如,触发器的工作频率)之前的任何中间
值。毛刺取决于信号转换的数量与幅度,毛刺越多,功耗越高。
等)。现有设计方法无法将毛刺功率和其它功率识别出来,所以无法获得芯片设计中的毛刺
功率,由此也无法在设计阶段对毛刺功率进行更好地优化以降低被设计芯片的功耗。
电路以及多个功能模块的时序信息;基于时序分析工具根据网表获得波形文件,波形文件
包括多个逻辑电路的工作波形;加载与波形文件关联的属性设计文件,结合网表从所述属
性设计文件中读取多个功能模块的时钟频率;根据多个功能模块的时钟频率,确定位于多
个功能模块中的相邻传输级功能模块的稳定频率;基于稳定频率,标识相邻传输级功能模
块之间的逻辑电路的工作波形中的非稳定翻转状态。
的工作波形中的非稳定翻转状态对应的功耗,得到非稳定翻转状态导致的功率,例如毛刺
功率。并且,本公开实施例提供的用于芯片设计的方法具有较强的普适性,可以被应用于多
种功率分析工具或EDA工具等。
中的多个功能模块的属性信息的属性设计文件以及寄存器传输级描述文件,结合标准单元
库生成网表。例如,网表为寄存器传输级描述文件的下一级描述文件。例如,从寄存器传输
级描述文件中获取芯片设计中的多个功能模块的对应于高级语言的描述(例如,C语言或寄
存器传输级描述)。例如,属性设计文件包括约束设计文件(Synopsys Design
Constraints,SDC),约束设计文件定义了多个功能模块的时间约束,例如对电路的时序、面
积、功耗进行约束。例如,标准单元库中包括芯片设计的标准单元(例如组成各个功能模块
的单元器件)的标准参数。网表包括对应于寄存器传输级描述文件中的多个功能模块的多
个功能模块、多个功能模块的时序信息。例如,网表的多个功能模块之间还可以插入逻辑电
路,逻辑电路形成功能模块的组合逻辑,组合逻辑形成传递函数。例如,逻辑电路可以是逻
辑门电路。例如,在本公开实施例中,逻辑电路以逻辑门电路为例进行说明。
位器、移位电路、位准偏移器、电平移动二级管等,本公开实施例不以此为限。
Time)工具,运行网表,模拟得到的波形文件,例如VCD(Value Change Dump)文件或FSDB
(Fast Signal Data Base)文件。在静态时序分析的过程中,通过为综合(synthesis)计算
模块(cell)和逻辑电路组成的时序传输路线(path)的延时,判断时序传输路线延时是否满
足相应时序约束,判断时序传输路线延时是否满足相应时序约束,然后基于时序传输路线
延时,静态时序分析工具从用时序数据库(Timing Library)中选择计算模块来创建一个满
足时序要求的逻辑电路。
Change Dump)文件或FSDB(Fast Signal Data Base)文件。
是基于网表产生的,所以波形文件与属性设计文件也是间接关联的。在芯片设计流程中,例
如利用Synopsys工具,加载属性设计文件,例如约束设计文件,结合网表,例如结合网表中
的多个功能模块的信息,读取多个功能模块的时钟频率。需要说明的是,多个功能模块的时
钟频率指的是功能模块在正常工作状态下的时钟频率,也可以理解为每个功能模块的稳定
时钟频率,该稳定时钟频率对应于功能模块的稳定状态。
些部分设计中,相邻传输级功能模块的时钟频率可能是不相同的,也即相邻传输级功能模
块之间的逻辑电路在完成时钟信号传输的过程中,需要实现时钟信号的转变,相邻传输级
功能模块分别接收不同的时钟频率。在相邻传输级功能模块接收相同的时钟频率的情况
下,相邻传输级功能模块的稳定频率可以选择功能模块的时钟频率。在相邻传输级功能模
块分别接收不同的时钟频率的情况下,需要选择多个功能模块中的相邻传输级功能模块的
稳定频率。
频率用于标识逻辑电路的工作波形中的翻转状态,从而进一步判断翻转状态是非稳定翻转
状态还是稳定翻转状态。例如,在将相邻传输级功能模块的时钟频率中最大的时钟频率作
为稳定频率的情况下,相邻传输级功能模块之间的逻辑电路的工作波形与最大的时钟频率
对应的波形做比较以确定逻辑电路的工作波形是否达到稳定翻转状态。相对应地,稳定翻
转状态之间的其它翻转状态为非稳定翻转状态,从而根据非稳定翻转状态的功耗,计算逻
辑电路的非稳定翻转状态导致的功率(例如毛刺功率)。同时,在本公开实施例中,将相邻传
输级功能模块的时钟频率中最大的时钟频率作为稳定频率,无需判断具体的电路(例如逻
辑电路)结构功能等,从而快速、高效地确定稳定频率,以加快计算非稳定翻转状态导致的
功率的速度,节约计算时间。需要说明的是,在本公开实施例中,稳定翻转状态指的是逻辑
电路的工作波形相对于稳定频率做了对应于必要的信号转换的有效翻转,之后将结合图
5A‑图6C所示的实施例详细介绍。
用于标识逻辑电路的工作波形中的翻转状态,从而进一步判断翻转状态是非稳定翻转状态
还是稳定翻转状态。例如,在将相邻传输级功能模块的其中之一的时钟频率作为稳定频率
的情况下,若选择相邻传输级功能模块的时钟频率中的非最大值作为稳定频率,当相邻传
输级功能模块之间的逻辑电路的工作波形与稳定时钟频率对应的波形做比较,以确定逻辑
电路的工作波形的非稳定翻转状态,从而根据非稳定翻转状态的功耗,计算逻辑电路的非
稳定翻转状态导致的功率。同时,在本公开实施例中,将相邻传输级功能模块的其中之一的
时钟频率作为稳定频率,无需判断具体的电路(例如逻辑电路)结构功能等,可以加快计算
非稳定翻转状态导致的功率的速度,节约计算时间。此时,相比于最大的时钟频率作为稳定
频率的情况,逻辑电路的工作波形中被确定为非稳定翻转状态的比较结果有所不同,后续
将结合图5A‑图6C所示的实施例详细介绍。
作波形包括多个脉冲的情况下,工作波形的有效翻转为稳定翻转状态。例如,工作波形的有
效翻转可以是与稳定频率对应波形的上升沿重叠的脉冲。逻辑电路的工作波形在稳定状态
之间的非有效翻转被标识为非稳定翻转状态。该非稳定翻转状态可以是一个无效脉冲(即
不必要的信号转换),例如,被称为毛刺(glitch)。此时,非稳定翻转状态所产生的功耗被为
非稳定翻转状态导致的功率(例如毛刺功率)。
作波形,若该工作波形的发生偶数次翻转,则这些偶数次翻转都为非稳定翻转状态。例如,
工作波形翻转两次,从0变为1,又从1变为0,则说明功能模块之间传递的时序信号为0,而翻
转为1是错误或无效的。又例如两个功能模块之间的逻辑电路的工作波形,若该工作波形的
发生奇数次翻转,若翻转次数为1次,则工作波形中不存在非稳定翻转状态;若翻转次数为
大于1的奇数次,则工作波形中除了最后一次翻转之外,其它翻转都被标识为非稳定翻转状
态。
应的功耗,得到非稳定翻转状态导致的功率(例如毛刺功率)。并且,本公开实施例提供的用
于芯片设计的方法具有较强的普适性,可以被应用于多种功率分析工具或EDA工具等。
以对比出稳定频率对应的波形与逻辑电路的工作波形中的翻转(例如脉冲)之间的对应关
系。后续将结合图4B、图5B、图5C、图6B以及图6C进行详细介绍。
电路的工作波形的脉冲没有跨过上升沿,则将该翻转标识为非稳定翻转状态。也就是说,逻
辑电路的工作波形中的没有跨过有效沿的脉冲被标识为毛刺。相对应地,逻辑电路的工作
波形中的跨过有效沿的脉冲将不被标识为非稳定翻转状态。从而将非稳定翻转状态从逻辑
电路的工作波形中选择出来,使得下一步可以根据标识出的非稳定翻转状态计算逻辑电路
的非稳定翻转状态导致的功率(例如毛刺功率)。
导致的功率。
相邻传输级功能模块之间传递过程中产生的非稳定翻转状态导致的功率(例如毛刺功率)
都计算出来,由此,将非稳定翻转状态导致的功率从总功率中区分出来,由此可以根据非稳
定翻转状态导致的功率对芯片设计进行相应地优化。本公开实施例提供的计算非稳定翻转
状态导致的功率的上述技术方案,可以被应用于多种功率分析工具或EDA工具等。
致的功率。
功率)传输到每个周期基准的单独的功率箱中。也就是说,根据得到的单个功率分析周期内
的时钟信号在相邻传输级功能模块之间传递过程中产生的非稳定翻转状态导致的功率都
放到一起,例如通过加法运算,得到每个功率分析周期的非稳定翻转状态导致的功率,相当
于将多个逻辑电路在每个功率分析周期的非稳定翻转状态导致的功率进行汇总,得到一个
直观的对应于多个功率分析周期的非稳定翻转状态导致的功率的总和。
可以设置为,根据功率分析周期进行汇总,例如将将每个功率分析周期的非稳定翻转状态
导致的功率相加,得到多个功率分析周期的非稳定翻转状态导致的功率。另一方面,功率分
析工具还可以将每个功率分析周期的功能功率根据功率分析周期进行汇总(例如加法运
算),得到总功能功率。也就是说,功率分析工具基于时间的开关功率得到的总功率分为了
多个功率分析周期的非稳定翻转状态导致的功率(例如毛刺功率的总和)和总功能功率,由
此可以根据多个功率分析周期的非稳定翻转状态导致的功率对芯片设计进行相应地优化。
状态导致的功率,从而设计人员可以根据多个功率分析周期的非稳定翻转状态导致的功率
对芯片设计进行优化,以减小或去除多个功率分析周期的非稳定翻转状态导致的功率(例
如毛刺功率的总和)。
1201和第二触发器1203。第一触发器1201的输出端1102(例如引脚Q)通过逻辑电路与第二
触发器1203的输入端1104(例如引脚D)连接。第一触发器1201的时钟引脚1101(例如引脚
CLK)与第二触发器1203的时钟引脚1103(例如引脚CLK)连接,由此,第一触发器1201的时钟
引脚1101与第二触发器1203的时钟引脚1103接收相同的时钟信号,例如图中的时钟信号
CLK_A11,即两者的时钟频率相等。
(例如引脚D)以及第二触发器1203的输出端(例如引脚Q)并不对标识逻辑电路的工作波形
中的非稳定翻转状态产生影响。
1102和第二触发器1203的输入端1104连接。以图4A所示的第一触发器1201和第二触发器
1203之间的逻辑电路组成第一触发器1201和第二触发器的传递函数,第一触发器1201和第
二触发器以及两者之间的逻辑电路执行相邻传输级之间的信号传递。
进行选择,本公开实施例并不限制第一组合逻辑电路1301的具体结构。
合逻辑电路的工作波形中的非稳定翻转状态。图4B为用于图4A所示逻辑电路的波形图。
第一组合逻辑电路1301的工作波形,例如为图4B中的波形DATA11。波形DATA11包括脉冲11、
脉冲12以及脉冲13。波形DATA11在时刻T11和时刻T12发生翻转产生脉冲11,波形DATA11在
时刻T13和时刻T14发生翻转产生脉冲12,波形DATA11在时刻T15和时刻T16发生翻转产生脉
冲13。
触发器1203以及第一组合逻辑电路1301实际的工作波形。
对应的波形的上升沿时,脉冲11和脉冲12都没有与稳定频率对应的波形(例如,图中时钟信
号CLK_A11的波形)的上升沿重叠,而脉冲13与稳定频率对应的波形(例如,图中时钟信号
CLK_A11的波形)的上升沿重叠。所以,脉冲11和脉冲12被标识为非稳定翻转状态,即毛刺,
而脉冲13可以被标识为相对应的稳定翻转状态。这种情况下,脉冲11和脉冲12产生的功耗
将被功率分析工具计算为非稳定翻转状态导致的功率(例如毛刺功率),而脉冲13产生的功
耗将被功率分析工具计算为功能功率。例如,可以根据非稳定翻转状态导致的功率对芯片
设计进行优化,以减小或去除非稳定翻转状态导致的功率。
2201、第二触发器2203以及第三触发器2204。第二触发器2203和第三触发器2204位于第一
触发器2201的相邻的下一传输级。第二触发器2203和第三触发器2204与第一触发器2201之
间的逻辑电路包括扇出(Fan Out)逻辑电路201,扇出逻辑电路201包括多个第一分支逻辑
电路202。第一触发器2201的输出端2102(例如引脚Q)通过多个第一分支逻辑电路202分别
与第二触发器2203的输入端2104(例如引脚D)以及第三触发器2204的输入端2106(例如引
脚D)连接。第一触发器2201的时钟引脚2101(例如引脚CLK)与第二触发器2203的时钟引脚
2103(例如引脚CLK)连接,由此,第一触发器2201的时钟引脚2101与第二触发器2203的时钟
引脚2103接收相同的时钟信号,例如图中的第一时钟信号CLK_A21,即两者的时钟频率相
等。第三触发器2204的时钟引脚2105(例如引脚CLK)接收另一时钟信号,例如图中的第二时
钟信号CLK_B21。第二时钟信号CLK_B21与第一时钟信号CLK_A21不同。例如,本公开实施例
中的扇出逻辑电路201可以使第一触发器2201直接调用下一级的第二触发器2203和第三触
发器2204。
上一级功能模块的输出端提供。本公开实施例不以此为限。
第一时钟频率,第三触发器2204的时钟频率包括第二时钟频率。
需求而定,本公开实施例不以多个第一分支逻辑电路202的数量为限。
别标识扇出逻辑电路的多个第一分支逻辑电路的工作波形中的非稳定翻转状态。例如,可
以根据非稳定翻转状态得到非稳定翻转状态导致的功率(例如毛刺功率),利用非稳定翻转
状态导致的功率对芯片设计进行优化,以减小或去除非稳定翻转状态导致的功率。
号CLK_A21的波形,第三触发器2204对应的第二时钟频率为图5B中第二时钟信号CLK_B21的
波形。当将第一触发器2201的第一时钟频率作为稳定频率时,第一触发器2201的第一时钟
频率对应的波形(第一时钟信号CLK_A21的波形)为稳定频率对应的波形。第一时钟信号
CLK_A21的波形在时刻T21以及时刻T25出现上升沿(有效沿),第二时钟信号CLK_B21的波形
在时刻T21、时刻T22、时刻T23、时刻T24以及时刻T25出现上升沿(有效沿)。
频率对应的波形进行对比。多个第一分支逻辑电路202的三个对应的工作波形分别为波形
DATA21、波形DATA22以及波形DATA23。
示的波形图并不代表第一触发器2201、第二触发器2203、第三触发器2204以及多个第一分
支逻辑电路202实际的工作波形。
T21以及时刻T25存在上升沿。波形DATA21的脉冲21和脉冲22都不与稳定频率对应的波形
(第一时钟信号CLK_A21的波形)在时刻T21以及时刻T25的上升沿重叠,也就是说,波形
DATA21的脉冲21和脉冲22都没有跨过稳定频率对应波形的有效沿,而脉冲23与稳定频率对
应的波形在时刻T25的上升沿重叠。此时,波形DATA21的脉冲21和脉冲22被标识为非稳定翻
转状态,即毛刺,而脉冲23可以被标识为相对应的稳定翻转状态。采用同样的方式,波形
DATA22的脉冲27不与稳定频率对应的波形(第一时钟信号CLK_A21的波形)在时刻T21以及
时刻T25的上升沿重叠,而脉冲28与稳定频率对应的波形在时刻T25的上升沿重叠。此时,波
形DATA22的脉冲27被标识为非稳定翻转状态,即毛刺,而脉冲28可以被标识为相对应的稳
定翻转状态。波形DATA23的脉冲24和脉冲25都不与稳定频率对应的波形(第一时钟信号
CLK_A21的波形)在时刻T21以及时刻T25的上升沿重叠,而脉冲26与稳定频率对应的波形在
时刻T25的上升沿重叠。此时,波形DATA22的脉冲24和脉冲25被标识为非稳定翻转状态,即
毛刺,而脉冲26可以被标识为相对应的稳定翻转状态。
T21、时刻T22、时刻T23、时刻T24以及时刻T25存在上升沿。波形DATA21的脉冲22不与稳定频
率对应的波形(第一时钟信号CLK_A21的波形)在时刻T21、时刻T22、时刻T23、时刻T24以及
时刻T25的上升沿重叠,也就是说,波形DATA21的脉冲22没有跨过稳定频率对应波形的有效
沿,而脉冲21和脉冲23分别与稳定频率对应的波形在时刻T22以及时刻T25的上升沿重叠。
此时,波形DATA21的脉冲22被标识为非稳定翻转状态,即毛刺,而脉冲21和脉冲23可以被标
识为相对应的稳定翻转状态。采用同样的方式,波形DATA22的脉冲24和脉冲25都不与稳定
频率对应的波形(第一时钟信号CLK_A21的波形)在时刻T21、时刻T22、时刻T23、时刻T24以
及时刻T25的上升沿重叠,而脉冲26与稳定频率对应的波形在时刻T25的上升沿重叠。此时,
波形DATA22的脉冲24和脉冲25被标识为非稳定翻转状态,即毛刺,而脉冲26可以被标识为
相对应的稳定翻转状态。波形DATA23的脉冲27与稳定频率(第一时钟信号CLK_A21的波形)
对应的波形在时刻T22和时刻T23的上升沿重叠,波形DATA23的脉冲28与稳定频率对应的波
形在时刻T25和时刻T26的上升沿重叠。此时,波形DATA23的脉冲27和脉冲28被标识为相对
应的稳定翻转状态,即波形DATA23中不存在非稳定翻转状态。
脉冲25以及脉冲27);当第一时钟信号CLK_A21的时钟频率大于第二时钟信号CLK_B21的时
钟频率(在图5C中)时,共标识出3个非稳定翻转状态(脉冲22、脉冲24以及脉冲25)。根据以
上对比,可以看出所选择稳定频率的大小影响最终标识出的非稳定翻转状态的个数,此时,
功率分析工具计算出的多个功率分析周期的非稳定翻转状态导致的功率(例如毛刺功率的
总和)会有差别,但是并不影响参考多个功率分析周期的非稳定翻转状态导致的功率对芯
片设计进行优化。所以稳定频率的大小并不会对计算出的非稳定翻转状态导致的功率在芯
片设计过程中的使用产生影响。
电路2021与第一触发器2201的输出端2102连接,第二子分支逻辑电路2022和第三子分支逻
辑电路2023都与第一子分支逻辑电路2021连接,第二子分支逻辑电路2022与第二触发器
2203的输入端2104连接,第三子分支逻辑电路2023与第三触发器2204的输入端2106连接。
第一子分支逻辑电路2021的工作波形对应图5B以及图5C中的波形DATA21,第二子分支逻辑
电路2022的工作波形对应图5B以及图5C中的波形DATA22,第三子分支逻辑电路2023的工作
波形对应图5B以及图5C中的波形DATA23。
电路的工作波形中的第一非稳定翻转状态和第二非稳定翻转状态;基于第三触发器的第二
时钟频率对应的波形,标识第三子分支逻辑电路的工作波形中的第三非稳定翻转状态。
(第一时钟信号CLK_A21的波形),标识第一子分支逻辑电路2021的波形DATA21和第二子分
支逻辑电路2022的波形DATA22的第一非稳定翻转状态和第二非稳定翻转状态。此时,波形
DATA21的脉冲21和脉冲22都不与稳定频率对应的波形(第一时钟信号CLK_A21的波形)在时
刻T21以及时刻T25的上升沿重叠,也就是说,波形DATA21的脉冲21和脉冲22都没有跨过稳
定频率对应波形的有效沿,而脉冲23与稳定频率对应的波形在时刻T25的上升沿重叠。此
时,波形DATA21的脉冲21和脉冲22被标识为第一非稳定翻转状态,即毛刺,而脉冲23可以被
标识为相对应的稳定翻转状态。波形DATA22的脉冲27不与稳定频率对应的波形(第一时钟
信号CLK_A21的波形)在时刻T21以及时刻T25的上升沿重叠,而脉冲28与稳定频率对应的波
形在时刻T25的上升沿重叠。此时,波形DATA22的脉冲27被标识为第二非稳定翻转状态,即
毛刺,而脉冲28可以被标识为相对应的稳定翻转状态。
形DATA23的脉冲24和脉冲25都不与稳定频率对应的波形(第一时钟信号CLK_A21的波形)在
时刻T21、时刻T22、时刻T23、时刻T24以及时刻T25的上升沿重叠,而脉冲26与稳定频率对应
的波形在时刻T25的上升沿重叠。此时,波形DATA23的脉冲24和脉冲25被标识为第三非稳定
翻转状态,即毛刺,而脉冲26可以被标识为相对应的稳定翻转状态。
信号CLK_A21的波形),标识第一子分支逻辑电路2021的波形DATA21和第二子分支逻辑电路
2022的波形DATA22的第一非稳定翻转状态和第二非稳定翻转状态。此时,波形DATA21的脉
冲22不与稳定频率对应的波形(第一时钟信号CLK_A21的波形)在时刻T21、时刻T22、时刻
T23、时刻T24以及时刻T25的上升沿重叠,也就是说,波形DATA21的脉冲22没有跨过稳定频
率对应波形的有效沿,而脉冲21和脉冲23分别与稳定频率对应的波形在时刻T22以及时刻
T25的上升沿重叠。此时,波形DATA21的脉冲22被标识为第一非稳定翻转状态,即毛刺,而脉
冲21和脉冲23可以被标识为相对应的稳定翻转状态。波形DATA22的脉冲24和脉冲25都不与
稳定频率对应的波形(第一时钟信号CLK_A21的波形)在时刻T21、时刻T22、时刻T23、时刻
T24以及时刻T25的上升沿重叠,而脉冲26与稳定频率对应的波形在时刻T25的上升沿重叠。
此时,波形DATA22的脉冲24和脉冲25被标识为第二非稳定翻转状态,即毛刺,而脉冲26可以
被标识为相对应的稳定翻转状态。
形DATA23的脉冲27不与稳定频率对应的波形(第二时钟信号CLK_B21的波形)在时刻T21以
及时刻T25的上升沿重叠,而脉冲28与稳定频率对应的波形在时刻T25的上升沿重叠。此时,
波形DATA22的脉冲27被标识为第三非稳定翻转状态,即毛刺,而脉冲28可以被标识为相对
应的稳定翻转状态。
脉冲25以及脉冲27);当第一时钟信号CLK_A21的时钟频率大于第二时钟信号CLK_B21的时
钟频率(在图5C中)时,共标识出4个非稳定翻转状态(脉冲22、脉冲24、脉冲25以及脉冲27)。
根据以上对比,可以看出所选择的稳定频率影响最终标识出的非稳定翻转状态的个数,此
时,功率分析工具计算出的多个功率分析周期的非稳定翻转状态导致的功率(例如毛刺功
率的总和)会有些差别,但是并不影响参考多个功率分析周期的非稳定翻转状态导致的功
率对芯片设计进行优化。所以稳定频率的大小并不会对计算出的非稳定翻转状态导致的功
率在芯片设计过程中的使用产生影响。
择合适的稳定频率,例如,当多个第一分支逻辑电路202采用同一个稳定频率(例如第一时
钟频率或第二时钟频率)时,标识不稳定翻转状态的速度以及计算非稳定翻转状态导致的
功率(例如毛刺功率)的速度较快,而当多个第一分支逻辑电路202采用多个稳定频率时,标
识不稳定翻转状态的速度以及计算非稳定翻转状态导致的功率的速度较慢,但是计算的精
度相对较高。在芯片设计的过程中,设计者可以根据实际情况选择确定稳定频率的方式。
3201、第二触发器3203以及第四触发器3205。第一触发器3201和第四触发器3205位于第二
触发器3203的相邻的上一传输级。第一触发器3201和第四触发器3205与第二触发器3203之
间的逻辑电路包括扇入(Fan In)逻辑电路301,扇入逻辑电路301包括多个第二分支逻辑电
路302。第一触发器3201的输出端3102(例如引脚Q)和第四触发器3108的输出端3108(例如
引脚Q)通过多个第二分支逻辑电路302与第二触发器3203的输入端3104(例如引脚D)连接。
第一触发器3201的时钟引脚3101(例如引脚CLK)与第二触发器3203的时钟引脚3103(例如
引脚CLK)连接,由此,第一触发器3201的时钟引脚3101与第二触发器3203的时钟引脚3103
接收相同的时钟信号,例如图中的第二时钟信号CLK_B31,即两者的时钟频率相等。第四触
发器3205的时钟引脚3107(例如引脚CLK)接收另一时钟信号,例如图中的第一时钟信号
CLK_A31。例如,第一时钟信号CLK_A31和第二时钟信号CLK_B31分别由信号端601和信号端
602提供。例如,本公开实施例中的扇入逻辑电路301可以使第二触发器3203直接调用上一
级的第一触发器3201和第四触发器3205。
需求而定,本公开实施例不以多个第二分支逻辑电路302的数量为限。
别标识扇出逻辑电路的多个第二分支逻辑电路的工作波形中的非稳定翻转状态。例如,可
以根据非稳定翻转状态的功耗得到非稳定翻转状态导致的功率(例如毛刺功率),利用非稳
定翻转状态导致的功率对芯片设计进行优化,以减小或去除非稳定翻转状态导致的功率。
率为图6B以及图6C中第一时钟信号CLK_A21的波形。当将第二触发器3203的第二时钟频率
作为稳定频率时,第二触发器3203的第二时钟频率对应的波形(第二时钟信号CLK_B21的波
形)标识为稳定频率对应的波形。例如,多个第二分支逻辑电路302的工作波形发生的翻转
与稳定频率对应的波形进行对比。多个第二分支逻辑电路302的三个对应的工作波形分别
为波形DATA31、波形DATA32以及波形DATA33。
形图并不代表第一触发器3201、第二触发器3203、第四触发器3205以及多个第二分支逻辑
电路302实际的工作波形。
T21、时刻T22、时刻T23、时刻T24以及时刻T25存在上升沿。此时,标识波形DATA31、波形
DATA32以及波形DATA33中的非稳定翻转状态,与图5C所示的波形图在选择第一时钟频率
CLK_A21时的情况相似,可以参考之前的描述。采用相同的方法,波形DATA31的脉冲37和脉
冲38被标识为相对应的稳定翻转状态,即波形DATA31中不存在非稳定翻转状态。波形
DATA32的脉冲34和脉冲35被标识为非稳定翻转状态,即毛刺,而脉冲36可以被标识为相对
应的稳定翻转状态。波形DATA33的脉冲32被标识为非稳定翻转状态,即毛刺,而脉冲31和脉
冲33可以被标识为相对应的稳定翻转状态。
T21以及时刻T25存在上升沿。此时,标识波形DATA31、波形DATA32以及波形DATA33中的非稳
定翻转状态,与图5B所示的波形图在选择第一时钟频率CLK_A21时的情况相似,可以参考之
前的描述。波形DATA31的脉冲34和脉冲35被标识为非稳定翻转状态,即毛刺,而脉冲236可
以被标识为相对应的稳定翻转状态。波形DATA32的脉冲37被标识为非稳定翻转状态,即毛
刺,而脉冲38可以被标识为相对应的稳定翻转状态。波形DATA33的脉冲31和脉冲32被标识
为非稳定翻转状态,即毛刺,而脉冲33可以被标识为相对应的稳定翻转状态。
电路3021与第四触发器3205的输出端3108连接,第五子分支逻辑电路3022和第一触发器
3201的输出端3102连接。第四子分支逻辑电路3021和第五子分支逻辑电路3022都与第六子
分支逻辑电路3023连接,第六子分支逻辑电路3023与第二触发器3203的输入端3104连接。
第四子分支逻辑电路3021的工作波形对应图6B以及图6C中的波形DATA31,第五子分支逻辑
电路3022的工作波形对应图6B以及图6C中的波形DATA32,第六子分支逻辑电路3023的工作
波形对应图6B以及图6C中的波形DATA33。
电路的工作波形中的第四非稳定翻转状态和第五非稳定翻转状态;基于第四触发器的第一
时钟频率对应的波形,标识第四子分支逻辑电路的工作波形中的第六非稳定翻转状态。
(第二时钟信号CLK_B31的波形),标识第五子分支逻辑电路3022的波形DATA32和第六子分
支逻辑电路3023的波形DATA33的第四非稳定翻转状态和第五非稳定翻转状态。以第四触发
器3205的第一时钟频率(即稳定频率)对应的波形(第一时钟信号CLK_A31的波形),标识第
四子分支逻辑电路3021的波形DATA31的第六非稳定翻转状态。此时,标识波形DATA31、波形
DATA32以及波形DATA33中的第四非稳定翻转状态、第五非稳定翻转状态以及第六非稳定翻
转状态,可以参考如图5C所示的,以第一触发器2201的第一时钟频率(即稳定频率)对应的
波形(第一时钟信号CLK_A21的波形),标识第一子分支逻辑电路2021的波形DATA21和第二
分支逻辑电路2022的波形DATA22的第一非稳定翻转状态和第二非稳定翻转状态,以第三触
发器2202的第二时钟频率(即稳定频率)对应的波形(第二时钟信号CLK_B21的波形),标识
第三子分支逻辑电路2023的波形DATA23的第三非稳定翻转状态。
识为第五非稳定翻转状态,即毛刺,而脉冲36可以被标识为相对应的稳定翻转状态。波形
DATA31的脉冲37被标识为第四非稳定翻转状态,即毛刺,而脉冲38可以被标识为相对应的
稳定翻转状态。
(第二时钟信号CLK_B31的波形),标识第五子分支逻辑电路3022的波形DATA32和第六子分
支逻辑电路3023的波形DATA33的第四非稳定翻转状态和第五非稳定翻转状态。以第四触发
器3205的第一时钟频率(即稳定频率)对应的波形(第一时钟信号CLK_A31的波形),标识第
四子分支逻辑电路3201的波形DATA31的第六非稳定翻转状态。此时,标识波形DATA31、波形
DATA32以及波形DATA33中的第四非稳定翻转状态、第五非稳定翻转状态以及第六非稳定翻
转状态,可以参考如图5B所示的,以第一触发器2201的第一时钟频率(即稳定频率)对应的
波形(第一时钟信号CLK_A21的波形),标识第一子分支逻辑电路2021的波形DATA21和第二
子分支逻辑电路2022的波形DATA22的第一非稳定翻转状态和第二非稳定翻转状态,以第三
触发器2202的第二时钟频率(即稳定频率)对应的波形(第二时钟信号CLK_B21的波形),标
识第三子分支逻辑电路2023的波形DATA23的第三非稳定翻转状态。
五非稳定翻转状态,即毛刺,而脉冲38可以被标识为相对应的稳定翻转状态。波形DATA31的
脉冲34和脉冲35被标识为第四非稳定翻转状态,即毛刺,而脉冲36可以被标识为相对应的
稳定翻转状态。
择合适的稳定频率。例如,当多个第二分支逻辑电路302采用同一个稳定频率(例如第一时
钟频率或第二时钟频率)时,标识不稳定翻转状态的速度以及计算非稳定翻转状态导致的
功率的速度较快,而当多个第二分支逻辑电路302采用多个稳定频率时,标识不稳定翻转状
态的速度以及计算非稳定翻转状态导致的功率的速度较慢,但是计算的精度相对较高。在
芯片设计的过程中,设计者可以根据实际情况选择确定稳定频率的方式。
的时序信息。例如,在基于软件工具,例如Synopsys工具的芯片设计流程中,可以利用逻辑
综合工具(例如Synopsys工具中的Design Compiler工具)解析定义芯片设计中的多个功能
模块的属性信息的属性设计文件以及寄存器传输级描述文件,结合标准单元库生成网表。
例如,网表包括对应于寄存器传输级描述文件中的多个功能模块的多个功能模块、多个功
能模块的时序信息。例如,网表的多个功能模块之间还可以插入逻辑电路,逻辑电路形成功
能模块的组合逻辑,组合逻辑形成传递函数。例如,逻辑电路可以是逻辑门电路。
例如Synopsys工具中的静态时序分析(STA,Static Timing Analysis)所使用的PT(Prime
Time)工具,运行网表,模拟得到的波形文件,例如VCD(Value Change Dump)文件或FSDB
(Fast Signal Data Base)文件。
计文件中的约束设计文件定义了多个功能模块的时序。由于网表与属性设计文件相关联,
且波形文件是基于网表产生的,所以波形文件与属性设计文件也是间接关联的。在芯片设
计流程中,例如利用Synopsys工具,加载属性设计文件,例如约束设计文件,结合网表,例如
结合网表中的多个功能模块的信息,读取多个功能模块的时钟频率。
传输级功能模块接收相同的时钟频率的情况下,相邻传输级功能模块的稳定频率可以选择
功能模块的时钟频率。在相邻传输级功能模块分别接收不同的时钟频率的情况下,需要选
择多个功能模块中的相邻传输级功能模块的稳定频率。
定稳定频率,以加快计算非稳定翻转状态导致的功率的速度,节约计算时间。
状态导致的功率的速度,节约计算时间。此时,相比于最大的时钟频率作为稳定频率的情
况,逻辑电路的工作波形中被确定为非稳定翻转状态的比较结果有所不同。
翻转可以是与稳定频率对应波形的上升沿重叠的脉冲。逻辑电路的工作波形在稳定状态之
间的非有效翻转被标识为非稳定翻转状态。该非稳定翻转状态可以是一个无效脉冲(即不
必要的信号转换),例如,被称为毛刺(glitch)。此时,非稳定翻转状态所产生的功耗被为非
稳定翻转状态导致的功率(例如毛刺功率)。
中的至少一个脉冲与稳定频率对应的波形的有效沿不重叠时,至少一个脉冲被标识为非稳
定翻转状态,稳定频率对应的波形的有效沿包括稳定频率对应的波形的上升沿。例如,当逻
辑电路的工作波形的翻转没有跨过稳定频率对应波形的有效沿时,即,逻辑电路的工作波
形的脉冲没有跨过上升沿,则将该翻转标识为非稳定翻转状态。也就是说,逻辑电路的工作
波形中的没有跨过有效沿的脉冲被标识为毛刺。相对应地,逻辑电路的工作波形中的跨过
有效沿的脉冲将不被标识为非稳定翻转状态。从而将非稳定翻转状态从逻辑电路的工作波
形中选择出来,使得下一步可以根据标识出的非稳定翻转状态计算逻辑电路的非稳定翻转
状态导致的功率(例如毛刺功率)。
在相邻传输级功能模块之间传递过程中产生的非稳定翻转状态导致的功率。例如,利用功
率分析工具,由于被标识出的逻辑电路的工作波形中的非稳定翻转状态(被毛刺)的功耗是
已知的,可以将单个功率分析周期内的时钟信号在相邻传输级功能模块之间传递过程中产
生的非稳定翻转状态导致的功率(例如毛刺功率)都计算出来,由此,将非稳定翻转状态导
致的功率从总功率中区分出来,由此可以根据非稳定翻转状态导致的功率对芯片设计进行
相应地优化。本公开实施例提供的计算非稳定翻转状态导致的功率的上述技术方案,可以
被应用于多种功率分析工具或EDA工具等。
于芯片设计的设备400可以是个人电脑、笔记本电脑、平板电脑、移动电话等终端设备也可
以是工作站、服务器、云服务等。需要注意的是,图8示出的用于芯片设计的设备400仅仅是
一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。
随机访问存储器(RAM)430中的程序而执行各种适当的动作和处理。在RAM 430中,还存储有
用于芯片设计的设备400操作所需的各种程序和数据。处理装置410、ROM 420以及RAM 430
通过总线440彼此相连。输入/输出(I/O)接口450也连接至总线440。
动器等的输出装置470;包括例如磁带、硬盘等的存储装置480;以及通信装置490。通信装置
490可以允许用于芯片设计的设备400与其他电子设备进行无线或有线通信以交换数据。虽
然图8示出了包括各种装置的用于芯片设计的设备400,但应理解的是,并不要求实施或具
备所有示出的装置,用于芯片设计的设备400可以替代地实施或具备更多或更少的装置。
质上的计算机程序,该计算机程序包括用于执行上述用于芯片设计的方法的程序代码。在
这样的实施例中,该计算机程序可以通过通信装置490从网络上被下载和安装,或者从存储
装置480安装,或者从ROM420安装。在该计算机程序被处理装置410执行时,可以执行本公开
实施例提供的用于芯片设计的方法中限定的功能。
以实现本公开任一实施例所述的用于芯片设计的方法;或者,当该非暂时性计算机程序可
执行代码由计算机执行时可以实现本公开任一实施例所述的用于芯片设计的方法。
执行时可以执行根据上文所述的用于芯片设计的方法中的一个或多个步骤。
关说明可以参考图8所示的用于芯片设计的设备400中的存储器420的相应描述,此处不再
赘述。
本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。