CN116245060A - 数字电路的分析方法、装置、电子设备、存储介质 - Google Patents
数字电路的分析方法、装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN116245060A CN116245060A CN202111664450.7A CN202111664450A CN116245060A CN 116245060 A CN116245060 A CN 116245060A CN 202111664450 A CN202111664450 A CN 202111664450A CN 116245060 A CN116245060 A CN 116245060A
- Authority
- CN
- China
- Prior art keywords
- analysis
- digital circuit
- critical
- voltage drop
- determining
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Tests Of Electronic Circuits (AREA)
Abstract
一种数字电路的分析方法、装置、电子设备、存储介质。该数字电路的分析方法包括:定数字电路中的至少一条关键路径;对至少一条关键路径中的每条关键路径执行关键时钟周期检测,以得到至少一条关键路径对应的N个关键时钟周期;响应于N大于1,将N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定数字电路对应的电压降分析结果;其中,关键时钟周期检测包括:确定关键路径包括的多个分析节点;获取多个分析节点分别对应的多个仿真波形;基于多个仿真波形,提取关键路径对应的p个关键时钟周期。该数字电路的分析方法实现更加精确的电压降分析,捕获准确的工作电压变化,降低不相关的最坏情况下的过度设计,显著提升设计裕量。
Description
技术领域
本公开的实施例涉及一种数字电路的分析方法、数字电路的分析装置、电子设备、非瞬时性计算机可读存储介质。
背景技术
电压降(也称IR Drop)是指在集成电路中电源和地之间的网络上电压下降和升高的一种现象。随着半导体工艺的不断演进,金属互连线的宽度越来越窄,导致电阻值不断变大(供电电压也越来越小),如果一个器件离供电点很远,其等效阻值必然会比较大,由于电源网络是全局网络,平均长度较长,因此IR Drop的效应会随半导体工艺的不断演进越来越明显。
发明内容
本公开至少一实施例提供一种数字电路的分析方法,包括:确定所述数字电路中的至少一条关键路径;对所述至少一条关键路径中的每条关键路径执行关键时钟周期检测,以得到所述至少一条关键路径对应的N个关键时钟周期,其中,N为自然数;响应于N大于1,将所述N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定所述数字电路对应的电压降分析结果;其中,所述关键时钟周期检测包括:确定所述关键路径包括的多个分析节点;获取所述多个分析节点分别对应的多个仿真波形;基于所述多个仿真波形,提取所述关键路径对应的p个关键时钟周期,其中,在每个关键时钟周期中,所述多个分析节点均不满足时序约束条件或所述多个分析节点均具有最大延时,其中,p为自然数。
例如,在本公开至少一实施例提供一种数字电路的分析方法中,确定所述数字电路中的至少一条关键路径,包括:对所述数字电路进行静态时序分析,以确定所述至少一条关键路径,其中,所述至少一条关键路径为所述数字电路中时序裕量值小于裕量阈值或电路延时值大于延时阈值的时序路径。
例如,在本公开至少一实施例提供一种数字电路的分析方法中,确定所述关键路径包括的多个分析节点,包括:确定所述关键路径包括的多个第二器件和位于时序路径起点的第一器件;将所述第一器件和所述多个第二器件的输出端作为所述多个分析节点。
例如,在本公开至少一实施例提供一种数字电路的分析方法中,每个仿真波形为带有时序信息的仿真波形。
例如,在本公开至少一实施例提供一种数字电路的分析方法中,基于所述多个仿真波形,提取所述关键路径对应的p个关键时钟周期,包括:获取所述多个分析节点分别对应的多个跳变沿;基于所述多个仿真波形和所述多个跳变沿,确定所述关键路径对应的p个关键时钟周期,其中,在每个关键时钟周期中,所述多个仿真波形依次产生与对应的跳变沿相应的信号转换。
例如,在本公开至少一实施例提供一种数字电路的分析方法中,获取所述多个分析节点分别对应的多个跳变沿,包括:对所述数字电路进行静态时序分析;基于所述静态时序分析结果,确定所述多个分析节点分别对应的多个跳变沿;其中,每个跳变沿表示对应的分析节点的信号发生与所述跳变沿相应的信号转换时,所述对应的分析节点不满足时序约束或具有最大延时,所述跳变沿包括上升沿和/或下降沿。
例如,在本公开至少一实施例提供一种数字电路的分析方法中,每个仿真波形包括多个时钟周期,基于所述多个仿真波形和所述多个跳变沿,确定所述关键路径对应的p个关键时钟周期,包括:确定检测顺序,其中,所述检测顺序通过将所述多个分析节点按从所述关键路径的路径起点至所述关键路径的路径终点的方向进行排序得到;遍历所述多个仿真波形,基于所述检测顺序,对第i个时钟周期执行关键时钟周期判定,以确定所述第i个时钟周期是否为关键时钟周期,其中,i为正整数且依次取1至M,M为所述多个仿真波形所包括的时钟周期总数中的最小值。
例如,在本公开至少一实施例提供一种数字电路的分析方法中,基于所述检测顺序,对第i个时钟周期执行关键时钟周期判定,以确定所述第i个时钟周期是否为关键时钟周期,包括:将所述多个仿真波形中的第i个时钟周期确定为待分析的多个波形片段;判断所述多个波形片段是否根据所述检测顺序,依次出现相应的信号转换,其中,每个波形片段相应的信号转换由所述每个波形片段对应的分析节点所对应的跳变沿确定;响应于所述多个波形片段根据所述检测顺序,依次出现相应的信号转换,确定所述第i个时钟周期为关键时钟周期,响应于所述多个波形片段未根据所述检测顺序,依次出现相应的信号转换,确定所述第i个时钟周期不是关键时钟周期。
例如,在本公开至少一实施例提供一种数字电路的分析方法中,判断所述多个波形片段是否根据所述检测顺序,依次出现相应的信号转换,包括:根据所述检测顺序遍历所述多个波形片段,针对所述多个波形片段中的第j个波形片段:判断所述第j个波形片段中是否出现相应的信号转换;响应于所述第j个波形片段出现相应的信号转换,判断第j+1个波形片段是否满足检测条件,其中,所述检测条件包括第j+1个波形片段出现相应的信号转换,且所述第j+1个波形片段中相应的信号转换的出现时间晚于所述第j个波形片段中相应的信号转换的出现时间;响应于第j+1个波形片段满足检测条件,继续判断第j+2个波形片段是否满足所述检测条件,直到遍历完成所述多个波形片段,响应于第j+1个波形片段不满足所述检测条件,确定所述多个波形片段未根据所述检测顺序,依次出现相应的信号转换;其中,j为正整数且小于等于多个波形片段的总数。
例如,在本公开至少一实施例提供一种数字电路的分析方法中,将所述N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定所述数字电路对应的电压降分析结果,包括:对所述N个备选分析场景分别进行电压降分析,以得到所述N个备选分析场景分别对应的N个分析结果;基于所述N个分析结果,将所述N个备选分析场景中的电压降最大或电流变化率最高的备选分析场景作为电压降分析场景,将所述电压降分析场景对应的分析结果作为所述数字电路对应的电压降分析结果。
例如,本公开至少一实施例提供一种数字电路的分析方法还包括:根据所述电压降分析结果,确定所述多个分析节点一一对应的多个电压降电压;将所述多个分析节点的工作电压调节为对应的电压降电压;对电压调节后的所述数字电路进行静态时序分析,确定所述关键路径的时序在所述电压降分析场景下的收敛情况。
例如,本公开至少一实施例提供一种数字电路的分析方法还包括:对所述电压调节后的所述数字电路进行静态时序分析,计算所述数字电路在所述电压降分析场景下的时序裕量;基于所述时序余量,确定所述数字电路的时序签发标准。
例如,本公开至少一实施例提供一种数字电路的分析方法还包括:响应于N等于0,确定所述数字电路的门级仿真中的切换覆盖率不满足。
本公开至少一实施例还提供一种数字电路的分析装置,包括:确定单元,配置为确定所述数字电路中的至少一条关键路径;检测单元,配置为对所述至少一条关键路径中的每条关键路径执行关键时钟周期检测,以得到所述至少一条关键路径对应的N个关键时钟周期,其中,N为自然数;分析单元,配置为响应于N大于1,将所述N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定所述数字电路对应的电压降分析结果;其中,所述关键时钟周期检测包括:确定所述关键路径包括的多个分析节点,获取所述多个分析节点分别对应的多个仿真波形,基于所述多个仿真波形,提取所述关键路径对应的p个关键时钟周期,其中,在每个关键时钟周期中,所述多个分析节点均不满足时序约束条件或所述多个分析节点均具有最大延时,其中,p为自然数。
本公开至少一实施例还提供一种电子设备,包括:存储器,非瞬时性地存储有计算机可执行指令;处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器运行时实现根据本公开任一实施例所述的数字电路的分析方法。
本公开至少一实施例还提供一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据本公开任一实施例所述的数字电路的分析方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开至少一实施例提供的一种数字电路的分析方法的示意性流程图;
图2为本公开至少一实施例提供的一种关键时钟周期检测的示意性流程图;
图3A为本公开一实施例提供的关键路径的示意图;
图3B为本公开一实施例提供的多个仿真波形的示意图;
图4A为本公开另一实施例提供的关键路径的示意图;
图4B为本公开另一实施例提供的多个仿真波形的示意图;
图5A为本公开至少一实施例提供的一种数字电路的分析装置的示意性框图;
图5B为本公开至少一实施例提供的一种检测单元的示意性框图;
图6为本公开至少一实施例提供的一种电子设备的示意性框图;
图7为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
电压降现象包括静态电压降和动态电压降。静态电压降现象产生的原因主要是电源网络的金属连线的分压,这主要由于金属连线的自身电阻分压造成的,电流经过内部电源连线的时候产生电源压降。动态电压降是电源在电路开关切换的时候电流波动引起的电压压降。这种现象产生在时钟的触发沿,时钟沿跳变不仅带来电路中大量晶体管的打开和关闭,同时带来组合逻辑电路的跳变,往往在短时间内使得整个芯片上产生很大的电流,这个瞬间的大电流引起了电压降现象。在同一时刻发生开关切换的晶体管数量越多,越容易触发动态电压降现象。
在集成电路设计中,尤其是在高性能CPU(Central Processing Unit,中央处理器)和GPU(Graphics Processing Unit,图形处理器)的芯片设计中,各个器件的工作电压会直接影响芯片性能。目前,动态电压降裕量(Dynamic IR Drop Margin)是芯片签发(sign-off)的关键标准之一。然而,目前的动态电压降裕量的测量不保证裕量与关键路径以及关键路径的电压降相关。
目前,通常将功耗最大或电流变化速率最快的功能模拟场景作为由于电流需求的巨大增量导致的瞬态电压下降的动态场景,并将基于该动态场景的电压降分析作为芯片签发的参考。但是,这种分析方式将多种不相关的最坏情况放在一起,这些相互叠加的不相关事件将导致过度设计以及遗漏真正的问题。
本公开至少一实施例提供一种数字电路的分析方法、数字电路的分析装置、电子设备和非瞬时性计算机可读存储介质。该数字电路的分析方法包括:确定数字电路中的至少一条关键路径;对至少一条关键路径中的每条关键路径执行关键时钟周期检测,以得到至少一条关键路径对应的N个关键时钟周期,其中,N为自然数;响应于N大于1,将N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定数字电路对应的电压降分析结果;其中,关键时钟周期检测包括:确定关键路径包括的多个分析节点;获取多个分析节点分别对应的多个仿真波形;基于多个仿真波形,提取关键路径对应的p个关键时钟周期,其中,在每个关键时钟周期中,多个分析节点均不满足时序约束条件或多个分析节点均具有最大延时,p为自然数。
本公开至少一实施例提供一种数字电路的分析方法针对关键路径进行分析,将关键路径与仿真波形相关联,根据仿真波形中与关键路径匹配的动态波形变化寻找时序最差的精确时间点,对这些时间点进行电压降分析,实现更加精确的电压降分析,捕获准确的工作电压变化,降低不相关的最坏情况下的过度设计,显著提升设计裕量。
需要说明的是,在本公开的实施例中,逻辑器件包括组合逻辑器件和时序逻辑器件。这里,时序逻辑器件指代数字电路设计中的触发器、寄存器、锁存器等器件,时序逻辑器件对输入信号具有存储和记忆功能,当接收到时钟信号的有效沿或有效电平时,能够触发时序逻辑器件对输入信号的存储及输出信号的状态改变。组合逻辑器件指代数字电路设计中的与门、或门等实现逻辑运算的器件,例如数据选择器、数值比较器等,组合逻辑器件对输入信号不具备存储和记忆功能,在任一时刻,组合逻辑器件的输出信号的状态取决于当前时刻的输入信号的状态。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图1为本公开至少一实施例提供的一种数字电路的分析方法的示意性流程图。
例如,如图1所示,本公开实施例提供的数字电路的分析方法包括步骤S10至S30。
例如,本公开中的数字电路可以指代一个大型电路设计(例如集成电路)中的部分设计或部分模块,也即是,本公开中的数字电路既可以是一个完整数字电路的本身,也可以是完整电路中的部分电路,本公开对此不作限制。
在步骤S10,确定数字电路中的至少一条关键路径。
例如,步骤S10可以包括:对数字电路进行静态时序分析,以确定至少一条关键路径,其中,至少一条关键路径为数字电路中时序裕量值小于裕量阈值或电路延时值大于延时阈值的时序路径。
例如,关键路径也称关键时序路径(Critical Timing Path),是指数字电路中时序最差的时序路径。
例如,在一些实施例中,对数字电路进行静态时序分析时可以采用时序裕量值(slack value)来表征时序是否满足设计要求。例如,正的时序裕量值表示满足时序约束,负的时序裕量值表示不满足时序约束,且此时时序裕量值越小表示其时序相对越差。
由于在这种方式下,时序裕量值越小表示其时序相对越差,更加需要对其进行修改以满足时序要求,因而可以选择最小时序裕量值对应的至少一条电路路径作为关键路径。例如,在一些示例中,最小时序裕量值对应一条时序路径,将这一条时序路径作为关键路径;例如,在另一些示例中,可能多条时序路径均对应于最小时序裕量值,则将这多条时序路径均作为关键路径。
例如,在另一些实施例中,可以以电路延时作为选择依据,例如这里电路延时可以指代基准数据从一时序逻辑器件经某条时序路径传输至另一个时序逻辑器件所需的时间,这里基准数据为在该一时序逻辑器件中基于一个时钟沿的跳变所采集得到数据。通常,电路延时越大,其对应的电路路径的时序相对越差。
由于在这种方式下,电路延时值越大表示其时序相对越差,更加需要对其进行修改以满足时序要求,因而可以选择最大电路延时值对应的至少一条时序路径作为关键路径。
例如,还可以将时序裕量值小于于裕量阈值的至少一条时序路径作为关键路径;例如,还可以将电路延时值大于延时阈值的至少一条电路路径作为关键路径;例如,也可以将电路延时值和时序裕量值结合起来作为判断关键路径的标准,或者,也可以采用其他方式来确定时序相对较差的关键路径,本公开的实施例对此不作限制。
例如,这里的“至少一条关键路径”可以指数字电路中所有时序裕量值小于裕量阈值或电路延时值大于延时阈值的时序路径,或者,也可以指数字电路中部分时序裕量值小于裕量阈值或电路延时值大于延时阈值的时序路径。例如,在一些实施例中,基于静态时序分析的结果获得A条关键路径,A条关键路径的时序均不满足约束条件,从A条关键路径中选择部分优先考虑的关键路径作为这里的“至少一条关键路径”进行后续的关键时钟周期检测,这里,A为大于1的正整数。
通过引入静态时序分析的相关参数来对电路进行初步分析,从中选择出关键路径进行后续电压降分析,提高效率,减少迭代周期。
在步骤S20,对至少一条关键路径中的每条关键路径执行关键时钟周期检测,以得到至少一条关键路径对应的N个关键时钟周期,这里,N为自然数。
例如,在得到至少一条关键路径后,依次或并行对每条关键路径执行关键时钟周期检测,得到每条关键路径对应的关键时钟周期,例如,N个关键时钟周期包括所有关键路径对应的所有关键时钟周期。
例如,若每条关键路径均不存在对应的关键时钟周期,则这里N等于0。
例如,若在步骤S10得到两条关键路径,在步骤S20对第一条关键路径执行关键时钟周期检测后得到两个关键时钟周期,分别表示为关键时钟周期1和关键时钟周期2,对第二条关键路径执行关键时钟周期检测后得到一个关键时钟周期,表示为关键时钟周期3,则此时N=3,N个关键时钟周期包括关键时钟周期1、关键时钟周期2和关键时钟周期3。
图2为本公开至少一实施例提供的一种关键时钟周期检测的示意性流程图。
例如,如图2所示,本公开实施例提供的关键时钟周期检测包括步骤S201至S203。
在步骤S201,确定关键路径包括的多个分析节点。
在步骤S202,获取多个分析节点分别对应的多个仿真波形。
例如,仿真波形为带有时序信息的仿真波形。例如,仿真波形可以为对布局布线后的电路进行仿真得到的仿真波形,例如,仿真波形是对加入了延时信息的网表文件进行仿真得到的仿真波形。
在步骤S203,基于多个仿真波形,提取关键路径对应的p个关键时钟周期。
例如,在每个关键时钟周期中,多个分析节点均不满足时序约束条件或多个分析节点均具有最大延时,这里,p为自然数。
例如,步骤S201可以包括:确定关键路径包括的多个第二器件和位于时序路径起点的第一器件;将第一器件和多个第二器件的输出端作为多个分析节点。
例如,第一器件包括时序逻辑器件,第二器件包括组合逻辑器件。例如,关键路径包括位于时序路径起点(Start Point)的时序逻辑器件、位于时序路径终点(End Point)的时序逻辑器件,以及位于关键路径上的多个组合逻辑器件。
例如,第一器件还可以包括输入端口,也即此时关键路径的时序路径起点为输入端口。
例如,步骤S203可以包括:获取多个分析节点分别对应的多个跳变沿;基于多个仿真波形和多个跳变沿,确定关键路径对应的p个关键时钟周期,其中,在每个关键时钟周期中,多个仿真波形依次产生与对应的跳变沿相应的信号转换(Signal Transition)。
例如,获取多个分析节点分别对应的多个跳变沿,可以包括:对数字电路进行静态时序分析;基于静态时序分析结果,确定多个分析节点分别对应的多个跳变沿;其中,每个跳变沿表示对应的分析节点的信号发生与跳变沿相应的信号转换时,对应的分析节点不满足时序约束或具有最大延时,跳变沿包括上升沿和/或下降沿。
例如,对数字电路进行静态时序分析(Static Timing Analysis,简称STA),静态时序分析会遍历并分析数字电路中的所有时序路径,依据电路网表的拓扑结构,对所有时序路径进行建立时间检查、保持时间检查等,得到时序分析报告。时序分析报告中指出数字电路中时序相对最差的一条或多条关键路径需要进行优化,并且,时序分析报告中会指出关键路径上每个器件(例如标准单元,standard cell)对应的跳变沿,例如跳变沿包括上升沿和下降沿,当器件的时钟信号或数据信号发生跳变沿相应的信号转换时存在延时,这些器件的延时使得该条时序路径成为关键路径。例如,跳变沿为上升沿(rise)时表示时钟信号或数据信号发生从逻辑0(例如低电压值)到逻辑1(例如高电压值)的跳变时,该器件的时序最差或输入至输出之间的传播延时最大;例如,跳变沿为下降沿(fall)表示时钟信号或数据信号发生从逻辑1到逻辑0的跳变时,该器件的时序最差或输入至输出之间的传播延时最大。
例如,上升沿相应的信号转换包括时钟信号或数据信号发生从逻辑0(例如低电压值)到逻辑1(例如高电压值)的跳变,下降沿相应的信号转换包括时钟信号或数据信号发生从逻辑1到逻辑0的跳变。
例如,每个仿真波形包括多个时钟周期,基于多个仿真波形和多个跳变沿,确定关键路径对应的p个关键时钟周期,可以包括:确定检测顺序,其中,检测顺序通过将多个分析节点按从关键路径的路径起点至关键路径的路径终点的方向进行排序得到;遍历多个仿真波形,基于检测顺序,对第i个时钟周期执行关键时钟周期判定,以确定第i个时钟周期是否为关键时钟周期,其中,i为正整数且依次取1至M,M为多个仿真波形所包括的时钟周期总数中的最小值。
例如,基于检测顺序,对第i个时钟周期执行关键时钟周期判定,以确定第i个时钟周期是否为关键时钟周期,可以包括:将多个仿真波形中的第i个时钟周期确定为待分析的多个波形片段;判断多个波形片段是否根据检测顺序,依次出现相应的信号转换,其中,每个波形片段相应的信号转换由每个波形片段对应的分析节点所对应的跳变沿确定;响应于多个波形片段根据检测顺序,依次出现相应的信号转换,确定第i个时钟周期为关键时钟周期,响应于多个波形片段未根据检测顺序,依次出现相应的信号转换,确定第i个时钟周期不是关键时钟周期。
例如,判断多个波形片段是否根据检测顺序,依次出现相应的信号转换,可以包括:根据检测顺序遍历多个波形片段,针对多个波形片段中的第j个波形片段:判断第j个波形片段中是否出现相应的信号转换;响应于第j个波形片段出现相应的信号转换,判断第j+1个波形片段是否满足检测条件,其中,检测条件包括第j+1个波形片段出现相应的信号转换,且第j+1个波形片段中相应的信号转换的出现时间晚于第j个波形片段中相应的信号转换的出现时间;响应于第j+1个波形片段满足检测条件,继续判断第j+2个波形片段是否满足检测条件,直到遍历完成多个波形片段,响应于第j+1个波形片段不满足检测条件,确定多个波形片段未根据检测顺序,依次出现相应的信号转换;其中,j为正整数且小于等于多个波形片段的总数。
也就是说,关键时钟周期检测是将仿真波形与关键路径相关联,寻找一个或多个精确时间点(也即关键时钟周期),在这些时间点,关键路径上的各个器件依次出现相应的信号转换,此时电路的时序相对最差,同一时刻电路中存在最多的晶体管的打开和关闭,以及组合逻辑电路的跳变,从而在这些精确时间点处产生的瞬间大电流相对最大,电压降现象最为明显,因此这些时间点可用于电压降的分析场景,由此所得到的电压降分析结果也更加精确,贴近电路运行的实际最坏情形(worst-case scenario)。
下面结合附图,具体说明本公开至少一实施例提供的关键时钟周期检测的执行过程。
图3A为本公开一实施例提供的关键路径的示意图。
例如,根据步骤S10中确定关键路径1,如图3A所示,关键路径1包括位于时序路径起点的时序逻辑器件201、位于时序路径终点的时序逻辑器件206,以及组合逻辑器件202、组合逻辑器件203、组合逻辑器件204和组合逻辑器件205。
例如,301表示时序逻辑器件201的输出端,302表示组合逻辑器件202的输出端,303表示组合逻辑器件203的输出端,304表示组合逻辑器件204的输出端,305表示组合逻辑器件205的输出端。
例如,对关键路径1执行关键时钟周期检测时,首先在步骤S201,将时序逻辑器件201的输出端301、组合逻辑器件202的输出端302、组合逻辑器件203的输出端303、组合逻辑器件204的输出端304和组合逻辑器件205的输出端305作为分析节点,从而得到分析节点301、分析节点302、分析节点303、分析节点304和分析节点305。
之后,在步骤S202,获取多个分析节点分别对应的多个仿真波形。
例如,图3B为本公开一实施例提供的多个仿真波形的示意图。
如图3B所示,第一行表示仿真波形的时钟信号变化;第二行表示时钟周期序号,序号从0开始递增;第三行至第七行表示分析节点301至分析节点305的仿真波形变化。
之后,在步骤S203,基于图3B所示的多个仿真波形,提取关键路径对应的p个关键时钟周期。
例如,首先在步骤S203,获取多个分析节点分别对应的多个跳变沿。
例如,通过数字电路的静态时序分析报告获取关键路径中每个器件对应的跳变沿,由此得到该器件的输出端,也即分析节点对应的跳变沿。
表1示出了分析节点301至分析节点305的跳变沿。
表1分析节点的跳变沿
分析节点 | 跳变沿 |
分析节点301 | 上升沿(R) |
分析节点302 | 上升沿(R) |
分析节点303 | 下降沿(F) |
分析节点304 | 上升沿(R) |
分析节点305 | 上升沿(R) |
之后,在步骤S203,基于图3B所示的多个仿真波形和表1所示的多个跳变沿,确定关键路径1对应的p个关键时钟周期。
例如,首先确定检测顺序,根据关键路径1的从路径起点至路径终点方向,确定检测顺序为:分析节点301->分析节点302->分析节点303->分析节点304->分析节点305。
之后,将5个仿真波形中的时钟周期序号为0的波形作为待分析的5个波形片段,判断5个波形片段是否根据检测顺序,依次出现相应的信号转换。例如,如图3B所示,在时钟周期序号为0时,5个分析节点的波形片段均没有发生信号转换,则确定5个波形片段没有出现相应的信号转换,时钟周期序号0的时钟周期不是关键时钟周期。
之后,将5个仿真波形中的时钟周期序号为1的波形作为待分析的5个波形片段,判断5个波形片段是否根据检测顺序,依次出现相应的信号转换。例如,如图3B所示,在时钟周期序号为1时,5个分析节点的波形片段均没有发生信号转换,则确定5个波形片段没有出现相应的信号转换,时钟周期序号为1的时钟周期不是关键时钟周期。
之后,将5个仿真波形中的时钟周期序号为2的波形作为待分析的5个波形片段,判断5个波形片段是否根据检测顺序,依次出现相应的信号转换。例如,如图3B所示,分析节点301首先出现由逻辑0至逻辑1的信号转换,如图3B中的跳变1所示,该信号转换与分析节点301对应的跳变沿(也即上升沿)相对应;之后,分析节点302出现由逻辑0至逻辑1的信号转换,如图3B中的跳变2所示,该信号转换与分析节点302对应的跳变沿(也即上升沿)相对应,并且分析节点302的信号转换的出现时间晚于分析节点301的信号转换的出现时间;之后,分析节点303出现由逻辑1至逻辑0的信号转换,如图3B中的跳变3所示,该信号转换与分析节点301对应的跳变沿(也即下降沿)相对应,并且分析节点303的信号转换的出现时间晚于分析节点302的信号转换的出现时间;之后,分析节点304出现由逻辑0至逻辑1的信号转换,如图3B中的跳变4所示,该信号转换与分析节点304对应的跳变沿(也即上升沿)相对应,并且分析节点304的信号转换的出现时间晚于分析节点303的信号转换的出现时间;最后,分析节点305出现由逻辑0至逻辑1的信号转换,如图3B中的跳变5所示,该信号转换与分析节点305对应的跳变沿(也即上升沿)相对应,并且分析节点305的信号转换的出现时间晚于分析节点304的信号转换的出现时间。
由此,确定5个波形片段根据检测顺序,依次出现相应的信号转换,确定时钟周期序号为2的时钟周期为关键时钟周期,可以作为备选分析场景用于后续的电压降分析。
之后,依次对时钟周期序号为3等时钟周期执行上述关键时钟周期检测,直到遍历完多个时钟周期,这里不再赘述。
图4A为本公开另一实施例提供的关键路径的示意图。
例如,根据步骤S10中确定关键路径2,如图4A所示,关键路径2包括位于时序路径起点的时序逻辑器件401、位于时序路径终点的时序逻辑器件406、组合逻辑器件402、组合逻辑器件403、组合逻辑器件404、组合逻辑器件405。
例如,501表示时序逻辑器件401的输出端,502表示组合逻辑器件402的输出端,503表示组合逻辑器件403的输出端,504表示组合逻辑器件404的输出端,505表示组合逻辑器件405的输出端。
例如,对关键路径2执行关键时钟周期检测时,首先在步骤S201,将时序逻辑器件401的输出端501、组合逻辑器件402的输出端502、组合逻辑器件403的输出端503、组合逻辑器件404的输出端504和组合逻辑器件405的输出端505作为分析节点,从而得到分析节点501、分析节点502、分析节点503、分析节点504和分析节点505。
之后,在步骤S202,获取多个分析节点分别对应的多个仿真波形。
例如,图4B为本公开另一实施例提供的多个仿真波形的示意图。
如图4B所示,第一行表示仿真波形的时钟信号变化;第二行表示时钟周期序号,例如图4B完整示出了时钟周期序号为i时5个仿真波形的波形变化;第三行至第七行表示分析节点501至分析节点505的仿真波形变化。
之后,在步骤S203,基于图4B所示的多个仿真波形,提取关键路径对应的p个关键时钟周期。
例如,首先在步骤S203,获取多个分析节点分别对应的多个跳变沿。
表2示出了分析节点501至分析节点505的跳变沿。
表2分析节点的跳变沿
分析节点 | 跳变沿 |
分析节点501 | 上升沿(R) |
分析节点502 | 上升沿(R) |
分析节点503 | 上升沿(R) |
分析节点504 | 上升沿(R) |
分析节点505 | 上升沿(R) |
之后,基于图4B所示的多个仿真波形和表2所示的多个跳变沿,确定关键路径2的p个关键时钟周期。
例如,首先确定检测顺序,根据关键路径2从路径起点至路径终点方向,确定检测顺序为:分析节点501->分析节点502->分析节点503->分析节点504->分析节点505。
例如,以时钟周期序号为i为例进行说明。
例如,将5个仿真波形中的时钟周期序号为i的波形作为待分析的5个波形片段。如图4B所示,在5个波形片段中,首先分析节点501出现逻辑0至逻辑1的信号转换,如图4B中的跳变1’所示;之后分析节点502出现逻辑0至逻辑1的信号转换,如图4B中的跳变2’所示;之后分析节点503出现逻辑0至逻辑1的信号转换,如图4B中的跳变3’所示;之后分析节点504出现逻辑0至逻辑1的信号转换,如图4B中的跳变4’所示;最后分析节点505出现逻辑0至逻辑1的信号转换,如图4B中的跳变5’所示。也就是说,5个波形片段根据检测顺序,依次出现与每个分析节点对应的跳变沿相应的信号转换,由此确定时钟周期序号为i的时钟周期作为关键时钟周期。
本公开至少一实施例提供的数字电路的分析方法将关键路径和仿真波形相关联,确保仿真波形覆盖可用作电压降(IR Drop)分析的最关键时序路径,也即根据仿真波形寻找电路处于最差情形的精确时间点,以捕获更为真实、准确的电压降分析场景。
在步骤S30,响应于N大于1,将N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定数字电路对应的电压降分析结果。
例如,步骤S30可以包括:对N个备选分析场景分别进行电压降分析,以得到N个备选分析场景分别对应的N个分析结果;基于N个分析结果,将N个备选分析场景中的电压降最大或电流变化率最高的备选分析场景作为电压降分析场景,将电压降分析场景对应的分析结果作为数字电路对应的电压降分析结果。
也就是说,在获得关键时钟周期后,由于这些关键时钟周期所在的时间点表示电路可能处于最差的时序状态,且同一时刻电路中存在最多的晶体管的打开和关闭,以及组合逻辑电路的跳变,从而在这些时间点处产生的瞬间大电流相对最大,电压降现象最为明显。对这些时间点进行电压降分析,能够获得更加准确的电压降分析结果。并且,从这些时间点中选择电压降现象最明显的一个场景,例如将这些时间点中的电压降最大或电流变化率最高的一个时间点作为电压降分析场景,将电压降分析场景得到的分析结果作为数字电路对应的电压降分析结果,精确标记影响关键路径上各个分析节点的工作电压,由此得到与关键路径紧密关联的电压降分析结果,避免不相关的最差情形下的过度设计,提升设计裕量,并提升数字电路的设计性能。
例如,本公开至少一实施例提供的数字电路分析方法还可以包括:根据电压降分析结果,确定多个分析节点一一对应的多个电压降电压;将多个分析节点的工作电压调节为对应的电压降电压;对电压调节后的数字电路进行静态时序分析,确定关键路径的时序在电压降分析场景下的收敛情况。
例如,根据电压降分析结果将各个分析节点的工作电压反标至电路中,对该电路进行静态时序分析,以确定关键路径在IR Drop的最差情形下是否时序还能够收敛。
例如,本公开至少一实施例提供的数字电路分析方法还可以包括:对电压调节后的数字电路进行静态时序分析,计算数字电路在电压降分析场景下的时序裕量;基于时序裕量,确定数字电路的时序签发标准。
根据步骤S30得到的电压降分析结果,确定各个分析节点的工作电压并反标回电路中,对标记了工作电压的电路进行静态时序分析,基于静态时序分析结果获得更加精确的时序签发裕量(timing sign-off margin),从而提高设计裕量,避免过度设计,为其他关联电路模块提供更加宽裕的时序设计空间。
例如,本公开至少一实施例提供的数字电路分析方法还可以包括:响应于N等于0,确定数字电路的门级仿真中的切换覆盖率不满足。
数字电路后端设计过程包括门级仿真(Gate level Simulation),门级仿真是指在集成电路布局布线之后,根据时序文件,例如SDF(Standard Delay Format,标准延时格式)文件,将时序信息反标至后端网表(post-layout netlist)中,针对带有时序信息的网表进行仿真,门级仿真用于检查寄存器传输级文件的仿真与物理实现后的后端网表的一致性(logic Equivalence check,逻辑等价检查)。
门级仿真的测量方法通常为故障模拟,例如创建一组测试,以在物理实现后的电路中进行验证。本公开至少一实施例提供的数字电路的设计方法可以用关键时钟周期的数量来衡量门级仿真的故障模拟的测试组是否完备,也即切换覆盖率(toggle coverage)是否合适。
例如,若N等于0,也即数字电路的仿真波形中不存在时序最差的关键时钟周期,则说明电路的门级仿真的故障模拟不够充分,没有覆盖需要测试的最差场景,需要增加相应的测试用例。
与上述的数字电路的分析方法相对应,本公开至少一实施例还提供一种数字电路的分析装置,图5A为本公开至少一实施例提供的一种数字电路的分析装置的示意性框图。
例如,如图5A所示,数字电路的分析装置600包括:确定单元501和检测单元502和分析单元503。
确定单元501配置为确定数字电路中的至少一条关键路径。
检测单元502配置为对至少一条关键路径中的每条关键路径执行关键时钟周期检测,以得到至少一条关键路径对应的N个关键时钟周期,这里,N为自然数。
分析单元503,配置为响应于N大于1,将N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定数字电路对应的电压降分析结果。
例如,确定单元501执行定数字电路中的至少一条关键路径时,包括执行以下步骤:对数字电路进行静态时序分析,以确定至少一条关键路径,其中,至少一条关键路径为数字电路中时序裕量值小于裕量阈值或电路延时值大于延时阈值的时序路径。
例如,分析单元503执行将N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定数字电路对应的电压降分析结果时,包括执行以下步骤:对N个备选分析场景分别进行电压降分析,以得到N个备选分析场景分别对应的N个分析结果;基于N个分析结果,将N个备选分析场景中的电压降最大或电流变化率最高的备选分析场景作为电压降分析场景,将电压降分析场景对应的分析结果作为数字电路对应的电压降分析结果。
图5B为本公开至少一实施例提供的一种检测单元的示意性框图。
例如,如图5B所示,检测单元包括:分析节点确定子单元5021、获取子单元5022和提取子单元5023。
分析节点确定子单元5021配置为确定关键路径包括的多个分析节点。
获取子单元5022配置为获取多个分析节点分别对应的多个仿真波形。
提取子单元5023配置为基于多个仿真波形,提取关键路径对应的p个关键时钟周期,其中,在每个关键时钟周期中,多个分析节点均不满足时序约束条件或多个分析节点均具有最大延时,p为自然数。
例如,分析节点确定子单元5021执行确定关键路径包括的多个分析节点时,包括执行以下步骤:确定关键路径包括的多个第二器件和位于时序路径起点的第一器件;将第一器件和多个第二器件的输出端作为多个分析节点。
例如,提取子单元5023包括跳变沿获取子单元5024和关键时钟周期检测子单元5025。
跳变沿获取子单元5024配置为获取多个分析节点分别对应的多个跳变沿。
关键时钟周期检测子单元5025配置为基于多个仿真波形和多个跳变沿,确定关键路径对应的p个关键时钟周期,其中,在每个关键时钟周期中,多个仿真波形依次产生与对应的跳变沿相应的信号转换。
例如,跳变沿获取子单元5024执行获取多个分析节点分别对应的多个跳变沿时,包括执行以下步骤:对数字电路进行静态时序分析;基于静态时序分析结果,确定多个分析节点分别对应的多个跳变沿;其中,每个跳变沿表示对应的分析节点的信号发生与跳变沿相应的信号转换时,对应的分析节点不满足时序约束或具有最大延时,跳变沿包括上升沿和/或下降沿。
例如,关键时钟周期检测子单元5025执行基于多个仿真波形和多个跳变沿,确定关键路径对应的p个关键时钟周期时,包括执行以下步骤:确定检测顺序,其中,检测顺序通过将多个分析节点按从关键路径的路径起点至关键路径的路径终点的方向进行排序得到;遍历多个仿真波形,基于检测顺序,对第i个时钟周期执行关键时钟周期判定,以确定第i个时钟周期是否为关键时钟周期,其中,i为正整数且依次取1至M,M为多个仿真波形所包括的时钟周期总数中的最小值。
例如,关键时钟周期检测子单元5025执行基于检测顺序,对第i个时钟周期执行关键时钟周期判定,以确定第i个时钟周期是否为关键时钟周期时,包括执行以下步骤:将多个仿真波形中的第i个时钟周期确定为待分析的多个波形片段;判断多个波形片段是否根据检测顺序,依次出现相应的信号转换,其中,每个波形片段相应的信号转换由每个波形片段对应的分析节点所对应的跳变沿确定;响应于多个波形片段根据检测顺序,依次出现相应的信号转换,确定第i个时钟周期为关键时钟周期,响应于多个波形片段未根据检测顺序,依次出现相应的信号转换,确定第i个时钟周期不是关键时钟周期。
例如,关键时钟周期检测子单元5025执行判断多个波形片段是否根据检测顺序,依次出现相应的信号转换时,包括执行以下步骤:根据检测顺序遍历多个波形片段,针对多个波形片段中的第j个波形片段:判断第j个波形片段中是否出现相应的信号转换;响应于第j个波形片段出现相应的信号转换,判断第j+1个波形片段是否满足检测条件,其中,检测条件包括第j+1个波形片段出现相应的信号转换,且第j+1个波形片段中相应的信号转换的出现时间晚于第j个波形片段中相应的信号转换的出现时间;响应于第j+1个波形片段满足检测条件,继续判断第j+2个波形片段是否满足检测条件,直到遍历完成多个波形片段,响应于第j+1个波形片段不满足检测条件,确定多个波形片段未根据检测顺序,依次出现相应的信号转换;其中,j为正整数且小于等于多个波形片段的总数。
例如,在一些实施例中,数字电路的分析装置600还可以包括时序收敛分析单元。
例如,时序收敛分析单元配置为根据电压降分析结果,确定多个分析节点一一对应的多个电压降电压;将多个分析节点的工作电压调节为对应的电压降电压;对电压调节后的数字电路进行静态时序分析,确定关键路径的时序在电压降分析场景下的收敛情况。
例如,在一些实施例中,数字电路的分析装置600还可以包括裕量确定单元。
例如,裕量确定单元配置为对电压调节后的数字电路进行静态时序分析,计算数字电路在电压降分析场景下的时序裕量;基于时序余量,确定数字电路的时序签发标准。
例如,确定单元501、检测单元502和分析单元503包括存储在存储器中的代码和程序;处理器可以执行该代码和程序以实现如上所述的确定单元501、检测单元502和分析单元503的一些功能或全部功能。例如,确定单元501、检测单元502和分析单元503可以是专用硬件器件,用来实现如上所述的确定单元501、检测单元502和分析单元503的一些或全部功能。例如,确定单元501、检测单元502和分析单元503可以是一个电路板或多个电路板的组合,用于实现如上所述的功能。在本申请实施例中,该一个电路板或多个电路板的组合可以包括:(1)一个或多个处理器;(2)与处理器相连接的一个或多个非暂时的存储器;以及(3)处理器可执行的存储在存储器中的固件。
需要说明的是,确定单元501用于实现图1所示的步骤S10,检测单元502用于实现图1所示的步骤S20,分析单元503用于实现图1所示的步骤S30。从而关于确定单元501的具体说明可以参考上述数字电路的分析方法的实施例中图1所示的步骤S10的相关描述,关于检测单元502的具体说明可以参考上述数字电路的分析方法的实施例中图1所示的步骤S20的相关描述,关于分析单元503的具体说明可以参考上述数字电路的分析方法的实施例中图1所示的步骤S30的相关描述。
需要说明的是,分析节点确定子单元5021用于实现图2所示的步骤S201,获取子单元5022用于实现图2所示的步骤S202,提取子单元5023用于实现图2所示的步骤S203。从而关于分析节点确定子单元5021的具体说明可以参考上述数字电路的分析方法的实施例中图2所示的步骤S201的相关描述,关于获取子单元5022的具体说明可以参考上述数字电路的分析方法的实施例中图2所示的步骤S202的相关描述,关于提取子单元5023的具体说明可以参考上述数字电路的分析方法的实施例中图2所示的步骤S203的相关描述。
此外,数字电路的分析装置可以实现与前述数字电路的分析方法相似的技术效果,在此不再赘述。
本公开至少一实施例还提供一种电子设备,图6为本公开至少一实施例提供的一种电子设备的示意性框图。
例如,如图6所示,该电子设备包括处理器1001、通信接口1002、存储器1003和通信总线1004。处理器1001、通信接口1002、存储器1003通过通信总线1004实现相互通信,处理器1001、通信接口1002、存储器1003等组件之间也可以通过网络连接进行通信。本公开对网络的类型和功能在此不作限制。
例如,存储器1003用于非瞬时性地存储计算机可执行指令。处理器1001用于运行计算机可执行指令时,计算机可执行指令被处理器1001运行时实现根据上述任一实施例所述的数字电路的分析方法。关于该数字电路的分析方法的各个步骤的具体实现以及相关解释内容可以参见上述数字电路的分析方法的实施例,在此不作赘述。
例如,处理器1001执行存储器1003上所存储的程序而实现数字电路的分析方法的实现方式,与前述数字电路的分析方法的实施例部分所提及的实现方式相同,这里也不再赘述。
例如,通信总线1004可以是外设部件互连标准(PCI)总线或扩展工业标准结构(EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
例如,通信接口1002用于实现电子设备与其他设备之间的通信。
例如,处理器1001可以控制电子设备中的其它组件以执行期望的功能。处理器1001可以是中央处理器(CPU)、网络处理器(NP)等,还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(CPU)可以为X86或ARM架构等。
例如,存储器1003可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可执行指令,处理器1001可以运行所述计算机可执行指令,以实现电子设备的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。
例如,关于电子设备执行数字电路的分析的过程的详细说明可以参考数字电路的分析方法的实施例中的相关描述,重复之处不再赘述。
图7为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。例如,如图7所示,在存储介质1100上可以非暂时性地存储一个或多个计算机可执行指令1101。例如,当计算机可执行指令1101由处理器执行时可以执行根据上文所述的数字电路的分析方法中的一个或多个步骤。
例如,该存储介质1100可以应用于上述电子设备和/或数字电路的分析装置1400中。例如,存储介质1100可以包括电子设备中的存储器1003。
例如,关于存储介质1100的说明可以参考电子设备的实施例中对于存储器的描述,重复之处不再赘述。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。
(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种数字电路的分析方法,包括:
确定所述数字电路中的至少一条关键路径;
对所述至少一条关键路径中的每条关键路径执行关键时钟周期检测,以得到所述至少一条关键路径对应的N个关键时钟周期,其中,N为自然数;
响应于N大于1,将所述N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定所述数字电路对应的电压降分析结果;
其中,所述关键时钟周期检测包括:
确定所述关键路径包括的多个分析节点;
获取所述多个分析节点分别对应的多个仿真波形;
基于所述多个仿真波形,提取所述关键路径对应的p个关键时钟周期,其中,在每个关键时钟周期中,所述多个分析节点均不满足时序约束条件或所述多个分析节点均具有最大延时,其中,p为自然数。
2.根据权利要求1所述的分析方法,其中,确定所述数字电路中的至少一条关键路径,包括:
对所述数字电路进行静态时序分析,以确定所述至少一条关键路径,其中,所述至少一条关键路径为所述数字电路中时序裕量值小于裕量阈值或电路延时值大于延时阈值的时序路径。
3.根据权利要求1所述的分析方法,其中,确定所述关键路径包括的多个分析节点,包括:
确定所述关键路径包括的多个第二器件和位于时序路径起点的第一器件;
将所述第一器件和所述多个第二器件的输出端作为所述多个分析节点。
4.根据权利要求1所述的分析方法,其中,每个仿真波形为带有时序信息的仿真波形。
5.根据权利要求1所述的分析方法,其中,基于所述多个仿真波形,提取所述关键路径对应的p个关键时钟周期,包括:
获取所述多个分析节点分别对应的多个跳变沿;
基于所述多个仿真波形和所述多个跳变沿,确定所述关键路径对应的p个关键时钟周期,其中,在每个关键时钟周期中,所述多个仿真波形依次产生与对应的跳变沿相应的信号转换。
6.根据权利要求5所述的分析方法,其中,获取所述多个分析节点分别对应的多个跳变沿,包括:
对所述数字电路进行静态时序分析;
基于所述静态时序分析结果,确定所述多个分析节点分别对应的多个跳变沿;
其中,每个跳变沿表示对应的分析节点的信号发生与所述跳变沿相应的信号转换时,所述对应的分析节点不满足时序约束或具有最大延时,所述跳变沿包括上升沿和/或下降沿。
7.根据权利要求5所述的分析方法,其中,每个仿真波形包括多个时钟周期,
基于所述多个仿真波形和所述多个跳变沿,确定所述关键路径对应的p个关键时钟周期,包括:
确定检测顺序,其中,所述检测顺序通过将所述多个分析节点按从所述关键路径的路径起点至所述关键路径的路径终点的方向进行排序得到;
遍历所述多个仿真波形,基于所述检测顺序,对第i个时钟周期执行关键时钟周期判定,以确定所述第i个时钟周期是否为关键时钟周期,
其中,i为正整数且依次取1至M,M为所述多个仿真波形所包括的时钟周期总数中的最小值。
8.根据权利要求7所述的分析方法,其中,基于所述检测顺序,对第i个时钟周期执行关键时钟周期判定,以确定所述第i个时钟周期是否为关键时钟周期,包括:
将所述多个仿真波形中的第i个时钟周期确定为待分析的多个波形片段;
判断所述多个波形片段是否根据所述检测顺序,依次出现相应的信号转换,其中,每个波形片段相应的信号转换由所述每个波形片段对应的分析节点所对应的跳变沿确定;
响应于所述多个波形片段根据所述检测顺序,依次出现相应的信号转换,确定所述第i个时钟周期为关键时钟周期,
响应于所述多个波形片段未根据所述检测顺序,依次出现相应的信号转换,确定所述第i个时钟周期不是关键时钟周期。
9.根据权利要求8所述的分析方法,其中,判断所述多个波形片段是否根据所述检测顺序,依次出现相应的信号转换,包括:
根据所述检测顺序遍历所述多个波形片段,针对所述多个波形片段中的第j个波形片段:
判断所述第j个波形片段中是否出现相应的信号转换;
响应于所述第j个波形片段出现相应的信号转换,判断第j+1个波形片段是否满足检测条件,其中,所述检测条件包括第j+1个波形片段出现相应的信号转换,且所述第j+1个波形片段中相应的信号转换的出现时间晚于所述第j个波形片段中相应的信号转换的出现时间;
响应于第j+1个波形片段满足检测条件,继续判断第j+2个波形片段是否满足所述检测条件,直到遍历完成所述多个波形片段,
响应于第j+1个波形片段不满足所述检测条件,确定所述多个波形片段未根据所述检测顺序,依次出现相应的信号转换;
其中,j为正整数且小于等于多个波形片段的总数。
10.根据权利要求1所述的分析方法,其中,将所述N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定所述数字电路对应的电压降分析结果,包括:
对所述N个备选分析场景分别进行电压降分析,以得到所述N个备选分析场景分别对应的N个分析结果;
基于所述N个分析结果,将所述N个备选分析场景中的电压降最大或电流变化率最高的备选分析场景作为电压降分析场景,将所述电压降分析场景对应的分析结果作为所述数字电路对应的电压降分析结果。
11.根据权利要求10所述的分析方法,还包括:
根据所述电压降分析结果,确定所述多个分析节点一一对应的多个电压降电压;
将所述多个分析节点的工作电压调节为对应的电压降电压;
对电压调节后的所述数字电路进行静态时序分析,确定所述关键路径的时序在所述电压降分析场景下的收敛情况。
12.根据权利要求11所述的分析方法,还包括:
对所述电压调节后的所述数字电路进行静态时序分析,计算所述数字电路在所述电压降分析场景下的时序裕量;
基于所述时序余量,确定所述数字电路的时序签发标准。
13.根据权利要求1-12任一项所述的分析方法,还包括:
响应于N等于0,确定所述数字电路的门级仿真中的切换覆盖率不满足。
14.一种数字电路的分析装置,包括:
确定单元,配置为确定所述数字电路中的至少一条关键路径;
检测单元,配置为对所述至少一条关键路径中的每条关键路径执行关键时钟周期检测,以得到所述至少一条关键路径对应的N个关键时钟周期,其中,N为自然数;
分析单元,配置为响应于N大于1,将所述N个关键时钟周期作为N个备选分析场景分别进行电压降分析,以确定所述数字电路对应的电压降分析结果;
其中,所述关键时钟周期检测包括:
确定所述关键路径包括的多个分析节点,
获取所述多个分析节点分别对应的多个仿真波形,
基于所述多个仿真波形,提取所述关键路径对应的p个关键时钟周期,其中,在每个关键时钟周期中,所述多个分析节点均不满足时序约束条件或所述多个分析节点均具有最大延时,其中,p为自然数。
15.一种电子设备,包括:
存储器,非瞬时性地存储有计算机可执行指令;
处理器,配置为运行所述计算机可执行指令,
其中,所述计算机可执行指令被所述处理器运行时实现根据权利要求1-13任一项所述的数字电路的分析方法。
16.一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据权利要求1-13任一项所述的数字电路的分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111664450.7A CN116245060A (zh) | 2021-12-31 | 2021-12-31 | 数字电路的分析方法、装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111664450.7A CN116245060A (zh) | 2021-12-31 | 2021-12-31 | 数字电路的分析方法、装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116245060A true CN116245060A (zh) | 2023-06-09 |
Family
ID=86622985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111664450.7A Pending CN116245060A (zh) | 2021-12-31 | 2021-12-31 | 数字电路的分析方法、装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116245060A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116502578A (zh) * | 2023-06-29 | 2023-07-28 | 深圳国微晶锐技术有限公司 | 网表化简时序模型的构建方法及静态时序分析方法 |
CN117195782A (zh) * | 2023-09-08 | 2023-12-08 | 上海合芯数字科技有限公司 | 在物理设计前期检测动态电压降的方法及相关设备 |
-
2021
- 2021-12-31 CN CN202111664450.7A patent/CN116245060A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116502578A (zh) * | 2023-06-29 | 2023-07-28 | 深圳国微晶锐技术有限公司 | 网表化简时序模型的构建方法及静态时序分析方法 |
CN116502578B (zh) * | 2023-06-29 | 2024-04-16 | 深圳国微晶锐技术有限公司 | 网表化简时序模型的构建方法及静态时序分析方法 |
CN117195782A (zh) * | 2023-09-08 | 2023-12-08 | 上海合芯数字科技有限公司 | 在物理设计前期检测动态电压降的方法及相关设备 |
CN117195782B (zh) * | 2023-09-08 | 2024-05-07 | 上海合芯数字科技有限公司 | 在物理设计前期检测动态电压降的方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776547B1 (en) | Infinite-depth path-based analysis of operational timing for circuit design | |
US8095354B2 (en) | Power consumption peak estimation program for LSI and device therefor | |
CN116245060A (zh) | 数字电路的分析方法、装置、电子设备、存储介质 | |
KR20230029991A (ko) | 구조 테스팅을 위한 집적 회로 마진 측정 | |
TWI689833B (zh) | 調整用於靜態時序分析的時序降額的方法與電腦設備 | |
US10268787B2 (en) | Hybrid timing analysis method and associated system and non-transitory computer readable medium | |
CN109145320B (zh) | 芯片层次化物理设计中的静态时序分析方法及装置 | |
CN114117943B (zh) | 物理设计布局阶段的时序预测方法 | |
US7882467B2 (en) | Test pattern evaluation method and test pattern evaluation device | |
CN112649719A (zh) | 一种芯片中线性稳压器的测试方法、装置以及设备 | |
CN104331569B (zh) | 基于关键节点选择和蚁群优化算法的大规模集成电路小时延故障测试通路选择方法 | |
CN105372579B (zh) | 一种快速有效的电路单元重要性测度方法 | |
Song et al. | Chip test pattern reordering method using adaptive test to reduce cost for testing of ICs | |
KR20130076029A (ko) | 집적 회로의 커플링 효과 해석 방법 | |
US20080141189A1 (en) | Method for robust statistical semiconductor device modeling | |
US20100269003A1 (en) | Delay fault diagnosis program | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US11531803B1 (en) | IPBA-driven full-depth EPBA of operational timing for circuit design | |
CN112131811B (zh) | 一种fpga的时序参数提取方法 | |
US7793176B2 (en) | Method of increasing path coverage in transition test generation | |
US10740522B1 (en) | Apparatus and method of operating timing analysis considering multi-input switching | |
US7556971B2 (en) | Testing electromigration at multiple points of a single node | |
US8001438B1 (en) | Measuring bridge-fault coverage for test patterns within integrated circuits | |
CN112183006A (zh) | 时延评估方法及装置、可读存储介质 | |
Holst et al. | Timing-accurate estimation of IR-drop impact on logic-and clock-paths during at-speed scan test |
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 |