CN114896941B - 一种时钟树的布局优化方法、优化装置和相关设备 - Google Patents
一种时钟树的布局优化方法、优化装置和相关设备 Download PDFInfo
- Publication number
- CN114896941B CN114896941B CN202210829272.7A CN202210829272A CN114896941B CN 114896941 B CN114896941 B CN 114896941B CN 202210829272 A CN202210829272 A CN 202210829272A CN 114896941 B CN114896941 B CN 114896941B
- Authority
- CN
- China
- Prior art keywords
- clock
- units
- unit
- clock tree
- tree
- 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
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/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/396—Clock trees
-
- 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/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- 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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种时钟树的布局优化方法、优化装置和相关设备,其中优化方法包括:获取集成电路的时钟树;根据时钟树中门控单元和时序单元的连接关系,将时钟树划分为至少一个时钟结构;根据时钟结构中时序单元的数量以及门控单元的物理分布,确定时钟结构是否需要增加门控单元,以确定是否优化时钟树的布局,从而可以兼顾时序单元的数量和门控单元的物理分布,更合理地确定每个时钟结构是否需要增加门控单元,进而可以更合理地优化时钟树的布局,避免出现门控单元物理位置过于集中或过于分散的问题。
Description
技术领域
本发明涉及集成电路设计技术领域,具体涉及一种时钟树的布局优化方法、优化装置和相关设备。
背景技术
随着科技的发展,人们对集成电路性能的要求越来越高。而集成电路性能的提高必然会导致功耗的增加。目前都是通过在集成电路的时钟树中加入时钟门控单元(以下简称门控单元),来降低部分电路的时钟信号的翻转率,进而在不影响集成电路工作以及性能的情况下,降低集成电路的功耗。
目前,大多是采用EDA(Electronic Design Automation,电子设计自动化)工具,根据时钟树中时序单元(如寄存器、锁存器和存储器等)的数量,克隆时钟树中的门控单元,来对时钟树进行布局优化。但是,这样容易导致优化后的时钟树,出现门控单元物理位置过于集中或过于分散的情况,影响时钟树的性能。
发明内容
有鉴于此,本发明致力于提供一种时钟树的布局优化方法、优化装置和相关设备,以更合理地优化时钟树的布局,避免出现门控单元物理位置过于集中或过于分散的情况。
第一方面,本发明提供了一种时钟树的布局优化方法,包括:
获取集成电路的时钟树;
根据所述时钟树中门控单元和时序单元的连接关系,将所述时钟树划分为至少一个时钟结构;
根据所述时钟结构中时序单元的数量以及门控单元的物理分布,确定所述时钟结构是否需要增加门控单元,以确定是否优化所述时钟树的布局。
可选地,所述时钟结构包括所述时钟树的一个门控单元、与所述一个门控单元连接的所有时序单元以及与所述一个门控单元串联的其他门控单元。
可选地,所述将所述时钟树划分为至少一个时钟结构包括:
若所述时钟树同时满足第一条件和第二条件,则所述时钟树为一个所述时钟结构;
若所述时钟树不同时满足所述第一条件和所述第二条件,则将所述时钟树划分为多个时钟结构;
其中,所述第一条件包括:所述时钟树中的所有时序单元与同一个门控单元连接;所述第二条件包括:所述时钟树中的所有门控单元串联。
可选地,所述将所述时钟树划分为多个时钟结构包括:
将所述时钟树的所有时序单元分成多个单元组,每个单元组中的所有时序单元与同一个门控单元连接;
将每个单元组中的所有时序单元、与其连接的一个门控单元以及与该门控单元串联的所有门控单元划分为一个时钟结构。
可选地,所述根据所述时钟结构中时序单元的数量以及门控单元的物理分布,确定所述时钟结构是否需要增加门控单元包括:
若所述时钟结构中时序单元的数量小于第一预设数量,且所述时钟结构中门控单元的物理分布密度大于预设密度,则所述时钟结构不需要增加门控单元;
若所述时钟结构中时序单元的数量小于第一预设数量,且所述时钟结构中门控单元的物理分布密度小于预设密度,则所述时钟结构需要增加门控单元;
若所述时钟结构中时序单元的数量大于第一预设数量,则所述时钟结构需要增加门控单元。
可选地,确定所述时钟结构中门控单元的物理分布密度是否大于预设密度包括:
确定所述时钟结构中门控单元所在的优化区域,所述优化区域为预先对所述时钟树所在区域进行划分后得到的;
若所述时钟结构中每个优化区域内门控单元的数量都小于第二预设数量,则所述时钟结构中门控单元的分布密度小于所述预设密度;
否则,所述时钟结构中门控单元的分布密度大于所述预设密度。
可选地,所述预先对所述时钟树所在区域进行划分包括:
根据所述时钟树的结构特征,预先设定各个优化区域的大小;
根据所述各个优化区域的大小,对所述时钟树所在区域进行划分。
可选地,确定所述时钟结构需要增加门控单元之后,还包括:
根据所述时钟结构中时序单元的数量,确定所述时钟结构中门控单元的增加数量。
可选地,所述确定所述时钟结构中门控单元的增加数量之后,还包括:
根据所述时钟结构中时序单元的物理位置,确定所述时钟结构中增加的门控单元以及其他门控单元的物理位置和物理连接关系。
可选地,确定所述时钟结构不需要增加门控单元之后,还包括:
根据所述时钟结构中时序单元的物理位置,确定所述时钟结构中门控单元的物理位置。
可选地,确定所述时钟树的所有时钟结构中门控单元的物理位置之后,还包括:
更新所述时钟树,并对更新后的时钟树进行等价性检查。
可选地,若将所述时钟树划分为多个时钟结构,则依次确定所述多个时钟结构是否需要增加门控单元;
并且,在任一时钟结构增加门控单元之后,还包括:更新所述任一时钟结构之后的时钟结构。
可选地,所述获取集成电路的时钟树包括:
获取集成电路设计的网表;
从所述网表中获取与任一时钟信号源连接的时钟树。
第二方面,本发明提供了一种时钟树的布局优化装置,包括:
获取单元,用于获取集成电路的时钟树;
划分单元,用于根据所述时钟树中门控单元和时序单元的连接关系,将所述时钟树划分为至少一个时钟结构;
优化单元,用于根据所述时钟结构中时序单元的数量以及门控单元的物理分布,确定所述时钟结构是否需要增加门控单元,以确定是否优化所述时钟树的布局。
第三方面,本发明提供了一种电子设备,包括:
存储器,用于存储至少一组指令;
处理器,用于执行所述至少一组指令,以执行如上任一项所述的时钟树的布局优化方法。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有用于执行如上任一项所述的时钟树的布局优化方法的指令。
本发明提供的时钟树的布局优化方法、优化装置和相关设备,获取集成电路的时钟树之后,根据时钟树中门控单元和时序单元的连接关系,将时钟树划分为至少一个时钟结构,并根据每个时钟结构中时序单元的数量以及门控单元的物理分布,确定该时钟结构是否需要增加或克隆门控单元,以便确定是否优化时钟树的布局,从而可以兼顾时序单元的数量和门控单元的物理分布,更合理地确定每个时钟结构是否需要增加门控单元,进而可以更合理地优化时钟树的布局,避免出现门控单元物理位置过于集中或过于分散的问题。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1为本发明实施例提供的一种时钟树的布局优化方法的流程图。
图2为本发明实施例提供的一种时钟树的结构示意图。
图3为本发明实施例提供的另一种时钟树的结构示意图。
图4为本发明实施例提供的另一种时钟树的结构示意图。
图5为图3所示的时钟树分成的一个时钟结构的示意图。
图6为图3所示的时钟树分成的另一个时钟结构的示意图。
图7为图3所示的时钟树分成的另一个时钟结构的示意图。
图8为图4所示的时钟树分成的一个时钟结构的示意图。
图9为图4所示的时钟树分成的另一个时钟结构的示意图。
图10为图4所示的时钟树分成的另一个时钟结构的示意图。
图11为图4所示的时钟树分成的另一个时钟结构的示意图。
图12为图4所示的时钟树分成的一个时钟分支的示意图。
图13为图4所示的时钟树分成的另一个时钟分支的示意图。
图14为本发明实施例提供的一种优化前和优化后的时钟树的结构示意图。
图15为本发明实施例提供的一种时钟树的布局优化装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
集成电路的前端设计中,会在集成电路的时钟树中设置门控单元,并通过门控单元控制时序单元的工作状态,降低功耗。但是,在时序单元数量较多的情况下,人工设置门控单元会导致设计时间较长、设计效率较低。
因此,目前通常采用EDA工具利用克隆技术自动克隆门控单元。即,在集成电路的前端设计过程中,会预先在时钟树的主要路径上设置门控单元,然后采用EDA工具根据时钟树中时序单元的物理位置,自动确定克隆的门控单元的物理位置,并将克隆的门控单元设置在相应位置,来对时钟树进行布局优化。
但是,发明人研究发现,现有的克隆方案在克隆门控单元时,仅考虑了时序单元的物理位置,并未考虑已有的门控单元的物理分布情况,因此,导致优化后的时钟树容易出现门控单元物理位置过于集中或过于分散的情况,影响时钟树的性能。
其中,若门控单元的物理位置过于集中,则会导致时序单元的时钟分叉过早,导致时序单元的公共路径(common path)过短,不利于时序路径的时序收敛。若门控单元的物理位置过于分散,虽然能够得到较长的公共路径,但是,需要克隆较多的门控单元才能完成布局布线,这样不仅增加了门控单元的数量,导致时钟树的功耗较大,而且需要耗费较多的绕线资源,不利于后续的时序修复。
基于此,本发明提供了一种时钟树的布局优化方案,根据时钟树中门控单元和时序单元的连接关系,将时钟树划分为至少一个时钟结构,并根据每个时钟结构中时序单元的数量以及门控单元的物理分布,确定时钟结构是否需要增加或克隆门控单元,以更合理地优化时钟树的布局,避免时钟树中出现门控单元物理位置过于集中或过于分散的问题。
本发明实施例提供了一种时钟树的布局优化方法,如图1所示,图1为本发明实施例提供的一种时钟树的布局优化方法的流程图,该布局优化方法包括:
S101:获取集成电路的时钟树;
本发明实施例中,获取集成电路的时钟树包括获取集成电路中与任一时钟信号源连接的时钟树,该时钟信号源位于时钟树的根节点,用于向时钟树提供时钟信号。
S102:根据时钟树中门控单元和时序单元的连接关系,将时钟树划分为至少一个时钟结构;
本发明实施例中,对时钟树的结构进行分析,根据时钟树中门控单元和时序单元的连接关系,将时钟树划分为至少一个时钟结构。对于结构简单的时钟树而言,其可以只划分为一个时钟结构;对于结构复杂的时钟树而言,其可以划分为多个时钟结构。
S103:根据时钟结构中时序单元的数量以及门控单元的物理分布,确定时钟结构是否需要增加门控单元,以确定是否优化时钟树的布局。
本发明实施例中,将时钟树划分为至少一个时钟结构之后,根据每个时钟结构中时序单元的数量以及门控单元的物理分布,确定该时钟结构是否需要增加门控单元,以便确定是否优化时钟树的布局。若时钟树的至少一个时钟结构需要增加门控单元,则需要优化该时钟树的布局;若时钟树的所有时钟结构都不需要增加门控单元,则不需要优化时钟树的布局。
本发明实施例中,由于是否需要增加或克隆门控单元,是根据时钟结构中时序单元的数量以及门控单元的物理分布确定的,而不仅仅是根据时序单元的物理位置确定的,因此,能够更合理地优化时钟树的布局,避免时钟树出现门控单元物理位置过于集中或过于分散的问题。
本发明一些实施例中,集成电路为已完成前端设计的集成电路,则获取集成电路的时钟树包括:获取集成电路设计的网表;从网表中获取与任一时钟信号源连接的时钟树。其中,网表包括集成电路设计中各元器件的网络连接关系等数据。当然,本发明并不仅限于此,在另一些实施例中,集成电路也可以是已完成全部设计的集成电路,也可以是实际应用中的集成电路,在此不再赘述。
本发明一些实施例中,时钟结构包括时钟树的一个门控单元、与这一个门控单元连接的所有时序单元以及与这一个门控单元串联的其他门控单元。由于时钟结构包括时钟树中具有串联关系的门控单元,而时钟树的公共路径上的门控单元与其他门控单元都为串联关系,因此,时钟结构必然包括时钟树公共路径上的门控单元,根据这种时钟结构确定是否需要增加或克隆门控单元之后,不仅可以兼顾时序单元的数量和门控单元的物理分布,还可以兼顾时钟树的公共路径的长度,使得时钟树的公共路径最长,进而不仅可以更合理地优化时钟树的布局,而且更有利于时序的收敛以及后续的时序操作,使得集成电路的设计更合理。
在上述实施例的基础上,本发明一些实施例中,将时钟树划分为至少一个时钟结构包括:若时钟树同时满足第一条件和第二条件,则时钟树为一个时钟结构;若时钟树不同时满足第一条件和第二条件,则将时钟树划分为多个时钟结构;其中,第一条件包括:时钟树中的所有时序单元与同一个门控单元连接;第二条件包括:时钟树中的所有门控单元串联。
以三种典型的时钟树结构为例,对时钟结构的划分进行说明。
如图2所示,图2为本发明实施例提供的一种时钟树的结构示意图,该时钟树包括第1个门控单元ICG1至第m个门控单元ICGm,以及第1个时序单元T1至第9个时序单元T9,m为大于或等于1的自然数。其中,第1个门控单元ICG1至第m个门控单元ICGm串联,第1个时序单元T1至第9个时序单元T9都与第m个门控单元ICGm连接。
如图3所示,图3为本发明实施例提供的另一种时钟树的结构示意图,该时钟树包括第1个门控单元ICG1至第n个门控单元ICGn,以及第1个时序单元T1至第12个时序单元T12,n为大于或等于1的自然数。其中,第1个门控单元ICG1至第n个门控单元ICGn串联。多个时序单元与多个门控单元分别连接,如第1个时序单元T1至第3个时序单元T3与第i个门控单元ICGi连接,第4个时序单元T4至第9个时序单元T9与第n个门控单元ICGn连接,第10个时序单元T10至第12个时序单元T12与第n-1个门控单元ICGn-1连接,1<i<n-1<n。
如图4所示,图4为本发明实施例提供的另一种时钟树的结构示意图,该时钟树包括第1个门控单元ICG1至第n个门控单元ICGn,以及第1个时序单元T1至第18个时序单元T18,n为大于或等于1的自然数。多个门控单元中部分门控单元串联、部分门控单元并联,如第1个门控单元ICG1至第i个门控单元ICGi串联,第i个门控单元ICGi与第k个门控单元ICGk并联。多个时序单元与多个门控单元分别连接,如第1个时序单元T1至第3个时序单元T3与第i个门控单元ICGi连接,第4个时序单元T4至第9个时序单元T9与第k个门控单元ICGk连接,第10个时序单元T10至第12个时序单元T12与第n-1个门控单元ICGn-1连接,第13个时序单元T13至第18个时序单元T18与第n个门控单元ICGn连接,1<i<k<n-1<n。
由于图2所示的时钟树中所有的门控单元都串联,且该时钟树中的所有时序单元都与同一个门控单元连接,因此,该时钟树同时满足第一条件和第二条件,可以将该时钟树划分为一个时钟结构。虽然图3所示的时钟树中的所有门控单元串联,但是,该时钟树中的所有时序单元并不是与同一个门控单元连接的,因此,该时钟树不能满足第一条件,仅满足第二条件,即该时钟树不能同时满足第一条件和第二条件,需要将该时钟树划分为多个时钟结构。由于图4所示的时钟树既不满足第一条件,也不满足第二条件,因此,需要将该时钟树划分为多个时钟结构。
在上述实施例的基础上,本发明一些实施例中,将时钟树划分为多个时钟结构包括:将时钟树的所有时序单元分成多个单元组,每个单元组的时序单元与同一个门控单元连接;将每个单元组中的时序单元、与其连接的一个门控单元以及与该门控单元串联的所有门控单元划分为一个时钟结构。
以图3所示的时钟树为例,可以将时钟树的所有时序单元分成三个单元组,第一个单元组包括第1个时序单元T1至第3个时序单元T3,第二个单元组包括第4个时序单元T4至第9个时序单元T9,第三个单元组包括第10个时序单元T10至第12个时序单元T12。
如图5所示,图5为图3所示的时钟树分成的一个时钟结构的示意图,该时钟结构包括第一个单元组中的时序单元即第1个时序单元T1至第3个时序单元T3,与第一个单元组中的时序单元连接的第i个门控单元ICGi,以及与第i个门控单元ICGi串联的所有门控单元。也就是说,图5中的时钟结构包括第1个门控单元ICG1至第n个门控单元ICGn以及第1个时序单元T1至第3个时序单元T3。
如图6所示,图6为图3所示的时钟树分成的另一个时钟结构的示意图,该时钟结构包括第二个单元组中的时序单元即第4个时序单元T4至第9个时序单元T9,与第二个单元组中的时序单元连接的第n个门控单元ICGn以及与第n个门控单元ICGn串联的所有门控单元。也就是说,图6中的时钟结构包括第1个门控单元ICG1至第n个门控单元ICGn以及第4个时序单元T4至第9个时序单元T9。
如图7所示,图7为图3所示的时钟树分成的另一个时钟结构的示意图,该时钟结构包括第三个单元组中的时序单元即第10个时序单元T10至第12个时序单元T12,与第三个单元组中的时序单元连接的第n-1个门控单元ICGn-1以及该第n-1个门控单元ICGn-1串联的所有门控单元。也就是说,图7中的时钟结构包括第1个门控单元ICG1至第n个门控单元ICGn以及第10个时序单元T10至第12个时序单元T12。
以图4所示的时钟树为例,可以将时钟树的所有时序单元分成四个单元组,第一个单元组包括第1个时序单元T1至第3个时序单元T3,第二个单元组包括第4个时序单元T4至第9个时序单元T9,第三个单元组包括第10个时序单元T10至第12个时序单元T12,第四个单元组包括第13个时序单元T13至第18个时序单元T18。
如图8所示,图8为图4所示的时钟树分成的一个时钟结构的示意图,该时钟结构包括第一个单元组中的时序单元即第1个时序单元T1至第3个时序单元T3,与第一个单元组中的时序单元连接的第i个门控单元ICGi以及与第i个门控单元ICGi串联的所有门控单元。
如图9所示,图9为图4所示的时钟树分成的另一个时钟结构的示意图,该时钟结构包括第二个单元组中的时序单元即第4个时序单元T4至第9个时序单元T9,与第二个单元组中的时序单元连接的第k个门控单元ICGk以及与第k个门控单元ICGk串联的所有门控单元。
如图10所示,图10为图4所示的时钟树分成的另一个时钟结构的示意图,该时钟结构包括第三个单元组中的时序单元即第10个时序单元T10至第12个时序单元T12,与第三个单元组中的时序单元连接的第n-1个门控单元ICGn-1以及与第n-1个门控单元ICGn-1串联的所有门控单元。
如图11所示,图11为图4所示的时钟树分成的另一个时钟结构的示意图,该时钟结构包括第四个单元组中的时序单元即第13个时序单元T13至第18个时序单元T18,与第四个单元组中的时序单元连接的第n个门控单元ICGn以及与第n个门控单元ICGn串联的所有门控单元。
需要说明的是,本发明上述实施例中仅以一种时钟结构的划分方式为例进行说明,但是,本发明并不仅限于此,在另一些实施例中,时钟结构也可以包括时钟树的所有门控单元以及任一门控单元连接的所有时序单元,也可以包括时钟树中部分相邻的门控单元以及这些门控单元中任一门控单元连接的所有时序单元,在此不再赘述。
还需要说明的是,本发明实施例中多个时钟结构的划分方式并不仅限于上述一种,在另一些实施例中,将时钟树划分为多个时钟结构也可以包括:将时钟树分成多个时钟分支,每个时钟分支包括串联的门控单元以及与门控单元连接的时序单元;将时钟分支中的时序单元分成至少一个单元组,每个单元组的时序单元与同一门控单元连接;将每个时钟分支中串联的门控单元以及一个单元组分成一个时钟结构。
以图4所示的时钟树为例,可以将时钟树分成两个时钟分支。如图12和图13所示,图12为图4所示的时钟树分成的一个时钟分支的示意图,图13为图4所示的时钟树分成的另一个时钟分支的示意图。之后,再将图12所示的时钟分支分成图8和图9所示的时钟结构,将图13所示的时钟分支分成图10和图11所示的时钟结构。
本发明一些实施例中,根据时钟结构的时序单元的数量以及门控单元的物理分布,确定时钟结构是否需要增加门控单元包括:若时钟结构的时序单元的数量小于或等于第一预设数量,且时钟结构的门控单元的物理分布密度大于预设密度,则时钟结构不需要增加门控单元;若时钟结构的时序单元的数量小于或等于第一预设数量,且时钟结构的门控单元的物理分布密度小于或等于预设密度,则时钟结构需要增加门控单元;若时钟结构的时序单元的数量大于第一预设数量,则时钟结构需要增加门控单元。
在此基础上,本发明一些实施例中,确定时钟结构的门控单元的物理分布密度是否大于预设密度包括:确定时钟结构的门控单元所在的优化区域,优化区域为预先对时钟树所在区域进行划分后得到的;若所在的优化区域中每个优化区域内门控单元的数量都小于或等于第二预设数量,则时钟结构的门控单元的分布密度小于或等于预设密度;否则,时钟结构的门控单元的分布密度大于预设密度。
如图2所示,预先将时钟树所在区域划分为一个优化区域,即第一个优化区域A1。由于图2所示的时钟树为一个时钟结构,因此,判断该时钟结构中第1个时序单元T1至第9个时序单元T9的数量是否小于或等于第一预设数量,以及,判断第一个优化区域A1内门控单元的数量是否小于或等于第二预设数量。
如图3所示,预先将时钟树所在区域划分为三个优化区域,即第一个优化区域A1至第三个优化区域A3。如图5所示,判断时钟结构中第1个时序单元T1至第3个时序单元T3的数量是否小于或等于第一预设数量,以及,判断第一个优化区域A1内门控单元的数量是否小于或等于第二预设数量,判断第二个优化区域A2内门控单元的数量是否小于或等于第二预设数量,判断第三个优化区域A3内门控单元的数量是否小于或等于第二预设数量。图6和图7所示时钟结构的判断过程与图5所示时钟结构的判断过程类似,在此不再赘述。
如图4所示,预先将时钟树所在区域划分为四个优化区域,即第一个优化区域A1至第四个优化区域A4。如图8所示,判断时钟结构中第1个时序单元T1至第3个时序单元T3的数量是否小于或等于第一预设数量,以及,判断第一个优化区域A1内门控单元的数量是否小于或等于第二预设数量,判断第二个优化区域A2内门控单元的数量是否小于或等于第二预设数量。图9至图11所示时钟结构的判断过程与图8所示时钟结构的判断过程类似,在此不再赘述。
若时钟结构中时序单元的数量小于或等于第一预设数量,且每个优化区域内门控单元的数量都小于或等于第二预设数量,说明时钟结构中时序单元的数量小于或等于第一预设数量,且时钟结构中门控单元的物理分布密度小于或等于预设密度,此时,时钟结构需要增加门控单元;
若时钟结构中时序单元的数量小于或等于第一预设数量,但至少一个优化区域内门控单元的数量大于第二预设数量,说明时钟结构中时序单元的数量小于或等于第一预设数量,且时钟结构中门控单元的物理分布密度大于预设密度,则时钟结构不需要增加门控单元;若时钟结构中时序单元的数量大于第一预设数量,说明时钟结构的时序单元的数量大于第一预设数量,则时钟结构需要增加门控单元。
本发明一些实施例中,预先对时钟树所在区域进行划分包括:根据时钟树的结构特征,预先设定各个优化区域的大小;根据各个优化区域的大小,对时钟树所在区域进行划分。基于此,本发明一些实施例中,仅根据优化区域内门控单元的数量,即可确定门控单元的物理分布密度,但是,本发明并不仅限于此,在另一些实施例中,还可以根据门控单元之间的距离大小,确定门控单元的物理分布密度,在此不再赘述。
在上述任一实施例的基础上,本发明一些实施例中,确定时钟结构不需要增加门控单元之后,还包括:根据时钟结构中时序单元的物理位置,确定时钟结构中门控单元的物理位置。
在一些实施例中,在对集成电路设计的时钟树进行布局优化之前,时钟树中仅包含门控单元的逻辑连接关系和物理连接关系,并不包含门控单元的物理位置。因此,确定是否增加门控单元之后,还需要根据时钟结构中时序单元在集成电路中的坐标即物理位置,确定时钟结构中门控单元的物理位置,以便后续进行绕线等步骤。
本发明另一些实施例中,确定时钟结构需要增加门控单元之后,还包括:根据时钟结构中时序单元的数量,确定时钟结构的门控单元的增加数量。例如,若时钟结构中时序单元的数量大于第一预设数量、小于2倍的第一预设数量,则时钟结构中增加1个门控单元;若时钟结构中时序单元的数量大于2倍的第一预设数量、小于3倍的第一预设数量,则时钟结构中增加2个门控单元。当然,本发明并以此为例进行说明,并不仅限于此。
在此基础上,本发明一些实施例中,确定时钟结构的门控单元的增加数量之后,还包括:根据时钟结构中时序单元的物理位置,确定时钟结构中增加的门控单元以及其他门控单元的物理位置和物理连接关系。增加门控单元之后,还需要确定其与已有的其他门控单元的物理连接关系和逻辑连接关系,以保证该门控单元的正常工作。此外,还需要根据时钟结构中时序单元在集成电路中的坐标即物理位置,确定时钟结构中门控单元的物理位置,以便后续进行绕线等步骤。
如图14所示,图14为本发明实施例提供的一种优化前和优化后的时钟树的结构示意图,优化后的时钟树增加了一个第二门控单元ICG02,优化前的第一门控单元ICG01被保留了下来,且优化前后该第一门控单元ICG01的逻辑连接关系不变,物理连接关系会发生改变。
需要说明的是,若将时钟树划分为多个时钟结构,则依次确定多个时钟结构是否需要增加门控单元;并且,在任一时钟结构增加门控单元之后,还包括:更新任一时钟结构之后的时钟结构,以使后续的时钟结构根据实时的时钟树结构进行布局优化。
本发明一些实施例中,确定时钟树的所有时钟结构中门控单元的物理位置之后,还包括:更新时钟树,并对更新后的时钟树进行等价性检查,确保集成电路设计的正确性。当然,等价性检查通过之后,会进行集成电路的正常绕线等步骤,在此不再赘述。
本发明实施例还提供了一种时钟树的布局优化装置,如图15所示,图15为本发明实施例提供的一种时钟树的布局优化装置的结构示意图,该布局优化装置包括:
获取单元150,用于获取集成电路的时钟树;
划分单元151,用于根据时钟树中门控单元和时序单元的连接关系,将时钟树划分为至少一个时钟结构;
优化单元152,用于根据时钟结构中时序单元的数量以及门控单元的物理分布,确定时钟结构是否需要增加门控单元,以确定是否优化时钟树的布局。
本发明一些实施例中,时钟结构包括时钟树的一个门控单元、与一个门控单元连接的所有时序单元以及与一个门控单元串联的其他门控单元。
本发明一些实施例中,划分单元151将时钟树划分为至少一个时钟结构包括:若时钟树同时满足第一条件和第二条件,则时钟树为时钟结构;若时钟树不同时满足第一条件和第二条件,则将时钟树划分为多个时钟结构;其中,第一条件包括:时钟树中的所有时序单元与同一个门控单元连接;第二条件包括:时钟树中的所有门控单元串联。
本发明一些实施例中,划分单元151将时钟树划分为多个时钟结构包括:将时钟树的所有时序单元分成多个单元组,每个单元组的时序单元与同一个门控单元连接;将每个单元组中的时序单元、与其连接的一个门控单元以及与该门控单元串联的所有门控单元划分为一个时钟结构。
本发明一些实施例中,若将时钟树划分为多个时钟结构,则优化单元依次确定多个时钟结构是否需要增加门控单元;并且,在任一时钟结构增加门控单元之后,优化单元还用于更新任一时钟结构之后的时钟结构。
本发明一些实施例中,优化单元152根据时钟结构的时序单元的数量以及门控单元的物理分布,确定时钟结构是否需要增加门控单元包括:若时钟结构的时序单元的数量小于第一预设数量,且时钟结构的门控单元的物理分布密度大于预设密度,则时钟结构不需要增加门控单元;若时钟结构的时序单元的数量小于第一预设数量,且时钟结构的门控单元的物理分布密度小于预设密度,则时钟结构需要增加门控单元;若时钟结构的时序单元的数量大于第一预设数量,则时钟结构需要增加门控单元。
本发明一些实施例中,优化单元152确定时钟结构的门控单元的物理分布密度是否大于预设密度包括:确定时钟结构的门控单元所在的优化区域,优化区域为预先对时钟树所在区域进行划分后得到的;若所在的优化区域中每个优化区域内门控单元的数量都小于第二预设数量,则时钟结构的门控单元的分布密度小于预设密度;否则,时钟结构的门控单元的分布密度大于预设密度。
本发明一些实施例中,优化单元152预先对时钟树所在区域进行划分包括:根据时钟树的结构特征,预先设定各个优化区域的大小;根据各个优化区域的大小,对时钟树所在区域进行划分。
本发明一些实施例中,优化单元152确定时钟结构需要增加门控单元之后,还用于根据时钟结构中时序单元的数量,确定时钟结构的门控单元的增加数量。
本发明一些实施例中,优化单元152确定时钟结构的门控单元的增加数量之后,还用于根据时钟结构中时序单元的物理位置,确定时钟结构中增加的门控单元以及其他门控单元的物理位置和物理连接关系。
本发明一些实施例中,优化单元152确定时钟结构不需要增加门控单元之后,还用于根据时钟结构中时序单元的物理位置,确定时钟结构中门控单元的物理位置。
本发明一些实施例中,优化单元152确定时钟树的所有时钟结构中门控单元的物理位置之后,还用于更新时钟树,并对更新后的时钟树进行等价性检查。
本发明一些实施例中,获取单元150获取集成电路的时钟树包括:获取集成电路设计的网表;从网表中获取与任一时钟信号源连接的时钟树。
本发明实施例还提供了一种电子设备,包括:
存储器,用于存储至少一组指令;
处理器,用于执行至少一组指令,以执行如上任一项的时钟树的布局优化方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有用于执行如上任一项的时钟树的布局优化方法的指令。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种时钟树的布局优化方法,其特征在于,包括:
获取集成电路的时钟树;
根据所述时钟树中门控单元和时序单元的连接关系,将所述时钟树划分为至少一个时钟结构;一个所述时钟结构包括所述时钟树的一个门控单元、与所述一个门控单元连接的所有时序单元以及与所述一个门控单元串联的其他门控单元;
根据所述时钟结构中时序单元的数量以及门控单元的物理分布密度,确定所述时钟结构是否需要增加门控单元,以确定是否优化所述时钟树的布局。
2.根据权利要求1所述的布局优化方法,其特征在于,所述将所述时钟树划分为至少一个时钟结构包括:
若所述时钟树同时满足第一条件和第二条件,则所述时钟树为一个所述时钟结构;
若所述时钟树不同时满足所述第一条件和所述第二条件,则将所述时钟树划分为多个时钟结构;
其中,所述第一条件包括:所述时钟树中的所有时序单元与同一个门控单元连接;所述第二条件包括:所述时钟树中的所有门控单元串联。
3.根据权利要求2所述的布局优化方法,其特征在于,所述将所述时钟树划分为多个时钟结构包括:
将所述时钟树的所有时序单元分成多个单元组,每个单元组中的所有时序单元与同一个门控单元连接;
将每个单元组中的所有时序单元、与其连接的一个门控单元以及与该门控单元串联的所有门控单元划分为一个时钟结构。
4.根据权利要求1所述的布局优化方法,其特征在于,所述根据所述时钟结构中时序单元的数量以及门控单元的物理分布,确定所述时钟结构是否需要增加门控单元包括:
若所述时钟结构中时序单元的数量小于第一预设数量,且所述时钟结构中门控单元的物理分布密度大于预设密度,则所述时钟结构不需要增加门控单元;
若所述时钟结构中时序单元的数量小于第一预设数量,且所述时钟结构中门控单元的物理分布密度小于预设密度,则所述时钟结构需要增加门控单元;
若所述时钟结构中时序单元的数量大于第一预设数量,则所述时钟结构需要增加门控单元。
5.根据权利要求4所述的布局优化方法,其特征在于,确定所述时钟结构中门控单元的物理分布密度是否大于预设密度包括:
确定所述时钟结构中门控单元所在的优化区域,所述优化区域为预先对所述时钟树所在区域进行划分后得到的;
若所述时钟结构中每个优化区域内门控单元的数量都小于第二预设数量,则所述时钟结构中门控单元的分布密度小于所述预设密度;
否则,所述时钟结构中门控单元的分布密度大于所述预设密度。
6.根据权利要求5所述的布局优化方法,其特征在于,所述预先对所述时钟树所在区域进行划分包括:
根据所述时钟树的结构特征,预先设定各个优化区域的大小;
根据所述各个优化区域的大小,对所述时钟树所在区域进行划分。
7.根据权利要求1所述的布局优化方法,其特征在于,确定所述时钟结构需要增加门控单元之后,还包括:
根据所述时钟结构中时序单元的数量,确定所述时钟结构中门控单元的增加数量。
8.根据权利要求7所述的布局优化方法,其特征在于,所述确定所述时钟结构中门控单元的增加数量之后,还包括:
根据所述时钟结构中时序单元的物理位置,确定所述时钟结构中增加的门控单元以及其他门控单元的物理位置和物理连接关系。
9.根据权利要求1所述的布局优化方法,其特征在于,确定所述时钟结构不需要增加门控单元之后,还包括:
根据所述时钟结构中时序单元的物理位置,确定所述时钟结构中门控单元的物理位置。
10.根据权利要求8或9所述的布局优化方法,其特征在于,确定所述时钟树的所有时钟结构中门控单元的物理位置之后,还包括:
更新所述时钟树,并对更新后的时钟树进行等价性检查。
11.根据权利要求1所述的布局优化方法,其特征在于,若将所述时钟树划分为多个时钟结构,则依次确定所述多个时钟结构是否需要增加门控单元;
并且,在任一时钟结构增加门控单元之后,还包括:更新所述任一时钟结构之后的时钟结构。
12.根据权利要求1所述的布局优化方法,其特征在于,所述获取集成电路的时钟树包括:
获取集成电路设计的网表;
从所述网表中获取与任一时钟信号源连接的时钟树。
13.一种时钟树的布局优化装置,其特征在于,包括:
获取单元,用于获取集成电路的时钟树;
划分单元,用于根据所述时钟树中门控单元和时序单元的连接关系,将所述时钟树划分为至少一个时钟结构;一个所述时钟结构包括所述时钟树的一个门控单元、与所述一个门控单元连接的所有时序单元以及与所述一个门控单元串联的其他门控单元;
优化单元,用于根据所述时钟结构中时序单元的数量以及门控单元的物理分布密度,确定所述时钟结构是否需要增加门控单元,以确定是否优化所述时钟树的布局。
14.一种电子设备,其特征在于,包括:
存储器,用于存储至少一组指令;
处理器,用于执行所述至少一组指令,以执行如权利要求1至12任一项所述的时钟树的布局优化方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有用于执行如权利要求1至12任一项所述的时钟树的布局优化方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210829272.7A CN114896941B (zh) | 2022-07-15 | 2022-07-15 | 一种时钟树的布局优化方法、优化装置和相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210829272.7A CN114896941B (zh) | 2022-07-15 | 2022-07-15 | 一种时钟树的布局优化方法、优化装置和相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114896941A CN114896941A (zh) | 2022-08-12 |
CN114896941B true CN114896941B (zh) | 2022-10-25 |
Family
ID=82729753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210829272.7A Active CN114896941B (zh) | 2022-07-15 | 2022-07-15 | 一种时钟树的布局优化方法、优化装置和相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114896941B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001022816A (ja) * | 1999-07-12 | 2001-01-26 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置のレイアウト方法 |
CN103259526A (zh) * | 2013-06-03 | 2013-08-21 | 龙芯中科技术有限公司 | 时钟网络的构建方法和装置 |
CN106650128A (zh) * | 2016-12-28 | 2017-05-10 | 北京华大九天软件有限公司 | 一种图形化显示时钟结构及时序相关性的方法 |
CN106777437A (zh) * | 2015-11-24 | 2017-05-31 | 龙芯中科技术有限公司 | 时钟系统的构造方法、装置和时钟系统 |
CN110569596A (zh) * | 2019-09-02 | 2019-12-13 | 天津飞腾信息技术有限公司 | 片上系统的混合时钟树结构 |
US10650112B1 (en) * | 2017-12-21 | 2020-05-12 | Apple Inc. | Multi-bit clock gating cell to reduce clock power |
CN112100971A (zh) * | 2019-06-18 | 2020-12-18 | 三星电子株式会社 | 构建用于集成电路的分层时钟树的方法 |
CN112257375A (zh) * | 2020-10-26 | 2021-01-22 | 海光信息技术股份有限公司 | 用于集成电路设计的布局调整方法、装置和电子设备 |
CN113569524A (zh) * | 2021-07-29 | 2021-10-29 | 眸芯科技(上海)有限公司 | 芯片设计中基于综合网表提取时钟树的方法及应用 |
CN113792520A (zh) * | 2021-09-23 | 2021-12-14 | 西安紫光国芯半导体有限公司 | 布局布线方法、装置、同步电路以及集成电路芯片 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001084287A (ja) * | 1999-09-14 | 2001-03-30 | Toshiba Corp | ゲーテッドクロック回路、ゲーテッドクロック回路設計支援装置及び方法 |
US6536024B1 (en) * | 2000-07-14 | 2003-03-18 | International Business Machines Corporation | Method for making integrated circuits having gated clock trees |
JP3672889B2 (ja) * | 2001-08-29 | 2005-07-20 | Necエレクトロニクス株式会社 | 半導体集積回路とそのレイアウト方法 |
-
2022
- 2022-07-15 CN CN202210829272.7A patent/CN114896941B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001022816A (ja) * | 1999-07-12 | 2001-01-26 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置のレイアウト方法 |
CN103259526A (zh) * | 2013-06-03 | 2013-08-21 | 龙芯中科技术有限公司 | 时钟网络的构建方法和装置 |
CN106777437A (zh) * | 2015-11-24 | 2017-05-31 | 龙芯中科技术有限公司 | 时钟系统的构造方法、装置和时钟系统 |
CN106650128A (zh) * | 2016-12-28 | 2017-05-10 | 北京华大九天软件有限公司 | 一种图形化显示时钟结构及时序相关性的方法 |
US10650112B1 (en) * | 2017-12-21 | 2020-05-12 | Apple Inc. | Multi-bit clock gating cell to reduce clock power |
CN112100971A (zh) * | 2019-06-18 | 2020-12-18 | 三星电子株式会社 | 构建用于集成电路的分层时钟树的方法 |
CN110569596A (zh) * | 2019-09-02 | 2019-12-13 | 天津飞腾信息技术有限公司 | 片上系统的混合时钟树结构 |
CN112257375A (zh) * | 2020-10-26 | 2021-01-22 | 海光信息技术股份有限公司 | 用于集成电路设计的布局调整方法、装置和电子设备 |
CN113569524A (zh) * | 2021-07-29 | 2021-10-29 | 眸芯科技(上海)有限公司 | 芯片设计中基于综合网表提取时钟树的方法及应用 |
CN113792520A (zh) * | 2021-09-23 | 2021-12-14 | 西安紫光国芯半导体有限公司 | 布局布线方法、装置、同步电路以及集成电路芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN114896941A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0847022A2 (en) | Method for designing an architectural system | |
US11748548B2 (en) | Hierarchical clock tree implementation | |
Huang et al. | Application-specific network-on-chip synthesis with topology-aware floorplanning | |
WO2020113526A1 (zh) | 一种芯片验证方法和装置 | |
CN115983187A (zh) | 基于多策略的考虑总线偏差的层分配方法 | |
CN116911227B (zh) | 一种基于硬件的逻辑映射方法、装置、设备及存储介质 | |
CN116776790B (zh) | 一种时序分析的快速计算方法、装置及计算机设备 | |
CN114896941B (zh) | 一种时钟树的布局优化方法、优化装置和相关设备 | |
CN112257368A (zh) | 时钟布局方法、装置、eda工具及计算机可读存储介质 | |
CN101369294A (zh) | SoC布局的平面布图规划方法 | |
CN112347733A (zh) | 集成电路布局初始化与优化方法、装置、存储介质及设备 | |
CN104992032A (zh) | 一种多电压域设计中保持时间的修正方法 | |
WO2003034290A2 (en) | Clock skew verification methodology for grid-based design | |
CN102523374B (zh) | 一种实时并行的电子稳像系统设计方法 | |
CN116401987A (zh) | 一种芯片时序优化方法、系统、设备及介质 | |
CN111159967A (zh) | 一种基于网页排名算法的fpga电路布局与资源分配方法 | |
US10146898B1 (en) | Method and apparatus for designing a system using weighted-cost interconnect synthesis | |
CN115577662A (zh) | 一种基于多fanout逻辑的时序器件资源优化方法 | |
CN112131813B (zh) | 基于端口交换技术的用于提升布线速度的fpga布线方法 | |
CN113836846A (zh) | 一种gpu加速计算的集成电路无悲观路径分析方法 | |
US9600613B1 (en) | Block-level code coverage in simulation of circuit designs | |
CN113673195A (zh) | 一种基于网络拓扑顺序的电路门尺寸优化方法 | |
CN113672615A (zh) | 一种基于树型表间关系自动生成sql的数据分析方法与系统 | |
CN112183006A (zh) | 时延评估方法及装置、可读存储介质 | |
US20030074643A1 (en) | Unified database system to store, combine, and manipulate clock related data for grid-based clock distribution design |
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 |