CN117313602B - 模块边界时序约束方法及相关设备 - Google Patents
模块边界时序约束方法及相关设备 Download PDFInfo
- Publication number
- CN117313602B CN117313602B CN202311345042.4A CN202311345042A CN117313602B CN 117313602 B CN117313602 B CN 117313602B CN 202311345042 A CN202311345042 A CN 202311345042A CN 117313602 B CN117313602 B CN 117313602B
- Authority
- CN
- China
- Prior art keywords
- logic circuit
- module
- edge logic
- delay
- edge
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims description 21
- 230000008054 signal transmission Effects 0.000 claims description 18
- 238000012986 modification Methods 0.000 abstract description 8
- 230000004048 modification Effects 0.000 abstract description 8
- 230000001419 dependent effect Effects 0.000 abstract description 5
- 238000012360 testing method Methods 0.000 abstract description 2
- 238000013461 design Methods 0.000 description 13
- 101100412394 Drosophila melanogaster Reg-2 gene Proteins 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012938 design process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012300 Sequence Analysis Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- 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/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提供一种模块边界时序约束方法及相关设备中,电子设备在确定目标模块的内部逻辑电路满足时序收敛的情况下,确定支持该情况的目标模块的边缘逻辑电路的实际延时时间,以此构建目标模块的边缘逻辑电路的延时约束,不再依赖于目标模块外部的其他模块的信息进行延时约束,降低了边缘逻辑路径的时间约束的复杂度,只需在此基础上进行最优化设计电路结构即可提高与目标模块的相邻模块的时延收敛的可能,在物理实现后期对全部模块进行统一测试时减少针对边缘时序收敛的修改,从而提高了时序收敛效率。
Description
技术领域
本申请涉及但不限定于一种模块边界时序约束方法及相关设备。
背景技术
随着电子技术的发展,集成电路中包含晶体管的数量也逐渐庞大,已达到百亿级别。因此在芯片实现的过程中,需要将集成电路划分为多个模块进行分别设计,最终在将多模块连接构成整个芯片。
在芯片设计过程中,数字集成电路的时序收敛(Timing Closure)是保障芯片准确运行的关键,在模块设计过程中,内部逻辑电路的时序器件构建的信号传输路径是已知的,因此,模块的设计人员可对内部逻辑电路时序收敛进行准确地把控。但是,当信号传输路径进行跨模块传输时,模块的设计人员对电信号在模块外的路径传输情况是不清楚的,如何保障跨模块路径的时序收敛是芯片设计研究的重点。
在现有的时序约束方法中,一般通过top-down形式,在顶层确定各模块的逻辑级数,根据当前模块和相邻模块的逻辑级数进行时序约束的粗略分配,由于芯片中模块的数量较大,与当前模块关联的相邻模块的数量也很多,依照此构建的时间约束复杂,依赖于该时序约束在芯片物理实现的过程中,模块中逻辑电路的实际拓扑结构会为了满足相对于一部分相邻模块的时序约束进行调整,造成相对于其他相邻模块或者模块内部的逻辑电路的实际时延与预先分配的时序约束存在偏差,导致时序无法收敛的情况,需要在当前模块和相邻模块全部设计完成后,进行多次调整来达到时序收敛,导致时序收敛效率较低。
发明内容
本申请提供一种模块边界时序约束方法及相关设备,用以解决的芯片物理实现过程中时序收敛效率低的技术问题。
第一方面,本申请实施例提供一种模块边界时序约束方法,包括:
在目标模块的内部逻辑电路满足时序收敛条件的情况下,获取所述目标模块中边缘逻辑电路在所述目标模块内的实际延时时间;所述目标模块设有所述内部逻辑电路和至少一个所述边缘逻辑电路,各所述边缘逻辑电路包括时序器件;
针对各所述边缘逻辑电路,根据所述边缘逻辑电路在所述目标模块内的实际延时时间和时钟周期,确定所述边缘逻辑电路的延时约束;
根据所述边缘逻辑电路的延时约束和内部逻辑电路的时序收敛条件,对所述目标模块的逻辑电路进行排布。
在上述技术方案中,电子设备在确定目标模块的内部逻辑电路满足时序收敛的情况下,确定支持该情况的目标模块的边缘逻辑电路的实际延时时间,以此构建目标模块的边缘逻辑电路的延时约束,不再依赖于目标模块外部的其他模块的信息进行延时约束,降低了边缘逻辑路径的时间约束的复杂度,只需在此基础上进行最优化设计电路结构即可提高与目标模块的相邻模块的时延收敛的可能,在物理实现后期对全部模块进行统一测试时减少针对边缘时序收敛的修改,从而提高了时序收敛效率。
可选地,根据所述边缘逻辑电路在所述目标模块内的实际延时时间和时钟周期,确定所述边缘逻辑电路的延时约束,包括:
根据所述时钟周期和所述实际延时时间的差值,确定所述边缘逻辑电路的延时约束。
可选地,根据所述时钟周期和所述实际延时时间的差值,确定所述边缘逻辑电路的延时约束,包括:
将所述差值和预设时延余量的和作为所述边缘逻辑电路的延时约束。
可选地,在目标模块的内部逻辑电路满足时序收敛条件的情况下,获取所述目标模块中边缘逻辑电路在所述目标模块内的实际延时时间,包括:
获取各所述边缘逻辑电路的预设延时约束;
根据所述预设延时约束,调整各所述边缘逻辑电路的布局,以确定所述目标模块的内部逻辑电路满足时序收敛条件时,各边缘逻辑电路中时序器件至所述目标模块的边界之间路径的信号传输时间;
将所述信号传输时间确定为所述边缘逻辑电路的实际延时时间。
可选地,获取各所述边缘逻辑电路的预设延时约束,包括:
获取顶层内,所述目标模块和与各所述边缘逻辑电路电连接的相邻模块的逻辑级数;
根据所述目标模块、各所述相邻模块的逻辑级数和时钟周期,确定各所述边缘逻辑电路的预设延时约束。
可选地,在确定各所述边缘逻辑电路的延时约束之后,所述方法还包括:
获取相邻模块内边缘逻辑电路的延时约束;
根据所述相邻模块内边缘逻辑电路的延时约束和所述目标模块内边缘逻辑电路的延时约束,确定所述目标模块内各边缘逻辑电路的延时约束的收敛状态;
当所述收敛状态为不收敛时,根据所述边缘逻辑电路的延时约束和与所述边缘逻辑电路电连接的、所述相邻模块内的边缘逻辑电路的延时约束、时钟周期,对所述时钟周期和/或所述延时约束进行调整,直至所述收敛状态调整为收敛。
可选地,根据所述相邻模块内边缘逻辑电路的延时约束和所述目标模块内边缘逻辑电路的延时约束,确定所述目标模块内各边缘逻辑电路的延时约束的收敛状态,包括:
针对所述目标模块,根据各所述边缘逻辑电路的延时约束和所述内部逻辑电路的结构,构建所述目标模块的原始时序模型;
获取根据相邻模块内边缘逻辑电路的延时约束构建的原始时序模型;
根据所述目标模块的原始时序模型和所述相邻模块的原始时序模型,确定所述目标模块中边缘逻辑电路的时序器件将电信号传输至所述相邻模块中边缘逻辑电路的时序器件的延时时间,或者,确定所述相邻模块中边缘逻辑电路的时序器件将电信号传输至所述目标模块中边缘逻辑电路的时序器件的延时时间;
当所述延时时间大于时钟周期时,确定所述边缘逻辑电路的延时约束不收敛。
在上述技术方案中,在芯片物理设计前期,在利用各模块的内部逻辑电路确定各模块针对边缘逻辑电路的延时约束后,即可利用相邻的两模块中、具有电连接关系的延时约束确定信号跨模块传输时的延时时间,从而在物理实现早期确定跨模块路径的时序收敛情况,降低了后续全芯片时序分析针对时序收敛的逻辑电路修改的情况,提高了时序收敛效率。
第二方面,本申请提供一种模块边界时序约束装置,包括:
获取模块,用于在目标模块的内部逻辑电路满足时序收敛条件的情况下,获取所述目标模块中边缘逻辑电路在所述目标模块内的实际延时时间;所述目标模块设有所述内部逻辑电路和至少一个所述边缘逻辑电路,各所述边缘逻辑电路包括时序器件;
处理模块,用于针对各所述边缘逻辑电路,根据所述边缘逻辑电路在所述目标模块内的实际延时时间和时钟周期,确定所述边缘逻辑电路的延时约束;
所述处理模块还用于根据所述边缘逻辑电路的延时约束和内部逻辑电路的时序收敛条件,对所述目标模块的逻辑电路进行排布。
在一些实施例中,所述处理模块具体用于:
根据所述时钟周期和所述实际延时时间的差值,确定所述边缘逻辑电路的延时约束。
在一些实施例中,所述处理模块具体用于:
将所述差值和预设时延余量的和作为所述边缘逻辑电路的延时约束。
在一些实施例中,所述处理模块具体用于:
获取各所述边缘逻辑电路的预设延时约束;
根据所述预设延时约束,调整各所述边缘逻辑电路的布局,以确定所述目标模块的内部逻辑电路满足时序收敛条件时,各边缘逻辑电路中时序器件至所述目标模块的边界之间路径的信号传输时间;
将所述信号传输时间确定为所述边缘逻辑电路的实际延时时间。
在一些实施例中,所述处理模块具体用于:
获取顶层内,所述目标模块和与各所述边缘逻辑电路电连接的相邻模块的逻辑级数;
根据所述目标模块、各所述相邻模块的逻辑级数和时钟周期,确定各所述边缘逻辑电路的预设延时约束。
在一些实施例中,所述处理模块具体用于:
获取相邻模块内边缘逻辑电路的延时约束;
根据所述相邻模块内边缘逻辑电路的延时约束和所述目标模块内边缘逻辑电路的延时约束,确定所述目标模块内各边缘逻辑电路的延时约束的收敛状态;
当所述收敛状态为不收敛时,根据所述边缘逻辑电路的延时约束和与所述边缘逻辑电路电连接的、所述相邻模块内的边缘逻辑电路的延时约束、时钟周期,对所述时钟周期和/或所述延时约束进行调整,直至所述收敛状态调整为收敛。
在一些实施例中,所述处理模块具体用于:
针对所述目标模块,根据各所述边缘逻辑电路的延时约束和所述内部逻辑电路的结构,构建所述目标模块的原始时序模型;
获取根据相邻模块内边缘逻辑电路的延时约束构建的原始时序模型;
根据所述目标模块的原始时序模型和所述相邻模块的原始时序模型,确定所述目标模块中边缘逻辑电路的时序器件将电信号传输至所述相邻模块中边缘逻辑电路的时序器件的延时时间,或者,确定所述相邻模块中边缘逻辑电路的时序器件将电信号传输至所述目标模块中边缘逻辑电路的时序器件的延时时间;
当所述延时时间大于时钟周期时,确定所述边缘逻辑电路的延时约束不收敛。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机指令;
所述处理器执行所述存储器存储的计算机指令,以实现第一方面涉及的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现第一方面涉及的方法。
本申请提供的模块边界时序约束方法及相关设备中,电子设备在确定目标模块的内部逻辑电路满足时序收敛的情况下,确定支持该情况的目标模块的边缘逻辑电路的实际延时时间,以此构建目标模块的边缘逻辑电路的延时约束,不再依赖于目标模块外部的其他模块的信息进行延时约束,降低了边缘逻辑路径的时间约束的复杂度,只需在此基础上进行最优化设计电路结构即可提高与目标模块的相邻模块的时延收敛的可能,在物理实现后期对全部模块进行统一测试时减少针对边缘时序收敛的修改,从而提高了时序收敛效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请一些实施例提供的一种跨模块路径示意图;
图2为本申请一些实施例提供的一种模块边界时序约束方法的流程示意图;
图3为本申请另一些实施例提供的一种模块边界时序约束方法的流程示意图;
图4为本申请一些实施例提供的一种模块边界时序检验方法的流程示意图;
图5为本申请一些实施例提供的一种模块边界时序约束装置的结构示意图;
图6为本申请一些实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的商品或者系统中还存在另外的相同要素。
随着电子技术的发展,集成电路中包含晶体管的数量也逐渐庞大,已达到百亿级别。因此在芯片实现的过程中,需要将集成电路划分为多个模块进行分别设计,最终在将多模块连接构成整个芯片,如图1所示,第一模块、第二模块和第三模块分别进行设计,并在设计完成后,将三个模块连接,构成更大的逻辑电路。
在芯片设计过程中,数字集成电路的时序收敛(Timing Closure)是保障芯片准确运行的关键,在模块设计过程中,内部逻辑电路的时序器件构建的信号传输路径是已知的,因此,模块的设计人员可对内部逻辑电路时序收敛进行准确地把控。但是,当信号传输路径进行跨模块传输时,模块的设计人员对电信号在模块外的路径传输情况是不清楚的,也就是说,在图1所示的电路结构中,针对设计第一模块的技术人员,只可对自己内部的电路排布的情况是清楚的,对于其与第二模块、第三模块以及顶层TOP上的排布情况,在物理实现前期是不清楚的。因此,如何保障跨模块路径的时序收敛是芯片设计研究的重点。
在现有的时序约束方法中,一般通过top-down形式,在顶层确定各模块的逻辑级数,根据当前模块和相邻模块的逻辑级数进行时序约束的粗略分配,由于芯片中模块的数量较大,与当前模块关联的相邻模块的数量也很多,依照此构建的时间约束复杂,依赖于该时序约束在芯片物理实现的过程中,模块中逻辑电路的实际拓扑结构会为了满足相对于一部分相邻模块的时序约束进行调整,造成相对于其他相邻模块或者模块内部的逻辑电路的实际时延与预先分配的时序约束存在偏差,导致时序无法收敛的情况,需要在当前模块和相邻模块全部设计完成后,进行多次调整来达到时序收敛,导致时序收敛效率较低。
为了解决上述问题,本申请提供一种模块边界时序约束方法及相关设备。本申请的技术构思是:在保障各模块的内部逻辑电路满足时序收敛的情况下,确定支持该情况的模块的边缘逻辑电路的实际延时时间,以此构建模块的边缘逻辑电路的延时约束,不再依赖于目标模块外部的其他模块的信息进行延时约束,降低了边缘逻辑路径的时间约束的复杂度,只需在此基础上进行最优化设计电路结构即可提高与目标模块的相邻模块的时延收敛的可能,在物理实现后期对全部模块进行统一测试时减少针对边缘时序收敛的修改,从而提高了时序收敛效率。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
本申请中,以电子设备为执行主体,执行如下实施例中涉及的方法。具体地,该执行主体可以为电子设备的硬件装置,或者为电子设备中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实施例的软件应用的代码。
图2为本申请一些实施例提供的一种模块边界时序约束方法的流程示意图,如图2所示,模块边界时序约束方法包括:
S101、在目标模块的内部逻辑电路满足时序收敛条件的情况下,获取目标模块中边缘逻辑电路在目标模块内的实际延时时间。
目标模块设有内部逻辑电路和至少一个边缘逻辑电路,各边缘逻辑电路包括时序器件。
其中,目标模块中设有时序器件和逻辑器件。
时序器件需要时钟信号触发后才能改变其输出信号的状态。在一实施例中,该时序器件为寄存器。
逻辑器件是可进行逻辑计算的期间,例如:与门、非门。该逻辑器件在信号输入后即可计算并输出结果,无需时钟信号的触发。
各器件通过电连接构成逻辑电路,从一个时序器件开始,经导线电连接至下一时序器件组成一条路径,该路径的时延为一个时钟周期。
内部逻辑电路内包括多条第一路径,该第一路径的开始时序器件和结束时序器件均在目标模块内的。
当路径跨模块连接时,即路径的开始时序器件在目标模块,结束时序器件在相邻模块内时,将该路径在目标模块内的电路成为边缘逻辑电路。
边缘逻辑电路在目标模块内的实际延时时间为开始时序器件或者结束时序器件到模块边沿间路径上信号传输的时间,在图1所示的结构中,针对reg1所处的边缘逻辑电路,其实际延时时间为reg1至port1的延时时间。
S102、针对各边缘逻辑电路,根据边缘逻辑电路在目标模块内的实际延时时间和时钟周期,确定边缘逻辑电路的延时约束。
S103、根据边缘逻辑电路的延时约束和内部逻辑电路的时序收敛条件,对目标模块的逻辑电路进行排布。
在一实施例中,将各边缘逻辑电路的延时约束和内部逻辑电路的时序收敛条件输入EDA工具,构建目标模块的逻辑电路排布,还可在排布过程中增加其他约束条件对排布电路进行调整,以构建目标模块内基于边缘逻辑电路对应的延时约束下的最优逻辑电路。
在上述技术方案中,电子设备在确定目标模块的内部逻辑电路满足时序收敛的情况下,确定支持该情况的目标模块的边缘逻辑电路的实际延时时间,以此构建目标模块的边缘逻辑电路的延时约束,不再依赖于目标模块外部的其他模块的信息进行延时约束,降低了边缘逻辑路径的时间约束的复杂度,只需在此基础上进行最优化设计电路结构即可提高与目标模块的相邻模块的时延收敛的可能,在物理实现后期对全部模块进行统一测试时减少针对边缘时序收敛的修改,从而提高了时序收敛效率。
图3为本申请另一些实施例提供的一种模块边界时序约束方法的流程示意图,如图3所示,模块边界时序约束方法包括:
S201、获取各边缘逻辑电路的预设延时约束。
更具体地,获取顶层内,目标模块和与各边缘逻辑电路电连接的相邻模块的逻辑级数,根据目标模块、各相邻模块的逻辑级数和时钟周期,确定各边缘逻辑电路的预设延时约束。其中,模块内电路的逻辑结构越复杂,逻辑级数越高,将时钟周期分配到该模块内的时间约束越长。
S202、根据预设延时约束,调整各边缘逻辑电路的布局,以确定目标模块的内部逻辑电路满足时序收敛条件时,各边缘逻辑电路中时序器件至目标模块的边界之间路径的信号传输时间。
S203、将信号传输时间确定为边缘逻辑电路的实际延时时间。
S204、针对各边缘逻辑电路,根据时钟周期和实际延时时间的差值,确定边缘逻辑电路的延时约束。
更具体地,将差值和预设时延余量的和作为边缘逻辑电路的延时约束。
S205、根据边缘逻辑电路的延时约束和内部逻辑电路的时序收敛条件,对目标模块的逻辑电路进行排布。
在利用目标模块的各边缘逻辑电路的实际延时时间确定边缘逻辑电路的延时约束之后,还可进一步对该延时约束的准确性进行检验。下面对模块边界延时约束的检验过程进行解释。
图4为本申请一些实施例提供的一种模块边界时序检验方法的流程示意图,如图4所示,模块边界时序检验方法包括:
S301、获取相邻模块内边缘逻辑电路的延时约束。
S302、根据相邻模块内边缘逻辑电路的延时约束和目标模块内边缘逻辑电路的延时约束,确定目标模块内各边缘逻辑电路的延时约束的收敛状态。
更具体地,包括步骤S3021~S3024:
S3021、针对目标模块,根据各边缘逻辑电路的延时约束和内部逻辑电路的结构,构建目标模块的原始时序模型。
更具体地,将目标模块内各边缘逻辑电路的延时约束输入EDA工具中,结合已在EDA中确定的目标模块的特征或者写脚本,反向推导出路径延时(path delay)信息以生成原始时序模型ETM(extract timing model)/PTM(prototype timing model)。
S3022、获取根据相邻模块内边缘逻辑电路的延时约束构建的原始时序模型。
S3023、根据目标模块的原始时序模型和相邻模块的原始时序模型,确定目标模块中边缘逻辑电路的时序器件将电信号传输至相邻模块中边缘逻辑电路的时序器件的延时时间,或者,确定相邻模块中边缘逻辑电路的时序器件将电信号传输至目标模块中边缘逻辑电路的时序器件的延时时间。
也就是说,EDA对上述延时时序模型进行分析,确定依照当前约束构建的简要模型是否存在风险,以验证延时约束的设置是否准确。
S3024、当延时时间大于时钟周期时,确定边缘逻辑电路的延时约束不收敛。
S303、当收敛状态为不收敛时,根据边缘逻辑电路的延时约束和与边缘逻辑电路电连接的、相邻模块内的边缘逻辑电路的延时约束、时钟周期,对时钟周期和/或延时约束进行调整,直至收敛状态调整为收敛。
在一实施例中,缩短边缘逻辑路径在目标模块内的路径长度,以实现延时约束的收敛。
在另一实施例中,通过调节时钟周期,或者在此基础上同时调节路径长度,以实现延时约束的收敛。
在上述技术方案中,在芯片物理设计前期,在利用各模块的内部逻辑电路确定各模块针对边缘逻辑电路的延时约束后,即可利用相邻的两模块中、具有电连接关系的延时约束确定信号跨模块传输时的延时时间,从而在物理实现早期确定跨模块路径的时序收敛情况,降低了后续全芯片时序分析针对时序收敛的逻辑电路修改的情况,提高了时序收敛效率。
下面以图1所示的芯片结构为例,对设计第一模块的逻辑电路过程中边界时序约束的确定过程进行解释。
对reg1和reg2的延时约束进行预设,并在此基础上调整reg1和reg2的位置以使内部逻辑电路的时间顺序收敛,统计此时reg1到port1的路径时长,作为以reg1为起点的边缘逻辑路径的实际延时时长t1,统计reg2到port2的路径时长,作为以reg2为起点的边缘逻辑路径的实际延时时长t2。将时钟周期T减去t1的差作为以reg1为起点的边缘逻辑路径的延时约束,时钟周期T减去t2的差作为以reg2为起点的边缘逻辑路径的延时约束,结合内部逻辑电路的时间顺序收敛,进行第一模块的电路布局。
相似地,第二模块和第三模块也进行对应的延时约束的确定。
在对延时约束进行检验时,利用EDA工具构建上述三个模块的原始时序模型,并对该模型进行分析,确定reg2至reg4,以及reg1至reg3之间的路径是否存在风险,并根据风险结果对相关的延时约束进行调整。
由于内部逻辑电路已确定完成时间顺序收敛,因此无需再次检查。
图5为本申请根据一实施例提供的模块边界时序约束装置的结构示意图,如图5所示,该模块边界时序约束装置500包括获取模块501和处理模块502。
获取模块501,用于在目标模块的内部逻辑电路满足时序收敛条件的情况下,获取目标模块中边缘逻辑电路在目标模块内的实际延时时间;目标模块设有内部逻辑电路和至少一个边缘逻辑电路,各边缘逻辑电路包括时序器件。
处理模块502,用于针对各边缘逻辑电路,根据边缘逻辑电路在目标模块内的实际延时时间和时钟周期,确定边缘逻辑电路的延时约束。
处理模块502还用于根据边缘逻辑电路的延时约束和内部逻辑电路的时序收敛条件,对目标模块的逻辑电路进行排布。
在一可行实施例中,处理模块502具体用于:
根据时钟周期和实际延时时间的差值,确定边缘逻辑电路的延时约束。
在一可行实施例中,处理模块502具体用于:
将差值和预设时延余量的和作为边缘逻辑电路的延时约束。
在一可行实施例中,处理模块502具体用于:
获取各边缘逻辑电路的预设延时约束;
根据预设延时约束,调整各边缘逻辑电路的布局,以确定目标模块的内部逻辑电路满足时序收敛条件时,各边缘逻辑电路中时序器件至目标模块的边界之间路径的信号传输时间;
将信号传输时间确定为边缘逻辑电路的实际延时时间。
在一可行实施例中,处理模块502具体用于:
获取顶层内,目标模块和与各边缘逻辑电路电连接的相邻模块的逻辑级数;
根据目标模块、各相邻模块的逻辑级数和时钟周期,确定各边缘逻辑电路的预设延时约束。
在一可行实施例中,处理模块502具体用于:
获取相邻模块内边缘逻辑电路的延时约束;
根据相邻模块内边缘逻辑电路的延时约束和目标模块内边缘逻辑电路的延时约束,确定目标模块内各边缘逻辑电路的延时约束的收敛状态;
当收敛状态为不收敛时,根据边缘逻辑电路的延时约束和与边缘逻辑电路电连接的、相邻模块内的边缘逻辑电路的延时约束、时钟周期,对时钟周期和/或延时约束进行调整,直至收敛状态调整为收敛。
在一可行实施例中,处理模块502具体用于:
针对目标模块,根据各边缘逻辑电路的延时约束和内部逻辑电路的结构,构建目标模块的原始时序模型;
获取根据相邻模块内边缘逻辑电路的延时约束构建的原始时序模型;
根据目标模块的原始时序模型和相邻模块的原始时序模型,确定目标模块中边缘逻辑电路的时序器件将电信号传输至相邻模块中边缘逻辑电路的时序器件的延时时间,或者,确定相邻模块中边缘逻辑电路的时序器件将电信号传输至目标模块中边缘逻辑电路的时序器件的延时时间;
当延时时间大于时钟周期时,确定边缘逻辑电路的延时约束不收敛。
图6为本申请根据一实施例提供的电子设备的结构示意图。
在该结构示意图中,电子设备600包括存储器601和处理器602。
存储器601用于存储处理器可执行的计算机指令。
该存储器601可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储(Non-Volatile Memory,NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
处理器602在执行计算机指令时实现上述实施例中以电子设备为执行主体的模块边界时序约束方法中的各个步骤。具体可以参见前述方法实施例中的相关描述。
该处理器602可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。
其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选地,上述存储器601既可以是独立的,也可以跟处理器602集成在一起。
当存储器601独立设置时,该电子设备600还包括总线,用于连接存储器601和处理器602。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。
总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当处理器执行计算机指令时,实现上述实施例中模块边界时序约束方法中的各个步骤。
本申请实施例还提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现上述实施例中模块边界时序约束方法中的各个步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种模块边界时序约束方法,其特征在于,包括:
在目标模块的内部逻辑电路满足时序收敛条件的情况下,获取所述目标模块中边缘逻辑电路在所述目标模块内的实际延时时间;所述目标模块设有所述内部逻辑电路和至少一个所述边缘逻辑电路,各所述边缘逻辑电路包括时序器件,所述边缘逻辑电路在所述目标模块内的实际延时时间为所述边缘逻辑电路中的开始时序器件或结束时序器件至所述目标模块的边界之间路径的信号传输时间;
针对各所述边缘逻辑电路,根据所述边缘逻辑电路在所述目标模块内的实际延时时间和时钟周期,确定所述边缘逻辑电路的延时约束;
根据所述边缘逻辑电路的延时约束和内部逻辑电路的时序收敛条件,对所述目标模块的逻辑电路进行排布。
2.根据权利要求1所述的方法,其特征在于,根据所述边缘逻辑电路在所述目标模块内的实际延时时间和时钟周期,确定所述边缘逻辑电路的延时约束,包括:
根据所述时钟周期和所述实际延时时间的差值,确定所述边缘逻辑电路的延时约束。
3.根据权利要求2所述的方法,其特征在于,根据所述时钟周期和所述实际延时时间的差值,确定所述边缘逻辑电路的延时约束,包括:
将所述差值和预设时延余量的和作为所述边缘逻辑电路的延时约束。
4.根据权利要求1所述的方法,其特征在于,在目标模块的内部逻辑电路满足时序收敛条件的情况下,获取所述目标模块中边缘逻辑电路在所述目标模块内的实际延时时间,包括:
获取各所述边缘逻辑电路的预设延时约束;
根据所述预设延时约束,调整各所述边缘逻辑电路的布局,以确定所述目标模块的内部逻辑电路满足时序收敛条件时,各边缘逻辑电路中时序器件至所述目标模块的边界之间路径的信号传输时间;
将所述信号传输时间确定为所述边缘逻辑电路的实际延时时间。
5.根据权利要求4所述的方法,其特征在于,获取各所述边缘逻辑电路的预设延时约束,包括:
获取顶层内,所述目标模块和与各所述边缘逻辑电路电连接的相邻模块的逻辑级数;
根据所述目标模块、各所述相邻模块的逻辑级数和时钟周期,确定各所述边缘逻辑电路的预设延时约束。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在确定各所述边缘逻辑电路的延时约束之后,所述方法还包括:
获取相邻模块内边缘逻辑电路的延时约束;
根据所述相邻模块内边缘逻辑电路的延时约束和所述目标模块内边缘逻辑电路的延时约束,确定所述目标模块内各边缘逻辑电路的延时约束的收敛状态;
当所述收敛状态为不收敛时,根据所述边缘逻辑电路的延时约束和与所述边缘逻辑电路电连接的、所述相邻模块内的边缘逻辑电路的延时约束、时钟周期,对所述时钟周期和/或所述延时约束进行调整,直至所述收敛状态调整为收敛。
7.根据权利要求6所述的方法,其特征在于,根据所述相邻模块内边缘逻辑电路的延时约束和所述目标模块内边缘逻辑电路的延时约束,确定所述目标模块内各边缘逻辑电路的延时约束的收敛状态,包括:
针对所述目标模块,根据各所述边缘逻辑电路的延时约束和所述内部逻辑电路的结构,构建所述目标模块的原始时序模型;
获取根据相邻模块内边缘逻辑电路的延时约束构建的原始时序模型;
根据所述目标模块的原始时序模型和所述相邻模块的原始时序模型,确定所述目标模块中边缘逻辑电路的时序器件将电信号传输至所述相邻模块中边缘逻辑电路的时序器件的延时时间,或者,确定所述相邻模块中边缘逻辑电路的时序器件将电信号传输至所述目标模块中边缘逻辑电路的时序器件的延时时间;
当所述延时时间大于时钟周期时,确定所述边缘逻辑电路的延时约束不收敛。
8.一种模块边界时序约束装置,其特征在于,包括:
获取模块,用于在目标模块的内部逻辑电路满足时序收敛条件的情况下,获取所述目标模块中边缘逻辑电路在所述目标模块内的实际延时时间;所述目标模块设有所述内部逻辑电路和至少一个所述边缘逻辑电路,各所述边缘逻辑电路包括时序器件,所述边缘逻辑电路在所述目标模块内的实际延时时间为所述边缘逻辑电路中的开始时序器件或结束时序器件至所述目标模块的边界之间路径的信号传输时间;
处理模块,用于针对各所述边缘逻辑电路,根据所述边缘逻辑电路在所述目标模块内的实际延时时间和时钟周期,确定所述边缘逻辑电路的延时约束;
所述处理模块还用于根据所述边缘逻辑电路的延时约束和内部逻辑电路的时序收敛条件,对所述目标模块的逻辑电路进行排布。
9.一种电子设备,其特征在于,包括:处理器以及与所述处理器通信连接的存储器;
所述存储器存储计算机指令;
所述处理器在执行所述计算机指令时用于实现如权利要求1至7中任意一项所述的模块边界时序约束方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311345042.4A CN117313602B (zh) | 2023-10-17 | 2023-10-17 | 模块边界时序约束方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311345042.4A CN117313602B (zh) | 2023-10-17 | 2023-10-17 | 模块边界时序约束方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117313602A CN117313602A (zh) | 2023-12-29 |
CN117313602B true CN117313602B (zh) | 2024-05-07 |
Family
ID=89280954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311345042.4A Active CN117313602B (zh) | 2023-10-17 | 2023-10-17 | 模块边界时序约束方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117313602B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7962886B1 (en) * | 2006-12-08 | 2011-06-14 | Cadence Design Systems, Inc. | Method and system for generating design constraints |
CN102479277A (zh) * | 2010-11-29 | 2012-05-30 | 国际商业机器公司 | 在芯片设计中改善时序收敛的方法和系统 |
CN113868992A (zh) * | 2021-09-30 | 2021-12-31 | 上海阵量智能科技有限公司 | 集成电路的时序约束方法、装置、电子设备及芯片 |
CN115796116A (zh) * | 2023-01-30 | 2023-03-14 | 飞腾信息技术有限公司 | 一种集成电路优化方法、装置、存储介质及电子设备 |
CN115933457A (zh) * | 2022-10-24 | 2023-04-07 | 无锡中微亿芯有限公司 | 一种便于实现时序收敛的fpga |
-
2023
- 2023-10-17 CN CN202311345042.4A patent/CN117313602B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7962886B1 (en) * | 2006-12-08 | 2011-06-14 | Cadence Design Systems, Inc. | Method and system for generating design constraints |
CN102479277A (zh) * | 2010-11-29 | 2012-05-30 | 国际商业机器公司 | 在芯片设计中改善时序收敛的方法和系统 |
CN113868992A (zh) * | 2021-09-30 | 2021-12-31 | 上海阵量智能科技有限公司 | 集成电路的时序约束方法、装置、电子设备及芯片 |
CN115933457A (zh) * | 2022-10-24 | 2023-04-07 | 无锡中微亿芯有限公司 | 一种便于实现时序收敛的fpga |
CN115796116A (zh) * | 2023-01-30 | 2023-03-14 | 飞腾信息技术有限公司 | 一种集成电路优化方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117313602A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3822840B1 (en) | Method, apparatus, computer storage medium and program for authenticating a chip design | |
US8255851B1 (en) | Method and system for timing design | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
US10740520B2 (en) | Pessimism in static timing analysis | |
US20220147676A1 (en) | Integrated circuit simulation and design method and system thereof | |
US10002225B2 (en) | Static timing analysis with improved accuracy and efficiency | |
CN115455879A (zh) | 时序路径筛查方法及设备 | |
US9305125B2 (en) | Integrated circuit design timing path verification tool | |
KR19980080808A (ko) | 집적 회로 장치의 제조 방법 및집적 회로 장치에 대한 논리 검사 방법 | |
CN113343629B (zh) | 集成电路验证方法、代码生成方法、系统、设备和介质 | |
CN114548006A (zh) | 集成电路的验证方法、装置、电子设备、存储介质 | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
CN111624475B (zh) | 大规模集成电路的测试方法及系统 | |
US10430535B2 (en) | Verification support program medium, verification support method, and information processing device for verification of a circuit | |
CN117313602B (zh) | 模块边界时序约束方法及相关设备 | |
CN104981806B (zh) | 自动时钟树综合例外生成 | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
CN117350208A (zh) | 时序逻辑元件性能检查方法及设备 | |
US8185369B2 (en) | Method and apparatus for characterizing properties of electronic devices depending on device parameters | |
US6170072B1 (en) | Logic circuit verification apparatus and method for semiconductor integrated circuit | |
US7246053B2 (en) | Method for transforming behavioral architectural and verification specifications into cycle-based compliant specifications | |
US10437956B2 (en) | Pessimism reduction in static timing analysis | |
US20050120318A1 (en) | Apparatus and method for designing semiconductor integrated circuit | |
CN117725866B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
WO2024001891A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |