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

未命名 09-07 阅读:127 评论:0


1.本发明涉及集成电路技术领域,具体而言,涉及一种时间违例修复方法、装置、计算机设备及存储介质。


背景技术:

2.在集成电路芯片设计中,建立时间和保持时间分别决定了芯片的频率和功能,在代码到版图的物理实现过程中,修复建立时间违例和保持时间违例是芯片物理设计中的关键步骤之一。
3.在现有的时间违例修复方法中,通常先采用时间修复工具进行自动化的时间修复,在时间修复工具完成修复后,需要对时间修复工具无法修复的违例进行人工修复。
4.但是,人工修复的修复效率较低,且比较容易出错,导致修复效果较差。


技术实现要素:

5.本发明的目的在于,针对上述现有技术中的不足,提供一种时间违例修复方法、装置、计算机设备及存储介质,以便提高时间违例的修复效率和修复效果。
6.为实现上述目的,本技术实施例采用的技术方案如下:第一方面,本技术实施例提供了一种时间违例修复方法,所述方法包括:获取集成电路设计中存在时间违例的目标违例寄存器;确定所述目标违例寄存器所在路径上的目标时钟门控;根据所述目标时钟门控的输出逻辑值,确定所述集成电路设计中与所述目标违例寄存器的时钟端口逻辑等价的至少一个逻辑等价点;根据所述逻辑等价点的时钟延迟,从至少一个所述逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点;调整所述目标违例寄存器的时钟端口连接至所述目标逻辑等价点,得到时间违例修复后的集成电路设计。
7.可选的,所述根据所述逻辑等价点的时钟延迟,从至少一个所述逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点,包括:根据所述逻辑等价点的时钟延迟,以及所述目标违例寄存器的时钟延迟,从至少一个所述逻辑等价点中确定满足所述预设违例修复条件的目标逻辑等价点。
8.可选的,所述根据所述逻辑等价点的时钟延迟,从至少一个所述逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点,包括:根据所述逻辑等价点的时钟延迟,以及所述目标违例寄存器与至少一个所述逻辑等价点的物理距离,从至少一个所述逻辑等价点中确定满足所述预设违例修复条件,且所述物理距离最小的逻辑等价点为所述目标逻辑等价点。
9.可选的,所述获取集成电路设计中存在时间违例的目标违例寄存器,包括:获取所述集成电路设计中的多个建立时间违例路径;
从所述多个建立时间违例路径的起始违例寄存器中确定建立时间裕量满足建立时间裕量阈值的第一违例寄存器列表;从所述第一违例寄存器列表中确定保持时间裕量满足保持时间裕量阈值的第二违例寄存器列表,所述第二违例寄存器列表中的违例寄存器为所述目标违例寄存器。
10.可选的,所述获取集成电路设计中存在时间违例的目标违例寄存器,包括:获取所述集成电路设计中的多个保持时间违例路径;从所述多个保持时间违例路径的起始违例寄存器中确定保持时间裕量满足保持时间裕量阈值的第三违例寄存器列表;从所述第三违例寄存器列表中确定建立时间裕量满足建立时间裕量阈值的第四违例寄存器列表,所述第四违例寄存器列表中的违例寄存器为所述目标违例寄存器。
11.可选的,所述确定所述目标违例寄存器所在路径上的目标时钟门控,包括:根据所述目标违例寄存器所在路径上的多个时钟门控与所述目标违例寄存器的逻辑距离,确定所述逻辑距离最短的时钟门控为所述目标时钟门控。
12.可选的,所述根据所述目标违例寄存器所在路径上的多个时钟门控与所述目标违例寄存器的逻辑距离,确定所述逻辑距离最短的时钟门控为所述目标时钟门控,包括:根据所述目标违例寄存器所在路径上的多个时钟门控与所述目标违例寄存器的逻辑距离,确定所述逻辑距离最短的时钟门控为第一时钟门控;若所述第一时钟门控的输出端未连接所述目标违例寄存器的时钟端口,确定所述第一时钟门控为所述目标时钟门控。
13.可选的,所述根据所述目标违例寄存器所在路径上的多个时钟门控与所述目标违例寄存器的逻辑距离,确定所述逻辑距离最短的时钟门控为所述目标时钟门控,还包括:若所述第一时钟门控的输出端连接所述目标违例寄存器的时钟端口,复制所述第一时钟门控,生成第二时钟门控,使所述第一时钟门控的输出端不连接所述目标违例寄存器的时钟端口,所述第二时钟门控的输出端连接所述目标违例寄存器的时钟端口;根据所述目标违例寄存器所在路径上的多个时钟门控与所述第二时钟门控的逻辑距离,确定所述逻辑距离最短的时钟门控为所述目标时钟门控。
14.第二方面,本技术实施例还提供一种时间违例修复装置,所述装置包括:寄存器获取模块,用于获取集成电路设计中存在时间违例的目标违例寄存器;时钟门控确定模块,用于确定所述目标违例寄存器所在路径上的目标时钟门控;逻辑等价点确定模块,用于根据所述目标时钟门控的输出逻辑值,确定所述集成电路设计中与所述目标违例寄存器的时钟端口逻辑等价的至少一个逻辑等价点;逻辑等价点筛选模块,用于根据所述逻辑等价点的时钟延迟,从至少一个所述逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点;连接关系调整模块,用于调整所述目标违例寄存器的时钟端口连接至所述目标逻辑等价点,得到时间违例修复后的集成电路设计。
15.可选的,所述逻辑等价点筛选模块,具体用于根据所述逻辑等价点的时钟延迟,以及所述目标违例寄存器的时钟延迟,从至少一个所述逻辑等价点中确定满足所述预设违例修复条件的目标逻辑等价点。
16.可选的,所述逻辑等价点筛选模块,具体用于根据所述逻辑等价点的时钟延迟,以
及所述目标违例寄存器与至少一个所述逻辑等价点的物理距离,从至少一个所述逻辑等价点中确定满足所述预设违例修复条件,且所述物理距离最小的逻辑等价点为所述目标逻辑等价点。
17.可选的,所述寄存器获取模块,包括:建立违例路径确定单元,用于获取所述集成电路设计中的多个建立时间违例路径;第一列表确定单元,用于从所述多个建立时间违例路径的起始违例寄存器中确定建立时间裕量满足建立时间裕量阈值的第一违例寄存器列表;第二列表确定单元,用于从所述第一违例寄存器列表中确定保持时间裕量满足保持时间裕量阈值的第二违例寄存器列表,所述第二违例寄存器列表中的违例寄存器为所述目标违例寄存器。
18.可选的,所述寄存器获取模块,包括:保持违例路径确定单元,用于获取所述集成电路设计中的多个保持时间违例路径;第三列表确定单元,用于从所述多个保持时间违例路径的起始违例寄存器中确定保持时间裕量满足保持时间裕量阈值的第三违例寄存器列表;第四列表确定单元,用于从所述第三违例寄存器列表中确定建立时间裕量满足建立时间裕量阈值的第四违例寄存器列表,所述第四违例寄存器列表中的违例寄存器为所述目标违例寄存器。
19.可选的,所述时钟门控确定模块,具体用于根据所述目标违例寄存器所在路径上的多个时钟门控与所述目标违例寄存器的逻辑距离,确定所述逻辑距离最短的时钟门控为所述目标时钟门控。
20.可选的,所述时钟门控确定模块,具体用于根据所述目标违例寄存器所在路径上的多个时钟门控与所述目标违例寄存器的逻辑距离,确定所述逻辑距离最短的时钟门控为第一时钟门控;若所述第一时钟门控的输出端未连接所述目标违例寄存器的时钟端口,确定所述第一时钟门控为所述目标时钟门控。
21.可选的,所述时钟门控确定模块,还用于若所述第一时钟门控的输出端连接所述目标违例寄存器的时钟端口,复制所述第一时钟门控,生成第二时钟门控,使所述第一时钟门控的输出端不连接所述目标违例寄存器的时钟端口,所述第二时钟门控的输出端连接所述目标违例寄存器的时钟端口;根据所述目标违例寄存器所在路径上的多个时钟门控与所述第二时钟门控的逻辑距离,确定所述逻辑距离最短的时钟门控为所述目标时钟门控。
22.第三方面,本技术实施例还提供一种计算机设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一所述的时间违例修复方法的步骤。
23.第四方面,本技术实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的时间违例修复方法的步骤。
24.本技术的有益效果是:
本技术提供的时间违例修复方法、装置、计算机设备及存储介质,通过筛选符合时钟调整需求的目标违例寄存器,以及与目标违例寄存器对应的符合时钟调整需求的目标逻辑等价点,将目标违例寄存器的时钟端口连接至目标逻辑等价点,实现通过调整时钟完成违例修复,通过脚本的方式自动化执行该时间违例修复方法,无需人工接入,可以提高时间违例修复的效率及容错率。
附图说明
25.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
26.图1为本技术实施例提供的时间违例修复方法的流程示意图一;图2为本技术实施例提供的一种集成电路设计的示意图;图3为本技术实施例提供的时间违例修复方法的流程示意图二;图4为本技术实施例提供的时间违例修复方法的流程示意图三;图5为本技术实施例提供的时间违例修复方法的流程示意图四;图6为本技术实施例提供的时间违例修复方法的流程示意图五;图7为本技术实施例提供的调整时钟门控的示意图;图8为本技术实施例提供的时间违例修复装置的结构示意图;图9为本技术实施例提供的计算机设备的结构示意图。
具体实施方式
27.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
28.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.需要说明的是,在不冲突的情况下,本技术的实施例中的特征可以相互结合。
31.对于集成电路芯片中存在的违例,通常采用pr流程优化和修复大部分时序问题,但是,由于pr和sta工具的分析存在一致性差异,pr运行得到的时序结果与sta工具运行的
时序结果存在差异,导致集成电路不可避免地引起时序违例。
32.在现有的时间违例修复方法中,通常先采用违例修复(timing eco)工具例如xtop、pt等进行自动化的违例修复,但是对于需要通过调整时钟进行修复的路径,违例修复工具无法进行修复,需要进行人工修复。但是,人工修复的修复效率较低,且比较容易出错,导致修复效果较差。
33.通过对存在违例的路径进行分析确定,对违例路径的时钟调整通常分为缩短(early)时钟和延长(delay)时钟。
34.其中,建立时间违例是指时钟信号(clk)的有效沿达到之前,数据信号(data)保持稳定的时间小于要求的建立时间,对于建立时间违例的修复,可以缩短时间违例路径的起始点的时钟,以缩短时钟信号的到达时间,或者延长时间违例路径的终止点的时钟,以延长时钟信号的持续时间。
35.保持时间违例是指在时钟信号的有效沿到达之后,数据信号保持稳定的时间小于要求的保持时间,对于保持时间违例的修复,可以延长时间违例路径的起始点的时钟,以延长时钟信号的到达时间,或者缩短时间违例路径的终止点的时钟,以缩短时钟信号的持续时间。
36.缩短时钟通常将需要缩短时钟的寄存器的时钟端口跳过前几级缓冲器连接延迟(latency)较短的缓冲器处,延长时钟则通过在需要延迟时钟的寄存器的时钟端口插入缓冲器。
37.对于缩短时钟的方式,由于距离限制的原因,通常无法直接跳过前几集缓冲器直接连接到延迟较短的缓冲器处,为此,本技术实施例拟提供一种时间违例修复方法,通过在需要缩短时钟的寄存器周围寻找一个逻辑等价点且时钟延迟较短的缓冲器,将寄存器的时钟端口连接在该缓冲器上,以缩短寄存器的时钟,通过脚本的方式实现该时间违例修复方法,可以提高时间违例修复的效率及容错率。本技术的方法可以通过终端(例如计算机)实现,具体地可以通过芯片设计软件、设计工具或修复工具等实现,在此不作具体限制。
38.请参考图1,为本技术实施例提供的时间违例修复方法的流程示意图一,如图1所示,该方法可以包括:s10:获取集成电路设计中存在时间违例的目标违例寄存器。
39.本实施例中,采用静态时序分析工具或其他时序分析公开,对集成电路中的多个时钟路径进行时序分析,确定多个时钟路径中存在时间违例的目标时钟路径。其中,存在时间违例的目标时钟路径可以为存在建立时间违例的时钟路径,也可以为存在保持时间违例的时钟路径。
40.其中,对于建立时间违例,本实施例采用缩短时间违例路径的起始点的时钟的方式修复建立时间违例。
41.具体的,修复建立时间违例路径时所需要缩短的时钟路径的起点是位于该违例路径起始点(start point)的违例寄存器,为了保证在对存在建立时间违例的时序路径通过缩短时钟进行建立时间违例修复时,不会引起前级寄存器的建立时间违例和后级寄存器的保持时间违例,需要确定前级寄存器的建立时间裕量和后级寄存器的保持时间裕量满足违例修复需求,即确定前级寄存器的建立时间裕量和后级寄存器的保持时间裕量满足违例修复需求的违例寄存器为目标违例寄存器,只有目标违例寄存器才可以采用本实施例提供的
缩短时钟的方式修复建立时间违例。
42.其中,前级寄存器为建立时间违例路径中起始点(start point)的违例寄存器的前一级所有寄存器,后级寄存器为建立时间违例路径中终点(end point)的违例寄存器的后一级所有寄存器。
43.对于保持时间违例,本实施例采用延长时间违例路径的起始点的时钟的方式修复保持时间违例。
44.具体的,修复保持时间违例路径时所需要延长的时钟路径的起点是位于该违例路径起始点(start point)的违例寄存器,为了保证在对存在保持时间违例的时序路径通过延长时钟进行保持时间违例修复时,不会引起前级寄存器的保持时间违例和后级寄存器的建立时间违例,需要确定前级寄存器的保持时间裕量和后级寄存器的建立时间裕量满足违例修复需求,即确定前级寄存器的保持时间裕量和后级寄存器的建立时间裕量满足违例修复需求的违例寄存器为目标违例寄存器,只有目标违例寄存器才可以采用本实施例提供的缩短时钟的方式修复建立时间违例。
45.s20:确定目标违例寄存器所在路径上的目标时钟门控。
46.本实施例中,时钟门控(integrate clock gating)为控制时钟路径中时钟信号的单元,用于在不需要时钟信号时,将时钟信号关闭,在对目标违例寄存器所在的时钟路径进行时间违例的修复时,其修复路径不能越过目标违例寄存器之前的时钟门控。因此,可以从目标违例寄存器为起点,向目标违例寄存器所在的时钟路径的前级遍历,确定目标时钟门控。
47.s30:根据目标时钟门控的输出逻辑值,确定集成电路设计中与目标违例寄存器的时钟端口等价的至少一个逻辑等价点。
48.本实施例中,在目标时钟门控的输出端和目标违例寄存器的时钟端口之间存在多个逻辑单元,每个逻辑单元会对目标时钟门控的输出逻辑值进行逻辑变换,确定各个逻辑单元的输出逻辑值;根据各个逻辑单元的输出逻辑值,确定与目标违例寄存器的时钟端口所连接的逻辑单元的输出逻辑值等价的逻辑单元的输出端为逻辑等价点。
49.其中,逻辑单元可以包括:反相器、缓冲器(buffer),反相器会对输入的逻辑值进行反相,即反相器的输入逻辑值和输出逻辑值的逻辑相反,缓冲器不会对输入的逻辑值进行反相,即缓冲器的输入逻辑值和输出逻辑值的逻辑相同;在目标时钟门控和目标违例寄存器之间,目标时钟门控的输出端经过整数级的缓冲器和偶数级的反相器后的逻辑值相同,即目标时钟门控的输出端与整数级的缓冲器的输出端、偶数级的反相器的输出端为逻辑等价点。
50.示例的,请参考图2,为本技术实施例提供的一种集成电路设计的示意图,如图2所示,以b3作为目标违例寄存器,a2为目标时钟门控,目标时钟门控的输出端a点与b点、c点、d点、f点、g点互为逻辑等价点,e点和h点互为逻辑等价点,则目标违例寄存器的时钟端口c点的逻辑等价点包括b点、d点、f点,g点。
51.s40:根据逻辑等价点的时钟延迟,从至少一个逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点。
52.本实施例中,逻辑等价点的时钟延迟为预设参考点到逻辑等价点的时钟延迟,其中,预设参考点可以为时钟源端(source),也可以为目标时钟门控的输出端,预设违例修复
条件用于限制以逻辑等价点作为违例修复点进行时间违例修复时,既可以完成对目标逻辑等价点的违例修复,又不会引起前后级新的时间违例,则预设违例修复条件可以为:逻辑等价点的时钟延迟在预设时间范围内。
53.根据各个逻辑等价点的时钟延迟,可以从各个逻辑等价点中确定时钟延迟在预设时间范围内的逻辑等价点作为目标逻辑等价点。
54.其中,若存在多个逻辑等价点的时钟延迟在预设时间范围内,则可以随机选择一个逻辑等价点作为目标逻辑等价点,或者,也可以选择一个满足预设标准的逻辑等价点作为目标逻辑等价点。
55.在一种可能的实现方式中,上述s40根据逻辑等价点的时钟延迟,从至少一个逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点的过程,可以包括:根据逻辑等价点的时钟延迟,以及目标违例寄存器的时钟延迟,从至少一个逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点。
56.本实施例中,对于建立时间违例修复,由于需要缩短时间违例路径的时钟,即修复前的时钟延迟大于修复后的时钟延迟,根据逻辑等价点的时钟延迟l,以及目标违例寄存器的时钟延迟l1,确定以逻辑等价点对目标违例寄存器进行时间违例修复所修复的时钟延迟为l1-l,目标逻辑等价点为所修复的时钟延迟l1-l满足预设违例修复条件的逻辑等价点。其中,预设违例修复条件可以为:所修复的时钟延迟为l1-l大于目标违例寄存器的违例时间n ns,又小于预设时间裕量margin,即n《l1-l《margin,其中,预设时间裕量margin为建立时间裕量n ns和保持时间裕量k ns中的最小值。
57.对于保持时间违例修复,由于需要延长时间违例路径的时钟,即修复前的时钟延迟小于修复后的时钟延迟,根据逻辑等价点的时钟延迟l,以及目标违例寄存器的时钟延迟l1,确定以逻辑等价点对目标违例寄存器进行时间违例修复所修复的时钟延迟为l-l1,目标逻辑等价点为所修复的时钟延迟l-l1满足预设违例修复条件的逻辑等价点。其中,预设违例修复条件可以为:所修复的时钟延迟为l-l1大于目标违例寄存器的违例时间n ns,又小于预设时间裕量margin,即n《l-l1《margin,其中,预设时间裕量margin为建立时间裕量n ns和保持时间裕量k ns中的最小值。
58.在另一种可能的实现方式中,上述s40根据逻辑等价点的时钟延迟,从至少一个逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点的过程,可以包括:根据逻辑等价点的时钟延迟,以及目标违例寄存器与至少一个所述逻辑等价点的物理距离,从至少一个逻辑等价点中确定满足预设违例修复条件,且物理距离最小的逻辑等价点为目标逻辑等价点。
59.本实施例中,在根据逻辑等价点的时钟延迟,确定存在多个满足预设违例修复条件的逻辑等价点时,为了保证能准确实现调整时钟的效果,可以从多个满足预设违例修复条件的逻辑等价点确定与目标逻辑寄存器的物理距离最短的逻辑等价点作为目标逻辑等价点,避免因为选择距离过远的逻辑等价点导致调整时钟的效果不佳的问题。
60.更进一步地,针对建立时间违例,可以根据逻辑等价点对目标违例寄存器进行时间违例修复所修复的时钟延迟为l1-l,确定满足n《l1-l《margin,且物理距离最短的逻辑等价点作为目标逻辑等价点。其中,对满足n《l1-l《margin的逻辑等价点,可以采用布局布线工具(例如innovus)计算目标违例寄存器与其之间的直线距离,确定直线距离最短的逻辑
等价点为目标逻辑等价点。
61.示例的,如图2所示,针对目标违例寄存器b3,图中的b点和d点均为满足n《l1-l《margin的逻辑等价点,但是d点的物理距离小于b点,则以d点作为目标逻辑等价点。
62.针对保持时间违例,可以根据逻辑等价点对目标违例寄存器进行时间违例修复所修复的时钟延迟为l-l1,确定满足n《l-l1《margin,且物理距离最短的逻辑等价点作为目标逻辑等价点。其中,对满足n《l-l1《margin的逻辑等价点,可以采用布局布线工具(例如innovus)计算目标违例寄存器与其之间的直线距离,确定直线距离最短的逻辑等价点为目标逻辑等价点。
63.示例的,如图2所示,针对目标违例寄存器b5,图中的b点和c点均为满足n《l-l1《margin的逻辑等价点,但是c点的物理距离小于b点,则以c点作为目标逻辑等价点。
64.s50:调整目标违例寄存器的时钟端口连接至目标逻辑等价点,得到时间违例修复后的集成电路设计。
65.本实施例中,将目标违例寄存器的时钟端口连接至目标逻辑等价点,删除目标违例寄存器的时钟端口原有的连接关系,调整目标逻辑等价点的延迟,以完成对目标违例寄存器所在的违例路径的时间违例修复,得到修复后的集成电路设计。
66.上述实施例提供的时间违例修复方法,通过筛选符合时钟调整需求的目标违例寄存器,以及与目标违例寄存器对应的符合时钟调整需求的目标逻辑等价点,将目标违例寄存器的时钟端口连接至目标逻辑等价点,实现通过调整时钟完成违例修复,通过脚本的方式自动化执行该时间违例修复方法,无需人工接入,可以提高时间违例修复的效率及容错率。
67.以下结合实施例对确定目标违例寄存器的可能的实现方式进行说明。
68.请参考图3,为本技术实施例提供的时间违例修复方法的流程示意图二,如图3所示,上述s10获取集成电路设计中存在时间违例的目标违例寄存器的过程,可以包括:s11:获取集成电路设计中的多个建立时间违例路径。
69.本实施例中,通过对集成电路设计进行静态时序分析或者其他时序分析,确定各个时钟路径的建立时间和保持时间是否满足要求,确定建立时间不满足要求的时钟路径为建立时间违例路径。
70.s12:从多个建立时间违例路径的起始违例寄存器中确定建立时间裕量满足建立时间裕量阈值的第一违例寄存器列表。
71.本实施例中,对于多个建立时间违例路径中的起始违例寄存器,以起始违例寄存器作为本级,通过时序分析确定起始违例寄存器的前级所有寄存器到起始违例寄存器的建立时间裕量,从多个起始违例寄存器中确定建立时间裕量满足建立时间裕量阈值的起始违例寄存器,构成第一违例寄存器列表list a。
72.s13:从第一违例寄存器列表中确定保持时间裕量满足保持时间裕量阈值的第二违例寄存器列表,第二违例寄存器列表中的违例寄存器为目标违例寄存器。
73.本实施例中,通过对第一违例寄存器列表中的各个起始违例寄存器进行时序分析,确定各个起始违例寄存器的后级所有寄存器的保持时间裕量,其中,可以采用最差保持工艺角(worst hold corner)进行时序分析,确定保持时间裕量,从第一违例寄存器列表中确定保持时间裕量满足保持时间裕量阈值的违例寄存器为目标违例寄存器,构成第二违例
寄存器列表list b。
74.上述实施例提供的时间违例修复方法,通过对各个建立时间违例路径中的起始违例寄存器的前级建立时间裕量和后级保持时间裕量进行筛选,确定前级建立时间裕量和后级保持时间裕量充足的违例寄存器作为目标违例寄存器,避免在通过调整时钟进行时间违例修复时引起新的违例,提高违例修复的效率和效果。
75.请参考图4,为本技术实施例提供的时间违例修复方法的流程示意图三,如图4所示,上述s10获取集成电路设计中存在时间违例的目标违例寄存器的过程,可以包括:s14:获取集成电路设计中的多个保持时间违例路径。
76.本实施例中,通过对集成电路设计进行静态时序分析或者其他时序分析,确定各个时钟路径的建立时间和保持时间是否满足要求,确定保持时间不满足要求的时钟路径为保持时间违例路径。
77.s15:从多个保持时间违例路径的起始违例寄存器中确定保持时间裕量满足保持时间裕量阈值的第一违例寄存器列表。
78.本实施例中,对于多个保持时间违例路径中的起始违例寄存器,以起始违例寄存器作为本级,通过时序分析确定起始违例寄存器的前级所有寄存器到起始违例寄存器的保持时间裕量,从多个起始违例寄存器中确定保持时间裕量满足保持时间裕量阈值的起始违例寄存器,构成第一违例寄存器列表list a。
79.s16:从第一违例寄存器列表中确定建立时间裕量满足建立时间裕量阈值的第二违例寄存器列表,第二违例寄存器列表中的违例寄存器为目标违例寄存器。
80.本实施例中,通过对第一违例寄存器列表中的各个起始违例寄存器进行时序分析,确定各个起始违例寄存器的后级所有寄存器的建立时间裕量,确定建立时间裕量,从第一违例寄存器列表中确定建立时间裕量满足建立时间裕量阈值的违例寄存器为目标违例寄存器,构成第二违例寄存器列表list b。
81.上述实施例提供的时间违例修复方法,通过对各个保持时间违例路径中的起始违例寄存器的前级保持时间裕量和后级建立时间裕量进行筛选,确定前级保持时间裕量和后级建立时间裕量充足的违例寄存器作为目标违例寄存器,避免在通过调整时钟进行时间违例修复时引起新的违例,提高违例修复的效率和效果。
82.以下结合实施例对上述确定目标时钟门控的一种可能的实现方式进行说明。
83.在一种可能的实现方式中,上述s20确定目标违例寄存器所在路径上的目标时钟门控的过程,可以包括:根据目标违例寄存器所在路径上的多个时钟门控与目标违例寄存器的逻辑距离,确定逻辑距离最短的时钟门控为目标时钟门控。
84.其中,逻辑距离用于指示集成电路设计中不同单元之间所存在的逻辑单元的数量,不同单元之间存在的逻辑单元数量越多,逻辑距离越长。
85.本实施例中,从时钟源点到目标违例寄存器的时钟路径上可能存在多个时钟门控,对于时钟路径上存在的多个时钟门控,以与目标违例寄存器的逻辑距离最短的时钟门控作为目标时钟门控。其中,逻辑距离最短可以为与目标违例寄存器之间所存在的逻辑单元最少。
86.需要说明的是,如图2所示,图中的时钟门控a3与目标逻辑寄存器b1的物理距离虽
s50的步骤,完成时间违例修复。
96.上述实施例提供的时间违例修复方法,对前一级为时钟门控的目标违例寄存器,通过复制一个相同的时钟门控,改变目标违例寄存器与复制的时钟门控的连接关系,在此基础上再进行时间违例修复,可以避免因为调整时钟而影响到原时钟门控之后的不存在违例的其他寄存器的时序,以及避免影响逻辑等价性,实现对更为复杂的集成电路设计的时间违例修复,提高了时间违例修复的效果。
97.在上述方法实施例的基础上,本技术实施例还提供一种时间违例修复装置。请参考图8,为本技术实施例提供的时间违例修复装置的结构示意图,如图 8所示,该装置可以包括:寄存器获取模块10,用于获取集成电路设计中存在时间违例的目标违例寄存器;时钟门控确定模块20,用于确定目标违例寄存器所在路径上的目标时钟门控;逻辑等价点确定模块30,用于根据目标时钟门控的输出逻辑值,确定集成电路设计中与目标违例寄存器的时钟端口逻辑等价的至少一个逻辑等价点;逻辑等价点筛选模块40,用于根据逻辑等价点的时钟延迟,从至少一个逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点;连接关系调整模块50,用于调整目标违例寄存器的时钟端口连接至目标逻辑等价点,得到时间违例修复后的集成电路设计。
98.可选的,逻辑等价点筛选模块40,具体用于根据逻辑等价点的时钟延迟,以及目标违例寄存器的时钟延迟,从至少一个逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点。
99.可选的,逻辑等价点筛选模块40,具体用于根据逻辑等价点的时钟延迟,以及目标违例寄存器与至少一个逻辑等价点的物理距离,从至少一个逻辑等价点中确定满足预设违例修复条件,且物理距离最小的逻辑等价点为目标逻辑等价点。
100.可选的,寄存器获取模块10,可以包括:建立违例路径确定单元,用于获取集成电路设计中的多个时间违例路径;第一列表确定单元,用于从多个时间违例路径的起始违例寄存器中确定建立时间裕量满足建立时间裕量阈值的第一违例寄存器列表;第二列表确定单元,用于从第一违例寄存器列表中确定保持时间裕量满足保持时间裕量阈值的第二违例寄存器列表,第二违例寄存器列表中的违例寄存器为目标违例寄存器。
101.可选的,寄存器获取模块10,包括:保持违例路径确定单元,用于获取集成电路设计中的多个保持时间违例路径;第三列表确定单元,用于从多个保持时间违例路径的起始违例寄存器中确定保持时间裕量满足保持时间裕量阈值的第三违例寄存器列表;第四列表确定单元,用于从第三违例寄存器列表中确定建立时间裕量满足建立时间裕量阈值的第四违例寄存器列表,第四违例寄存器列表中的违例寄存器为目标违例寄存器。
102.可选的,时钟门控确定模块20,具体用于根据目标违例寄存器所在路径上的多个时钟门控与目标违例寄存器的逻辑距离,确定逻辑距离最短的时钟门控为目标时钟门控。
103.可选的,时钟门控确定模块20,具体用于根据目标违例寄存器所在路径上的多个时钟门控与目标违例寄存器的逻辑距离,确定逻辑距离最短的时钟门控为第一时钟门控;若第一时钟门控的输出端未连接目标违例寄存器的时钟端口,确定第一时钟门控为目标时钟门控。
104.可选的,时钟门控确定模块20,还用于若第一时钟门控的输出端连接目标违例寄存器的时钟端口,复制第一时钟门控,生成第二时钟门控,使第一时钟门控的输出端不连接目标违例寄存器的时钟端口,第二时钟门控的输出端连接目标违例寄存器的时钟端口;根据目标违例寄存器所在路径上的多个时钟门控与第二时钟门控的逻辑距离,确定逻辑距离最短的时钟门控为目标时钟门控。
105.上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
106.以上这些模块可以是被配置成实施以上方法的一个或多个集成电路设计,例如:一个或多个特定集成电路设计(application specific integrated circuit,简称asic),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
107.可选的,本技术实施例还提供一种计算机设备。请参考图9,为本技术实施例提供的计算机设备的结构示意图,如图9所示,该计算机设备100可以包括:处理器101、存储介质102和总线,存储介质102存储有处理器101可执行的程序指令,当计算机设备100运行时,处理器101与存储介质102之间通过总线通信,处理器101执行程序指令,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
108.可选地,本技术实施例还提供一种计算机可读存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
109.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
110.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
111.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
112.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
113.上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种时间违例修复方法,其特征在于,所述方法包括:获取集成电路设计中存在时间违例的目标违例寄存器;确定所述目标违例寄存器所在路径上的目标时钟门控;根据所述目标时钟门控的输出逻辑值,确定所述集成电路设计中与所述目标违例寄存器的时钟端口逻辑等价的至少一个逻辑等价点;根据所述逻辑等价点的时钟延迟,从至少一个所述逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点;调整所述目标违例寄存器的时钟端口连接至所述目标逻辑等价点,得到时间违例修复后的集成电路设计。2.如权利要求1所述的方法,其特征在于,所述根据所述逻辑等价点的时钟延迟,从至少一个所述逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点,包括:根据所述逻辑等价点的时钟延迟,以及所述目标违例寄存器的时钟延迟,从至少一个所述逻辑等价点中确定满足所述预设违例修复条件的目标逻辑等价点。3.如权利要求1所述的方法,其特征在于,所述根据所述逻辑等价点的时钟延迟,从至少一个所述逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点,包括:根据所述逻辑等价点的时钟延迟,以及所述目标违例寄存器与至少一个所述逻辑等价点的物理距离,从至少一个所述逻辑等价点中确定满足所述预设违例修复条件,且所述物理距离最小的逻辑等价点为所述目标逻辑等价点。4.如权利要求1所述的方法,其特征在于,所述获取集成电路设计中存在时间违例的目标违例寄存器,包括:获取所述集成电路设计中的多个建立时间违例路径;从所述多个建立时间违例路径的起始违例寄存器中确定建立时间裕量满足建立时间裕量阈值的第一违例寄存器列表;从所述第一违例寄存器列表中确定保持时间裕量满足保持时间裕量阈值的第二违例寄存器列表,所述第二违例寄存器列表中的违例寄存器为所述目标违例寄存器。5.如权利要求1所述的方法,其特征在于,所述获取集成电路设计中存在时间违例的目标违例寄存器,包括:获取所述集成电路设计中的多个保持时间违例路径;从所述多个保持时间违例路径的起始违例寄存器中确定保持时间裕量满足保持时间裕量阈值的第三违例寄存器列表;从所述第三违例寄存器列表中确定建立时间裕量满足建立时间裕量阈值的第四违例寄存器列表,所述第四违例寄存器列表中的违例寄存器为所述目标违例寄存器。6.如权利要求1所述的方法,其特征在于,所述确定所述目标违例寄存器所在路径上的目标时钟门控,包括:根据所述目标违例寄存器所在路径上的多个时钟门控与所述目标违例寄存器的逻辑距离,确定所述逻辑距离最短的时钟门控为所述目标时钟门控。7.如权利要求6所述的方法,其特征在于,所述根据所述目标违例寄存器所在路径上的多个时钟门控与所述目标违例寄存器的逻辑距离,确定所述逻辑距离最短的时钟门控为所述目标时钟门控,包括:
根据所述目标违例寄存器所在路径上的多个时钟门控与所述目标违例寄存器的逻辑距离,确定所述逻辑距离最短的时钟门控为第一时钟门控;若所述第一时钟门控的输出端未连接所述目标违例寄存器的时钟端口,确定所述第一时钟门控为所述目标时钟门控。8.如权利要求7所述的方法,其特征在于,所述根据所述目标违例寄存器所在路径上的多个时钟门控与所述目标违例寄存器的逻辑距离,确定所述逻辑距离最短的时钟门控为所述目标时钟门控,还包括:若所述第一时钟门控的输出端连接所述目标违例寄存器的时钟端口,复制所述第一时钟门控,生成第二时钟门控,使所述第一时钟门控的输出端不连接所述目标违例寄存器的时钟端口,所述第二时钟门控的输出端连接所述目标违例寄存器的时钟端口;根据所述目标违例寄存器所在路径上的多个时钟门控与所述第二时钟门控的逻辑距离,确定所述逻辑距离最短的时钟门控为所述目标时钟门控。9.一种时间违例修复装置,其特征在于,所述装置包括:寄存器获取模块,用于获取集成电路设计中存在时间违例的目标违例寄存器;时钟门控确定模块,用于确定所述目标违例寄存器所在路径上的目标时钟门控;逻辑等价点确定模块,用于根据所述目标时钟门控的输出逻辑值,确定所述集成电路设计中与所述目标违例寄存器的时钟端口逻辑等价的至少一个逻辑等价点;逻辑等价点筛选模块,用于根据所述逻辑等价点的时钟延迟,从至少一个所述逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点;连接关系调整模块,用于调整所述目标违例寄存器的时钟端口连接至所述目标逻辑等价点,得到时间违例修复后的集成电路设计。10.一种计算机设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至8任一所述的时间违例修复方法的步骤。11.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至8任一所述的时间违例修复方法的步骤。

技术总结
本申请提供一种时间违例修复方法、装置、计算机设备及存储介质,涉及集成电路技术领域。该方法包括:获取集成电路设计中存在时间违例的目标违例寄存器;确定目标违例寄存器所在路径上的目标时钟门控;根据目标时钟门控的输出逻辑值,确定集成电路设计中与目标违例寄存器的时钟端口逻辑等价的至少一个逻辑等价点;根据逻辑等价点的时钟延迟,从至少一个逻辑等价点中确定满足预设违例修复条件的目标逻辑等价点;调整目标违例寄存器的时钟端口连接至目标逻辑等价点,得到时间违例修复后的集成电路设计。本申请可以提高时间违例的修复效率和修复效果。率和修复效果。率和修复效果。


技术研发人员:文明宇
受保护的技术使用者:飞腾信息技术有限公司
技术研发日:2023.08.03
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐