一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

时序路径修正方法、装置、介质及芯片结构与流程

2021-12-04 02:32:00 来源:中国专利 TAG:


1.本发明涉及芯片技术领域,具体地涉及一种时序路径修正方法、装置、介质及芯片结构。


背景技术:

2.随着芯片设计的集成度越来越高,更多的设计采用自上而下的设计方法,其将芯片分割成不同的子模块,使得原来的一条时序路径被分布在不同的子模块中。当两个子模块在芯片内部的空间跨度较大时,还需要定义贯穿信号的布线通道,从而满足时序和布线的要求;当信号贯穿到不同电源属性的子模块中时,还需要考虑额外的电源地布线资源进行驱动单元的供电;当贯穿信号的走线距离过长时,还需要考虑时序违反问题,即,在这一情形下,产生的寄生参数超过信号频率的噪声容限,使得信号路径上产生时序违反。
3.为满足上述布线和时序的要求,针对混合信号的芯片物理设计存在诸多难点。混合信号物理设计通常包含较多的定制模块,当贯穿信号跨越体量较大的定制模块时,由于定制模块上通常存在布线阻挡层,后端设计工具一般会绕过模块边缘进行布线,并且添加一定数量的驱动单元来修正由于走线过长带来的时序违反。但是在低功耗设计中,更多驱动单元的引入势必不利于芯片功耗的优化。


技术实现要素:

4.本发明实施例的目的是提供一种时序路径修正方法、装置、介质及芯片结构,用于至少部分地解决上述技术问题。
5.为了实现上述目的,本发明实施例提供一种时序路径修正方法,包括:针对阻挡了时序路径的定制模块,判断该定制模块是否符合布线通道扩展要求;以及在确定所述定制模块符合所述布线通道扩展要求的情况下,修改所述定制模块的物理信息以在所述定制模块内部扩展布线通道,使得对应的时序路径经所述布线通道贯穿所述定制模块。
6.可选地,在所述判断该定制模块是否符合布线通道扩展要求之前,所述时序路径修正方法还包括:判断当前是否存在时序违反;若确定存在时序违反,则判断所述时序违反对应的时序路径是否被所述定制模块阻挡;以及若确定所述时序路径被所述定制模块阻挡,则执行所述判断该定制模块是否符合布线通道扩展要求的步骤。
7.可选地,在所述判断所述时序违反对应的时序路径是否被所述定制模块阻挡之后,所述时序路径修正方法还包括:若确定所述时序路径未被所述定制模块阻挡,则针对引起所述时序违反的芯片组成模块,在该芯片组成模块中增加驱动单元或者扩大该芯片组成模块的尺寸以修正所述时序违反。
8.可选地,所述判断所述时序违反对应的时序路径是否被所述定制模块阻挡包括:当芯片设计进入后端自动布局布线流程时,在所有的芯片组成模块的布局已经确定的情况下,执行后端试跑流程,以生成时序报告;以及根据所述时序报告确定时序违反情况。
9.可选地,所述布线通道扩展要求包括:关于所述定制模块内部的空间和布线资源
的要求;以及关于所述定制模块在增加干扰参数情况下的性能要求。
10.可选地,所述判断该定制模块是否符合布线通道扩展要求包括:检测所述定制模块的物理信息,以确定所述定制模块内部是否有足够的空间和布线资源进行布线通道的扩展;以及对所述定制模块进行增加干扰参数情况下的后仿真,以判断在所述定制模块内部进行布线通道的扩展是否影响该定制模块的性能,其中所述干扰参数与所述布线通道相关联。
11.可选地,所述修改所述定制模块的物理信息包括:根据所述定制模块的可利用空间和布线资源的实际尺寸,修改所述定制模块的库交换文件中的物理层阻挡信息;基于修改后的库交换文件,更新初始设计数据;基于更新后的设计数据,重新划分所述定制模块的阻挡层区域,以得到至少一条布线通道;以及利用所述布线通道进行重新布线,以使得对应的时序路径经所述布线通道贯穿所述定制模块。
12.可选地,所述重新划分所述定制模块的阻挡层区域包括:确定所述阻挡层区域的尺寸和数量。
13.可选地,在所述使得对应的时序路径经所述布线通道贯穿所述定制模块之后,所述时序路径修正方法还包括:执行后端自动布局布线流程,以生成对应的时序报告,并基于所述时序报告确定时序违反修正情况。
14.本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述任意的时序路径修正方法。
15.本发明实施例还提供一种芯片结构,包括多个组成模块,且所述组成模块中的至少一者是定制模块,且所述定制模块的内部扩展具有布线通道,使得被该定制模块阻挡的时序路径能够经所述布线通道而贯穿该定制模块。
16.本发明实施例还提供一种用于芯片结构的时序路径修正装置,所述芯片结构包括至少一个定制模块,且所述时序路径修正装置包括存储器和处理器,所述存储器上存储有程序,所述处理器用于运行所述程序以执行上述任意的时序路径修正方法。
17.通过上述技术方案,本发明实施例在贯穿时序路径将要跨越的定制模块上,通过创建布线通道,引导时序路径从定制模块内部贯穿,可以充分利用定制模块内部的空间,有效地缩短了时序路径的长度,降低了寄生影响,减少了因寄生现象引起的时序违反,从而精简了驱动单元插入的数量,为芯片面积和功耗的优化提供了有利的条件,有助于实现低功耗混合信号设计。
18.本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
19.附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:图1是本发明实施例的时序路径修正方法的流程示意图;图2是优选的实施例中判断定制模块是否符合布线通道扩展要求的流程示意图;图3是优选的实施例中修改定制模块的物理信息以在扩展布线通道的流程示意图;
图4是本发明实施例方法的应用示例中进行时序路径修正的流程示意图;图5(a)和图5(b)是分别示出图4的应用示例中实施相应时序路径修正方法之前和之后的版图示意图。
具体实施方式
20.以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
21.下面先对本发明实施例中出现的部分术语进行说明:1、混合信号设计:是指同时涉及数字信号和模拟信号的电路设计,这类电路设计中往往需要考虑定制模块。
22.2、定制模块:也称为定制ip核,是具有特定功能的可移植的电子单元。
23.3、时序路径:是指设计中数据信号传播过程中所经过的逻辑路径。
24.4、后端自动布局布线流程:是指通过自动布局和自动布线来完成芯片版图绘制的流程,实现自动布局布线的工具例如synopsys的icc2、cadence的innovus等。需说明的是,为便于描述,本技术在下文及附图中,也将后端自动布局布线流程记载pr flow。
25.5、后端试跑流程:也记为try run flow,是指在完成芯片的后端布局方案之后,对芯片进行试运行,以得到初始的时序报告。
26.6、时序报告:也称为时序路径报告或路径时序报告,其用于指出芯片由哪些组成模块组成以及各组成模块之间的时序关系。
27.7、后仿真:指将干扰参数考虑在内后进行的仿真。
28.下面结合附图具体介绍本发明的实施例。
29.图1是本发明实施例的时序路径修正方法的流程示意图。如图1所示,该时序路径修正方法包括以下步骤:步骤s100,针对阻挡了时序路径的定制模块,判断该定制模块是否符合布线通道扩展要求。
30.步骤s200,在确定所述定制模块符合所述布线通道扩展要求的情况下,修改所述定制模块的物理信息以在所述定制模块内部扩展布线通道,使得对应的时序路径经所述布线通道贯穿所述定制模块。
31.通过步骤s100和步骤s200,本发明实施例通过在定制模块内部扩展布线通道,使得对应的时序路径经所述布线通道贯穿所述定制模块,改变了传统的绕过模块边缘以及添加驱动单元的布线方式。
32.进一步地,易知执行步骤s100和步骤s200的前提是存在时序违反且定制模块符合布线通道扩展要求。因此,在优选的实施例中,在执行步骤s100之前,本发明实施例的时序路径修正方法还可以包括以下的步骤s10和步骤s20(图中未示出):步骤s10,判断当前是否存在时序违反,若是,则判断所述时序违反对应的时序路径是否被所述定制模块阻挡。
33.步骤s20,若确定所述时序路径被所述定制模块阻挡,则执行步骤s100。
34.更为优选地,对于步骤10,判断当所述时序违反对应的时序路径是否被所述定制模块阻挡可以包括以下的步骤s101和步骤s102(图中未示出):
步骤s101,当芯片设计进入后端自动布局布线流程时,在所有的芯片组成模块的布局已经确定的情况下,执行后端试跑流程,以生成时序报告。
35.步骤s102,根据所述时序报告确定时序违反情况。
36.其中时序违反情况包括:是否存在时序违反;以及若存在时序违反,该时序违反对应的时序路径又是否被定制模块阻挡。
37.在此,通过分析时序报告中示出的各组成模块之间的时序关系,能够获取时序违反的产生原因。这对于本领域技术人员是常规的,在此不再进行赘述。
38.需说明的是,若确定当前存在所述时序违反,但该时序违反所对应的时序路径不是被所述定制模块阻挡时,而是由其他模块阻挡时,则针对引起所述时序违反的芯片组成模块,采用常规手段解决时序违反问题,即:增加驱动单元或者扩大该芯片组成模块的尺寸以修正所述时序违反。
39.因此,在执行步骤s100之前,需要先利用时序报告确定是否存在时序违反问题以及对应的时序路径是否被定制模块阻挡,若不存在此类问题,则可以继续后端自动布局布线流程。而在后端自动布局布线流程中,对于定制模块之外的其他芯片组成模块引起的时序违反,能够自动通过增加驱动单元或者扩大相应模块的尺寸来进行修正。
40.进一步地,针对步骤s100,其中布线通道扩展要求可以包括:关于所述定制模块内部的空间和布线资源的要求;以及关于所述定制模块在增加干扰参数情况下的性能要求。其中,所述干扰参数可以根据实际情况进行选择,但本发明实施例主要是针对添加的布线通道设置干扰参数。
41.基于所确定的布线通道扩展要求,图2是优选的实施例中判断定制模块是否符合布线通道扩展要求的流程示意图。即,如图2所示,对应于所述步骤s100中,判断定制模块是否符合布线通道扩展要求可以包括以下步骤:步骤s110,检测所述定制模块的物理信息,以确定所述定制模块内部是否有足够的空间和布线资源进行布线通道的扩展。
42.其中,所述物理信息包括定制模块的完整版图数据,其示出了定制模块中的空间和布线资源。另外,关于布线通道的尺寸,可根据标准单元的尺寸来进行确定,一般要求其可供标准单元放置和布线。在此,标准单元的版图尺寸由相应后端设计工具的标准单元库确定。
43.步骤s120,对所述定制模块进行增加干扰参数情况下的后仿真,以判断在所述定制模块内部进行布线通道的扩展是否影响该定制模块的性能。
44.在步骤s120中,所述干扰参数与所述布线通道相关联,即增加的干扰参数是因添加了布线通道而产生的相关干扰参数。
45.对于步骤s120,举例而言,针对布线通道设定干扰参数,再进入定制模块的仿真环境,对其进行增加干扰参数的后仿真,通过实际仿真结果来确认,在定制模块内放置标准单元和布线对模块本身的功能和性能是否造成实质性影响。如果通过后仿真能够确定存在的影响不足以对模块的性能造成影响,或者影响些微可忽略,即可进入下一步设计。
46.进一步地,针对上述的步骤s200,图3是优选的实施例中修改定制模块的物理信息的流程示意图。如图3所示,可以包括以下步骤:步骤s210,根据所述定制模块的可利用空间和布线资源的实际尺寸,修改所述定
制模块的库交换文件中的物理层阻挡信息。
47.其中,所述物理信息包括有库交换文件,而库交换文件中记录了关于定制模块的物理层阻挡信息,通过修改物理层阻挡信息,可改变定制模块的阻挡层区域。
48.步骤s220,基于修改后的库交换文件,更新初始设计数据。
49.步骤s230,基于更新后的设计数据,重新划分所述定制模块的阻挡层区域,以得到至少一条布线通道。
50.其中,所述重新划分所述定制模块的阻挡层区域包括:确定所述阻挡层区域的尺寸和数量。举例而言,重新划分的各个阻挡层区域的面积减小且相应的区域数量也减小,以便于能配合产生一条需要的布线通道。
51.步骤s240,利用所述布线通道进行重新布线,以使得对应的时序路径经所述布线通道贯穿所述定制模块。
52.即,重新布线以使得原本被定制模块阻挡的时序路径能够贯穿所述定制模块,从而既保证不产生时序违反,又避免绕过模块而需要的过多走线。
53.在优选的实施例中,在执行完步骤s100和步骤s200之后,还可以包括以下步骤:步骤s300(图中未示出),执行后端自动布局布线流程,以生成对应的时序报告,并基于所述时序报告确定时序违反修正情况。
54.举例而言,若确定时序违反未被完全修正,可对步骤s100

s200进行迭代,以继续修正时序违反。
55.综上,本发明实施例的方法在贯穿时序路径将要跨越的定制模块上,通过创建布线通道,引导时序路径从定制模块内部贯穿,可以充分利用定制模块内部的空间,有效地缩短了时序路径的长度,降低了寄生影响,减少了因寄生现象引起的时序违反,从而精简了驱动单元插入的数量,为芯片面积和功耗的优化提供了有利的条件,有助于实现低功耗混合信号设计。
56.下面结合一个应用示例来具体介绍本发明实施例的时序路径修正方法在芯片设计中的应用。该应用示例针对微控制单元(mcu)项目芯片后端,其在时序路径被模拟数字转换器(adc)定制模块阻挡时实施上述的时序路径修正方法。图4是该应用示例中进行时序路径修正的流程示意图。如图4所示,可以包括以下步骤:步骤s401,检查当前的时序报告,并判断是否有定制模块阻挡时序路径且出现时序违反,若是,则执行步骤s401,否则继续后端自动布局布线流程(pr flow)。
57.举例而言,当芯片设计进入后端自动布局布线流程(pr flow)之后,待所有的模块(包括定制模块)的布局都已经确定,就可以通过后端试跑流程(try run flow,包括排布标准单元、进行时钟树综合分析等)生成时序报告,然后阅读生成的时序报告来检查具体的时序问题。如果此时存在有路径的时序违反,而且时序违反的路径跨越了定制模块,即可以进行下一步的判断,否则继续进行正常的后端自动布局布线流程来继续后续后端设计。在正常的后端自动布局布线流程中,若有芯片组成模块引起了时序违反,则通过增加驱动单元或者扩大原有单元尺寸来修正时序违反。
58.步骤s402,检查阻挡了时序路径的定制模块的物理信息,判断是否进行可以布线通道的挖掘,若是,则执行步骤s403,否则继续后端自动布局布线流程。
59.举例而言,通过查看定制模块的完整版图数据来判断该定制模块内目前是否存在
可供标准单元放置和布线的空间。如果此时确定存在有可供利用的空间和布线资源,即可进入下一步的判断;如果没有可供利用的空间和布线资源,则继续后端自动布局布线流程,通过增加驱动单元或者扩大原有单元尺寸来修正时序违反。
60.步骤s403,对定制模块进行增加干扰参数的后仿真,判断时序路径的插入是否对定制模块造成实质性影响,若是,则寻找影响尽可能小的通道空间,若否,则继续步骤s404。
61.举例而言,进入定制模块的仿真环境,对其进行增加干扰参数的后仿真,通过实际仿真结果来确认,在定制模块内放置标准单元和布线对定制模块本身的功能和性能是否造成实质性影响。如果通过后仿真能够确认存在的影响不足以对模块的性能造成影响,或者影响些微可忽略,即可进入下一步设计,否则寻找影响尽可能小的通道空间以进入下一步设计。
62.步骤s404,修改定制模块的物理信息。
63.举例而言,在上述的前置判断均已完成之后,需要对定制模块进行物理信息的修改,可包括:在定制模块的库交换文件中,按照可利用的空间和布线资源的实际尺寸,修改模块的物理层阻挡信息。
64.步骤s405,基于修改后的物理信息更新后端设计数据。
65.举例而言,将修改后的库文件导入后端设计工具(如synopsys的icc2),更新初始设计数据,以在布局阶段重新划分定制模块附近区域的布线阻挡层尺寸和数量。
66.步骤s406,重新进行后端自动布局布线流程,并检查时序报告。
67.举例而言,通过检查时序报告,确认时序违反是否确实被修正,若未被修正,可重复上述相关步骤,或者依靠后端自动布局布线流程进行修正。
68.通过上述步骤s401至步骤s406,该应用示例完成了对微控制单元项目芯片后端中由模拟数字转换器模块引起的时序违反的修正问题。图5(a)和图5(b)分别示出了该应用示例中实施相应时序路径修正方法之前和之后的版图示意图。通过图5(a)和图5(b)的对比可知,采用本发明实施例的时序路径修正方法,图5(b)引导时序路径从定制模块内部贯穿,相比于图5(a)绕过模块边缘布线的常规手段,有效地缩短了贯穿信号的走线长度,并避免了走线过长带来的时序违反,实现了对走线资源和芯片面积的优化,有助于实现低功耗混合信号设计。
69.本发明另一实施例还提供了一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述实施例中所述的时序路径修正方法。
70.本发明另一实施例还提供了一种芯片结构,包括多个组成模块,且所述组成模块中的至少一者是定制模块。并且,参考图5(b),所述定制模块的内部扩展具有布线通道,使得被该定制模块阻挡的时序路径能够经所述布线通道而贯穿该定制模块。举例而言,所述芯片结构可以是图5(b)所示出的具有模拟数字转换器定制模块的微控制单元。另外,该芯片结构是基于上述实施例所描述的时序路径修正方法所设计的芯片结构。
71.本发明另一实施例还提供了一种用于芯片结构的时序路径修正装置,所述芯片结构包括至少一个定制模块,且所述时序路径修正装置包括存储器和处理器,所述存储器上存储有程序,所述处理器用于运行所述程序以执行根据上述实施例所述的时序路径修正方法。
72.其中,所述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以
设置一个或以上,通过调整内核参数来执行上述实施例所述的时序路径修正方法。
73.其中,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
74.本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行根据本发明任意实施例所述的时序路径修正方法。
75.本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现执行根据本发明任意实施例所述的时序路径修正方法。本文中的电子设备可以是服务器、pc、pad、手机等。
76.本发明实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有根据本发明任意实施例所述的时序路径修正方法步骤的程序。
77.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
78.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
79.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
80.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
81.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
82.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
83.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除
可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
84.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
85.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献