CN112131810A - 建立时间违例修复方法、装置、电子设备及可读存储介质 - Google Patents

建立时间违例修复方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN112131810A
CN112131810A CN202011054356.5A CN202011054356A CN112131810A CN 112131810 A CN112131810 A CN 112131810A CN 202011054356 A CN202011054356 A CN 202011054356A CN 112131810 A CN112131810 A CN 112131810A
Authority
CN
China
Prior art keywords
unit
driving capability
list
type
delay
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.)
Granted
Application number
CN202011054356.5A
Other languages
English (en)
Other versions
CN112131810B (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.)
Tianjin Feiteng Information Technology Co ltd
Original Assignee
Tianjin Feiteng Information 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 Tianjin Feiteng Information Technology Co ltd filed Critical Tianjin Feiteng Information Technology Co ltd
Priority to CN202011054356.5A priority Critical patent/CN112131810B/zh
Publication of CN112131810A publication Critical patent/CN112131810A/zh
Application granted granted Critical
Publication of CN112131810B publication Critical patent/CN112131810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/06Structured ASICs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请提供了一种建立时间违例修复方法、装置、电子设备及可读存储介质,该方法包括:获取待修复的时序路径上的单元延时列表;按照上述单元延时信息以及预设区间长度,将上述单元延时列表划分为至少一个子列表;获取各上述子列表中各单元对应的不同驱动能力类型列表;根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路。该方法在实现了修复建立时间违例的同时也兼顾了芯片面积的增加。且,在将单元延时列表划分为多个子列表之后,每个子列表分别对应于一个延时区间,可以针对不同的延时区间使用相匹配的驱动能力类型调整方式,从而保证调整修复的准确性。

Description

建立时间违例修复方法、装置、电子设备及可读存储介质
技术领域
本申请涉及集成电路技术领域,具体而言,涉及一种建立时间违例修复方法、装置、电子设备及可读存储介质。
背景技术
随着大规模以及超大规模集成电路的不断运用,工艺尺寸不断缩小,主流工艺已经达到40纳米,甚至向十几纳米的量级发展,从而使得集成电路芯片的设计面临更高的挑战。在集成电路芯片的设计过程中,时序问题是最受关注的问题之一。无论是从性能角度还是稳定性角度考虑,均要求设计的芯片具有较好的时序收敛效果。由于在芯片物理布局布线阶段和芯片时序验收阶段,对时序路径的分析通常采用不同的工具完成,而不同的工具对时序分析的算法通常不同。因此,可能出现在布局布线工具中时序收敛的路径,在时序分析工具中出现时序违例。时序违例可能是由保持时间不足或建立时间不足造成的,相应地称为保持时间违例和建立时间违例。因此,有必要进行时序违例的修复。
对于建立时间违例的修复,传统的方法包括针对数据通路上单元延时大的单元手工替换成一个大尺寸的单元类型用于增加其驱动力。
但是,传统的手工替换单元方法不但效率低下,而且由于单元类型选择的随意性导致最终的时序修复浪费大量芯片面积,增加了芯片的功耗开销,无法满足芯片低功耗的设计要求。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种建立时间违例修复方法、装置、电子设备及可读存储介质,以解决现有技术中修复建立时间违例效率低,且导致芯片面积和功耗开销显著增加的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请一实施例提供了一种建立时间违例修复方法,该方法包括:
获取待修复的时序路径上的单元延时列表,所述单元延时列表包括:单元实例化名称、单元类型以及单元延时信息,所述单元延时列表中各单元的输入线延时小于第一预设阈值,且各单元的单元延时大于第二预设阈值。
按照所述单元延时信息以及预设区间长度,将所述单元延时列表划分为至少一个子列表。
获取各所述子列表中各单元对应的不同驱动能力类型列表。
根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路。
一种可能的实现方式中,所述根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路,包括:
若第一单元的驱动能力类型列表中存在比所述第一单元当前的驱动能力大第一预设值的目标驱动能力类型,则将所述第一单元当前的驱动能力类型调整为所述目标驱动能力类型。
所述第一单元为所述子列表中的任一单元,所述第一预设值与所述第一单元所在子列表的延时区间具有预设的对应关系。
一种可能的实现方式中,所述根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路,包括:
若第一单元的驱动能力类型列表中不存在比所述第一单元当前的驱动能力大第一预设值的目标驱动能力类型,则根据所述第一单元的阈值类型和沟道长度,调整所述第一单元的阈值类型和沟道长度。
一种可能的实现方式中,所述根据所述第一单元的阈值类型和沟道长度,调整所述第一单元的阈值类型和沟道长度,包括:
若所述第一单元的阈值类型不为极低电压阈值的阈值类型,且,所述第一单元的沟道长度大于预设长度,则将所述第一单元的阈值类型调整为所述极低电压阈值的阈值类型,且,将所述第一单元的沟道长度调整为所述预设长度。
一种可能的实现方式中,所述获取各所述子列表中各单元对应的不同驱动能力类型列表,包括:
运行第一预设脚本,得到各单元对应的不同驱动能力类型列表。
一种可能的实现方式中,所述获取待修复的时序路径上的单元延时列表,包括:
运行第二预设脚本,得到所述时序电路上的单元延时列表。
一种可能的实现方式中,所述根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路,包括:
生成用于调整各单元的驱动能力类型的工程改变命令。
调用时序分析工具执行所述工程改变命令,得到修复后的时序电路。
第二方面,本申请提供一种建立时间违例修复装置,该装置包括:
第一获取模块,用于获取待修复的时序路径上的单元延时列表,所述单元延时列表包括:单元实例化名称、单元类型以及单元延时信息,所述单元延时列表中各单元的输入线延时小于第一预设阈值,且各单元的单元延时大于第二预设阈值。
划分模块,用于按照所述单元延时信息以及预设区间长度,将所述单元延时列表划分为至少一个子列表。
第二获取模块,用于获取各所述子列表中各单元对应的不同驱动能力类型列表。
调整模块,用于根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路。
一种可能的实现方式中,所述调整模块具体用于:
若第一单元的驱动能力类型列表中存在比所述第一单元当前的驱动能力大第一预设值的目标驱动能力类型,则将所述第一单元当前的驱动能力类型调整为所述目标驱动能力类型。
所述第一单元为所述子列表中的任一单元,所述第一预设值与所述第一单元所在子列表的延时区间具有预设的对应关系。
一种可能的实现方式中,所述调整模块具体用于:
若第一单元的驱动能力类型列表中不存在比所述第一单元当前的驱动能力大第一预设值的目标驱动能力类型,则根据所述第一单元的阈值类型和沟道长度,调整所述第一单元的阈值类型和沟道长度。
一种可能的实现方式中,所述调整模块具体用于:
若所述第一单元的阈值类型不为极低电压阈值的阈值类型,且,所述第一单元的沟道长度大于预设长度,则将所述第一单元的阈值类型调整为所述极低电压阈值的阈值类型,且,将所述第一单元的沟道长度调整为所述预设长度。
一种可能的实现方式中,所述第二获取模块具体用于:
运行第一预设脚本,得到各单元对应的不同驱动能力类型列表。
一种可能的实现方式中,所述第一获取模块具体用于:
运行第二预设脚本,得到所述时序电路上的单元延时列表。
一种可能的实现方式中,所述调整模块具体用于:
生成用于调整各单元的驱动能力类型的工程改变命令。
调用时序分析工具执行所述工程改变命令,得到修复后的时序电路。
第三方面,本申请提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如上述第一方面所述的方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面所述的方法的步骤。
本申请的有益效果是:
本申请获取待修复的时序路径上的单元延时列表,该单元延时列表包括:单元实例化名称、单元类型以及单元延时信息,该单元延时列表中各单元的输入线延时小于第一预设阈值,且各单元的单元延时大于第二预设阈值;按照上述单元延时信息以及预设区间长度,将上述单元延时列表划分为至少一个子列表;获取各上述子列表中各单元对应的不同驱动能力类型列表;根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路。在该方法中,在获取到输入线延时小于第一预设阈值,并且单元延时大于第二预设阈值的延时列表之后,将单元延时列表按照预设的区间长度划分为多个子列表,针对各子列表,基于各子列表中各单元的驱动能力类型列表以及当前实际使用的驱动能力类型,可以调整各单元的驱动能力类型,通过调整单元的驱动能力类型,可以降低单元的延时,进而可以实现整个时序电路的建立时间违例的修复。该方法提升了传统时序工程改变命令(Engineering Change Order,简称ECO)的效率,加速了时序收敛的进度。另外,该方法在将单元延时列表划分为多个子列表之后,每个子列表分别对应于一个延时区间,使得可以针对不同的延时区间使用相匹配的驱动能力类型调整方式,从而保证调整修复的准确性。因此不会造成芯片面积和功耗的额外浪费,满足了芯片设计中低功耗的要求。
另外,每个子列表分别对应一个特定的延时区间,相应的可以选择与该延时区间相匹配的驱动能力类型,从而保证调整后的驱动能力类型与延时需求更加匹配。
另外,通过运行第一预设脚本,能够得到一个单元对应的完整的驱动能力类型列表,从而使得后续基于该驱动能力类型列表可以为单元选择最适合的驱动能力类型并用于时序电路的修复。
并且,通过运行第二预设脚本,能够得到整个时序电路上单元输入线延时小于第一预设阈值并且单元延时大于第二预设阈值的单元并组成单元延时列表,从而使得后续可以对该单元延时列表中的各单元进行驱动能力类型的调整,从而实现时序电路的建立时间违例的修复。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一建立时间违例修复方法的流程示意图;
图2为本申请实施例提供的另一建立时间违例修复方法的流程示意图;
图3为本申请实施例提供的又一建立时间违例修复方法的流程示意图;
图4为本申请实施例提供的一种建立时间违例修复装置;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
传统的修复建立时间违例的方法造成芯片面积和功耗的额外开销,显然,这种处理方法无法满足芯片设计中低功耗的要求。
本申请实施例旨在解决上述的问题。
需要说明的是,本申请实施例所描述的建立时间违例,也可以成为建立时间违反,或者,也可以称为建立时间违背,三者所表示的含义相同。本申请统一使用“建立时间违例”这一描述方式。
在介绍本申请的技术方案之前,首先对本申请涉及的术语进行解释说明。
1、时序收敛
时序收敛是指芯片时序路径的真实延时时间满足设计者对该条路径要求的延时时间。
2、时序违例
时序违例,是指芯片中时序路径的真实延时时间不满足设计者对这条路径要求的延时时间。
时序违例包括如下的保持时间违例以及保持时间违例。
3、保持时间违例
保持时间(Hold Time,简称HT),是指在寄存器的时钟信号上升沿到来之后,数据保持稳定不变的时段。
保持时间违例,是指在时序电路上,相邻的两个寄存器之间的组合逻辑路径延迟过小,导致前一个寄存器的数据在时钟边沿有效期的后段存入了后一个寄存器中,从而导致逻辑的混乱。
4、建立时间违例
建立时间,是指在寄存器的时钟信号上升沿到来之前,数据达到稳定不变的时刻与时钟信号上升沿之间的时段。
建立时间违例,是指在时序电路上,相邻的两个寄存器之间的组合逻辑路径的延迟较大,导致在时钟上升边沿到来的时候,有效数据还未到达,从而引起数据的错误。
本申请旨在解决建立时间违例的修复。
5、单元
本申请实施例所描述的单元,可以指时序电路中的基本逻辑门,例如:与门、或门、非门等。
图1为本申请实施例提供的一建立时间违例修复方法的流程示意图,该方法的执行主体可以为具有计算处理能力的电子设备,例如服务器、台式电脑等。如图1所示,该方法包括:
S101、获取待修复的时序路径上的单元延时列表,该单元延时列表包括:单元实例化名称、单元类型以及单元延时信息,该单元延时列表中各单元的输入线延时小于第一预设阈值,且各单元的单元延时大于第二预设阈值。
可选的,上述第一预设阈值和上述第二预设阈值可以由用户预先进行设置。
一种示例中,上述第一预设阈值例如可以为20ps,上述第二预设阈值例如可以为30ps。
其中,单元的输入线是指单元(逻辑门)输入端的连接线。单元的延时包括输入线的延时以及单元延时两种因素。
可选的,可以使用静态时序分析工具获得建立时间违例路径报告。并基于该建立时间违例路径报告,获得上述单元延时列表。
静态时序分析工具是芯片时序验收阶段所使用的工具,利用该静态时序分析工具,能够分析出集成电路中存在建立时间违例的时序电路,并输出建立时间违例路径报告。进而,可以基于该建立时间违例路径报告,获得上述单元延时列表。示例性的,上述单元延时列表包括单元输入线延时在20ps以下,单元延时在30ps以上的单元信息,具体包括:单元实例化名称、单元类型以及单元延时信息。其中,单元实例化名称用于标识一个独一无二的电路节点。单元类型用于标识单元的类型。单元延时信息可以包括单元延时的具体值以及单元的输入延时的具体值。
S102、按照上述单元延时信息以及预设区间长度,将上述单元延时列表划分为至少一个子列表。
可选的,上述预设区间长度可以有用户预先进行设置。示例性的,上述预设区间长度可以为10ps。
以上述预设区间长度为10ps为例,可以首先将上述单元延时列表按照单元延时的值进行从小到大的排序,进而,以10ps作为区间长度划分出若干子列表。
示例性的,上述单元延时列表按照单元延时的值进行从小到大排序后的结果为31ps(单元1)、35ps(单元2)、42ps(单元3)、49ps(单元4)、52ps(单元5),则以10ps作为区间长度划分后可以得到如下三个子列表:
子列表1:包括单元1和单元2的信息。
子列表2:包括单元3和单元4的信息。
子列表3:包括单元5的信息。
在将单元延时列表划分为上述各子列表之后,每个子列表分别对应于一个延时区间,后续可以针对不同的延时区间使用相匹配的驱动能力调整方式,从而保证调整修复的准确性。
S103、获取各上述子列表中各单元对应的不同驱动能力类型列表。
单元的驱动能力类型可以表示一个单元能够驱动多少个在后信号的跳变时间。单元对应的所有驱动能力类型可以组成单元的驱动能力类型列表。
在获取子列表中各单元的驱动能力类型列表时,可以按照单元类型来获取单元的驱动能力类型列表。按照单元类型获取单元的驱动能力类型列表的具体方式,将在下述实施例中详细说明。
值得说明的是,本步骤以及下述的步骤S104针对各子列表中的各单元均需要执行,从而可以完成整个建立时间违例路径的修复。
S104、根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路。
可选的,各单元的驱动能力类型列表代表了单元能够支持的驱动能力类型,各单元当前的驱动能力类型,代表了单元当前时间使用的驱动能力类型,基于这两者,可以对单元进行驱动能力类型的调整,以达到降低单元延时的效果。
综上,本实施例提供的建立时间违例修复的方法,包括:获取待修复的时序路径上的单元延时列表,该单元延时列表包括:单元实例化名称、单元类型以及单元延时信息,该单元延时列表中各单元的输入线延时小于第一预设阈值,且各单元的单元延时大于第二预设阈值;按照上述单元延时信息以及预设区间长度,将上述单元延时列表划分为至少一个子列表;获取各上述子列表中各单元对应的不同驱动能力类型列表;根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路。在该方法中,在获取到输入线延时小于第一预设阈值,并且单元延时大于第二预设阈值的延时列表之后,将单元延时列表按照预设的区间长度划分为多个子列表,针对各子列表,基于各子列表中各单元的驱动能力类型列表以及当前实际使用的驱动能力类型,可以调整各单元的驱动能力类型,通过调整单元的驱动能力类型,可以降低单元的延时,进而可以实现整个时序电路的建立时间违例的修复。该方法提升了传统时序ECO的效率,加速了时序收敛的进度。另外,本实施例在将单元延时列表划分为多个子列表之后,每个子列表分别对应于一个延时区间,使得可以针对不同的延时区间使用相匹配的驱动能力类型调整方式,从而保证调整修复的准确性。因此不会造成芯片面积和功耗的额外浪费,满足了芯片设计中低功耗的要求。
具体实施过程中,上述步骤S101-S104的修复过程可以循环迭代执行。每轮修复迭代中,使用上述步骤S101-S104的方法可以完成各单元的一次驱动能力更新,进而得到本轮修复后的时序电路。
可选的,每轮修复迭代中执行上述步骤S104时,可以按照如下的过程执行:
首先,生成用于调整各单元的驱动能力类型的ECO,进而,调用时序分析工具执行该ECO,得到修复后的时序电路。
其中,上述的ECO可以包括逻辑ECO,也可以包括物理ECO。逻辑ECO用于改变时序电路的逻辑功能,物理ECO用于改变时序电路的物理实现以满足各种约束要求。
可选的,该时序分析工具可以指前述的静态时序分析工具。
在调用时序分析工具执行上述ECO修复时序电路后,可以继续调用时序分析工具的获得建立时间违例路径报告,如果建立时间违例路径报告中仍然存在输入线延时小于第一预设阈值,且单元延时大于第二预设阈值的单元,则进入下一轮的修复迭代,执行步骤S101-S104。
值得说明的是,以下实施例中各可选方案均为一轮修复迭代内的方案,在每轮修复迭代中均可以使用。
以下,对上述步骤S104中根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路的可选方式进行说明。
值得说明的是,以下实施例中所涉及的第一单元可以指上述各子列表中的任一单元。
一种可选的方式中,如果第一单元的驱动能力类型列表中存在比第一单元当前的驱动能力大第一预设值的目标驱动能力类型,则将第一单元当前的驱动能力类型调整为该目标驱动能力类型。
可选的,上述第一预设值可以由用户预先进行设置。上述第一预设值与第一单元所在子列表的延时区间具有预设的对应关系。
假设上述第一预设值为n,上述第二预设阈值为delay2,上述预设区间长度为delta,则将上述单元延时列表划分为多个子列表之后,第i个子列表所包括的单元延时均在如下范围内:
(delay2,delay2+i×delta)
其中,i为大于等于1的整数。
对于子列表中的第一单元,如果该第一单元的驱动能力类型列表中存在比第一单元当前使用的驱动能力大n的目标驱动能力类型,则将第一单元的驱动能力类型调整为该目标驱动能力类型。调整之后,第一单元的驱动能力更大,相应的,单元延时减少。
作为一种可选的方式,上述第一预设值与第一单元所在子列表的延时区间具有预设的对应关系。示例性的,当子列表为30ps-40ps这一延时区间时,第一预设值可以设置为1,表示将第一单元的驱动能力加上1,作为目标驱动能力类型。当子列表为40ps-50ps这一延时区间时,第一预设值可以设置为2,表示将第一单元的驱动能力加上2,作为目标驱动能力类型。当子列表为50ps-60ps这一延时区间时,第一预设值可以设置为3,表示将第一单元的驱动能力加上3,作为目标驱动能力类型。依次类推。因此,延时越大,则选择越大的驱动能力类型。
每个子列表分别对应一个特定的延时区间,相应的可以选择与该延时区间相匹配的驱动能力类型,从而保证调整后的驱动能力类型与延时需求更加匹配。
另一种可选的方式中,如果第一单元的驱动能力类型列表中不存在比第一单元当前的驱动能力大第一预设值的目标驱动能力类型,则根据第一单元的阈值类型和沟道长度,调整第一单元的阈值类型和沟道长度。
在该可选方式中,可以仅基于阈值类型,或者仅基于沟道长度,或者,也可以同时基于阈值类型和沟道长度调整第一单元的阈值类型和/或沟道长度。
以下对同时基于阈值类型和沟道长度调整第一单元的阈值类型和沟道长度的方法进行说明。
可选的,如果第一单元的阈值类型不为极低电压阈值(Ultra Low VoltageThreshold,简称ULVT)的阈值类型,且,第一单元的沟道长度大于预设长度,则将第一单元的阈值类型调整为ULVT阈值类型,且,将第一单元的沟道长度调整为该预设长度。
其中,上述预设长度可以由用户预先进行设置。
通过将第一单元的阈值类型调整为ULVT阈值类型,并将第一单元的沟道长度调整为上述预设长度,能够达到提升第一单元驱动能力,降低第一单元的单元延时的效果。
如前文所述,步骤S103中获取各单元对应的不同驱动能力类型列表时,可以按照单元类型来获取各单元对应的不同驱动能力类型列表。以下对这种方式进行说明。
图2为本申请实施例提供的另一建立时间违例修复方法的流程示意图,如图2所示,上述步骤S103中获取各单元对应的不同驱动能力类型列表的具体执行过程包括:
S201、运行第一预设脚本,得到各单元对应的不同驱动能力类型列表。
可选的,上述第一预设脚本可以为预先使用工具命令语言(Tool CommandLanguage,简称TCL)编写的程序。上述第一预设脚本被执行后,针对一个单元,能够识别出该单元的单元类型,并且可以得到该单元类型能够支持的驱动能力类型,进而,可以将该单元类型能够支持的所有驱动能力类型组成列表,以得到一个单元对应的不同驱动能力类型列表。
本实施例中,通过运行第一预设脚本,能够得到一个单元对应的完整的驱动能力类型列表,从而使得后续基于该驱动能力类型列表可以为单元选择最适合的驱动能力类型并用于时序电路的修复。
作为一种可选的实施方式,图3为本申请实施例提供的又一建立时间违例修复方法的流程示意图,如图3所示,上述步骤S101的一种可选方式包括:
S301、运行第二预设脚本,得到上述时序电路上的单元延时列表,该单元延时列表包括:单元名称、单元类型以及单元延时信息,该单元延时列表中各单元的输入线延时小于第一预设阈值,且各单元的单元延时大于第二预设阈值。
可选的,上述第二预设脚本可以为预先使用TCL编写的程序。上述第二预设脚本被执行后,能够针对基于静态时序分析工具所得到的建立时间违例路径报告,分析出建立时间违例路径报告中单元输入线延时小于第一预设阈值并且单元延时大于第二预设阈值的单元,将符合该条件的单元的信息组成单元延时列表输出。所输出的每个单元的信息包括:单元实例化名称、单元类型以及单元延时信息。这些信息的具体含义已在前述实施例中说明,可以参照前述实施例的描述,此处不再赘述。
本实施例中,通过运行第二预设脚本,能够得到整个时序电路上单元输入线延时小于第一预设阈值并且单元延时大于第二预设阈值的单元并组成单元延时列表,从而使得后续可以对该单元延时列表中的各单元进行驱动能力类型的调整,从而实现时序电路的建立时间违例的修复。
基于同一发明构思,本申请实施例中还提供了与建立时间违例修复方法对应的建立时间违例修复装置,由于本申请实施例中的装置解决问题的原理以及技术效果与本申请实施例上述建立时间违例修复方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
图4为本申请实施例提供的一种建立时间违例修复装置,如图4所示,该装置包括:
第一获取模块401,用于获取待修复的时序路径上的单元延时列表,单元延时列表包括:单元实例化名称、单元类型以及单元延时信息,单元延时列表中各单元的输入线延时小于第一预设阈值,且各单元的单元延时大于第二预设阈值。
划分模块402,用于按照单元延时信息以及预设区间长度,将单元延时列表划分为至少一个子列表。
第二获取模块403,用于获取各子列表中各单元对应的不同驱动能力类型列表。
调整模块404,用于根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路。
在一种可选的方式中,调整模块404具体用于:
若第一单元的驱动能力类型列表中存在比第一单元当前的驱动能力大第一预设值的目标驱动能力类型,则将第一单元当前的驱动能力类型调整为目标驱动能力类型。
第一单元为子列表中的任一单元,第一预设值与第一单元所在子列表的延时区间具有预设的对应关系。
在一种可选的方式中,调整模块404具体用于:
若第一单元的驱动能力类型列表中不存在比第一单元当前的驱动能力大第一预设值的目标驱动能力类型,则根据第一单元的阈值类型和沟道长度,调整第一单元的阈值类型和沟道长度。
在一种可选的方式中,调整模块404具体用于:
若第一单元的阈值类型不为极低电压阈值的阈值类型,且,第一单元的沟道长度大于预设长度,则将第一单元的阈值类型调整为极低电压阈值的阈值类型,且,将第一单元的沟道长度调整为预设长度。
在一种可选的方式中,第二获取模块403具体用于:
运行第一预设脚本,得到各单元对应的不同驱动能力类型列表。
在一种可选的方式中,第一获取模块401具体用于:
运行第二预设脚本,得到时序电路上的单元延时列表。
在一种可选的方式中,调整模块404块具体用于:
生成用于调整各单元的驱动能力类型的工程改变命令。
调用时序分析工具执行工程改变命令,得到修复后的时序电路。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
需要说明的是,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-on-a-chip,简称SOC)的形式实现。
图5为本申请实施例提供的一种电子设备的结构示意图,该电子设备可包括:处理器501、存储器502。
其中,存储器502存储有程序代码,当程序代码被处理器501执行时,使得处理器501执行本申请上述方法实施例中的各种步骤。
处理器501可以是通用处理器,例如CPU、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.一种建立时间违例修复方法,其特征在于,包括:
获取待修复的时序路径上的单元延时列表,所述单元延时列表包括:单元实例化名称、单元类型以及单元延时信息,所述单元延时列表中各单元的输入线延时小于第一预设阈值,且各单元的单元延时大于第二预设阈值;
按照所述单元延时信息以及预设区间长度,将所述单元延时列表划分为至少一个子列表;
获取各所述子列表中各单元对应的不同驱动能力类型列表;
根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路。
2.根据权利要求1所述的方法,其特征在于,所述根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路,包括:
若第一单元的驱动能力类型列表中存在比所述第一单元当前的驱动能力大第一预设值的目标驱动能力类型,则将所述第一单元当前的驱动能力类型调整为所述目标驱动能力类型;
所述第一单元为所述子列表中的任一单元,所述第一预设值与所述第一单元所在子列表的延时区间具有预设的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路,包括:
若第一单元的驱动能力列表中不存在比所述第一单元当前的驱动能力大第一预设值的目标驱动能力类型,则根据所述第一单元当前的阈值类型和沟道长度,调整所述第一单元的阈值类型和沟道长度。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一单元的阈值类型和沟道长度,调整所述第一单元的阈值类型和沟道长度,包括:
若所述第一单元的阈值类型不为极低电压阈值的阈值类型,且,所述第一单元的沟道长度大于预设长度,则将所述第一单元的阈值类型调整为所述极低电压阈值的阈值类型,且,将所述第一单元的沟道长度调整为所述预设长度。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取各所述子列表中各单元对应的不同驱动能力类型列表,包括:
运行第一预设脚本,得到各单元对应的不同驱动能力类型列表。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述获取待修复的时序路径上的单元延时列表,包括:
运行第二预设脚本,得到所述时序电路上的单元延时列表。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路,包括:
生成用于调整各单元的驱动能力类型的工程改变命令;
调用时序分析工具执行所述工程改变命令,得到修复后的时序电路。
8.一种建立时间违例修复装置,其特征在于,包括:
第一获取模块,用于获取待修复的时序路径上的单元延时列表,所述单元延时列表包括:单元实例化名称、单元类型以及单元延时信息,所述单元延时列表中各单元的输入线延时小于第一预设阈值,且各单元的单元延时大于第二预设阈值;
划分模块,用于按照所述单元延时信息以及预设区间长度,将所述单元延时列表划分为至少一个子列表;
第二获取模块,用于获取各所述子列表中各单元对应的不同驱动能力类型列表;
调整模块,用于根据各单元的驱动能力类型列表以及各单元当前的驱动能力类型,调整各单元的驱动能力类型,得到修复后的时序电路。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至7任一所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的方法的步骤。
CN202011054356.5A 2020-09-29 2020-09-29 建立时间违例修复方法、装置、电子设备及可读存储介质 Active CN112131810B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011054356.5A CN112131810B (zh) 2020-09-29 2020-09-29 建立时间违例修复方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011054356.5A CN112131810B (zh) 2020-09-29 2020-09-29 建立时间违例修复方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112131810A true CN112131810A (zh) 2020-12-25
CN112131810B CN112131810B (zh) 2024-03-22

Family

ID=73843202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011054356.5A Active CN112131810B (zh) 2020-09-29 2020-09-29 建立时间违例修复方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112131810B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114861578A (zh) * 2022-07-05 2022-08-05 飞腾信息技术有限公司 保持时间违例修复方法、装置、设备及存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060048084A1 (en) * 2004-08-27 2006-03-02 Barney C A System and method for repairing timing violations
CN102265570A (zh) * 2008-12-24 2011-11-30 高通股份有限公司 对信道衰落稳健的时序获取方法及系统
US20120221995A1 (en) * 2011-02-24 2012-08-30 Bruce Zahn System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same
CN103226632A (zh) * 2013-03-29 2013-07-31 龙芯中科技术有限公司 阈值电压器件的替换方法及装置
CN104881507A (zh) * 2014-02-28 2015-09-02 国际商业机器公司 修复电路中的保持时间违例的方法和装置
CN108009055A (zh) * 2016-10-31 2018-05-08 深圳市中兴微电子技术有限公司 一种修复保持时间违例的方法和装置
CN108170956A (zh) * 2017-12-28 2018-06-15 佛山中科芯蔚科技有限公司 一种保持时间的时序签核方法及装置
CN108983870A (zh) * 2017-05-31 2018-12-11 深圳市中兴微电子技术有限公司 一种时间修复方法和装置
CN109388813A (zh) * 2017-08-03 2019-02-26 深圳市中兴微电子技术有限公司 一种构建用于集成电路设计的时钟树的方法及装置
CN109783956A (zh) * 2019-01-23 2019-05-21 中国人民解放军国防科技大学 基于区域划分的最大跳变时间违例修复方法及系统
CN109791783A (zh) * 2016-09-16 2019-05-21 美光科技公司 在非易失性子阵列中存储存储器阵列操作信息
CN110111020A (zh) * 2019-05-16 2019-08-09 天津飞腾信息技术有限公司 基于自动评估建立时间余量的保持时间修复方法、系统及介质
CN110442884A (zh) * 2018-05-02 2019-11-12 中国科学院微电子研究所 一种亚阈值数字时序电路的优化方法及装置
CN110457849A (zh) * 2019-08-19 2019-11-15 中国科学院微电子研究所 一种可配置的数字集成电路设计方法
CN110598235A (zh) * 2019-06-25 2019-12-20 眸芯科技(上海)有限公司 芯片设计中修复时序违例的方法及系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060048084A1 (en) * 2004-08-27 2006-03-02 Barney C A System and method for repairing timing violations
CN102265570A (zh) * 2008-12-24 2011-11-30 高通股份有限公司 对信道衰落稳健的时序获取方法及系统
US20120221995A1 (en) * 2011-02-24 2012-08-30 Bruce Zahn System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same
CN103226632A (zh) * 2013-03-29 2013-07-31 龙芯中科技术有限公司 阈值电压器件的替换方法及装置
CN104881507A (zh) * 2014-02-28 2015-09-02 国际商业机器公司 修复电路中的保持时间违例的方法和装置
CN109791783A (zh) * 2016-09-16 2019-05-21 美光科技公司 在非易失性子阵列中存储存储器阵列操作信息
CN108009055A (zh) * 2016-10-31 2018-05-08 深圳市中兴微电子技术有限公司 一种修复保持时间违例的方法和装置
CN108983870A (zh) * 2017-05-31 2018-12-11 深圳市中兴微电子技术有限公司 一种时间修复方法和装置
CN109388813A (zh) * 2017-08-03 2019-02-26 深圳市中兴微电子技术有限公司 一种构建用于集成电路设计的时钟树的方法及装置
CN108170956A (zh) * 2017-12-28 2018-06-15 佛山中科芯蔚科技有限公司 一种保持时间的时序签核方法及装置
CN110442884A (zh) * 2018-05-02 2019-11-12 中国科学院微电子研究所 一种亚阈值数字时序电路的优化方法及装置
CN109783956A (zh) * 2019-01-23 2019-05-21 中国人民解放军国防科技大学 基于区域划分的最大跳变时间违例修复方法及系统
CN110111020A (zh) * 2019-05-16 2019-08-09 天津飞腾信息技术有限公司 基于自动评估建立时间余量的保持时间修复方法、系统及介质
CN110598235A (zh) * 2019-06-25 2019-12-20 眸芯科技(上海)有限公司 芯片设计中修复时序违例的方法及系统
CN110457849A (zh) * 2019-08-19 2019-11-15 中国科学院微电子研究所 一种可配置的数字集成电路设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
莫凡 等: "修复保持时间违例的多种缓冲单元评估和选择", 第十六届计算机工程与工艺年会置第二届微处理器技术论坛论文集, pages 164 - 169 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114861578A (zh) * 2022-07-05 2022-08-05 飞腾信息技术有限公司 保持时间违例修复方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112131810B (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
US11468218B2 (en) Information theoretic subgraph caching
US7831945B2 (en) Manufacturing a clock distribution network in an integrated circuit
CN114861578B (zh) 保持时间违例修复方法、装置、设备及存储介质
CN108228754A (zh) 流程生成方法及终端设备
CN113868992A (zh) 集成电路的时序约束方法、装置、电子设备及芯片
CN115577675A (zh) 时序违例修复方法、装置、服务器及可读存储介质
CN112131810A (zh) 建立时间违例修复方法、装置、电子设备及可读存储介质
CN116702664B (zh) 时间违例修复方法、装置、计算机设备及存储介质
US9542523B2 (en) Method and apparatus for selecting data path elements for cloning
US7634748B2 (en) Special engineering change order cells
CN112597718B (zh) 集成电路设计的验证方法、验证装置以及存储介质
CN113723045A (zh) 数字集成电路的设计方法
Srivastava et al. Interdependent latch setup/hold time characterization via Euler-Newton curve tracing on state-transition equations
US20160055287A1 (en) Method for decomposing a hardware model and for accelerating formal verification of the hardware model
GB2532284A (en) Method to reduce dynamic clock skew and/or slew in an electronic circuit
US8281263B2 (en) Propagating design tolerances to shape tolerances for lithography
CN110515604A (zh) 验证环境的可执行程序文件的获取方法及装置
CN102436525B (zh) 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法
CN115617673A (zh) 基于Cosim平台的测试用例配置的方法及应用
CN112580278B (zh) 逻辑电路的优化方法、优化装置以及存储介质
US7865348B1 (en) Performance of circuit simulation with multiple combinations of input stimuli
CN114781319A (zh) 基于金属线的时序修复方法、设备及介质
CN115204104A (zh) 计算装置、其操作方法和计算机程序产品
CN105512381A (zh) 时钟延迟验证方法
WO2018228528A1 (zh) 一种批量化电路仿真方法和系统

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
CB02 Change of applicant information

Country or region after: China

Address after: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin, 300450

Applicant after: Feiteng Information Technology Co.,Ltd.

Address before: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin, 300450

Applicant before: TIANJIN FEITENG INFORMATION TECHNOLOGY Co.,Ltd.

Country or region before: China

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant