时序修复方法、装置、存储介质及电子设备与流程

文档序号:29616904发布日期:2022-04-13 12:01阅读:79来源:国知局
时序修复方法、装置、存储介质及电子设备与流程

1.本技术属于芯片设计领域,尤其涉及一种时序修复方法、装置、存储介质及电子设备。


背景技术:

2.在ic芯片(integrated circuit chip)的物理设计过程中,因为整个设计规模太大,所以通常会将整个设计分成一个个的模块来做,包括基本逻辑单元器件摆放和绕线等。在ic芯片的设计过程中需要对模块间接口的时序进行优化。然而,相关技术中无法对模块间接口的时序违反问题进行有效修复。


技术实现要素:

3.本技术实施例提供一种时序修复方法、装置、存储介质及电子设备,可以对模块间接口的时序违反问题进行修复。
4.第一方面,本技术实施例提供一种时序修复方法,包括:
5.当第一模块中的第一时序逻辑器件至第二模块中的第二时序逻辑器件的第一时序路径存在时序违反时,在所述第一模块中确定出第三时序逻辑器件,所述第一模块和所述第二模块为镜像对称摆放的复用模块,所述第二时序逻辑器件和所述第三时序逻辑器件为镜像对称摆放关系;
6.构建所述第一时序逻辑器件至所述第三时序逻辑器件的第二时序路径;
7.根据对所述第二时序路径的时序优化,对所述第一时序路径进行时序修复。
8.第二方面,本技术实施例提供一种时序修复装置,包括:
9.确定模块,用于当第一模块中的第一时序逻辑器件至第二模块中的第二时序逻辑器件的第一时序路径存在时序违反时,在所述第一模块中确定出第三时序逻辑器件,所述第一模块和所述第二模块为镜像对称摆放的复用模块,所述第二时序逻辑器件和所述第三时序逻辑器件为镜像对称摆放关系;
10.构建模块,用于构建所述第一时序逻辑器件至所述第三时序逻辑器件的第二时序路径;
11.修复模块,用于根据对所述第二时序路径的时序优化,对所述第一时序路径进行时序修复。
12.第三方面,本技术实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本技术实施例提供的时序修复方法中的流程。
13.第四方面,本技术实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本技术实施例提供的时序修复方法中的流程。
14.本技术实施例中,当第一模块中的第一时序逻辑器件至第二模块中的第二时序逻
辑器件的第一时序路径存在时序违反时,电子设备中的eda工具软件可以在该第一模块中确定出第三时序逻辑器件,其中该第一模块和该第二模块为镜像对称摆放的复用模块,该第二时序逻辑器件和该第三时序逻辑器件为镜像对称摆放关系。之后,电子设备中的eda工具软件可以构建第一时序逻辑器件至第三时序逻辑器件的第二时序路径,并根据对第二时序路径的优化来对第一时序路径进行时序修复。由于第二时序逻辑器件和第三时序逻辑器件为镜像对称摆放的关系,因此第二时序路径和第一时序路径的长度差异非常小。基于此,本技术实施例可以将模块间接口时序路径(即第一时序路径)的时序问题转化为模块内部时序路径(即第二时序路径)的时序问题。又因为eda工具软件可以对模块内部的时序路径进行优化,所以本技术实施例可以通过对第二时序路径的时序优化来实现对第一时序路径的时序修复。即,本技术实施例可以实现对模块间接口的时序违反问题进行修复。
附图说明
15.下面结合附图,通过对本技术的具体实施方式详细描述,将使本技术的技术方案及其有益效果显而易见。
16.图1是本技术实施例提供的时序修复方法的流程示意图。
17.图2是复用模块的结构示意图。
18.图3是本技术实施例提供的第一模块和第二模块的结构示意图。
19.图4是本技术实施例提供的时序修复方法的另一流程示意图。
20.图5是本技术实施例提供的第二时序路径的示意图。
21.图6是本技术实施例提供的时序修复装置的结构示意图。
22.图7是本技术实施例提供的电子设备的结构示意图。
23.图8是本技术实施例提供的电子设备的另一结构示意图。
具体实施方式
24.请参照图示,其中相同的组件符号代表相同的组件,本技术的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本技术具体实施例,其不应被视为限制本技术未在此详述的其它具体实施例。
25.可以理解的是,本技术实施例的执行主体可以是诸如智能手机或平板电脑等的电子设备。
26.请参阅图1,图1是本技术实施例提供的时序修复方法的流程示意图,流程可以包括:
27.101、当第一模块中的第一时序逻辑器件至第二模块中的第二时序逻辑器件的第一时序路径存在时序违反时,在该第一模块中确定出第三时序逻辑器件,该第一模块和该第二模块为镜像对称摆放的复用模块,该第二时序逻辑器件和该第三时序逻辑器件为镜像对称摆放关系。
28.在ic芯片(integrated circuit chip)的物理设计过程中,因为整个设计规模太大,所以通常会将整个设计分成一个个的模块来做,包括基本逻辑单元器件摆放和绕线等。在ic芯片的设计过程中需要对模块间接口的时序进行优化。然而,相关技术中无法对模块间接口的时序违反问题进行修复。
29.比如,在ic芯片设计中通常包含大量复用模块,如多核心处理器(multi-core cpu)设计。比如,模块a和模块b为复用模块,也即模块a和模块b的内部逻辑是完全一样的,模块a和模块b在物理上是完全重复的。在这种芯片的物理设计中,为方便数据在cpu间传输,通常对各模块采用对称摆放的设计方案,如图2所示。在这种物理设计中,模块与模块之间无逻辑,仅保留窄通道(channel)用于模块间数据连线。而这样的数据连线可能有成千上万条。当模块间接口出现时序违反的问题时,eda(electronic design automation,电子设计自动化)工具软件无法对该时序违反的问题进行修复。
30.需要说明的是,时序违反是指比如在芯片设计阶段,为从某一时序逻辑器件至另一时序逻辑器件的时序路径设计的时序约束条件对应的时长为1纳秒,但是在设计完成后如果检测到从该某一时序逻辑器件至该另一时序逻辑器件的时序路径实际所需的时长超过了1纳秒,那么就认为这条时序路径存在时序违反的问题。
31.在本技术实施例中,比如,在第一模块中的第一时序逻辑器件至第二模块中的第二时序逻辑器件的第一时序路径存在时序违反问题的情况下,电子设备中的eda工具软件可以在该第一模块中确定出第三时序逻辑器件。其中,该第一模块和该第二模块为镜像对称摆放的复用模块,该第二时序逻辑器件和该第三时序逻辑器件为镜像对称摆放关系。
32.需要说明的是,在本技术实施例中,时序逻辑器件可以是寄存器(flip-flop)等器件。
33.比如,如图3所示,第一模块a和该第二模块b为镜像对称摆放的复用模块。第一模块a至少可以包括时序逻辑器件a1、时序逻辑器件a2、时序逻辑器件a3、时序逻辑器件a4。第二模块b至少可以包括时序逻辑器件b1、时序逻辑器件b2、时序逻辑器件b3、时序逻辑器件b4。其中,时序逻辑器件a1和时序逻辑器件b1为镜像对称摆放关系,时序逻辑器件a2和时序逻辑器件b2也为镜像对称摆放关系,时序逻辑器件a3和时序逻辑器件b3为镜像对称摆放关系,时序逻辑器件a4和时序逻辑器件b4也为镜像对称摆放关系。可以理解的是,本实施例中,以第一模块a和第二模块b均有4个时序逻辑器件为例,当然在其他实施方式中,第一模块a和第二模块b还可以具有其他数量的时序逻辑器件。
34.另外,图3中的“ff”表示寄存器(flip-flop),即时序逻辑器件。“l”表示组合逻辑器件,组合逻辑器件可以用于进行与门、或门、非门等运算逻辑。图中的三角形图标可以表示接口(port),如接口x1、x2、y1、y2。
35.例如,在从第一模块a中的时序逻辑器件a1(例如记为第一时序逻辑器件)至第二模块b中的时序逻辑器件b2(例如记为第二时序逻辑器件)的第一时序路径存在时序违反问题的情况下,电子设备中的eda工具软件可以在该第一模块a中确定出第三时序逻辑器件,其中该第二时序逻辑器件和该第三时序逻辑器件为镜像对称摆放关系。由于时序逻辑器件a2和时序逻辑器件b2为镜像对称摆放关系。因此,电子设备中的eda工具软件可以将第一模块a中的时序逻辑器件a2确定为第三时序逻辑器件。
36.102、构建第一时序逻辑器件至第三时序逻辑器件的第二时序路径。
37.比如,在从第一模块中确定出第三时序逻辑器件后,电子设备中的eda工具软件可以构建第一时序逻辑器件至第三时序逻辑器件的第二时序路径。例如,电子设备中的eda工具软件可以构建时序逻辑器件a1至时序逻辑器件a2的第二时序路径。
38.103、根据对第二时序路径的时序优化,对第一时序路径进行时序修复。
39.比如,在构建出第一时序逻辑器件至第三时序逻辑器件的第二时序路径后,电子设备中的eda工具软件可以根据对第二时序路径的时序优化来对第一时序路径进行时序修复。
40.需要说明的是,虽然eda工具软件无法对模块间接口的时序违反进行修复,但eda工具软件可以对模块内部的时序路径进行优化。
41.可以理解的是,本技术实施例中,当第一模块中的第一时序逻辑器件至第二模块中的第二时序逻辑器件的第一时序路径存在时序违反时,电子设备中的eda工具软件可以在该第一模块中确定出第三时序逻辑器件,其中该第一模块和该第二模块为镜像对称摆放的复用模块,该第二时序逻辑器件和该第三时序逻辑器件为镜像对称摆放关系。之后,电子设备中的eda工具软件可以构建第一时序逻辑器件至第三时序逻辑器件的第二时序路径,并根据对第二时序路径的优化来对第一时序路径进行时序修复。由于第二时序逻辑器件和第三时序逻辑器件为镜像对称摆放的关系,因此第二时序路径和第一时序路径的长度差异非常小。基于此,本技术实施例可以将模块间接口时序路径(即第一时序路径)的时序问题转化为模块内部时序路径(即第二时序路径)的时序问题。又因为eda工具软件可以对模块内部的时序路径进行优化,所以本技术实施例可以通过对第二时序路径的时序优化来实现对第一时序路径的时序修复。即,本技术实施例可以实现对模块间接口的时序违反问题进行修复。
42.请参阅图4,图4为本技术实施例提供的时序修复方法的另一流程示意图,流程可以包括:
43.201、当第一模块中的第一时序逻辑器件至第二模块中的第二时序逻辑器件的第一时序路径存在时序违反时,在该第一模块中确定出第三时序逻辑器件,该第一模块和该第二模块为镜像对称摆放的复用模块,该第二时序逻辑器件和该第三时序逻辑器件为镜像对称摆放关系。
44.比如,如图3所示,第一模块a和该第二模块b为镜像对称摆放的复用模块,即第一模块a和该第二模块b为物理上完全一样的模块。第一模块a至少可以包括时序逻辑器件a1、时序逻辑器件a2、时序逻辑器件a3、时序逻辑器件a4。第二模块b至少可以包括时序逻辑器件b1、时序逻辑器件b2、时序逻辑器件b3、时序逻辑器件b4。其中,时序逻辑器件a1和时序逻辑器件b1为镜像对称摆放关系,时序逻辑器件a2和时序逻辑器件b2也为镜像对称摆放关系,时序逻辑器件a3和时序逻辑器件b3为镜像对称摆放关系,时序逻辑器件a4和时序逻辑器件b4也为镜像对称摆放关系。可以理解的是,本实施例中,以第一模块a和第二模块b均有4个时序逻辑器件为例,在其他实施方式中,第一模块a和第二模块b还可以具有其他数量的时序逻辑器件。
45.另外,图3中的“ff”表示寄存器(flip-flop)。“l”表示组合逻辑器件,组合逻辑器件可以用于进行与门、或门、非门等运算逻辑。图中的三角形图标可以表示接口(port)。
46.例如,在从第一模块a中的时序逻辑器件a1(例如记为第一时序逻辑器件)至第二模块b中的时序逻辑器件b2(例如记为第二时序逻辑器件)的第一时序路径存在时序违反问题的情况下,电子设备中的eda工具软件可以在该第一模块a中确定出第三时序逻辑器件,其中该第二时序逻辑器件和该第三时序逻辑器件为镜像对称摆放关系。由于时序逻辑器件a2和时序逻辑器件b2为镜像对称摆放关系。因此,电子设备中的eda工具软件可以将第一模
块a中的时序逻辑器件a2确定为第三时序逻辑器件。
47.如图3所示,第一时序路径即为从时序逻辑器件a1开始依次经过一个组合逻辑器件、接口x1、接口y2、另一个组合逻辑器件、时序逻辑器件b2的路径。
48.202、在第一模块中确定出与第一时序逻辑器件对应的第一接口以及与第三时序逻辑器件对应的第二接口。
49.比如,在将第一模块a中的时序逻辑器件a2确定为第三时序逻辑器件之后,电子设备中的eda工具软件可以在该第一模块中确定出与第一时序逻辑器件a1对应的第一接口,以及与第三时序逻辑器件a2对应的第二接口。例如,如图3所示,电子设备中的eda工具软件在第一模块中确定出的与第一时序逻辑器件a1对应的第一接口为x1,确定出的与第三时序逻辑器件a2对应的第二接口为x2。
50.203、在第一模块中确定出第一位置和第二位置,该第一位置位于第一时序路径上,该第二位置位于第三时序逻辑器件所在的时序路径上,且该第一位置与第一接口之间的第一距离以及该第二位置与第二接口之间的第二距离均小于预设距离阈值。
51.比如,在确定出第一接口x1和第二接口x2之后,电子设备中的eda工具软件可以在第一模块中确定出第一位置和第二位置,该第一位置位于第一时序路径上,该第二位置位于第三时序逻辑器件a2所在的时序路径上,且该第一位置与第一接口x1之间的第一距离以及该第二位置与第二接口x2之间的第二距离均小于预设距离阈值。
52.需要说明的是,为了使后续构建出来的从第一时序逻辑器件至第三时序逻辑器件的第二时序路径对应的长度尽量接近于从第一时序逻辑器件至第二时序逻辑器件的第一时序路径对应的长度,第一位置应该尽量靠近第一接口,并且第二位置应该尽量靠近第二接口,这样当将第一位置和第二位置连接起来时形成的从第一时序逻辑器件至第三时序逻辑器件的第二时序路径对应的长度就可以尽量接近于从第一时序逻辑器件至第二时序逻辑器件的第一时序路径对应的长度。
53.204、在第一位置上设置第一缓冲器件,并在第二位置上设置第二缓冲器件。
54.205、连接第一缓冲器件和第二缓冲器件,以构建第一时序逻辑器件至第三时序逻辑器件的第二时序路径。
55.比如,在确定出第一位置和第二位置后,电子设备中的eda工具软件可以将该第一位置和该第二位置连接起来,从而构建出从第一时序逻辑器件至第三时序逻辑器件的第二时序路径。
56.在本技术实施例中,电子设备中的eda工具软件可以在确定出第一位置和第二位置后,在该第一位置上设置一个缓冲器件(buffer),例如记为第一缓冲器件,并在该第二位置上设置一个缓冲器件,例如记为第二缓冲器件。
57.之后,电子设备中的eda工具软件可以连接第一缓冲器件和第二缓冲器件,以构建出从第一时序逻辑器件至第三时序逻辑器件的第二时序路径。例如,如图5所示,电子设备中的eda工具软件可以连接第一缓冲器件k1和第二缓冲器件k2,以构建出从第一时序逻辑器件a1至第三时序逻辑器件a2的第二时序路径。
58.如图5所示,第二时序路径为从时序逻辑器件a1开始依次经过一个组合逻辑器件、第一缓冲器件k1、第二缓冲器件k2、另一个组合逻辑器件、时序逻辑器件a2的路径。
59.206、无效第一时序路径以及第三时序路径,该第三时序路径为第四时序逻辑器件
至第三时序逻辑器件的时序路径,该第四时序逻辑器件和第一时序逻辑器件为镜像对称摆放关系。
60.比如,在构建出从第一时序逻辑器件a1至第三时序逻辑器件a2的第二时序路径后,电子设备可以无效第一时序路径以及第三时序路径。其中,该第三时序路径为从第四时序逻辑器件至第三时序逻辑器件的时序路径,该第四时序逻辑器件和第一时序逻辑器件为镜像对称摆放关系。其中,无效第一时序路径和无效第三时序路径的示意图可以如图5中的叉线(
×
)所示。
61.如图3所示,与第一时序逻辑器件a1为镜像对称摆放关系的第四时序逻辑器件为b1。第三时序路径为从时序逻辑器件b1开始依次经过一个组合逻辑器件、接口y1、接口x2、另一个组合逻辑器件、时序逻辑器件a2的路径。
62.在本技术实施例中,无效第一时序路径以及第三时序路径的流程,可以包括:
63.无效第一缓冲器件与第一接口之间的路径,并无效第二缓冲器件与第二接口之间的路径。
64.比如,电子设备中的eda工具软件可以通过无效第一缓冲器与第一接口之间的路径来无效第一时序路径,通过无效第二缓冲器件与第二接口之间的路径来无效第三时序路径。
65.在一种实施方式中,无效第一缓冲器件与第一接口之间的路径,并无效第二缓冲器件与第二接口之间的路径的流程,可以包括:
66.断开第一缓冲器件与第一接口之间的连接,并断开第二缓冲器件与第二接口之间的连接。
67.比如,电子设备中的eda工具软件可以通过断开第一缓冲器件与第一接口之间的连接来实现无效第一缓冲器件与第一接口之间的路径,并通过断开第二缓冲器件与第二接口之间的连接来实现无效第二缓冲器件与第二接口之间的路径。
68.在另一种实施方式中,无效第一缓冲器件与第一接口之间的路径,并无效第二缓冲器件与第二接口之间的路径的流程,还可以包括:
69.将第一接口和第二接口的属性设置为假路径属性。
70.比如,电子设备中的eda工具软件可以通过将第一接口的属性设置为假路径(flase path)属性来实现无效第一缓冲器件与第一接口之间的路径,并通过将第二接口的属性设置为假路径属性来实现无效第二缓冲器件与第二接口之间的路径。
71.需要说明的是,在将接口的属性设置为假路径属性后,电子设备中的eda工具软件在识别到接口具有假路径属性后,在进行时序优化时将不会再走这个接口,从而实现无效缓冲器件与接口之间的路径。
72.207、将第一缓冲器件和第二缓冲器件之间的路径的属性设置为不可修改属性,并将该第一缓冲器件和该第二缓冲器件的位置属性设置为固定位置属性。
73.比如,在对第二时序路径进行时序优化前,电子设备中的eda工具软件还可以将第一缓冲器件和第二缓冲器件之间的路径的属性设置为不可修改(don’t touch)属性,并将该第一缓冲器件和该第二缓冲器件的位置属性设置为固定位置(fix)属性。
74.需要说明的是,在将第一缓冲器件和第二缓冲器件之间的路径的属性设置为不可修改属性后,电子设备中的eda工具软件在对时序路径进行优化时不会再对该第一缓冲器
件和该第二缓冲器件之间的路径进行任何修改,比如不会再在第一缓冲器件和该第二缓冲器件之间的路径上放置任何其他器件,等等。
75.在将第一缓冲器件和第二缓冲器件的位置属性设置为固定位置属性后,电子设备中的eda工具软件在对时序路径进行优化时不会再对该第一缓冲器件和该第二缓冲器件的位置做任何改动。
76.可以理解的是,通过将第一缓冲器件和第二缓冲器件之间的路径的属性设置为不可修改属性,并将该第一缓冲器件和该第二缓冲器件的位置属性设置为固定位置属性的方式,可以保证第二时序路径能够尽量模拟出第一时序路径的情况。
77.208、对第二时序路径进行时序优化,其中,第一时序路径的时序约束条件对应的时长为第一时长,为该第二时序路径设置的时序约束条件对应的时长为第二时长,该第二时长小于该第一时长。
78.比如,在将第一缓冲器件和第二缓冲器件之间的路径的属性设置为不可修改属性,并将该第一缓冲器件和该第二缓冲器件的位置属性设置为固定位置属性之后,电子设备中的eda工具软件可以对第二时序路径进行时序优化,其中,第一时序路径的时序约束条件对应的时长为第一时长,在对第二时序路径进行时序优化时为该第二时序路径设置的时序约束条件对应的时长为第二时长,该第二时长可以小于该第一时长。例如,第一时长为1纳秒,那么第二时长可以设置为0.9纳秒或0.88纳秒或0.85纳秒等等。
79.需要说明的是,本技术实施例是将模块间接口的时序问题转化为模块内部的时序问题,也就是利用第二时序路径来模拟第一时序路径。当毕竟第二时序路径不同于第一时序路径,因此为了保证可以通过对第二时序路径的时序优化来实现对第一时序路径的优化,本技术实施例可以为第二时序路径的优化设置更为严格的时序约束条件,即通过将第二时长设置成小于第一时长的方式,可以使得对第二时序路径的优化能够转化为对第一时序路径的优化。也就是说,由于第二时序路径的长度接近于第一时序路径的长度,因此当第二时序路径能够满足时序要求时,第一时序路径也能够满足时序要求,从而达到对第一时序路径的时序修复。
80.209、在第二时序路径的时序优化完成后,无效该第二时序路径,并使能第一时序路径。
81.比如,在使用eda工具软件对第二时序路径的时序优化成功完成后,电子设备中的eda工具软件可以无效该第二时序路径,并使能第一时序路径。
82.在本技术实施例中,无效第二时序路径的流程,可以包括:
83.断开第一缓冲器件和第二缓冲器件之间的连接。
84.比如,电子设备中的eda工具软件可以通过断开第一缓冲器件和第二缓冲器件之间的连接来达到无效第二时序路径的目的。
85.而使能第一时序路径则可以通过如下方式来实现:比如,如果之前是通过断开第一缓冲器件与第一接口之间的连接来无效该第一缓冲器件和该第一接口之间的路径的,那么可以通过重新连接第一缓冲器件与第一接口之间的连接来使能第一时序路径。如果之前是通过将第一接口的属性设置为假路径属性的方式来无效第一缓冲器件和第一接口之间的路径的,那么可以通过删去第一接口的假路径属性来重新使能第一时序路径。
86.可以理解的是,本技术提供的方案能够将模块间接口的时序问题巧妙地转化为模
块内部的时序问题,从而可以充分利用eda工具软件解决时序违反的问题。本技术提供的方案能快速修复接口时序,无需花费人力判断并调整时序预算(timing budget);能充分利用并发挥eda工具在修复时序违反方面的能力,减少人为干预;能准确修复接口时序,并消耗最少资源,不增加额外功耗,提高芯片的ppa(即功耗、性能和面积)指标;能提高后端物理设计的项目执行效率;能在短时间内,花费最少精力解决后端物理设计过程中最复杂、最棘手的问题。
87.在一种实施方式中,本技术实施例还可以包括如下流程:
88.在使能第一时序路径后,检测将第一缓冲器件删除后该第一时序路径是否存在时序违反;
89.若否,则将第一缓冲器件删除。
90.比如,在使用第一时序路径后,电子设备中的eda工具软件还可以尝试将第一缓冲器件删除,并检测将第一缓冲器件删除后第一时序路径是否会存在时序违反的问题。如果检测到将第一缓冲器件删除后第一时序路径不会存在时序违反的问题,那么电子设备中的eda工具软件可以将第一缓冲器件删除。如果检测到将第一缓冲器件删除后第一时序路径会存在时序违反的问题,那么电子设备中的eda工具软件可以不将第一缓冲器件删除,例如将第一缓冲器件重新设置在第一位置上。
91.可以理解的是,如果第一缓冲器件可以删除,那么将第一缓冲器件删除,可以为芯片节省功耗和面积。
92.请参阅图6,图6为本技术实施例提供的时序修复装置的结构示意图。时序修复装置300可以包括:确定模块301,构建模块302,修复模块303。
93.确定模块301,用于当第一模块中的第一时序逻辑器件至第二模块中的第二时序逻辑器件的第一时序路径存在时序违反时,在所述第一模块中确定出第三时序逻辑器件,所述第一模块和所述第二模块为镜像对称摆放的复用模块,所述第二时序逻辑器件和所述第三时序逻辑器件为镜像对称摆放关系。
94.构建模块302,用于构建所述第一时序逻辑器件至所述第三时序逻辑器件的第二时序路径。
95.修复模块303,用于根据对所述第二时序路径的时序优化,对所述第一时序路径进行时序修复。
96.在一种实施方式中,所述构建模块302可以用于:
97.在所述第一模块中确定出与所述第一时序逻辑器件对应的第一接口以及与所述第三时序逻辑器件对应的第二接口;
98.在所述第一模块中确定出第一位置和第二位置,所述第一位置位于所述第一时序路径上,所述第二位置位于所述第三时序逻辑器件所在的时序路径上,且所述第一位置与所述第一接口之间的第一距离以及所述第二位置与所述第二接口之间的第二距离均小于预设距离阈值;
99.连接所述第一位置和所述第二位置,以构建所述第一时序逻辑器件至所述第三时序逻辑器件的第二时序路径。
100.在一种实施方式中,所述构建模块302还可以用于:
101.在所述第一位置上设置第一缓冲器件,并在所述第二位置上设置第二缓冲器件;
102.连接所述第一缓冲器件和所述第二缓冲器件。
103.在一种实施方式中,所述第一时序路径的时序约束条件对应的时长为第一时长。
104.那么,所述修复模块303可以用于:
105.无效所述第一时序路径以及第三时序路径,所述第三时序路径为第四时序逻辑器件至所述第三时序逻辑器件的时序路径,所述第四时序逻辑器件和所述第一时序逻辑器件为镜像对称摆放关系;
106.对所述第二时序路径进行时序优化,其中,为所述第二时序路径设置的时序约束条件对应的时长为第二时长,所述第二时长小于所述第一时长;
107.在所述第二时序路径的时序优化完成后,无效所述第二时序路径,并使能所述第一时序路径。
108.在一种实施方式中,所述修复模块303可以用于:
109.无效所述第一缓冲器件与所述第一接口之间的路径,并无效所述第二缓冲器件与所述第二接口之间的路径。
110.在一种实施方式中,所述修复模块303可以用于:
111.断开所述第一缓冲器件与所述第一接口之间的连接,并断开所述第二缓冲器件与所述第二接口之间的连接。
112.在一种实施方式中,所述修复模块303可以用于:
113.将所述第一接口和所述第二接口的属性设置为假路径属性。
114.在一种实施方式中,所述修复模块303还可以用于:
115.在对所述第二时序路径进行时序优化前,将所述第一缓冲器件和所述第二缓冲器件之间的路径的属性设置为不可修改属性。
116.在一种实施方式中,所述修复模块303还可以用于:
117.在对所述第二时序路径进行时序优化前,将所述第一缓冲器件和所述第二缓冲器件的位置属性设置为固定位置属性。
118.在一种实施方式中,所述修复模块303可以用于:
119.断开所述第一缓冲器件和所述第二缓冲器件之间的连接。
120.在一种实施方式中,所述修复模块303还可以用于:
121.在使能所述第一时序路径后,检测将所述第一缓冲器件删除后所述第一时序路径是否存在时序违反;
122.若否,则将所述第一缓冲器件删除。
123.本技术实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的时序修复方法中的流程。
124.本技术实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的时序修复方法中的流程。
125.例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图7,图7为本技术实施例提供的电子设备的结构示意图。
126.该电子设备400可以包括显示屏401、存储器402、处理器403等部件。本领域技术人员可以理解,图7中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多
或更少的部件,或者组合某些部件,或者不同的部件布置。
127.显示屏401可以用于显示诸如文字、图像等信息。
128.存储器402可用于存储应用程序和数据。存储器402存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器403通过运行存储在存储器402的应用程序,从而执行各种功能应用以及数据处理。
129.处理器403是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
130.在本实施例中,电子设备中的处理器403会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器402中,并由处理器403来运行存储在存储器402中的应用程序,从而执行:
131.当第一模块中的第一时序逻辑器件至第二模块中的第二时序逻辑器件的第一时序路径存在时序违反时,在所述第一模块中确定出第三时序逻辑器件,所述第一模块和所述第二模块为镜像对称摆放的复用模块,所述第二时序逻辑器件和所述第三时序逻辑器件为镜像对称摆放关系;
132.构建所述第一时序逻辑器件至所述第三时序逻辑器件的第二时序路径;
133.根据对所述第二时序路径的时序优化,对所述第一时序路径进行时序修复。
134.请参阅图8,电子设备400可以包括显示屏401、存储器402、处理器403、输入单元404、电池405、扬声器406等部件。
135.显示屏401可以用于显示诸如文字、图像等信息。
136.存储器402可用于存储应用程序和数据。存储器402存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器403通过运行存储在存储器402的应用程序,从而执行各种功能应用以及数据处理。
137.处理器403是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
138.输入单元404可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
139.电池405可以用于为电子设备的各个部件和模块提供电力支持,从而保证各个部件和模块的正常运行。
140.扬声器405可以用于播放声音信号等。
141.在本实施例中,电子设备中的处理器403会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器402中,并由处理器403来运行存储在存储器402中的应用程序,从而执行:
142.当第一模块中的第一时序逻辑器件至第二模块中的第二时序逻辑器件的第一时序路径存在时序违反时,在所述第一模块中确定出第三时序逻辑器件,所述第一模块和所述第二模块为镜像对称摆放的复用模块,所述第二时序逻辑器件和所述第三时序逻辑器件为镜像对称摆放关系;
143.构建所述第一时序逻辑器件至所述第三时序逻辑器件的第二时序路径;
144.根据对所述第二时序路径的时序优化,对所述第一时序路径进行时序修复。
145.在一种实施方式中,处理器403执行所述构建所述第一时序逻辑器件至所述第三时序逻辑器件的第二时序路径时,可以执行:在所述第一模块中确定出与所述第一时序逻辑器件对应的第一接口以及与所述第三时序逻辑器件对应的第二接口;在所述第一模块中确定出第一位置和第二位置,所述第一位置位于所述第一时序路径上,所述第二位置位于所述第三时序逻辑器件所在的时序路径上,且所述第一位置与所述第一接口之间的第一距离以及所述第二位置与所述第二接口之间的第二距离均小于预设距离阈值;连接所述第一位置和所述第二位置,以构建所述第一时序逻辑器件至所述第三时序逻辑器件的第二时序路径。
146.在一种实施方式中,在确定出第一位置和第二位置之后,处理器403还可以执行:在所述第一位置上设置第一缓冲器件,并在所述第二位置上设置第二缓冲器件。
147.那么,处理器403执行所述连接所述第一位置和所述第二位置时,可以执行:连接所述第一缓冲器件和所述第二缓冲器件。
148.在一种实施方式中,所述第一时序路径的时序约束条件对应的时长为第一时长。
149.那么,处理器403执行所述根据对所述第二时序路径的时序优化,对所述第一时序路径进行时序修复时,可以执行:无效所述第一时序路径以及第三时序路径,所述第三时序路径为第四时序逻辑器件至所述第三时序逻辑器件的时序路径,所述第四时序逻辑器件和所述第一时序逻辑器件为镜像对称摆放关系;对所述第二时序路径进行时序优化,其中,为所述第二时序路径设置的时序约束条件对应的时长为第二时长,所述第二时长小于所述第一时长;在所述第二时序路径的时序优化完成后,无效所述第二时序路径,并使能所述第一时序路径。
150.在一种实施方式中,处理器403执行所述无效所述第一时序路径以及第三时序路径时,可以执行:无效所述第一缓冲器件与所述第一接口之间的路径,并无效所述第二缓冲器件与所述第二接口之间的路径。
151.在一种实施方式中,处理器403执行所述无效所述第一缓冲器件与所述第一接口之间的路径,并无效所述第二缓冲器件与所述第二接口之间的路径时,可以执行:断开所述第一缓冲器件与所述第一接口之间的连接,并断开所述第二缓冲器件与所述第二接口之间的连接。
152.在一种实施方式中,处理器403执行所述无效所述第一缓冲器件与所述第一接口之间的路径,并无效所述第二缓冲器件与所述第二接口之间的路径时,可以执行:将所述第一接口和所述第二接口的属性设置为假路径属性。
153.在一种实施方式中,处理器403还可以执行:在对所述第二时序路径进行时序优化前,将所述第一缓冲器件和所述第二缓冲器件之间的路径的属性设置为不可修改属性。
154.在一种实施方式中,处理器403还可以执行:在对所述第二时序路径进行时序优化前,将所述第一缓冲器件和所述第二缓冲器件的位置属性设置为固定位置属性。
155.在一种实施方式中,处理器403执行所述无效所述第二时序路径时,可以执行:断开所述第一缓冲器件和所述第二缓冲器件之间的连接。
156.在一种实施方式中,处理器403还可以执行:在使能所述第一时序路径后,检测将所述第一缓冲器件删除后所述第一时序路径是否存在时序违反;若否,则将所述第一缓冲
器件删除。
157.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对时序修复方法的详细描述,此处不再赘述。
158.本技术实施例提供的所述时序修复装置与上文实施例中的时序修复方法属于同一构思,在所述时序修复装置上可以运行所述时序修复方法实施例中提供的任一方法,其具体实现过程详见所述时序修复方法实施例,此处不再赘述。
159.需要说明的是,对本技术实施例所述时序修复方法而言,本领域普通技术人员可以理解实现本技术实施例所述时序修复方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述时序修复方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)等。
160.对本技术实施例的所述时序修复装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
161.以上对本技术实施例所提供的一种时序修复方法、装置、存储介质以及电子设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1