CN116702664B - 时间违例修复方法、装置、计算机设备及存储介质 - Google Patents

时间违例修复方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116702664B
CN116702664B CN202310969652.5A CN202310969652A CN116702664B CN 116702664 B CN116702664 B CN 116702664B CN 202310969652 A CN202310969652 A CN 202310969652A CN 116702664 B CN116702664 B CN 116702664B
Authority
CN
China
Prior art keywords
target data
data unit
path
distance
violation
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
CN202310969652.5A
Other languages
English (en)
Other versions
CN116702664A (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.)
Phytium Technology Co Ltd
Original Assignee
Phytium Technology Co Ltd
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 Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202310969652.5A priority Critical patent/CN116702664B/zh
Publication of CN116702664A publication Critical patent/CN116702664A/zh
Application granted granted Critical
Publication of CN116702664B publication Critical patent/CN116702664B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • 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/337Design 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

本申请提供一种时间违例修复方法、装置、计算机设备及存储介质,涉及集成电路技术领域。该方法包括:获取集成电路设计中存在时间违例的目标数据路径;根据所述目标数据路径中各个数据单元之间的距离,确定目标数据单元;根据所述目标数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。本申请可以实现对复杂路径的时间违例进行修复。

Description

时间违例修复方法、装置、计算机设备及存储介质
技术领域
本发明涉及集成电路技术领域,具体而言,涉及一种时间违例修复方法、装置、计算机设备及存储介质。
背景技术
在集成电路芯片设计中,建立时间和保持时间分别决定了芯片的频率和功能,在代码到版图的物理实现过程中,修复建立时间违例和保持时间违例是芯片物理设计中的关键步骤之一。
在现有的建立时间违例修复方法中,主要包括调整时钟路径的时钟延迟、替换数据路径中逻辑单元的类型等,其中,调整时钟延迟主要是通过需要时钟延迟较短的缓冲器,以调整寄存器的连接方式,替换数据路径中逻辑单元的类型主要是将低阈值电压、标准阈值电压的逻辑单元替换为高阈值电压的逻辑单元。
但是,对于一些关键路径,其数据路径中的逻辑单元均已替换、其线延时在合理范围内且无串扰,该路径的前后级均无时间裕量用于其进行时钟延迟的调整,在此情况下,无法完成对路径的时间违例修复。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种时间违例修复方法、装置、计算机设备及存储介质,以便实现对复杂路径的时间违例进行修复。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种时间违例修复方法,所述方法包括:
获取集成电路设计中存在时间违例的目标数据路径;
根据所述目标数据路径中各个数据单元之间的距离,确定目标数据单元;
根据所述目标数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
可选的,所述获取集成电路设计中存在时间违例的目标数据路径,包括:
获取所述集成电路设计中的多个时间违例路径;
根据所述多个时间违例路径的时间裕量,从所述多个时间违例路径中确定所述时间裕量满足预设时间裕量条件的违例路径为第一违例路径;
根据多个第一违例路径中的数据单元,从所述多个第一违例路径中确定所述目标数据路径。
可选的,所述根据多个第一违例路径中的数据单元,从所述多个第一违例路径中确定所述目标数据路径,包括:
根据所述多个第一违例路径中的数据单元,从所述多个第一违例路径中确定具有缓冲器和/或反相器对的第一违例路径为所述目标数据路径,所述反相器对包括偶数级相互连接的反相器。
可选的,所述根据所述目标数据路径中各个数据单元之间的距离,确定目标数据单元,包括:
根据所述目标数据路径中各个缓冲器与所述缓冲器的前一数据单元的距离、与所述缓冲器的后一数据单元的距离,以及所述缓冲器的前一数据单元和所述缓冲器的后一数据单元之间的距离,确定满足预设距离条件的目标缓冲器。
可选的,所述根据所述目标数据路径中各个数据单元之间的距离,确定目标数据单元,包括:
根据所述目标数据路径中各个反相器对与所述反相器对的前一数据单元的距离、与所述反相器对的后一数据单元的距离,以及所述反相器对的前一数据单元和所述反相器对的后一数据单元之间的距离,确定满足预设距离条件的目标反相器对。
可选的,所述根据所述目标数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计,包括:
根据所述目标数据单元的扇出单元数量,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
可选的,所述根据所述目标数据单元的扇出单元数量,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计,包括:
若所述目标数据单元具有一个扇出单元,从所述目标数据路径中删除所述目标数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
可选的,所述根据所述目标数据单元的扇出单元数量,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计,包括:
若所述目标数据单元具有多个扇出单元,根据所述目标数据单元的前一级数据单元和后一级数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
第二方面,本申请实施例还提供一种时间违例修复装置,所述装置包括:
数据路径获取模块,用于获取集成电路设计中存在时间违例的目标数据路径;
数据单元确定模块,用于根据所述目标数据路径中各个数据单元之间的距离,确定目标数据单元;
连接关系调整模块,用于根据所述目标数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
可选的,所述数据路径获取模块,包括:
违例路径获取单元,用于获取所述集成电路设计中的多个时间违例路径;
违例路径筛选单元,用于根据所述多个时间违例路径的时间裕量,从所述多个时间违例路径中确定所述时间裕量满足预设时间裕量条件的违例路径为第一违例路径;
目标违例路径确定单元,用于根据所述多个第一违例路径中的数据单元,从所述多个第一违例路径中确定所述目标数据路径。
可选的,所述目标违例路径确定单元,具体用于根据所述多个第一违例路径中的数据单元,从所述多个第一违例路径中确定具有缓冲器和/或反相器对的第一违例路径为所述目标数据路径,所述反相器对包括偶数级相互连接的反相器。
可选的,所述数据单元确定模块,具体用于根据所述目标数据路径中各个缓冲器与所述缓冲器的前一级数据单元的距离、与所述缓冲器的后一数据单元的距离,以及所述缓冲器的前一数据单元和所述缓冲器的后一数据单元之间的距离,确定满足预设距离条件的目标缓冲器。
可选的,所述数据单元确定模块,具体用于根据所述目标数据路径中各个反相器对与所述反相器对的前一数据单元的距离、与所述反相器对的后一数据单元的距离,以及所述反相器对的前一数据单元和所述反相器对的后一数据单元之间的距离,确定满足预设距离条件的目标反相器对。
可选的,所述连接关系调整模块,具体用于根据所述目标数据单元的扇出单元数量,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
可选的,所述连接关系调整模块,具体用于若所述目标数据单元具有一个扇出单元,从所述目标数据路径中删除所述目标数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
可选的,所述连接关系调整模块,具体用于若所述目标数据单元具有多个扇出单元,根据所述目标数据单元的前一级数据单元和后一级数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
第三方面,本申请实施例还提供一种计算机设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一所述的时间违例修复方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的时间违例修复方法的步骤。
本申请的有益效果是:
本申请提供一种时间违例修复方法、装置、计算机设备及存储介质,根据目标数据路径中各个数据单元之间的距离确定目标数据单元,通过调整目标数据单元的前后级数据单元的连接关系,对无法通过调整时钟路径的时延、替换逻辑单元的类型进行违例修复的路径完成时间违例修复,从而实现对复杂路径的时间违例修复。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的时间违例修复方法的流程示意图一;
图2为本申请实施例提供的时间违例修复方法的流程示意图二;
图3为本申请实施例提供的一条目标数据路径的示意图;
图4为本申请实施例提供的一种集成电路设计的示意图;
图5为本申请实施例提供的另一种集成电路设计的示意图;
图6为本申请实施例提供的时间违例修复装置的结构示意图;
图7为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
在现有的建立时间违例修复方法中,主要包括调整时钟路径的时钟延迟、替换数据路径中逻辑单元的类型等,其中,调整时钟延迟主要是通过需要时钟延迟较短的缓冲器,以调整寄存器的连接方式,替换数据路径中逻辑单元的类型主要是将低阈值电压、标准阈值电压的逻辑单元替换为高阈值电压的逻辑单元。
但是,对于一些关键路径,其数据路径中的逻辑单元均已替换、其线延时在合理范围内且无串扰,该路径的前后级均无时间裕量用于其进行时钟延迟的调整,在此情况下,无法完成对路径的时间违例修复。
基于此,本申请实施例拟提供一种时间违例修复方法,在保证逻辑等价性的前提下,通过压缩违例路径的数据路径的逻辑级数,以缩短数据路径的延时,达到修复建立时间违例的目的。
请参考图1,为本申请实施例提供的时间违例修复方法的流程示意图一,如图1所示,该方法可以包括:
S10:获取集成电路设计中存在时间违例的目标数据路径。
本实施例中,在完成集成电路中各种器件的放置与布线后,需要通过静态时序分析工作验证集成电路的时序是否正确。一般可以采用静态时序分析工具或其他时序分析工具,对集成电路中的各个寄存器进行时序分析,生成集成电路的静态时序分析结果。
具体的,静态时序分析结果中包括:存在时间违例的传输路径,集成电路设计中每条传输路径均是由时钟路径和数据路径两条支路构成后,本实施例是通过对数据路径的时延进行调整,以完成建立时间违例的修复。
其中,目标数据路径需要满足:第一,其所属的传输路径对应的时钟路径无法通过调整时延进行违例修复;第二,在采用本实施例的方案进行违例修复时路径上寄存器的逻辑等价性不会改变。
S20:根据目标数据路径中各个数据单元之间的距离,确定目标数据单元。
本实施例中,目标数据路径由多个数据端口相互连接的数据单元构成,各个数据单元之间的距离包括:每个数据单元与相邻数据单元之间的距离,以及每个数据单元的相邻数据单元之间的距离,通过计算各个数据单元之间的距离,从各个数据单元中确定其距离满足预设距离条件的数据单元为目标数据单元。
其中,可以判断每个数据单元与相邻数据单元之间的距离和每个数据单元的相邻数据单元之间的距离对应的距离关系是否满足预设距离条件,以确定目标数据单元。
示例的,各个数据单元之间的距离为各个数据单元之间的曼哈顿距离。
S30:根据目标数据单元,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
本实施例中,在确定目标数据单元之后,通过调整目标数据单元的前级数据单元和后级数据单元之间的连接关系,使目标数据单元的前级数据单元的输出端连接后级数据单元的输入端,以缩短目标数据路径的时延,且不会影响其他数据路径的时序,完成对违例路径的建立时间违例修复。
上述实施例提供的时间违例修复方法,根据目标数据路径中各个数据单元之间的距离确定目标数据单元,通过调整目标数据单元的前后级数据单元的连接关系,对无法通过调整时钟路径的时延、替换逻辑单元的类型进行违例修复的路径完成时间违例修复,从而实现对复杂路径的时间违例修复。
以下结合实施例对上述确定目标数据路径的一种可能的实现方式进行说明。
请参考图2,为本申请实施例提供的时间违例修复方法的流程示意图二,如图2所示,上述S10获取集成电路设计中存在时间违例的目标数据路径的过程,可以包括:
S11:获取集成电路设计中的多个时间违例路径。
本实施例中,通过对集成电路设计进行静态时序分析,确定各个路径的时延参数,根据各个路径的时延参数,确定存在建立时间违例的路径。
S12:根据多个时间违例路径的时间裕量,从多个时间违例路径中确定时间裕量满足预设时间裕量条件的违例路径为第一违例路径。
本实施例中,根据集成电路设计的静态时序分析结果,确定与每个建立时间违例路径相对应的时间裕量,其中,每个建立时间违例路径对应的时间裕量包括:每个时间违例路径的起始寄存器的前级所有寄存器的建立时间裕量、每个时间违例路径的终止寄存器的后级所有寄存器的保持时间裕量、以及该时间违例路径的保持时间裕量,根据多个时间违例路径的前级所有寄存器的建立时间裕量、后级所有寄存器的保持时间裕量、以及本级保持时间裕量,从多个时间违例路径中确定符合预设时间裕量条件的违例路径构成第一违例路径列表path listA。
其中,各个时间裕量所要满足的预设时间裕量条件分别为:前级所有寄存器的建立时间裕量不满足第一时间裕量阈值,后级所有寄存器的保持时间裕量不满足第二时间裕量阈值,时间违例路径的保持时间裕量满足第三时间裕量阈值。
前级所有寄存器的建立时间裕量不满足第一时间裕量阈值以及后级所有寄存器的保持时间裕量不满足第二时间裕量阈值,用于指示该时间违例路径无法通过对时序路径进行时钟调整完成时间违例的修复,若对该时间违例路径的时序路径进行时钟调整可能会导致前级路径和后级路径出现新的违例;时间违例路径的保持时间裕量满足第三时间裕量阈值用于避免在对该时间违例路径进行建立时间违例修复时引起保持时间违例。
S13:根据多个第一违例路径中的数据单元,从多个第一违例路径中确定目标数据路径。
本实施例中,对第一违例路径列表path listA中的第一违例路径,根据第一违例路径中的数据单元,从第一违例路径列表path listA中筛选出满足预设数据单元条件的第二违例路径构成第二违例路径列表path listB,其中,第二违例路径列表path listB中的第二违例路径对应的数据路径为目标数据路径。
其中,预设数据单元条件用于指示违例路径对应的数据路径中包括可以用于压缩的数据单元。
在一种可能的实现方式中,上述S13根据多个第一违例路径中的数据单元,从多个第一违例路径中确定目标数据路径,可以包括:
根据多个第一违例路径中的数据单元,从多个第一违例路径中确定具有缓冲器和/或反相器对的第一违例路径为目标数据路径,反相器对包括偶数级相互连接的反相器。
本实施例中,预设数据单元条件可以为:违例路径对应的数据路径中包括:缓冲器和/或反相器对,若数据路径中既不包括缓冲器也不包括反相器对,则数据路径不是目标数据路径;若数据路径中包括缓冲器和/或反相器对,确定数据路径为目标数据路径。
上述实施例提供的时间违例修复方法,根据时间违例路径的时间裕量以及时间违例路径中的数据单元,筛选确定目标数据路径,以便对无法通过调整时钟路径的时延、替换逻辑单元的类型进行违例修复的路径完成时间违例修复,且保证违例修复时不会引起新的违例和逻辑等价性,实现对复杂路径的时间违例修复。
在一种可能的实现方式中,上述S20根据目标数据路径中各个数据单元之间的距离,确定目标数据单元,可以包括:
根据目标数据路径中各个缓冲器与缓冲器的前一数据单元的距离、与缓冲器的后一数据单元的距离,以及缓冲器的前一数据单元和缓冲器的后一数据单元之间的距离,确定满足预设距离条件的目标缓冲器。
本实施例中,对于目标数据路径中的缓冲器,计算缓冲器与前一级数据单元之间的第一距离、缓冲器与后一级数据单元之间的第二距离,以及缓冲器的前一级数据单元和后一级数据单元之间的第三距离,根据第一距离、第二距离和第三距离之间的距离关系,确定是否满足预设距离条件。
其中,判断第一距离、第二距离和第三距离之间的距离关系是否满足预设距离条件具体可以为:判断第一距离和第二距离之和是否小于或等于第三距离。
示例的,请参考图3,为本申请实施例提供的一条目标数据路径的示意图,如图3所示,在该目标数据路径中,起点为寄存器reg0,终点为寄存器reg1,在寄存器reg0和reg1之间存在多个数据单元,根据数据单元的类型和位置,以数组变量的形式对每个数据单元进行定义,例如反相器INV0、INV1、INV2、INV3,缓冲器BUF0、BUF1。
以缓冲器BUF0为例,对确定目标缓冲器的具体实现方式进行说明。
BUF0的前一级数据单元为逻辑单元logic1,BUF0的后一级数据单元为BUF1,判断BUF0到logic1的距离与BUF0到BUF1距离之和是否小于或等于logic1到BUF1的距离,若BUF0到logic1的距离与BUF0到BUF1距离之和小于或等于logic1到BUF1的距离,则确定BUF0为目标数据单元。
如图3所示,BUF0仅具有一个扇出单元BUF1,则可以直接将BUF0删除,使logic1的输出端连接BUF1,由于删除了BUF0,使logic1的输出端之后的数据路径上的延迟减少,在目标数据路径上减少了BUF0带来的数据延时,修复了该路径的建立时间违例。
更进一步地,请参考图4,为本申请实施例提供的一种集成电路设计的示意图,如图4所示,假设需要对reg0-reg1的时钟路径进行违例修复,图中BUF0为目标数据单元,由于BUF0具有三个扇出单元logic2、logic3和BUF1,则无法直接删除BUF0,对于存在时间违例的数据路径reg0-reg1,仅将logic3的输入端与logic1的输出端相连,但BUF0与logic2和BUF1的连接关系保持不变。
在另一种可能的实现方式中,上述S20根据目标数据路径中各个数据单元之间的距离,确定目标数据单元,可以包括:
根据目标数据路径中各个反相器对与反相器对的前一数据单元的距离、与反相器对的后一数据单元的距离,以及反相器对的前一数据单元和反相器对的后一数据单元之间的距离,确定满足预设距离条件的目标反相器对。
本实施例中,为了保证在调整目标数据路径的时延时,不会改变目标数据路径上各个点的逻辑等价性,对于会改变逻辑等价性的反相器,需要将偶数级相互连接的反相器作为一个整体,以反相器对的形式表示。
对于目标数据路径中的反相器对,计算反相器对中第一个反相器与前一级数据单元之间的第一距离、反相器对中最后一个反相器与后一级数据单元之间的第二距离,以及第一个反相器的前一级数据单元和最后一个反相器的后一级数据单元之间的第三距离,根据第一距离、第二距离和第三距离之间的距离关系,确定是否满足预设距离条件。
示例的,如图3所示,反相器INV0和INV1均为奇数个反相器,无法作为目标数据单元;对于反相器INV2和INV3构成的反相器对,反相器对的前一级数据单元为logic2,反相器对的后一级数据单元为logic3,判断INV2到logic2的距离与INV3到logic3距离之和是否小于或等于logic2到logic3的距离,若INV2到logic2的距离与INV3到logic3距离之和小于或等于logic2到logic3的距离,则确定INV2和INV3构成的反相器对为目标数据单元。
如图3所示,INV2仅有一个扇出单元INV3,IVN3仅有一个扇出单元logic3,则可以直接将INV2和INV3删除,使logic2的输出端连接logic3的输出端。
更进一步地,请参考图5,为本申请实施例提供的另一种集成电路设计的示意图,如图5所示,假设图中INV0和INV1对应的反相器对是目标数据单元,由于INV0具有两个扇出单元INV1和logic5,INV1具有三个扇出单元logic2、logic3和BUF1,则无法直接删除INV0和INV1,对于存在时间违例的数据路径reg0-reg1,仅将logic3的输入端与logic1的输出端相连,使logic1到logic3之间的延迟减少,但INV1与logic2和BUF1的连接关系保持不变,即logic1与logic2、BUF1之间的延迟不变,logic2所在的数据路径的时序、BUF1所在的数据路径的时序不会发生改变。
需要说明的是,对于偶数级的反相器对,需要保证反相器对中的每个反相器均只有一个扇出单元的情况下,该反相器对才可以被删除。
上述实施例提供的时间违例修复方法,根据目标数据路径中缓冲器或反相器对与前后级数据单元之间的距离,确定是否可以针对缓冲器或反相器对调整连接关系,实现针对时间违例路径通过对数据路径的逻辑级数的压缩完成时间违例修复。
在一种可能的实现方式中,上述S30根据目标数据单元,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计,可以包括:
根据目标数据单元的扇出单元数量,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
本实施例中,扇出(fan-out)是指单个逻辑门能够驱动的数字信号输入最大量,目标数据单元的扇出单元为目标数据单元的输出端所连接的单元,则目标数据单元的扇出单元数量为目标数据单元的输出端所连接的单元数量。
根据目标数据单元的扇出单元数量,确定是否可以从目标数据路径中删除目标数据单元,若可以,则在删除目标数据单元后,调整目标数据单元的相邻数据单元之间的连接关系;若不可以,则调整目标数据单元的相邻数据单元之间的连接关系。
在一些实施例中,上述根据目标数据单元的扇出单元数量,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计的过程,可以包括:
若目标数据单元具有一个扇出单元,从目标数据路径中删除目标数据单元,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
本实施例中,若目标数据单元仅有一个扇出单元,则在删除目标数据单元后不会对其他路径造成影响,可以直接从当前目标数据路径中删除目标数据单元,使目标数据单元的后一级单元的输入端直接连接目标数据单元的前一级单元的输出端,得到调整后的目标数据路径。
在另一些实施例中,上述根据目标数据单元的扇出单元数量,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计的过程,可以包括:
若目标数据单元具有多个扇出单元,根据目标数据单元的前一级数据单元和后一级数据单元,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
本实施例中,若目标数据单元有多个扇出单元,在删除目标数据单元后会对其他路径造成影响,因此,不将目标数据单元从目标数据路径中删除,只将目标数据单元的后一级单元的输入端直接连接目标数据单元的前一级单元的输出端,得到调整后的目标数据路径。
上述实施例提供的时间违例修复方法,根据目标数据路径中各个数据单元之间的距离确定目标数据单元,根据目标数据单元的扇出单元数量调整目标数据路径的连接关系,对无法通过调整时钟路径的时延、替换逻辑单元的类型进行违例修复的路径完成时间违例修复,从而实现对复杂路径的时间违例修复。
在上述方法实施例的基础上,本申请实施例还提供一种时间违例修复装置。请参考图6,为本申请实施例提供的时间违例修复装置的结构示意图,如图6所示,该装置可以包括:
数据路径获取模块10,用于获取集成电路设计中存在时间违例的目标数据路径;
数据单元确定模块20,用于根据目标数据路径中各个数据单元之间的距离,确定目标数据单元;
连接关系调整模块30,用于根据目标数据单元,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
可选的,数据路径获取模块10,可以包括:
违例路径获取单元,用于获取集成电路设计中的多个时间违例路径;
违例路径筛选单元,用于根据多个时间违例路径的时间裕量,从多个时间违例路径中确定时间裕量满足预设时间裕量条件的违例路径为第一违例路径;
目标违例路径确定单元,用于根据多个第一违例路径中的数据单元,从多个第一违例路径中确定目标数据路径。
可选的,目标违例路径确定单元,具体用于根据多个第一违例路径中的数据单元,从多个第一违例路径中确定具有缓冲器和/或反相器对的第一违例路径为目标数据路径,反相器对包括偶数级相互连接的反相器。
可选的,数据单元确定模块20,具体用于根据目标数据路径中各个缓冲器与缓冲器的前一级数据单元的距离、与缓冲器的后一数据单元的距离,以及缓冲器的前一数据单元和缓冲器的后一数据单元之间的距离,确定满足预设距离条件的目标缓冲器。
可选的,数据单元确定模块20,具体用于根据目标数据路径中各个反相器对与反相器对的前一数据单元的距离、与反相器对的后一数据单元的距离,以及反相器对的前一数据单元和反相器对的后一数据单元之间的距离,确定满足预设距离条件的目标反相器对。
可选的,连接关系调整模块30,具体用于根据目标数据单元的扇出单元数量,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
可选的,连接关系调整模块30,具体用于若目标数据单元具有一个扇出单元,从目标数据路径中删除目标数据单元,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
可选的,连接关系调整模块30,具体用于若目标数据单元具有多个扇出单元,根据目标数据单元的前一级数据单元和后一级数据单元,调整目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路设计,例如:一个或多个特定集成电路设计(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable GateArray,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
可选的,本申请实施例还提供一种计算机设备。请参考图7,为本申请实施例提供的计算机设备的结构示意图,如图7所示,该计算机设备100可以包括:处理器101、存储介质102和总线,存储介质102存储有处理器101可执行的程序指令,当计算机设备100运行时,处理器101与存储介质102之间通过总线通信,处理器101执行程序指令,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请实施例还提供一种计算机可读存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (11)

1.一种时间违例修复方法,其特征在于,所述方法包括:
获取集成电路设计中存在时间违例的目标数据路径;
根据所述目标数据路径中各个数据单元之间的距离,确定目标数据单元;
根据所述目标数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计;
所述调整所述目标数据路径的连接关系,包括:
调整所述目标数据单元的前级数据单元和后级数据单元之间的连接关系,使所述前级数据单元的输出端连接所述后级数据单元的输入端;
所述根据所述目标数据路径中各个数据单元之间的距离,确定目标数据单元,包括:
根据每个数据单元与相邻数据单元之间的距离,以及所述每个数据单元的相邻数据单元之间的距离,确定距离关系满足预设距离条件的数据单元为所述目标数据单元。
2.如权利要求1所述的方法,其特征在于,所述获取集成电路设计中存在时间违例的目标数据路径,包括:
获取所述集成电路设计中的多个时间违例路径;
根据所述多个时间违例路径的时间裕量,从所述多个时间违例路径中确定所述时间裕量满足预设时间裕量条件的违例路径为第一违例路径;
根据多个第一违例路径中的数据单元,从所述多个第一违例路径中确定所述目标数据路径。
3.如权利要求2所述的方法,其特征在于,所述根据多个第一违例路径中的数据单元,从所述多个第一违例路径中确定所述目标数据路径,包括:
根据所述多个第一违例路径中的数据单元,从所述多个第一违例路径中确定具有缓冲器和/或反相器对的第一违例路径为所述目标数据路径,所述反相器对包括偶数级相互连接的反相器。
4.如权利要求1所述的方法,其特征在于,所述根据所述目标数据路径中各个数据单元之间的距离,确定目标数据单元,包括:
根据所述目标数据路径中各个缓冲器与所述缓冲器的前一数据单元的距离、与所述缓冲器的后一数据单元的距离,以及所述缓冲器的前一数据单元和所述缓冲器的后一数据单元之间的距离,确定满足预设距离条件的目标缓冲器。
5.如权利要求1所述的方法,其特征在于,所述根据所述目标数据路径中各个数据单元之间的距离,确定目标数据单元,包括:
根据所述目标数据路径中各个反相器对与所述反相器对的前一数据单元的距离、与所述反相器对的后一数据单元的距离,以及所述反相器对的前一数据单元和所述反相器对的后一数据单元之间的距离,确定满足预设距离条件的目标反相器对。
6.如权利要求1所述的方法,其特征在于,所述根据所述目标数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计,包括:
根据所述目标数据单元的扇出单元数量,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
7.如权利要求6所述的方法,其特征在于,所述根据所述目标数据单元的扇出单元数量,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计,包括:
若所述目标数据单元具有一个扇出单元,从所述目标数据路径中删除所述目标数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
8.如权利要求6所述的方法,其特征在于,所述根据所述目标数据单元的扇出单元数量,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计,包括:
若所述目标数据单元具有多个扇出单元,根据所述目标数据单元的前一级数据单元和后一级数据单元,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计。
9.一种时间违例修复装置,其特征在于,所述装置包括:
数据路径获取模块,用于获取集成电路设计中存在时间违例的目标数据路径;
数据单元确定模块,用于根据所述目标数据路径中各个数据单元之间的距离,确定目标数据单元;
连接关系调整模块,用于根据所述目标数据单元的扇出单元数量,调整所述目标数据路径的连接关系,得到时间违例修复后的集成电路设计;
所述连接关系调整模块,具体用于调整所述目标数据单元的前级数据单元和后级数据单元之间的连接关系,使所述前级数据单元的输出端连接所述后级数据单元的输入端;
所述数据单元确定模块,具体用于根据每个数据单元与相邻数据单元之间的距离,以及所述每个数据单元的相邻数据单元之间的距离,确定距离关系满足预设距离条件的数据单元为所述目标数据单元。
10.一种计算机设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至8任一所述的时间违例修复方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至8任一所述的时间违例修复方法的步骤。
CN202310969652.5A 2023-08-03 2023-08-03 时间违例修复方法、装置、计算机设备及存储介质 Active CN116702664B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310969652.5A CN116702664B (zh) 2023-08-03 2023-08-03 时间违例修复方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310969652.5A CN116702664B (zh) 2023-08-03 2023-08-03 时间违例修复方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN116702664A CN116702664A (zh) 2023-09-05
CN116702664B true CN116702664B (zh) 2024-01-26

Family

ID=87832481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310969652.5A Active CN116702664B (zh) 2023-08-03 2023-08-03 时间违例修复方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116702664B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117744564A (zh) * 2023-12-14 2024-03-22 海光云芯集成电路设计(上海)有限公司 时序电路设计方法、时序电路、电子设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009055A (zh) * 2016-10-31 2018-05-08 深圳市中兴微电子技术有限公司 一种修复保持时间违例的方法和装置
US10460059B1 (en) * 2015-06-23 2019-10-29 Cadence Design Systems, Inc. System and method for generating reduced standard delay format files for gate level simulation
CN111881637A (zh) * 2020-07-08 2020-11-03 广芯微电子(广州)股份有限公司 一种数字电路功耗优化的方法、系统及存储介质
CN111931448A (zh) * 2020-08-07 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 芯片电路的时序修复方法、系统、电子设备及存储介质
CN112232016A (zh) * 2020-11-19 2021-01-15 深圳安捷丽新技术有限公司 Ssd主控芯片高效总线设计迭代方法、系统以及平台
CN113486612A (zh) * 2021-06-29 2021-10-08 海光信息技术股份有限公司 集成电路设计方法、装置、电子设备和可读存储介质
CN113673191A (zh) * 2021-08-19 2021-11-19 深圳华大九天科技有限公司 时序修正方法及装置、计算装置和存储介质
CN114676658A (zh) * 2022-05-20 2022-06-28 飞腾信息技术有限公司 一种时序违例修复方法、装置、存储介质及电子设备
CN115455880A (zh) * 2022-09-19 2022-12-09 厦门紫光展锐科技有限公司 时序路径筛查方法及设备
CN115577675A (zh) * 2022-11-23 2023-01-06 飞腾信息技术有限公司 时序违例修复方法、装置、服务器及可读存储介质
CN115713060A (zh) * 2022-11-04 2023-02-24 飞腾信息技术有限公司 时序违例修复方法、装置、服务器及可读存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10460059B1 (en) * 2015-06-23 2019-10-29 Cadence Design Systems, Inc. System and method for generating reduced standard delay format files for gate level simulation
CN108009055A (zh) * 2016-10-31 2018-05-08 深圳市中兴微电子技术有限公司 一种修复保持时间违例的方法和装置
CN111881637A (zh) * 2020-07-08 2020-11-03 广芯微电子(广州)股份有限公司 一种数字电路功耗优化的方法、系统及存储介质
CN111931448A (zh) * 2020-08-07 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 芯片电路的时序修复方法、系统、电子设备及存储介质
CN112232016A (zh) * 2020-11-19 2021-01-15 深圳安捷丽新技术有限公司 Ssd主控芯片高效总线设计迭代方法、系统以及平台
CN113486612A (zh) * 2021-06-29 2021-10-08 海光信息技术股份有限公司 集成电路设计方法、装置、电子设备和可读存储介质
CN113673191A (zh) * 2021-08-19 2021-11-19 深圳华大九天科技有限公司 时序修正方法及装置、计算装置和存储介质
CN114676658A (zh) * 2022-05-20 2022-06-28 飞腾信息技术有限公司 一种时序违例修复方法、装置、存储介质及电子设备
CN115455880A (zh) * 2022-09-19 2022-12-09 厦门紫光展锐科技有限公司 时序路径筛查方法及设备
CN115713060A (zh) * 2022-11-04 2023-02-24 飞腾信息技术有限公司 时序违例修复方法、装置、服务器及可读存储介质
CN115577675A (zh) * 2022-11-23 2023-01-06 飞腾信息技术有限公司 时序违例修复方法、装置、服务器及可读存储介质

Also Published As

Publication number Publication date
CN116702664A (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
CN116702664B (zh) 时间违例修复方法、装置、计算机设备及存储介质
CN116187237B (zh) 用于芯片设计的检查方法、设备及介质
CN115796116B (zh) 一种集成电路优化方法、装置、存储介质及电子设备
CN114861578B (zh) 保持时间违例修复方法、装置、设备及存储介质
CN113221491A (zh) 集成电路设计方法、装置及设备
CN115062570B (zh) 一种形式验证方法、装置、设备及计算机存储介质
US8219376B2 (en) Verification using directives having local variables
CN111046618A (zh) 一种用于集成电路的保持时间违反的修复方法和装置
US8839061B2 (en) System and method for scan chain re-ordering
GB2532284A (en) Method to reduce dynamic clock skew and/or slew in an electronic circuit
CN114781319B (zh) 基于金属线的时序修复方法、设备及介质
CN109800511B (zh) 一种寻找最优公共点的保持时间违反修正方法及系统
CN106650136B (zh) 一种检查时序库和网表库的标准单元功能一致性的方法
CN112131810B (zh) 建立时间违例修复方法、装置、电子设备及可读存储介质
CN110518897B (zh) 移除d触发器复位、置位引脚的方法、d触发器以及电路
CN116681011B (zh) 时间违例修复方法、装置、计算机设备及存储介质
CN110083942B (zh) 基于物理信息的信号电迁移批量修复方法、系统及介质
CN112749526A (zh) 电源轨设计方法、装置及其非瞬时计算机可读介质
CN117151015B (zh) 集成电路布局布线方法、装置、集成电路芯片
US9547733B2 (en) Identifying inversion error in logic equivalence check
CN115616387B (zh) 一种基于芯片的控制信号校准方法、系统
US8938705B1 (en) Systems and methods for partial retention synthesis
US10156610B2 (en) On-chip sequence profiler
US10452798B1 (en) System, method, and computer program product for filtering one or more failures in a formal verification
Kalonakis et al. Tktimer: fast & accurate clock network pessimism removal

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