CN110738019B - 一种利用负载单元自动结群修复时序违反的方法及装置 - Google Patents
一种利用负载单元自动结群修复时序违反的方法及装置 Download PDFInfo
- Publication number
- CN110738019B CN110738019B CN201910916558.7A CN201910916558A CN110738019B CN 110738019 B CN110738019 B CN 110738019B CN 201910916558 A CN201910916558 A CN 201910916558A CN 110738019 B CN110738019 B CN 110738019B
- Authority
- CN
- China
- Prior art keywords
- time sequence
- unit
- units
- violation
- timing
- 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
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种利用负载单元自动结群修复时序违反的方法,包括以下步骤:在存在保持时间的时序违反的线网上查找驱动单元及时序违反的负载单元,并获取时序违反值及物理位置分布;根据优化算法的单元合理化布局约束确定结群范围;在结群范围内,对时序违反的备选单元进行分析,选取备选单元进行结群操作;对结群内的时序违反点,进行缓冲器单元的插入操作,完成时序优化方案。本发明的利用负载单元自动结群修复时序违反的方法,大幅减少了插入缓冲器单元数目,提高了时序修复效率。
Description
技术领域
本发明涉及集成电路设计技术领域,特别是涉及一种修复时序违反的方法。
背景技术
集成电路的设计过程中,在经过物理布局布线步骤之后,需要通过时序检查,以确保同步电路的时钟信号和数据信号达到时间要满足保持时间(Hold Time)约束的要求。
保持时间Thold=偏差clock_path+库单元时间hold-延迟data_path
如果出现保持时间不满足约束(即出现保持时间的时序违反)的情况,需要对设计进行工程修改(ECO Engineering Change Order)来满足时序约束要求,保证同步电路能够正常工作。
保持时间的约束条件,要求数据信号传递不能太快,在时钟信号采样后仍需稳定一定时间。对于保持时间的时序违反,传统的ECO修复方法,通常要在各个时序违反点上进行缓冲器单元插入来补充延迟。但是对于规模较大的线网,负载单元较多,在每个时序违反的负载单元之前都进行一一修复,会造成大量的缓冲器单元插入,造成芯片面积上的浪费,并且会对后续的ECO布线操作带来困难。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种利用负载单元自动结群修复时序违反的方法及装置,在修复保持时间的时序违反过程中利用负载自动结群的方法,减少插入缓冲器单元数目,提高时序修复效率。
为实现上述目的,本发明至少一个实施例提供一种利用负载单元自动结群修复时序违反的方法,包括以下步骤:
在存在保持时间的时序违反的线网上查找驱动单元及时序违反的负载单元,并获取时序违反值及物理位置分布;
根据优化算法的单元合理化布局约束确定结群范围;
在结群范围内,对时序违反的备选单元进行分析,选取备选单元进行结群操作;
对结群内的时序违反点,进行缓冲器单元的插入操作,完成时序优化方案。
进一步地,所述根据优化算法的单元合理化布局约束确定结群范围的步骤,包括,
确定每个结群中可包括备选单元的最大数目;
根据优化算法的单元合理化布局约束,确定结群的直径距离。
进一步地,所述在结群范围内,对时序违反的备选单元进行分析,选取备选单元进行结群操作的步骤,进一步包括,
选择某一时序违反负载作为参考单元;
以所述参考单元为中心,在确定结群的直径距离范围之内查找时序违反负载作为备选单元;
选取与所述参考单元最接近的备选单元,进行结群操作。
更进一步地,所述选取与所述参考单元最接近的备选单元,进行结群操作的步骤,进一步包括,
分析备选单元的时序违反值、时序余量值、以及物理分布情况;
利用通过评分公式,找到与参考单元最接近的N个备选单元,进行结群操作,3≤N≤5;
所述评分公式为:
scorecandi=w1*|slackcandi–slackref|
+w2*|margincandi–marginref|
+w3*distance(candi,ref)
其中,
scorecandi为备选单元的评分分数;
slackcandi为备选单元的时序违反值;
slackref为参考单元的时序违反值;
margincandi为备选单元的时序余量值;
marginref为参考单元的时序余量值;
distance(candi,ref)表示备选单元和参考单元之间的距离;
w1、w2、w3分别为加权参数,满足w1+w2+w3=1。
为实现上述目的,本发明至少一个实施例提供一种利用负载单元自动结群修复时序违反的装置,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的程序,所述处理器运行所述程序时,实现上述利用负载单元自动结群修复时序违反的方法的步骤。
为实现上述目的,本发明提供的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的利用负载单元自动结群修复时序违反的方法的步骤。
本发明提供的利用负载单元自动结群修复时序违反的方法,考虑到负载单元在芯片版图中的位置分布,以减少对物理布线的影响;将时序违反及时序余量比较接近的若干时序违反点进行结群组合,统一插入缓冲器单元。得到的时序优化方案减少了插入缓冲器单元的数目,提高了时序优化效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的利用负载单元自动结群修复时序违反的方法流程图;
图2为一个实施例中存在保持时间的时序违反的线网示意图;
图3为传统方法修复图2线网中保持时间的时序违反示意图;
图4为根据本发明修复图2线网中保持时间的时序违反示意图;
图5为根据本发明另一实施例的修复时序违反示意图;
图6为根据本发明的利用负载单元自动结群修复时序违反的装置框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明的利用负载单元自动结群修复时序违反的方法,考虑到负载单元在芯片版图中的位置分布,以减少对物理布线的影响,将时序违反及时序余量比较接近的若干时序违反点进行结群组合,统一插入缓冲器单元以减少插入缓冲器单元的数目。
图1为根据本发明的利用负载单元自动结群修复时序违反的方法流程图,下面将参考图1,对本发明的利用负载单元自动结群修复时序违反的方法进行详细描述。
首先,在步骤101,读入存在保持时间的时序违反的时序路径报告。其中包括了时钟路径和数据路径上的所有单元、负载、时序以及物理位置等信息。
在步骤102,确定要进行时序修复的线网。找到该线网的驱动单元、以及存在保持时间的时序违反的各个负载单元。
本发明的一个实施例中,给定一条存在保持时间的时序违反的线网,找到驱动单元以及各个时序违反的负载单元,获取它们的时序违反值,以及在芯片的具体物理位置分布。
在步骤103,确定每个结群中可包括备选单元的最大数目N(通常取值范围可以在3~5),以及结群直径距离D(通常与优化算法的单元合理化布局约束相关,例如ECO单元可以移动距离的整数倍)。
本发明的一个实施例中,根据优化算法的单元合理化布局约束来决定结群直径距离,芯片物理版图中,结群范围内的时序违反单元才会成为备选单元,可以进行结群操作。
在步骤104,选择某一时序违反负载作为参考单元,找到与参考单元最接近的备选单元,进行结群操作。
本发明的一个实施例中,选择某一时序违反负载为参考单元(ref),以它为中心,在直径距离为D范围之内找到的时序违反负载称之为备选单元(candi),分析备选单元的时序违反值(slack,正的slack表示满足时序约束,负的slack表示不满足时序约束)、时序余量值(margin)、以及物理分布情况。通过下面的评分公式,找到与参考单元最接近的备选单元,并选取最多N个备选单元进行结群操作。
scorecandi=w1*|slackcandi–slackref|
+w2*|margincandi–marginref|
+w3*distance(candi,ref)
其中,
scorecandi为备选单元的评分分数;
slackcandi为备选单元的时序违反值;
slackref为参考单元的时序违反值;
margincandi为备选单元的时序余量值;
marginref为参考单元的时序余量值;
distance(candi,ref)表示备选单元和参考单元之间的距离;
w1、w2、w3分别为加权参数,满足w1+w2+w3=1。
本发明的一个实施例中,根据评分公式将时序违反单元进行评分并排序,选取分数较小(和参考单元比较接近)的不超过N个时序违反单元,进行结群操作(N值可选取3~5);
在步骤105,对结群内的时序违反点(slack<0的单元,即不满足时序约束要求的那些单元),统一进行缓冲器单元的插入操作,完成时序优化方案。
实施例1
图2为一个实施例中存在保持时间的时序违反的线网示意图,如图2所示,在设计中的某条线网上,驱动单元连接着三个负载单元,其中两个负载单元(V1和V2)上有保持时间的时序违反(时序违反值是-0.5)。
图3为传统方法修复图2线网中保持时间的时序违反示意图,如图3所示,采用传统的修复方法,在时序违反单元V1和V2之前,分别插入两个缓冲器单元(假设一个缓冲器单元可提供0.25的延迟),一共插入了四个缓冲器单元。
图4为根据本发明修复图2线网中保持时间的时序违反示意图,如图4所示,采用本发明的修复保持时间的时序违反方法,首先,将时序违反单元V1和V2进行结群操作,然后再进行缓冲器插入操作。这样,优化方案一共只需要插入两个缓冲器单元,即可修复该线网的保持时间的时序违反。
实施例2
在考虑缓冲器单元插入的优化过程中,还必须考虑单元在物理版图中的位置分布,避免将距离较远的负载单元分在同一组,造成对物理布线的改动过大。通常,结群直径距离D与优化算法的单元合理化布局约束相关(允许ECO单元可摆放的位置范围)。
图5为根据本发明另一实施例的修复时序违反示意图,如图5所示,从时序违反单元出发,在结群直径距离D范围内寻找接近的时序违反点进行结群(例如单元1与单元2,单元3与单元4),并根据时序违反情况决定插入缓冲器单元的数目。本次时序优化共插入五个缓冲器单元,而传统的单一违反点的修正方法要插入3+3+2+2,一共十个缓冲器单元,时序优化的效率得到了提升。
实施例3
图6为根据本发明的利用负载单元自动结群修复时序违反的装置框图,如图6所示,本发明的本发明的利用负载单元自动结群修复时序违反的装置60,包括处理器601和存储器602,所述存储器602存储有程序,所述程序在被所述处理器601读取执行时,执行以下操作:
读入存在保持时间的时序违反的时序路径报告。其中包括了时钟路径和数据路径上的所有单元、负载、时序以及物理位置等信息;
确定要进行时序修复的线网。找到该线网的驱动单元、以及存在保持时间的时序违反的各个负载单元;
确定每个结群中可包括备选单元的最大数目N,以及结群直径距离D;
分析各备选单元的时序违反及时序余量情况,根据评分公式将时序违反单元进行评分并排序,选取分数较小(和参考单元比较接近)的不超过N个时序违反单元,进行结群操作(N值可选取3~5);
对结群之后的时序违反点,统一进行缓冲器单元插入操作,完成时序优化方案。
本发明提供的计算机可读存储介质,可位于一个或者多个计算设备上,所述计算设备包括处理器,所述处理器执行其所在计算设备上的所述计算机可读存储介质中的计算机程序,实现本发明所述的利用负载单元自动结群修复时序违反的方法的步骤。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种利用负载单元自动结群修复时序违反的方法,包括以下步骤:
在存在保持时间的时序违反的线网上查找驱动单元及时序违反的负载单元,并获取时序违反值及物理位置分布;
根据优化算法的单元合理化布局约束确定结群范围;
所述根据优化算法的单元合理化布局约束确定结群范围的步骤,包括,
确定每个结群中可包括备选单元的最大数目;
根据优化算法的单元合理化布局约束,确定结群的直径距离; 在结群范围内,对时序违反的备选单元进行分析,选取备选单元进行结群操作;
对结群内的时序违反点,进行缓冲器单元的插入操作,完成时序优化方案。
2.根据权利要求1所述的利用负载单元自动结群修复时序违反的方法,其特征在于,所述在结群范围内,对时序违反的备选单元进行分析,选取备选单元进行结群操作的步骤,进一步包括,
选择某一时序违反负载作为参考单元;
以所述参考单元为中心,在确定结群的直径距离范围之内查找时序违反负载作为备选单元;
选取与所述参考单元最接近的备选单元,进行结群操作。
3.根据权利要求2所述的利用负载单元自动结群修复时序违反的方法,其特征在于,所述选取与所述参考单元最接近的备选单元,进行结群操作的步骤,进一步包括,
分析备选单元的时序违反值、时序余量值、以及物理分布情况;
利用通过评分公式,找到与参考单元最接近的N个备选单元,进行结群操作,3≤N≤5;
所述评分公式为:
scorecandi = w1*|slackcandi–slackref|
+ w2*|margincandi–marginref|
+ w3*distance(candi, ref)
其中,
scorecandi为备选单元的评分分数;
slackcandi为备选单元的时序违反值;
slackref为 参考单元的时序违反值;
margincandi 为备选单元的时序余量值;
marginref为 参考单元的时序余量值;
distance(candi,ref)表示备选单元和 参考单元之间的距离;
w1、w2、w3分别为加权参数,满足w1+w2+w3=1。
4.一种利用负载单元自动结群修复时序违反的装置,其特征在于,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的程序,所述处理器运行所述程序时执行权利要求1-3任一项所述的利用负载单元自动结群修复时序违反的方法的步骤。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-3中任一项所述的利用负载单元自动结群修复时序违反的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910916558.7A CN110738019B (zh) | 2019-09-26 | 2019-09-26 | 一种利用负载单元自动结群修复时序违反的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910916558.7A CN110738019B (zh) | 2019-09-26 | 2019-09-26 | 一种利用负载单元自动结群修复时序违反的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110738019A CN110738019A (zh) | 2020-01-31 |
CN110738019B true CN110738019B (zh) | 2022-05-24 |
Family
ID=69269628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910916558.7A Active CN110738019B (zh) | 2019-09-26 | 2019-09-26 | 一种利用负载单元自动结群修复时序违反的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110738019B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115676B (zh) * | 2020-09-29 | 2021-10-26 | 飞腾信息技术有限公司 | 静态电压降修复方法、装置、设备及存储介质 |
CN112564682A (zh) * | 2020-12-22 | 2021-03-26 | 深圳大普微电子科技有限公司 | 一种修正建立时间违反的方法、装置及系统 |
CN113673191B (zh) * | 2021-08-19 | 2022-04-12 | 深圳华大九天科技有限公司 | 时序修正方法及装置、计算装置和存储介质 |
CN117371379A (zh) * | 2022-06-30 | 2024-01-09 | 深圳市中兴微电子技术有限公司 | 时序库最大负载的生成方法和装置、存储介质及电子装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560752B1 (en) * | 2000-07-06 | 2003-05-06 | International Business Machines Corporation | Apparatus and method for buffer library selection for use in buffer insertion |
JP2008305132A (ja) * | 2007-06-07 | 2008-12-18 | Renesas Technology Corp | 半導体集積回路の設計方法及び設計支援装置 |
CN103632001A (zh) * | 2013-11-27 | 2014-03-12 | 中国人民解放军国防科学技术大学 | 基于缓冲单元复用的保持时间时序优化方法 |
CN105787213A (zh) * | 2016-04-01 | 2016-07-20 | 中国人民解放军国防科学技术大学 | 一种保持时间违反的修复方法 |
CN107908884A (zh) * | 2017-11-20 | 2018-04-13 | 北京华大九天软件有限公司 | 一种通过调整时钟树分支改善时序的交互式eco方法 |
WO2018076735A1 (zh) * | 2016-10-31 | 2018-05-03 | 深圳市中兴微电子技术有限公司 | 一种修复保持时间违例的方法和装置、计算机存储介质 |
CN108983870A (zh) * | 2017-05-31 | 2018-12-11 | 深圳市中兴微电子技术有限公司 | 一种时间修复方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7251800B2 (en) * | 2003-05-30 | 2007-07-31 | Synplicity, Inc. | Method and apparatus for automated circuit design |
US9047434B2 (en) * | 2013-07-24 | 2015-06-02 | Mentor Graphics Corporation | Clustering for processing of circuit design data |
-
2019
- 2019-09-26 CN CN201910916558.7A patent/CN110738019B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560752B1 (en) * | 2000-07-06 | 2003-05-06 | International Business Machines Corporation | Apparatus and method for buffer library selection for use in buffer insertion |
JP2008305132A (ja) * | 2007-06-07 | 2008-12-18 | Renesas Technology Corp | 半導体集積回路の設計方法及び設計支援装置 |
CN103632001A (zh) * | 2013-11-27 | 2014-03-12 | 中国人民解放军国防科学技术大学 | 基于缓冲单元复用的保持时间时序优化方法 |
CN105787213A (zh) * | 2016-04-01 | 2016-07-20 | 中国人民解放军国防科学技术大学 | 一种保持时间违反的修复方法 |
WO2018076735A1 (zh) * | 2016-10-31 | 2018-05-03 | 深圳市中兴微电子技术有限公司 | 一种修复保持时间违例的方法和装置、计算机存储介质 |
CN108983870A (zh) * | 2017-05-31 | 2018-12-11 | 深圳市中兴微电子技术有限公司 | 一种时间修复方法和装置 |
CN107908884A (zh) * | 2017-11-20 | 2018-04-13 | 北京华大九天软件有限公司 | 一种通过调整时钟树分支改善时序的交互式eco方法 |
Non-Patent Citations (3)
Title |
---|
一种提高芯片良率的时序电路缓冲器插入算法;戢小亮,等;《电子学报》;20181231(第12期);第2964-2969页 * |
物理设计中基于复用单元的保持时间时序优化方法的研究与实现;孙秀秀;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20150115;全文 * |
考虑物理布局布线约束的快速时序收敛;刘毅;《中国集成电路》;20160205;第25卷(第Z1期);第44-47页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110738019A (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738019B (zh) | 一种利用负载单元自动结群修复时序违反的方法及装置 | |
US6496965B1 (en) | Automated design of parallel drive standard cells | |
CN109376467B (zh) | 集成电路中时钟树布局流程方法和时钟树偏差补偿装置 | |
CN105653554B (zh) | 一种文件数据比对方法和系统 | |
CN103473171A (zh) | 一种基于函数调用路径的覆盖率动态跟踪方法及装置 | |
CN111914500B (zh) | 一种快速单磁通量子rsfq电路布局方法和装置 | |
CN103164585B (zh) | 缓冲器的插入方法及装置 | |
CN109783956B (zh) | 基于区域划分的最大跳变时间违例修复方法及系统 | |
CN108009055A (zh) | 一种修复保持时间违例的方法和装置 | |
CN111046624B (zh) | 芯片模块接口时钟结构的构建方法、装置、设备及介质 | |
US20230018381A1 (en) | Method for automatically identifying design changes in building information model | |
US7594203B2 (en) | Parallel optimization using independent cell instances | |
CN108681505A (zh) | 一种基于决策树的测试用例排序方法和装置 | |
US11321513B1 (en) | DVD analysis that accounts for delays | |
TW200529095A (en) | Reference data recognition and learning method and pattern recognition system | |
CN109800511B (zh) | 一种寻找最优公共点的保持时间违反修正方法及系统 | |
US7191417B1 (en) | Method and apparatus for optimization of digital integrated circuits using detection of bottlenecks | |
CN112464609A (zh) | 一种集成电路相对位置布局优化方法、装置及存储介质 | |
US7302377B1 (en) | Accelerated event queue for logic simulation | |
CN102436525B (zh) | 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法 | |
CN107315863B (zh) | 布局优化方法及装置、终端及存储介质 | |
CN113822008B (zh) | 基于多引脚同时扩散搜索的超大规模集成电路布线方法 | |
CN105868438A (zh) | 重新分配单元密度的方法及计算机 | |
JP2023536765A (ja) | 人工知能に基づく回路設計方法及び実装システム | |
CN113961725A (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 | ||
CB02 | Change of applicant information |
Address after: 100102 floor 2, block a, No.2, lizezhong 2nd Road, Chaoyang District, Beijing Applicant after: Beijing Huada Jiutian Technology Co.,Ltd. Address before: 100102 floor 2, block a, No.2, lizezhong 2nd Road, Chaoyang District, Beijing Applicant before: HUADA EMPYREAN SOFTWARE Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |