静态电压降修复方法、装置、设备及存储介质与流程

文档序号:23383929发布日期:2020-12-22 13:48阅读:219来源:国知局
静态电压降修复方法、装置、设备及存储介质与流程

本发明涉及集成电路技术领域,具体而言,涉及一种静态电压降修复方法、装置、设备及存储介质。



背景技术:

集成电路(integratedcircuit,ic)中各电路单元的电压降(voltage(ir)-drop,ir-drop)过大,对整个集成电路的电路性能和功能,以及稳定性等都至关重要。

在集成电路的开发设计过程中,对集成电路中的电压降修复格外重要。然而,目前的技术中,仅仅是粗暴的将存在电压降违反的电路单元直接移动至单元密度较低的区域。如此粗暴的方式进行电路单元的移动,可能会使得集成电路中电路单元所在时序路径的时序检查产生时序违例。

因此,现有的方案无法兼顾电压降和电路的时序问题,从而严重影响集成电路的开发设计进度。



技术实现要素:

本发明的目的在于,针对上述现有技术中的不足,提供一种静态电压降修复方法、装置、设备及存储介质,以实现电压降和电路时序问题的兼顾。

为实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种静态电压降修复方法,包括:

获取集成电路的静态电压降分析结果,其中,所述静态电压降分析结果包括:所述集成电路中每个电路单元的静态电压降参数;

根据所述每个电路单元的静态电压降参数,以及所述集成电路签核的静态电压降违反标准,判断所述集成电路中的电压降违反单元;

根据所述集成电路中所述电压降违反单元的布局信息,确定所述电压降违反单元的电压降违反原因;

根据所述电压降违反原因,采用预设的所述电压降违反原因对应的电压降修复策略,对所述集成电路进行布局布线调整,以对所述电压降违反单元的静态电压降进行修复。

可选的,所述布局信息包括:至少一种布局信息;所述根据所述集成电路中所述电压降违反单元的布局信息,确定所述电压降违反单元的电压降违反原因,包括:

根据每种布局信息,确定所述电压降违反原因是否包括:所述每种布局信息不满足预设条件。

可选的,所述至少一种布局信息包括:所述电压降违反单元所在预设区域内的单元密度;

所述根据每种布局信息,确定所述电压降违反原因是否为:所述每种布局信息不满足预设条件,包括:

判断所述单元密度是否大于或等于预设的密度阈值;

若所述单元密度大于或等于所述密度阈值,则确定所述电压降违反原因包括:所述单元密度大于或等于所述密度阈值。

可选的,所述根据所述电压降违反原因,采用预设的所述电压降违反原因对应的电压降修复策略,对所述集成电路进行布局布线调整,包括:

计算所述预设区域内每个电路单元所在时序路径的建立时间时序裕量;

将所述预设区域内时序路径上建立时间时序裕量为正值的电路单元,就近移动至所述集成电路中单元密度小于所述密度阈值的区域内。

可选的,所述至少一种布局信息还包括:所述电压降违反单元驱动的负载电容;

所述根据每种布局信息,确定所述电压降违反原因是否为:所述每种布局信息不满足预设条件,包括:

判断所述负载电容是否大于或等于预设的电容阈值;

若所述负载电容大于或等于所述电容阈值,则确定所述电压降违反原因包括:所述负载电容大于或等于所述电容阈值。

可选的,所述根据所述电压降违反原因,采用预设的所述电压降违反原因对应的电压降修复策略,对所述集成电路进行布局布线调整,包括:

确定所述负载电容大于或等于所述电容阈值的负载原因;

根据所述负载电容大于或等于所述电容阈值的负载原因,采用所述负载原因对应的调整方式,对所述集成电路进行布局布线调整。

可选的,若所述负载原因为:所述电压降违反单元所驱动的负载数量大于或等于预设数量阈值;所述根据所述负载电容大于或等于所述电容阈值的负载原因,采用所述负载原因对应的调整方式,对所述集成电路进行布局布线调整,包括:

在所述集成电路中对所述电压降违反单元进行复制,使得复制电路单元与原电压降违反单元均分驱动负载数量。

可选的,若所述负载原因为:所述电压降违反单元与负载之间的驱动线的长度大于或等于预设长度阈值;所述根据所述负载电容大于或等于所述电容阈值的负载原因,采用所述负载原因对应的调整方式,对所述集成电路进行布局布线调整,包括:

在长度大于或等于所述预设长度阈值的驱动线上,插入缓冲器。

可选的,所述方法还包括:

根据所述电压降违反单元的静态电压降参数,在预设的布局布线工具中所述集成电路的界面中对所述电压降违反单元进行标识显示,不同的静态电压降参数可对应不同的显示方式。

可选的,所述根据所述电压降违反单元的静态电压降参数,在预设的布局布线工具中所述集成电路的界面中对所述电压降违反单元进行标识显示,包括:

根据所述电压降违反单元的静态电压降参数,在所述布局布线工具中所述集成电路的界面中,将所述电压降违反单元中不同静态电压降参数的电路单元以不同的颜色或者,同一颜色的不同亮度进行显示。

第二方面,本申请实施例还提供一种静态电压降修复装置,包括:

获取模块,用于获取集成电路的静态电压降分析结果;其中,所述静态电压降分析结果包括:所述集成电路中每个电路单元的静态电压降参数;

判断模块,用于根据所述每个电路单元的静态电压降参数,以及所述集成电路签核的静态电压降违反标准,判断所述集成电路中电压降违反单元;

确定模块,用于根据所述集成电路中所述电压降违反单元的布局信息,确定所述电压降违反单元的电压降违反原因;

调整模块,用于根据所述电压降违反原因,采用预设的所述电压降违反原因对应的电压降修复策略,对所述集成电路进行布局布线调整,以对所述电压降违反单元的静态电压降进行修复。

第三方面,本申请实施例还提供一种计算机设备,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所提供的任一静态电压降修复方法。

第四方面,本申请实施例还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面所提供的任一静态电压降修复方法。

本申请的有益效果是:

本申请所提供的静态电压降修复方法、装置、设备及存储介质中,可通过获取集成电路的静态电压降分析结果,该静态电压降分析结果包括:该集成电路中每个电路单元的静态电压降参数,根据该每个电路单元的静态电压降参数,以及集成电路签核的静态电压降违反标准,判断该集成电路中的电压降违反单元,并根据该集成电路中电压降违反单元的布局信息,确定该电压降违反单元的电压降违反原因,继而根据该电压降违反原因,采用预设的该电压降违反原因对应的电压降修复策略,对该集成电路进行布局布线调整,以对该电压降违反单元的静态电压降进行修复。该实施例提供的静态电压降修复方法,由于是通过对电压降违反原因进行分析,根据分析得到的电压降违反原因对集成电路进行布局布线调整,使得对集成电路的布局布线调整更合理,保证了布局调整后电路单元的静态电压降的修复效果,同时还可保证布局布线调整对电路时序的影响,实现静态电压降和电路时序问题的兼顾,从而提高集成电路的开发设计进度。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的静态电压降修复方法的流程示意图一;

图2为本申请实施例提供的静态电压降修复方法的流程示意图二;

图3为本申请实施例提供的静态电压降修复方法的流程示意图三;

图4为本申请实施例提供的静态电压降修复方法的流程示意图四;

图5为本申请实施例提供的静态电压降修复方法的流程示意图五;

图6为本申请实施例提供的静态电压降修复装置的示意图;

图7为本申请实施例提供的计算机设备的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

本申请实施例所提供的静态电压降修复方法,可应用于集成电路的开发设计过程,其可由安装并运行有电压降修复程序的计算机设备,通过运行该电压降修复程序进行实现。需要指出的是,该电压降修复程序例如可以作为布局布线工具的插件进行运行,也可作为布局布线工具之外的其他程序进行运行。计算机设备可以为笔记本电脑、台式电脑、平板电脑等任一形态的具有计算处理功能的终端设备,也可以为服务器,如本地服务器或者云端服务器等其他产品形态。

在执行本申请实施例提供的静态电压降修复方法的过程中,可通过分析电压降违反单元的电压降违反原因,继而根据分析得到的该电压降违反原因,可使得对采用预设的该电压降违反原因对应的电压降修复策略,对该集成电路进行布局布线调整,可使得对集成电路的布局布线调整更合理,保证了布局布线调整后电路单元的静态电压降的修复效果,同时还可保证布局布线调整对电路时序的影响,实现静态电压降和电路时序问题的兼顾,从而提高集成电路的开发设计进度。

如下结合附图对本申请实施例所提供的静态电压降修复方法的多个实现方式进行示例解释说明。

图1为本申请实施例提供的静态电压降修复方法的流程示意图一。图1所示,该静态电压降修复方法可包括:

s101、获取集成电路的静态电压降分析结果,该静态电压降分析结果包括:该集成电路中每个电路单元的静态电压降参数。

在可能的实现方式中,可从预设的电压降分析工具获取该集成电路的静态电压降分析结果。也就是说,在执行该s101之前,可采用预设的电压降分析工具,对该集成电路进行静态电压降分析,得到该静态电压降分析结果。示例的,在具体的实现过程中,可在电压降分析工具中导入该集成电路的布局图,继而使得该电压降分析工具可基于该集成电路的布局图,对该集成电路进行静态电压降分析。如上提及的电压降分析工具,可以为预设的布局布线工具中的预先集成的电压降分析工具,也可以为与该布局布线工具相互独立的另一分析工具。

在其他可能的实现方式中,也可采用其他的方式获取该静态电压降分析结果,例如,将在电压降修复应用中集成预设的电压降分析工具,通过该集成的电压降分析工具,对该集成电路进行静态电压降分析,从而得到该静态电压降分析结果。

需要指出的是,上述获得静态电压降分析结果的实现方式,仅为一些可能的实现方式,还可采用其他的实现获取,本申请实施例不对此进行限制。

可选的,该静态电压降分析结果可包括:每个电路单元的电压降参数,每个电路单元的电源网络名、每个电路单元的理想供电电压、该每个电路单元在集成电路的布局区域内的坐标及该每个电路单元的名称等信息。每个电路单元的理想供电电压可以为该每个电路单元的预设标准电压。

s102、根据每个电路单元的静态电压降参数,以及该集成电路签核的静态电压降违反标准判断集成电路中的电压降违反单元。

在可能的实现过程中,可根据静态电压降分析结果结合集成电路签核的静态电压降违反标准得到集成电路中电压降违反单元。该电压降违反单元的数量可以为一个,也可以为多个。其中,该预设违反阈值可以为该静态电压降违反标准中所指定的违反阈值,以16nm工艺的集成电路为例,其静态电压降违反标准中,该预设违反阈值可以为3%。当然,对于其它工艺的集成电路,其静态电压降违反标准所指定的预设违反阈值也可以为其它的数值,本申请不作限制。

在确定该电压降违反单元之后,可将该电压降违反单元中各电路单元的名称等信息,以列表的形式存储,得到电压降违反单元列表。

每个电路单元的静态电压降违反值可用于表征每个电路单元的静态电压降相对于对应的预设标准电压的违反程度。电路单元的静态电压降违反值越大,用于表征该电路单元的静态电压降违反程度越高;反之,电路单元的静态电压降违反值越小,用于表征该电路单元的静态电压降违反程度越低。

示例的,以16nm工艺的集成电路签核的静态电压降违反标准为例,若电路单元的静态电压降值在预设标准电压3%以上,即电路单元的静态电压降违反值大于3%,则可确定该电路单元存在静态电压降违反,则确定该电路单元为电压降违反单元;反之,若电路单元的静态电压降违反值小于或等于3%,则可确定该电路单元不存在静态电压降违反。这里的3%为该集成电路签核的静态电压降违反标准中所指定的违反值。

s103、根据该集成电路中该电压降违反单元的布局信息,确定该电压降违反单元的电压降违反原因。

在找出该电压降违反单元的情况下,便可从该集成电路的布局图或者,该集成电路的布局信息中,获取该电压降违反单元的布局信息。该电压降违反单元的布局信息,可以为该集成电路与该电压降违反单元相关联的布局信息。

在可能的实现示例中,可根据该布局信息,以及预设的布局信息对应的电压降违反原因分析方法进行分析,确定该电压降违反单元的电压降违反原因是否是:该布局信息不满足预设条件。

在实际的应用中,该布局信息可包括:至少一种布局信息,每种布局信息可以为该电压降违反单元在该集成电路中一种维度的布局信息,例如,其所在预设区域内的单元密度,或者,其所驱动的负载电容等。当然,也可以为与该电压降违反单元相关联的其他维度的布局信息,本申请不对此进行限制。

若该布局信息包括:至少一种布局信息,相应的,如上所示的s103中根据该集成电路中该电压降违反单元的布局信息,确定该电压降违反单元的电压降违反原因,可以包括:

根据每种布局信息,确定该电压降违反原因是否包括:该每种布局信息不满足预设条件。

不同的布局信息可对应不同的原因分析方法。在实现示例中,可根据该每种布局信息,采用该每种布局信息对应的原因分析方法,确定该每种布局信息是否满足对应的预设条件。若存在布局信息不满足对应的预设条件,则可确定该电压降违反原因包括:该每种布局信息不满足预设条件。

s104、根据该电压降违反原因,采用预设的该电压降违反原因对应的电压降修复策略,对该集成电路进行布局布线调整,以对该电压降违反单元的静态电压降进行修复。

不同的电压降违反原因可对应不同的电压降修复策略。在可能的实现方式中,可根据该电压降违反原因,从预设的违反原因与修复策略的对应关系表中,确定该电压降违反原因对应的电压降修复策略。电压降违反原因对应的电压降修复策略可包括:该电压降违反原因对应的布局布线调整方式。在确定该电压降违反原因对应的电压降修复策略的情况下,便可根据该电压降违反原因对应的电压降修复策略中所指示的布局布线调整方式,对该集成电路进行对应的布局布线调整。

本申请实施例提供的静态电压降修复方法,可通过获取集成电路的静态电压降分析结果,该静态电压降分析结果包括:该集成电路中每个电路单元的静态电压降参数,根据该每个电路单元的静态电压降参数,以及该集成电路签核的静态电压降违反标准,判断该多个电路单元中的电压降违反单元,并根据该集成电路中该电压降违反单元的布局信息,确定该电压降违反单元的电压降违反原因,继而根据该电压降违反原因,采用预设的该电压降违反原因对应的电压降修复策略,对该集成电路进行布局布线调整,以对该电压降违反单元的静态电压降进行修复。该实施例提供的静态电压降修复方法,由于是通过对电压降违反原因进行分析,根据分析得到的电压降违反原因对集成电路进行布局布线调整,使得对集成电路的布局布线调整更合理,保证了布局布线调整后电路单元的静态电压降的修复效果,同时还可保证布局布线调整对电路时序的影响,实现静态电压降和电路时序问题的兼顾,从而提高集成电路的开发设计进度。

在上述图1所提供的静态电压降修复方法的基础上,本申请实施例还提供一种基于单元密度为布局信息,进行电压降违反原因分析的实现方法。图2为本申请实施例提供的静态电压降修复方法的流程示意图二。如图2所示,若该至少一种布局信息包括:该电压降违反单元所在预设区域内的单元密度,则上述方法中根据每种布局信息,确定该电压降违反原因是否包括:该每种布局信息不满足预设条件可包括:

s201、判断该单元密度是否大于或等于预设的密度阈值。

在可能的实现方式中,电压降违反单元所在预设区域的单元密度可以采用如下方式进行计算得到:

计算该电压降违反单元的一对电源线和地线所围的最大区域的面积,通过在该最大区域内填充filler(填充单元)的方法,计算得到该最大区域内未布放电路单元的区域面积为该最大区域中未利用区域面积;

计算该最大区域的面积减去该未利用区域面积,得到该最大区域中的利用区域面积;计算该利用区域面积和所述最大区域的面积的比值,即为该单元密度。

需要指出的是,仅一对电源线和地线所围的最大区域即为该电压降违反单元所在的预设区域。

在其它的一些实现方式中,电压降违反单元所在预设区域可以为集成电路所在的布局范围内,以该电压违反单元为中心的预设范围内的区域。该单元密度例如可以为该电压降违反单元所在预设区域的电路单元的数量,与该预设区域的面积大小的比值,当然,也可以为其他的表示形式,本申请不作限制。该预设范围的大小可以为用户预先设定,或者,可基于用户在该集成电路的布局区域内的选取操作进行确定。

当然,还可采用其他的计算方式得到该单元密度,上述仅为可能实现方式的示例,对于其他的计算方式,本申请实施例不对此进行限制。

s202、若该单元密度大于或等于该密度阈值,则确定该电压降违反原因包括:该单元密度大于或等于该密度阈值。

若根据上述s201的判断结果,确定该单元密度大于或等于该密度阈值,则可确定该电压降违反单元所在预设区域内的电源密度过大,并确定该单元密度大于或等于该密度阈值,为影响电压降违反的一类原因,即该电压降违反原因包括该单元密度大于或等于该密度阈值。

反之,若根据上述s201的判断结果,确定该单元密度小于该密度阈值,则确定该单元密度并非影响该电压降违反单元的电压降违反的原因。因此,还需根据其他的布局信息,确定该电压降违反原是否包括其他原因不满足预设条件。当然,各布局信息的判断可同时,也可先后执行,本申请不作限制。

该实施例以布局信息中的单元密度对电压降违反原因进行分析,可使得电压降违反原因的分析更准确,以便于后续采用对应的电压降修复策略进行布局布线调整,保证布局布线调整的合理性,以实现静态电压降和电路时序的兼顾。

在上述图2所提供的一种电压降违反原因分析的基础上,本申请实施例还提供一种电压降违反原因包括:单元密度大于或等于密度阈值的情况下,进行布局布线调整的可能实现方式。图3为本申请实施例提供的静态电压降修复方法的流程示意图三。如图3所示,如上所示的s104中根据该电压降违反原因,采用预设的该电压降违反原因对应的电压降修复策略,对该集成电路进行布局布线调整可以包括:

s301、计算该预设区域内每个电路单元所在时序路径的建立时间时序裕量。

在可能的实现方式中,可采用预设的建立时间时序裕量分析工具,对该预设区域内的每个电路单元所在时序路径进行建立时间时序裕量分析,得到该预设区域内的每个电路单元所在时序路径的建立时间时序裕量。该建立时间时序裕量分析工具例如可以为布局布线工具中集成的分析工具,也可以为布线工具之外的分析工具,也可以为执行该静态电压降修复方法的静态电压降修复程序中集成的分析工具,本申请实施例不对此限制。

s302、将该预设区域内时序路径上建立时间时序裕量为正值的电路单元,就近移动至该集成电路中单元密度小于该密度阈值的区域内。

在一种可能的实现方式中,在获取该预设区域内每个电路单元所在时序路径的建立时间时序裕量的情况下,可先确定该预设区域内该电压降违反单元所在时序路径的建立时间时序裕量为正值,还是负值。

若该电压降违反单元所在时序路径的建立时间时序裕量为正值,则可将该电压降违反单元就近移动至该集成电路中单元密度较低的区域,即单元密度小于该密度阈值的区域内。

若该电压降违反单元所在时序路径的建立时间时序裕量为负值,则确定该预设区域内其他电路单元所在时序路径的建立时间时裕量为正值还是负值,若该预设区域内时序路径上存在建立时间裕量为正值的电路单元,则将该预设区域内时序路径上建立时间裕量为正值的电路单元,就近移动至该集成电路中单元密度小于密度阈值的区域内。

该实现方式中,先确定该电压降违反单元所在时序路径的建立时间时序裕量为正值,还是负值,可减小计算量,尽可能快的将其移动至单元密度较低的区域,而无需对所有的电路单元的建立时间裕量均进行判断分析。

在另一种可能的实现方式中,在获取该每个电路单元所在时序路径的建立时间时序裕量的情况下,还可确定该每个电路单元所在时序路径的建立时间时序裕量为正值,还是负值;若该预设区域内存在时序路径上建立时间时序裕量为正值的电路单元,则将建立时间时序裕量为正值的电路单元,就近移动至该集成电路中单元密度小于密度阈值的区域内。

然而,采用该另一种可能的实现方式,通过确定该每个电路单元所在时序路径的建立时间时序裕量为正值,还是负值,可保证对该预设区域内电路单元的覆盖更全面,有效保证移动的电路单元更准确,从而保证通过移动电路单元进行静态电压降修复的效果。

当然,也可采用其它的方式,确定该预设区域内,时序路径上建立时间时序裕量为正值的电路单元,上述仅为一种可能的实现方式,本申请实施例不对此限制。

需要指出的是,上述就近移动指的是,移动至目标电路单元的距离最近,且,单元密度小于该密度阈值的区域。其中,该目标电路单元可以为上述该预设区域内时序路径上建立时间时序裕量为正值的电路单元。

本申请实施例所提供的静态电压降修复方法,可在确定电压降违反原因包括:单元密度大于或等于密度阈值的情况下,基于该电压降违反单元所在预设区域内的电路单元所在时序路径的建立时间时序裕量的正负,确定该预设区域内时序路径上建立时间时序裕量为正值的电路单元为待移动的目标电路单元,并将其就近移动至该集成电路中单元密度小于该密度阈值的区域内,实现了集成电路中电路单元的驱散,避免电路单元过于集中、密度较大导致的静态电压降违反;同时,考虑了电路单元所在时序路径的建立时间时序裕量确定待移动的目标电路单元,可有效保证移动电路单元后,集成电路的静态电压降和时序问题的兼顾,提高了静态电压降修复效果。

在上述图1所提供的静态电压降修复方法的基础上,本申请实施例还提供一种基于驱动的负载电容作为布局信息,进行电压降违反原因分析的实现方法。图4为本申请实施例提供的静态电压降修复方法的流程示意图四。如图4所示,若该至少一种布局信息包括:电压降违反单元驱动的负载电容,则上述方法中根据每种布局信息,确定该电压降违反原因是否包括:该每种布局信息不满足预设条件,可包括:

s401、判断该负载电容是否大于或等于预设的电容阈值。

若电压降违反单元存在至少一个,在该实施例中,负载电容指的是,每个电压降违反单元所驱动的负载电容。该每个电压降违反单元驱动的负载电容指的是,每个电压降违反单元所驱动的所有负载容抗之和。在该实施例的实现示例中,可从集成电路的布局布线工具中,获取每个电压降违反单元所驱动的负载电容。

s402、若该负载电容大于或等于该电容阈值,则确定该电压降违反原因包括:该负载电容大于或等于该电容阈值。

通过执行上述s401得到该负载电容和电容阈值的大小判断结果,若该负载电容大于或等于该电容阈值,则可确定该电压降违反单元驱动的负载电容较大,如此,便可确定该电压降违反原因为:该负载电容大于或等于该电容阈值。

反之,若该负载电容小于该电容阈值,则可确定该电压降违反单元驱动的负载电容较小,其并非影响该电压降违反单元造成电压降违反的原因。因此,还需根据其他的布局信息,确定该电压降违反原是否包括其他原因不满足预设条件。当然,各布局信息的判断可同时,也可先后执行,本申请不作限制。

该实施例以布局信息中的负载电容对电压降违反原因进行分析,可使得电压降违反原因的分析更准确,以便于后续采用对应的电压降修复策略进行布局布线调整,保证布局布线调整的合理性,以实现静态电压降和电路时序的兼顾。

在上述图4所提供的电压降违反原因分析的基础上,本申请实施例还提供一种电压降违反原因包括:负载电容大于或等于该电容阈值的情况下,进行布局调整的可能实现方式。图5为本申请实施例提供的静态电压降修复方法的流程示意图五。如图5所示,如上所示的s104中根据该电压降违反原因,采用预设的该电压降违反原因对应的电压降修复策略,对该集成电路进行布局布线调整可以包括:

s501、确定该负载电容大于或等于该电容阈值的负载原因。

造成负载电容大于或等于该电容阈值的原因可能是多种,因此,在确定电压降违反原因包括负载电容大于或等于该电容阈值的情况下,还可根据布局信息中,与负载电容关联的负载信息,进一步进行原因分析,确定负载原因。

例如,可根据该负载信息中的负载数量,确定该负载数量是否大于或等于该预设数量阈值,若是,则可确定该负载原因为:负载数量大于或等于预设数量阈值,反之,则可确定该负载原因并非是负载数量所影响的。

在其他的示例中,还可根据该负载信息中的电压降违反单元与负载之间的驱动线的长度,确定该驱动线的长度是否大于或等于预设数量阈值,若是,则可确定该负载原因为:驱动线的长度大于或等于预设长度阈值,反之,则可确定该负载原因并非是负载驱动线所影响的。

如上为确定的负载原因的可能示例,本申请实施例所提供的负载原因不限于上述,还可以为其它与负载相关的原因,本申请实施例不对次限制。

s502、根据该负载电容大于或等于该电容阈值的负载原因,采用该负载原因对应的调整方式,对该集成电路进行布局布线调整。

不同的负载原因可能对应不同的调整方式,在确定该负载原因的情况下,可根据该负载原因,确定该负载原因对应的调整方式,并采用该负载原因对应的调整方式,对该集成电路进行布局调整,以降低该电压降违反单元驱动的负载电容。

在一种示例中,若该负载原因为:该电压降违反单元所驱动的负载数量大于或等于预设数量阈值;如上所示的s502中根据该负载电容大于或等于该电容阈值的负载原因,采用该负载原因对应的调整方式,对该集成电路进行布局布线调整,可包括:

在该集成电路中对该电压降违反单元进行复制,使得复制的电路单元与原电压降违反单元均分驱动负载数量。

一旦确定负载原因为负载数量大于或等于预设数量阈值,便可对该电压降违反单元进行复制,复制电路单元后,还对复制后的电路单元与负载进行逻辑连接,使得复制的电路单元与原电压降违反单元均分驱动负载数量,从而降低电压降违反单元所驱动的负载电容。

复制的电路单元与原电压降违反单元均分驱动负载数量指的是:复制后的与原电压降违反单元类型相同的每个电路单元所驱动的负载数量相同。

电压降违反单元的复制可以是通过该静态电压降修复程序中的脚本自动实现,上述对电压降违反单元的复制流程例如为如下所示:

计算被复制单元的扇出单元数量相对预先设定的扇出阈值的倍数n,将被复制单元的扇出单元分成n组,使得每个复制单元挂载该扇出阈值的扇出单元,还将每个复制单元与扇出单元数量阈值的扇出单元进行逻辑连接。如此,可使得,复制之后,复制的电路单元和原电压降违反单元中每个单元驱动的负载数量为初始扇出单元数量的n分之一。

其中,被复制单元指的是,电压降违反单元。若存在至少一个电压降违反单元,这里的被复制单元指的是,每个电压降违反单元。

被复制单元的扇出单元数量可用于表示每个电压降违反单元所驱动的负载数量,通过执行电压降违反单元的复制后,使得复制的电路单元和原电压降违反单元中每个电路单元均挂载扇出阈值的扇出单元,从而使得每个电路单元驱动的负载数量相同,实现了驱动负载数量的均分。

在另一种示例中,若该负载原因为:该电压降违反单元与负载之间的驱动线的长度大于或等于预设长度阈值;如上所示的s502中根据该负载电容大于或等于该电容阈值的负载原因,采用该负载原因对应的调整方式,对该集成电路进行布局布线调整,可包括:

在长度大于或等于该预设长度阈值的驱动线上,插入缓冲器(buffer)。

若负载原因为驱动线的长度大于或等于预设长度阈值,可在长度大于或等于该预设长度阈值的驱动线上插入预设类型的缓冲器,降低了电压降违反单元与负载之间的驱动线上的线负载电容,从而降低该电压降违反单元所驱动的负载电容。

示例的,在可能的实现方式中,可在长度大于或等于该预设长度阈值的驱动线,即长线上距离负载预设距离的位置处,插入一个缓冲器。该预设距离例如可以为该驱动线总长度的预设百分比,如驱动线总长度的60%,即驱动线总长度的0.6倍。当然,在其它的示例,该预设百分比的值还可以为其他的数值,上述仅为示例,本申请实施例不作限制。

本实施例提供的静态电压降修复方法,可在确定电压降违反原因包括:负载电容大于或等于电容阈值的情况下,通过分析具体的负载原因,根据分析得到的负载原因,如负载数量或者负载驱动线的长度等,分别采用对应的调制方式进行布局布线调整,降低电压降违反单元驱动的负载电容,无需移动电路单元,不存在电路单元的建立时间时序问题,提高了静态电压降修复效果。

在上述任一实施例的基础上,本申请实施例提供的静态电压降修复方法还可包括:

根据该电压降违反单元的静态电压降参数,在预设的布局布线工具中该集成电路的界面中对该电压降违反单元进行标识显示,不同的静态电压降参数可对应不同的显示方式。

该集成电路的界面可以为该集成电路的布局界面。例如,可根据该电压降违反单元的静态电压降参数的数值大小,在该布局布线工具中该集成电路的界面中分别对该电压降违反单元进行标识显示,以使得用户可基于界面显示获知该电压降违反单元的电压降情况。

用户在通过界面显示,获知该电压降违反单元的电压降情况下,可通过界面操作选择,电压降违反单元所在的预设区域的范围,便于执行上述预设区域内的单元密度、以及该预设区域内每个电路单元所在时序路径的建立时间时序裕量的计算。

在可能的实现示例中,例如可根据该电压降违反单元的静态电压降参数,在该布局布线工具中该集成电路的界面中,将该电压降违反单元中不同静态电压降参数的电路单元以不同的颜色,或者,同一颜色的不同亮度进行显示。

在该布局布线工具中该集成电路的界面中,该电压降违反单元中不同静态电压降参数的电路单元分别进行标识显示,可使得布局布线工具上电压降违反单元的静态电压降情况展示更清楚。

下述对用以执行的本申请所提供的静态电压降修复方法的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。

图6为本申请实施例提供的静态电压降修复装置的示意图,如图6所示,该静态电压降修复装置600可包括:

获取模块601,用于获取集成电路的静态电压降分析结果,其中,该静态电压降分析结果包括:该集成电路中多个电路单元的静态电压降参数。

判断模块602,用于根据该每个电路单元的静态电压降参数,以及集成电路签核的静态电压降违反标准,判断该集成电路中的电压降违反单元。

确定模块603,用于根据该集成电路中该电压降违反单元的布局信息,确定该电压降违反单元的电压降违反原因。

调整模块604,用于根据该电压降违反原因,采用预设的该电压降违反原因对应的电压降修复策略,对该集成电路进行布局布线调整,以对该电压降违反单元的静态电压降进行修复。

可选的,该布局信息包括:至少一种布局信息;确定模块603,具体用于:根据每种布局信息,确定该电压降违反原因是否包括:该每种布局信息不满足预设条件。

可选的,该至少一种布局信息包括:该电压降违反单元所在预设区域内的单元密度;确定模块603,具体用于判断该单元密度是否大于或等于预设的密度阈值;若该单元密度大于或等于该密度阈值,则确定该电压降违反原因包括:该单元密度大于或等于该密度阈值。

可选的,调整模块604,具体用于计算该预设区域内每个电路单元所在时序路径的建立时间时序裕量;将该预设区域内时序路径上建立时间时序裕量为正值的电路单元,就近移动至该集成电路中单元密度小于该密度阈值的区域内。

可选的,该至少一种布局信息还包括:该电压降违反单元驱动的负载电容;

确定模块603,具体用于判断该负载电容是否大于或等于预设的电容阈值;若该负载电容大于或等于该电容阈值,则确定该电压降违反原因包括:该负载电容大于或等于该电容阈值。

可选的,调整模块604,具体用于确定该负载电容大于或等于该电容阈值的负载原因;根据该负载电容大于或等于该电容阈值的负载原因,采用该负载原因对应的调整方式,对该集成电路进行布局布线调整。

可选的,若该负载原因为:该电压降违反单元所驱动的负载数量大于或等于预设数量阈值;调整模块604,具体用于在该集成电路中对该电压降违反单元进行复制,使得复制的电路单元与原电压降违反单元均分驱动负载数量。

可选的,若该负载原因为:该电压降违反单元与负载之间的驱动线的长度大于或等于预设长度阈值;调整模块604,具体用于在长度大于或等于该预设长度阈值的驱动线上,插入缓冲器。

可选的,静态电压降修复装置600还可包括:

显示控制模块,用于根据该电压降违反单元的静态电压降参数,在预设的布局布线工具中该集成电路的界面中对该电压降违反单元进行标识显示,不同的静态电压降参数可对应不同的显示方式。

可选的,显示控制模块,具体用于根据该电压降违反单元的静态电压降参数,在该布局布线工具中该集成电路的界面中,将该电压降违反单元中不同静态电压降参数的电路单元以不同的颜色或者,同一颜色的不同亮度进行显示。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

图7为本申请实施例提供的计算机设备的示意图,该计算机设备可以为具备计算处理功能的计算设备或服务器。

该计算机设备700包括:存储器701、处理器702。存储器701和处理器702通过总线连接。

存储器701用于存储程序,处理器702调用存储器701存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1