CN114676658A - 一种时序违例修复方法、装置、存储介质及电子设备 - Google Patents
一种时序违例修复方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114676658A CN114676658A CN202210546528.3A CN202210546528A CN114676658A CN 114676658 A CN114676658 A CN 114676658A CN 202210546528 A CN202210546528 A CN 202210546528A CN 114676658 A CN114676658 A CN 114676658A
- Authority
- CN
- China
- Prior art keywords
- target point
- target
- path
- clock
- time sequence
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
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)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提出一种时序违例修复方法、装置、存储介质及电子设备,包括:通过集成电路的布局布线图确定目标点,其中,目标点为集成电路中出现最小脉冲宽度违例的时序单元;在目标点对应的目标时钟路径的负载大于预设的第一负载阈值时,在目标点的时钟端插入缓冲器,其中,目标时钟路径为目标点到前一个时序单元之间的时钟路径。通过目标点的时钟端插入缓冲器,以增大目标点的时钟端的电流,即增强电流的驱动能力,使目标点发生状态变化速度更快,从而对最小脉冲宽度违例进行优化,完成最小脉冲宽度违例修复。
Description
技术领域
本申请涉及集成电路技术领域,具体而言,涉及一种时序违例修复方法、装置、存储介质及电子设备。
背景技术
数字集成电路设计过程中,在完成布局布线之后,需要对设计的时序进行检查。具体的检查内容包括最小脉冲宽度(min_pulse width)检查,最小脉冲宽度检查非常重要,出现最小脉冲宽度违例则必须要修复。如果有最小脉冲宽度违例而不修复,则有可能导致器件不能正常捕获数据,时序功能发生紊乱,电路无法正常工作。
因此,对于数字集成电路设计,如何保证其时序功能正常,成为了本领域技术人员持续关注的重点。
发明内容
本申请的目的在于提供一种时序违例修复方法、装置、存储介质及电子设备,以至少部分改善上述问题。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种时序违例修复方法,所述方法包括:通过集成电路的布局布线图确定目标点,其中,所述目标点为所述集成电路中出现最小脉冲宽度违例的时序单元;在所述目标点对应的目标时钟路径的负载大于预设的第一负载阈值时,在所述目标点的时钟端插入缓冲器,其中,所述目标时钟路径为所述目标点到前一个时序单元之间的时钟路径。
通过目标点的时钟端插入缓冲器(buffer),以增大目标点的时钟端的电流,即增强电流的驱动能力,使目标点发生状态变化速度更快,降低时钟端口处的跳变时间(transition),使得最小脉冲宽度(min_pulse width)得到增加,从而对最小脉冲宽度违例进行优化,完成最小脉冲宽度违例修复。
在一种可能的实现方式中,在所述目标点的时钟端插入缓冲器之前,所述方法还包括:获取所述目标点的时序余量;在所述目标点的时序余量小于预设的第一时长时,对所述目标点进行时序优化处理,以使所述目标点的时序余量大于或等于所述第一时长。
通过对所述目标点进行时序优化处理,以使所述目标点的时序余量大于或等于所述第一时长,避免出现目标点时序余量不足的现象,保障目标点能够准确的完成信息采集。
在一种可能的实现方式,所述对所述目标点进行时序优化处理,包括:对所述目标点的数据路径和/或时钟路径进行优化处理。从而保障目标点的时序余量充足。
在一种可能的实现方式中,对所述目标点的数据路径进行优化处理,包括:通过第一处理方式、第二处理方式以及第三处理方式中的任意一种或多种,对目标数据路径进行优化处理;其中,所述第一处理方式包括将所述目标数据路径中的标准单元替换为低阈值单元,所述低阈值单元的跳变阈值低于所述标准单元,所述目标数据路径为所述目标点到前一个时序单元之间的数据路径;所述第二处理方式包括在所述目标数据路径的负载大于预设的第二负载阈值时,提升所述目标数据路径上的至少一个标准单元的输出电流;所述第三处理方式包括在所述目标数据路径的负载大于预设的第二负载阈值时,提高所述目标数据路径上的金属走线的层级。
第一、二以及三处理方式均可用于使数据信号到达目标点的数据端的数据路径更短,目的是减少数据路径时延,从而保障时序余量充足。具体地,可以通过降低电阻,降低阈值电压等方式实现。
在一种可能的实现方式中,对所述目标点的时钟路径进行优化处理,包括:确定所述目标点的时序余量到所述第一时长的时间差值;调控所述目标时钟路径的上级路径和/或下级路径,释放所述时间差值对应的余量,以保障目标点的时序余量充足。
在一种可能的实现方式中,所述调控所述目标时钟路径的上级路径和/或下级路径,释放所述时间差值对应的余量,包括:将所述目标时钟路径的上级路径的末端时序单元的时钟端前的缓冲器删除;和/或,在所述目标时钟路径的下级路径的末端时序单元的时钟端插入缓冲器。以保障优化后的目标点的时序余量充足。
在一种可能的实现方式中,在所述目标点的时钟端插入缓冲器之后,所述方法还包括:对插入缓冲器后的集成电路的布局布线图进行绕线处理;对完成绕线后的集成电路的布局布线图进行分析处理;若存在时序违例,则对所述时序违例进行修复,对修复后的集成电路的布局布线图进行绕线处理,重复对完成绕线后的集成电路的布局布线图进行分析处理,直至不存在时序违例。
对修复后的集成电路进行二次检查,避免遗漏时序问题,保障设计完成的集成电路可以正常工作,提升了集成电路设计的成功率。
第二方面,本申请实施例提供一种时序违例修复装置,所述装置包括:分析单元,用于通过对集成电路的布局布线图确定目标点,其中,所述目标点为所述集成电路中出现最小脉冲宽度违例的时序单元;处理单元,用于在所述目标点对应的目标时钟路径的负载大于预设的第一负载阈值时,在所述目标点的时钟端插入缓冲器,其中,所述目标时钟路径为所述目标点到前一个时序单元之间的时钟路径。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的时序违例修复方法。
第四方面,本申请实施例提供一种电子设备,所述电子设备包括:处理器和存储器,所述存储器用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现上述第一方面所述的时序违例修复方法。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的电子设备的连接示意图;
图2为本申请实施例提供的时序违例修复方法的流程示意图;
图3a为本申请实施例提供的插入缓冲器之前的集成电路示意图;
图3b为本申请实施例提供的插入缓冲器之后的集成电路示意图;
图4为本申请实施例提供的时序违例修复方法的流程示意图之一;
图5为本申请实施例提供的S105的子步骤示意图;
图6为本申请实施例提供的S105-1的子步骤示意图之一;
图7为本申请实施例提供的S105-1的子步骤示意图之一;
图8为本申请实施例提供的S105-1C的子步骤示意图;
图9为本申请实施例提供的时序违例修复方法的流程示意图之一;
图10为本申请实施例提供的时序违例修复装置的单元示意图。
图中:10-处理器;11-存储器;12-总线;13-通信接口;201-分析单元;202-处理单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
最小脉冲宽度违例可能会导致电路无法正常工作,所以需要对最小脉冲宽度违例进行修复优化。造成最小脉冲宽度违例的原因可能不止一种,针对不同原因所造成的最小脉冲宽度违例的修复手段有所不同。
一种可能导致最小脉冲宽度违例的原因例如为,因为电路中不同的MOS管的充放电时间有偏差,导致同样大小的晶体管上升跳变和下降跳变的延时会有偏差,从而使得时钟信号经过时钟网络传播后,占空比会发生扭曲。在此情况下,通过以下可能的实现方式修复最小脉冲宽度违例。一种可能的实现方式,修复时钟路径上的串扰,将有串扰的时钟线换层到走线空旷的层或者加shelding保护。另一种可能的实现方式中,将时钟路径上的缓冲器换成成对的反相器。
另一种可能导致最小脉冲宽度违例的原因例如为,在电路中,信号从前一级时序单元输出到下一级时序单元输入,由于金属导线电阻的影响,电流减弱,到下一级时序单元时的电流不足以使时序单元状态发生变化或者跳变时间太长,导致出现最小脉冲宽度(min_pulse_width)违例。其中,时序单元可以是寄存器或静态随机存取存储器(StaticRandom-Access Memory,SRAM)。
为了克服以上问题,本申请实施例提供了一种电子设备,电子设备可以搭载有布局布线工具和时序分析工具。时序分析工具例如为PrimeTime,布局布线工具例如为Astro,此处用于举例说明,并不构成限定。
时序分析工具用于对集成电路的布局布线进行分析处理,从而获取相应的时序违例报告。应理解,最小脉冲宽度(min_pulse_width)违例作为时序违例的一种形式,通过时序分析工具可以确定集成电路的布局布线中出现最小脉冲宽度(min_pulse_width)违例的点,即目标点,并且可以将目标点的时序信息记录在时序违例报告中,便于观察。
布局布线工具对集成电路的布局布线图中各个设计元件进行绕线处理,从而可以确定各个设计元件之间的连接关系。进一步地,在连接关系确定后,可以分析各个设计元件的时序是否正确。
需要说明的是,布局布线工具和时序分析工具可以搭建在同一个电子设备(例如服务器或PC端),也可以分别搭建不同的电子设备上,在此不做限定。
为了便于更好理解本申请所描述的技术方案,下面具体描述电子设备的组成单元。如图1所示,电子设备包括处理器10、存储器11、总线12。处理器10、存储器11通过总线12连接,处理器10用于执行存储器11中存储的可执行模块,例如计算机程序。
处理器10可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,时序违例修复方法的各步骤可以通过处理器10中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器10可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit ,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器11可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
总线12可以是ISA(Industry Standard Architecture)总线、PCI(PeripheralComponent Interconnect)总线或EISA(Extended Industry Standard Architecture)总线等。图1中仅用一个双向箭头表示,但并不表示仅有一根总线12或一种类型的总线12。
存储器11用于存储程序,例如时序违例修复装置对应的程序。时序违例修复装置包括至少一个可以软件或固件(firmware)的形式存储于存储器11中或固化在电子设备的操作系统(operating system,OS)中的软件功能模块。处理器10在接收到执行指令后,执行所述程序以实现时序违例修复方法。
可能地,本申请实施例提供的电子设备还包括通信接口13。通信接口13通过总线与处理器10连接。电子设备可以通过通信接口13与其他终端进行交互。
应当理解的是,图1所示的结构仅为电子设备的部分的结构示意图,电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供的一种时序违例修复方法,可以包括但不限于应用于图1所示的电子设备,具体的流程,请参考图2,时序违例修复方法的实现步骤可以包括:S101、S102以及S106,下面对其进行具体阐述。
S101,通过集成电路的布局布线图确定目标点。
其中,目标点为集成电路中出现最小脉冲宽度违例的时序单元,目标点可以是寄存器单元或者sram单元。
可选地,可以通过时序分析工具对集成电路的布局布线图进行分析处理,从而确定目标点。也可以通过工作人员人工分析,确定目标点。应理解,通过时序分析工具确定目标点,相对于通过人工分析确定目标点,更加省时便捷,处理效率更高。
S102,确定目标点对应的目标时钟路径的负载是否大于预设的第一负载阈值。若是,则执行S106;若否,则进行其他修复处理。
其中,目标时钟路径为目标点到前一个时序单元之间的时钟路径。
应理解,目标点对应的目标路径的负载大于预设的负载阈值时,表示在电路中,信号从前一级时序单元输出到下一级时序单元输入,由于金属导线电阻的影响,电流减弱,到下一级时序单元时的电流不足以使时序单元状态发生变化或者跳变时间太长,导致出现最小脉冲宽度(min_pulse_width)违例。此时,可以通过在目标点的时钟端插入缓冲器,修复最小脉冲宽度违例。反之,则有可能是因为“晶体管上升跳变和下降跳变的延时会有偏差,从而使得时钟信号经过时钟网络传播后,占空比会发生扭曲”等,其他原因导致的最小脉冲宽度违例,所以需要重新确定导致的最小脉冲宽度违例的原因,进行其他对应的修复处理,以克服最小脉冲违例。
S106,在目标点对应的目标时钟路径的负载大于预设的第一负载阈值时,在目标点的时钟端插入缓冲器。
请参考图3a和图3b,图3a为本申请实施例提供的插入缓冲器之前的集成电路示意图,图3b为本申请实施例提供的插入缓冲器之后的集成电路示意图。图中的reg表示寄存器,CP为寄存器的时钟脉冲输入端,CLK为sram的时钟信号输入端,BUFF表示缓冲器,logic表示设计元件(其他时许单元)。
应理解,通过目标点的时钟端插入缓冲器(buffer),以增大目标点的时钟端的电流,即增强电流的驱动能力,使目标点发生状态变化速度更快,降低时钟端口处的跳变时间(transition),使得最小脉冲宽度(min_pulse width)得到增加,从而对最小脉冲宽度违例进行优化,完成最小脉冲宽度违例修复。
综上所述,本申请实施例提供的时序违例修复方法,包括:通过集成电路的布局布线图确定目标点,其中,目标点为集成电路中出现最小脉冲宽度违例的时序单元;在目标点对应的目标时钟路径的负载大于预设的第一负载阈值时,在目标点的时钟端插入缓冲器,其中,目标时钟路径为目标点到前一个时序单元之间的时钟路径。通过目标点的时钟端插入缓冲器,以增大目标点的时钟端的电流,即增强电流的驱动能力,使目标点发生状态变化速度更快,从而对最小脉冲宽度违例进行优化,完成最小脉冲宽度违例修复。
在一种可能的场景下,当在目标点的时钟端插入缓冲器时,占用目标点的时序余量。时序余量为一个时钟周期内,需要信号到达时序采集点的时间多余实际到达时序采集点的部分。当时序余量不足时,将导致时序单元不能准确采集信号,从而使得电路不能正常工作。
为了避免时序余量不足所带来的问题,本申请实施例还提供了一种可能的实现方式,请参考图4,在S106之前,时序违例修复方法还包括:S103、S104以及S105,下面对其进行具体阐述。
S103,获取目标点的时序余量。
例如,将集成电路的布局布线图导入时序分析工具(PrimeTime),并输入目标点的信息,时序分析工具分析后,报出时序余量。
可选地,在S101和S102之后,执行S103。在S101已经确定目标点的基础上,可以通过预先配置的脚本,直接跳转至获取目标点的时序余量。当然地,也可以是人工获取目标点的时序余量。
S104,确定目标点的时序余量是否小于预设的第一时长。若是,则执行S105;若否,则执行S106。
其中,第一时长可以但不限定为15ps。
在目标点的时序余量小于预设的第一时长时,如果在目标点的时钟端插入缓冲器,缓冲器进一步占用目标点的时序余量,可能会到目标点的时序余量过低,进而导致目标点不能准确采集信息,所以需要执行S105,对目标点进行时序优化处理,以增加目标点的时序余量。反之,当目标点的时序余量大于或等于预设的第一时长时,表示目标点的时序余量充足,可以直接执行S106。
S105,对目标点进行时序优化处理,以使目标点的时序余量大于或等于第一时长。
应理解,在目标点的时序余量大于或等于第一时长之后,再执行S106,避免出现目标点时序余量不足的现象,保障目标点能够准确的完成信息采集。
可选地,目标点的时钟路径、数据路径的传播时间都对时序余量的大小有影响。关于如何完成对目标点进行时序优化处理,本申请实施例还提供了一种可能的实现方式,请参考图5,S105包括:S105-1,具体阐述如下。
S105-1,对目标点的数据路径和/或时钟路径进行优化处理。
可选地,可以仅对目标点的数据路径进行优化处理,或者仅对目标点的时钟路径进行优化处理,或者同时对目标点的数据路径和时钟路进行优化处理。
在图5的基础上,当对目标点的数据路径进行优化处理时,对于S105-1中的内容,本申请实施例还提供了一种可能的实现方式,请参考图6,S105-1包括:S105-1A,具体阐述如下。
S105-1A,通过第一处理方式、第二处理方式以及第三处理方式中的任意一种或多种,对目标数据路径进行优化处理。
其中,第一处理方式包括将目标数据路径中的标准单元替换为低阈值单元,低阈值单元的跳变阈值低于标准单元,目标数据路径为目标点到前一个时序单元之间的数据路径。
需要说明是,此处的标准单元是指当前设计下目标数据路径中的时序单元,并不是限定其标准或规格。应理解,在将目标数据路径中的标准单元替换为低阈值单元之后,低阈值单元可以看作新的标准单元。
第二处理方式包括在目标数据路径的负载大于预设的第二负载阈值时,提升目标数据路径上的至少一个标准单元的输出电流。
通过提升目标数据路径上的至少一个标准单元的输出电流,从而提升目标点的数据端的驱动电流,减少数据端的跳变时间,从而减少数据路径时延。
第三处理方式包括在目标数据路径的负载大于预设的第二负载阈值时,提高目标数据路径上的金属走线的层级。
应理解,提高后的金属走线层高于当前设计下的金属走线层。通过提高目标数据路径上的金属走线的层级,降低金属走线的电阻,从而提升目标点的数据端的驱动电流,减少数据端的跳变时间,从而减少数据路径时延。
应理解,第一、二以及三处理方式均可用于使数据信号到达目标点的数据端的数据路径更短,目的是减少数据路径时延,从而保障时序余量充足。具体地,可以通过降低电阻,降低阈值电压等方式实现。
在图5的基础上,当对目标点的时钟路径进行优化处理时,对于S105-1中的内容,本申请实施例还提供了一种可能的实现方式,请参考图7,S105-1包括:S105-1B和S105-1C,具体阐述如下。
S105-1B,确定目标点的时序余量到第一时长的时间差值。
可选地,通过时间差值可以匹配对应的时钟路径进行优化。
S105-1C,调控目标时钟路径的上级路径和/或下级路径,释放时间差值对应的余量。
在一种可能的实现方式中,时间差值为需要从其他时钟路径(上级路径和/或下级路径)借用的最小余量。可选地,可以仅调控目标时钟路径的上级路径,或者仅调控目标时钟路径的下级路径,或者同时调控目标时钟路径的上级路径和下级路径。通过上级路径和/或下级路径,释放时间差值对应的余量,以保障目标点的时序余量充足。
例如,时钟树内时序单元分别为ABCDEF,路径为A→B→C→D→E→F。假设目标点为时序单元D,目标时钟路径为CD,上级路径包括AB和BC,下级路径包括DE和EF。
在一种可能的实现方式中,可以同时执行S105-1A、S105-1B以及S105-1C,同时对目标数据路径和目标时钟路径进行优化处理,从而保障时序余量充足。
在图7的基础上,关于S105-1C中的内容,本申请实施例还提供了一种可能的实现方式,请参考图8,S105-1C包括:S105-1C1和S105-1C2,具体阐述如下。
S105-1C1,将目标时钟路径的上级路径的末端时序单元的时钟端前的缓冲器删除。
继续参考上例,路径为A→B→C→D→E→F,目标点为时序单元D,目标时钟路径为CD,可以将靠近目标时钟路径的任意N个连续的上级路径的末端时序单元的时钟端前的缓冲器删除。当N为1时,借用上级路径BC的时序余量,即将时序单元C的时钟端前的缓冲器删除;当上级路径BC的时序余量在被借用后会导致时序单元C出现时序余量不足时,N可以为2,即同时借用上级路径AB和BC的时序余量,即将时序单元B和时序单元C的时钟端前的缓冲器删除,以此类推。
S105-1C2,在目标时钟路径的下级路径的末端时序单元的时钟端插入缓冲器。
继续参考上例,路径为A→B→C→D→E→F,目标点为时序单元D,目标时钟路径为CD,可以在靠近目标时钟路径的任意N个连续的下级路径的末端时序单元的时钟端插入缓冲器。例如,在时序单元E的时钟端插入缓冲器,或者同时在时序单元E和时序单元F的时钟端插入缓冲器,以此类推。
应理解,通过S105-1C1和S105-1C2,可以保障优化后的目标点的时序余量充足。需要说明的是,S105-1C1和S105-1C2可以同时协调执行,也可以仅执行其中一个,在此不做限定。在执行S105-1C1和/或S105-1C2之后,可以执行S106。
通过执行S101至S106,可以修复目标点所存在的最小脉冲宽度违例,但是在执行S101至S106的过程中,需要对集成电路进行修改。修改可能会带来新的时序问题,进而可能会影响电路正常工作。为了避免出现以上问题,本申请实施例还提供了一种可能的实现方式,请参考图9,在S106之后,时序违例修复方法还包括:S107、S108、S109、S110以及S111,具体阐述如下。
S107,对插入缓冲器后的集成电路的布局布线图进行绕线处理。
可选地,可以通过布局布线工具对插入缓冲器后的集成电路的布局布线图进行绕线处理。
在将插入缓冲器后的集成电路的布局布线图导入布局布线工具后,布局布线工具可以执行自动绕线指令,对发生物理改变的时序单元进行接线处理,未发生物理改变的时序单元可以保持不变。
S108,对完成绕线后的集成电路的布局布线图进行分析处理。
可选地,可以将完成绕线后的集成电路的布局布线图导入时序分析工具,进行分析处理,从而确定是否还存在时序违例,也可以通过人工 确定是否还存在时序违例,在此不做限定。
S109,确定是否存在时序违例。若是,则执行S110;若否,则结束。
若还存在时序违例,则需要对时序违例进行修复,避免影响电路正常工作,即执行S110。反之,若不存在时序违例,则可以结束修复。
S110,对时序违例进行修复。
可以通过本申请方案中的S101至S106或其他修复手段对新出现时序违例进行修复,在此不做限定。
S111,对修复后的集成电路的布局布线图进行绕线处理。
具体地,与S107同理。在S111之后,重复执行S108,直至不存在时序违例。
通过S107至S111,对修复后的集成电路进行二次检查,避免遗漏时序问题,保障设计完成的集成电路可以正常工作,提升了集成电路设计的成功率。
在一种可能的实现方式中,S101至S106、S108以及S109均可以通过时序分析工具完成,S107、S110以及S111均可以通过布局布线工具完成。
请参阅图10,10为本申请实施例提供的一种时序违例修复装置,可选的,该时序违例修复装置被应用于上文所述的电子设备。
时序违例修复装置包括:分析单元201和处理单元202。
分析单元201,用于通过对集成电路的布局布线图确定目标点,其中,目标点为集成电路中出现最小脉冲宽度违例的时序单元。
处理单元202,用于在目标点对应的目标时钟路径的负载大于预设的第一负载阈值时,在目标点的时钟端插入缓冲器,其中,目标时钟路径为目标点到前一个时序单元之间的时钟路径。
可选地,分析单元201可以执行上述的S101-S105、S108以及S109和处理单元202可以执行上述的S106、S107、S110以及S111。
需要说明的是,本实施例所提供的时序违例修复装置,其可以执行上述方法流程实施例所示的方法流程,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
本申请实施例还提供了一种存储介质,该存储介质存储有计算机指令、程序,该计算机指令、程序在被读取并运行时执行上述实施例的时序违例修复方法。该存储介质可以包括内存、闪存、寄存器或者其结合等。
下面提供一种电子设备,可以但不限定为服务器或PC端,该电子设备如图1所示,可以实现上述的时序违例修复方法;具体的,该电子设备包括:处理器10,存储器11、总线12。处理器10可以是CPU。存储器11用于存储一个或多个程序,当一个或多个程序被处理器10执行时,执行上述实施例的时序违例修复方法。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种时序违例修复方法,其特征在于,所述方法包括:
通过集成电路的布局布线图确定目标点,其中,所述目标点为所述集成电路中出现最小脉冲宽度违例的时序单元;
在所述目标点对应的目标时钟路径的负载大于预设的第一负载阈值时,在所述目标点的时钟端插入缓冲器,其中,所述目标时钟路径为所述目标点到前一个时序单元之间的时钟路径。
2.如权利要求1所述的时序违例修复方法,其特征在于,在所述目标点的时钟端插入缓冲器之前,所述方法还包括:
获取所述目标点的时序余量;
在所述目标点的时序余量小于预设的第一时长时,对所述目标点进行时序优化处理,以使所述目标点的时序余量大于或等于所述第一时长。
3.如权利要求2所述的时序违例修复方法,其特征在于,所述对所述目标点进行时序优化处理,包括:
对所述目标点的数据路径和/或时钟路径进行优化处理。
4.如权利要求3所述的时序违例修复方法,其特征在于,对所述目标点的数据路径进行优化处理,包括:
通过第一处理方式、第二处理方式以及第三处理方式中的任意一种或多种,对目标数据路径进行优化处理;
其中,所述第一处理方式包括将所述目标数据路径中的标准单元替换为低阈值单元,所述低阈值单元的跳变阈值低于所述标准单元,所述目标数据路径为所述目标点到前一个时序单元之间的数据路径;
所述第二处理方式包括在所述目标数据路径的负载大于预设的第二负载阈值时,提升所述目标数据路径上的至少一个标准单元的输出电流;
所述第三处理方式包括在所述目标数据路径的负载大于预设的第二负载阈值时,提高所述目标数据路径上的金属走线的层级。
5.如权利要求3所述的时序违例修复方法,其特征在于,对所述目标点的时钟路径进行优化处理,包括:
确定所述目标点的时序余量到所述第一时长的时间差值;
调控所述目标时钟路径的上级路径和/或下级路径,释放所述时间差值对应的余量。
6.如权利要求5所述的时序违例修复方法,其特征在于,所述调控所述目标时钟路径的上级路径和/或下级路径,释放所述时间差值对应的余量,包括:
将所述目标时钟路径的上级路径的末端时序单元的时钟端前的缓冲器删除;
和/或,在所述目标时钟路径的下级路径的末端时序单元的时钟端插入缓冲器。
7.如权利要求1所述的时序违例修复方法,其特征在于,在所述目标点的时钟端插入缓冲器之后,所述方法还包括:
对插入缓冲器后的集成电路的布局布线图进行绕线处理;
对完成绕线后的集成电路的布局布线图进行分析处理;
若存在时序违例,则对所述时序违例进行修复,对修复后的集成电路的布局布线图进行绕线处理,重复对完成绕线后的集成电路的布局布线图进行分析处理,直至不存在时序违例。
8.一种时序违例修复装置,其特征在于,所述装置包括:
分析单元,用于通过对集成电路的布局布线图确定目标点,其中,所述目标点为所述集成电路中出现最小脉冲宽度违例的时序单元;
处理单元,用于在所述目标点对应的目标时钟路径的负载大于预设的第一负载阈值时,在所述目标点的时钟端插入缓冲器,其中,所述目标时钟路径为所述目标点到前一个时序单元之间的时钟路径。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210546528.3A CN114676658B (zh) | 2022-05-20 | 2022-05-20 | 一种时序违例修复方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210546528.3A CN114676658B (zh) | 2022-05-20 | 2022-05-20 | 一种时序违例修复方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114676658A true CN114676658A (zh) | 2022-06-28 |
CN114676658B CN114676658B (zh) | 2022-08-16 |
Family
ID=82080723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210546528.3A Active CN114676658B (zh) | 2022-05-20 | 2022-05-20 | 一种时序违例修复方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114676658B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115017846A (zh) * | 2022-07-15 | 2022-09-06 | 飞腾信息技术有限公司 | 基于接口的时序修复方法、设备及介质 |
CN115577675A (zh) * | 2022-11-23 | 2023-01-06 | 飞腾信息技术有限公司 | 时序违例修复方法、装置、服务器及可读存储介质 |
CN115758989A (zh) * | 2023-01-10 | 2023-03-07 | 瀚博半导体(上海)有限公司 | 用于修复数字芯片版图设计规则时序违例的方法及系统 |
CN115796093A (zh) * | 2023-01-03 | 2023-03-14 | 摩尔线程智能科技(北京)有限责任公司 | 电路时序优化方法、装置、电子设备及存储介质 |
CN116702664A (zh) * | 2023-08-03 | 2023-09-05 | 飞腾信息技术有限公司 | 时间违例修复方法、装置、计算机设备及存储介质 |
CN116911248A (zh) * | 2023-07-28 | 2023-10-20 | 珠海凌烟阁芯片科技有限公司 | 一种反向时钟树的实现方法及反向时钟树结构 |
CN117151015A (zh) * | 2023-09-15 | 2023-12-01 | 上海合芯数字科技有限公司 | 集成电路布局布线方法、装置、集成电路芯片 |
CN117313601A (zh) * | 2023-10-10 | 2023-12-29 | 上海合芯数字科技有限公司 | 集成电路的时序收敛方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100079340A1 (en) * | 2008-09-29 | 2010-04-01 | Astrium Gmbh | Method and device method for detecting frequency jumps of a navigation satellite's master clock |
CN109388813A (zh) * | 2017-08-03 | 2019-02-26 | 深圳市中兴微电子技术有限公司 | 一种构建用于集成电路设计的时钟树的方法及装置 |
CN109583103A (zh) * | 2018-12-04 | 2019-04-05 | 珠海市微半导体有限公司 | 一种基于时间余量的时序修复方法 |
CN110377922A (zh) * | 2018-04-12 | 2019-10-25 | 龙芯中科技术有限公司 | 保持时间违例修复方法、装置及设备 |
CN112069768A (zh) * | 2020-09-08 | 2020-12-11 | 天津飞腾信息技术有限公司 | 一种针对双端口sram输入输出延时优化的方法 |
CN113221491A (zh) * | 2021-05-27 | 2021-08-06 | 京微齐力(北京)科技有限公司 | 集成电路设计方法、装置及设备 |
-
2022
- 2022-05-20 CN CN202210546528.3A patent/CN114676658B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100079340A1 (en) * | 2008-09-29 | 2010-04-01 | Astrium Gmbh | Method and device method for detecting frequency jumps of a navigation satellite's master clock |
CN109388813A (zh) * | 2017-08-03 | 2019-02-26 | 深圳市中兴微电子技术有限公司 | 一种构建用于集成电路设计的时钟树的方法及装置 |
CN110377922A (zh) * | 2018-04-12 | 2019-10-25 | 龙芯中科技术有限公司 | 保持时间违例修复方法、装置及设备 |
CN109583103A (zh) * | 2018-12-04 | 2019-04-05 | 珠海市微半导体有限公司 | 一种基于时间余量的时序修复方法 |
CN112069768A (zh) * | 2020-09-08 | 2020-12-11 | 天津飞腾信息技术有限公司 | 一种针对双端口sram输入输出延时优化的方法 |
CN113221491A (zh) * | 2021-05-27 | 2021-08-06 | 京微齐力(北京)科技有限公司 | 集成电路设计方法、装置及设备 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115017846B (zh) * | 2022-07-15 | 2022-11-18 | 飞腾信息技术有限公司 | 基于接口的时序修复方法、设备及介质 |
CN115017846A (zh) * | 2022-07-15 | 2022-09-06 | 飞腾信息技术有限公司 | 基于接口的时序修复方法、设备及介质 |
CN115577675A (zh) * | 2022-11-23 | 2023-01-06 | 飞腾信息技术有限公司 | 时序违例修复方法、装置、服务器及可读存储介质 |
CN115577675B (zh) * | 2022-11-23 | 2023-03-07 | 飞腾信息技术有限公司 | 时序违例修复方法、装置、服务器及可读存储介质 |
CN115796093B (zh) * | 2023-01-03 | 2023-08-08 | 摩尔线程智能科技(北京)有限责任公司 | 电路时序优化方法、装置、电子设备及存储介质 |
CN115796093A (zh) * | 2023-01-03 | 2023-03-14 | 摩尔线程智能科技(北京)有限责任公司 | 电路时序优化方法、装置、电子设备及存储介质 |
CN115758989A (zh) * | 2023-01-10 | 2023-03-07 | 瀚博半导体(上海)有限公司 | 用于修复数字芯片版图设计规则时序违例的方法及系统 |
CN116911248A (zh) * | 2023-07-28 | 2023-10-20 | 珠海凌烟阁芯片科技有限公司 | 一种反向时钟树的实现方法及反向时钟树结构 |
CN116702664A (zh) * | 2023-08-03 | 2023-09-05 | 飞腾信息技术有限公司 | 时间违例修复方法、装置、计算机设备及存储介质 |
CN116702664B (zh) * | 2023-08-03 | 2024-01-26 | 飞腾信息技术有限公司 | 时间违例修复方法、装置、计算机设备及存储介质 |
CN117151015A (zh) * | 2023-09-15 | 2023-12-01 | 上海合芯数字科技有限公司 | 集成电路布局布线方法、装置、集成电路芯片 |
CN117151015B (zh) * | 2023-09-15 | 2024-03-15 | 上海合芯数字科技有限公司 | 集成电路布局布线方法、装置、集成电路芯片 |
CN117313601A (zh) * | 2023-10-10 | 2023-12-29 | 上海合芯数字科技有限公司 | 集成电路的时序收敛方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114676658B (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114676658B (zh) | 一种时序违例修复方法、装置、存储介质及电子设备 | |
CN109583103B (zh) | 一种基于时间余量的时序修复方法 | |
US6216256B1 (en) | Semiconductor integrated circuit and method of designing the same | |
US9727684B2 (en) | Method and apparatus for physical-aware hold violation fixing | |
US6239611B1 (en) | Circuit and method for testing whether a programmable logic device complies with a zero-hold-time requirement | |
US9754062B2 (en) | Timing adjustments across transparent latches to facilitate power reduction | |
CN104981805A (zh) | 自动时钟树布线规则生成 | |
CN112069763A (zh) | 修正电路的方法 | |
CN114861578A (zh) | 保持时间违例修复方法、装置、设备及存储介质 | |
US20070067750A1 (en) | Method and system for modeling wiring routing in a circuit design | |
US7590957B2 (en) | Method and apparatus for fixing best case hold time violations in an integrated circuit design | |
US8316334B2 (en) | Segment and bipartite graph based apparatus and method to address hold violations in static timing | |
CN117094269B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
JP5024185B2 (ja) | 回路動作検証方法及び装置 | |
CN113946200B (zh) | 电路动态电压降的检测方法、装置及电子设备和存储介质 | |
US20040088627A1 (en) | Fault simulator for verifying reliability of test pattern | |
US9984189B2 (en) | Data clocked retimer model | |
US6546531B1 (en) | Automatic delay element insertion system for addressing holdtime problems | |
US6606736B1 (en) | Computer-aided timing adjusting method and apparatus | |
JP2005352916A (ja) | Lsi設計方法 | |
CN110083942B (zh) | 基于物理信息的信号电迁移批量修复方法、系统及介质 | |
JP2018142235A (ja) | 回路設計方法、及び回路設計支援装置 | |
US10726189B2 (en) | Less-pessimistic static timing analysis for synchronous circuits | |
JP2001184372A (ja) | 波形なまり検証方法及び波形なまり検証装置 | |
US20020126581A1 (en) | Method of analyzing clock skew between signals |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |