CN102436525B - 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法 - Google Patents
一种集成电路设计过程中多节点并行自动修复保持时间违例的方法 Download PDFInfo
- Publication number
- CN102436525B CN102436525B CN201110332101.5A CN201110332101A CN102436525B CN 102436525 B CN102436525 B CN 102436525B CN 201110332101 A CN201110332101 A CN 201110332101A CN 102436525 B CN102436525 B CN 102436525B
- Authority
- CN
- China
- Prior art keywords
- list
- group
- value
- node
- type
- 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
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种集成电路设计过程中多节点并行自动修复保持时间违例的方法,包括:1)将所有的由提取的节点构成的组按组内节点建立时间裕度值的和由大到小汇总为一个列表;2)判断列表是否为空;3)设定列表的第一个元素为操作对象;4)依次考察列表中操作对象之后的所有元素,去除与操作对象相关的元素;5)重复步骤4),直到列表元素都不具备相关性;6)判断列表内组的类型,进而对组内节点的值做修正7)根据列表中元素的值在相应的节点处***缓冲单元;8)选择是否做下一轮的保持时间违例修复。本发明通过对整个电路的整体分析,能并行、高效的***缓冲单元以修复保持时间违例,可以极大的缩减集成电路设计过程中修复保持时间违例的周期,从而缩短设计周期。
Description
技术领域
本发明属于超大规模集成电路设计、制造技术领域,尤其是一种集成电路设计过程中多节点并行自动修复保持时间违例的方法。
背景技术
在现代大规模集成电路设计过程中,自动布局布线工具会主动的尝试修复保持时间违例。但是在复杂时钟域的高频大规模集成电路设计中,现有的工具对于在自动布局布线过程中修复保持时间违例的处理上能力有限。一般情况下,需要大量的人力做长时间反复的修复工作,此项工作会可观的耗费芯片设计产出周期。
人工手动修复保持时间违例的方法在现代大规模集成电路设计过程中也会被采用,但是展开此项工作的前提是电路时钟域较为简单且保持时间违例的数目不是很多的情况,并且人工修复工作往往只能对保持时间违例路径逐一分析修复。当电路时钟域较为复杂时,人工修复保持时间违例的工作量就会倍增。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种集成电路设计过程中多节点并行自动修复保持时间违例的方法,该方法能够自动并行高效的修复保持时间违例,能够缩短大规模集成电路设计过程中保持时间修复的周期,从而缩短芯片设计周期。
本发明的目的是通过以下技术方案来解决的:
一种集成电路设计过程中多节点并行自动修复保持时间违例的方法,其特征在于,包括以下步骤:
1)对于每一条存在保持时间违例的时序路径,提取其建立时间裕度最大的两个节点构成一个组,将所有的组按组内节点建立时间裕度值的总和由大到小汇总为一个列表;
2)判断上步骤产生的列表是否为空;如是,则报告电路保持时间违例不可修复,如否则执行下一步;
3)设定列表的第一个元素为操作对象
4)依次考察列表中操作对象之后的所有元素,去除与操作对象相关的所有元素,所述相关,是指两个元素中有节点共属于某一条建立时间路径,重新整理列表,设定下一个元素为操作对象;
5)重复步骤4),直到所有的列表元素都不具备相关性;
6)报告列表中每一个元素包含的两个节点设为节点A和节点B,相应的时间裕度值为tA和tB,将共同所属建立时间路径的建立时间裕度的最大值设为tCOM,根据tA,tB和tCOM的大小关系判断列表元素的类型,根据列表元素的类型修订列表元素中节点的值,更新所有元素的值并整理列表;
7)根据列表中元素的值在相应的组内节点处***缓冲单元;
8)选择是否做下一轮的保持时间违例修复;如是,则更新电路的时序信息;如否则报告保持时间违例修复完毕。
在以上所述步骤1)中:首先列出所有保持时间违例的路径;然后逐一分析每条保持时间违例时序路径上各个多输入单元相关引脚节点的建立时间裕度;最后取出每条保持时间违例时序路径上建立时间裕度最大的两个值及相关节点,构成一个组,根据组内节点建立时间裕度值的总和,将各组由大到小汇总为一个列表。
进一步的,上述步骤4)具体按照以下步骤进行:
S41、设定列表中第一个组为考察对象,如列表只有一个组,则直接转向S45步骤;
S42、检查考察对象与其后下一个组内是否有节点同属于同一个建立时间路径:如是,从列表中删除所述其后下一个组;如否,保留所述其后下一个组;
S43、重复S42直到完成考察对象与列表中其他所有组的相关性检查;
S44、设定列表下一个节点为考察对象,如其为列表最后一个组,则直接转向S45,否则转向S42;
S45、准备判断组的类型以便做组内节点值的调整。
进一步的,上述步骤6)具体按照以下步骤进行:
S61、根据tA,tB和tCOM的大小关系判断列表元素的类型:
如果tA不等于tB,且tA和tB的值均小于tCOM,又且tA与tB的和大于tCOM,则该组属于类型1;
如果tA不等于tB,且tA和tB的值均小于tCOM,又且tA与tB的和小于tCOM,则该组属于类型2;
如果tB等于tCOM,且两者的值均大于tA,则该组属于类型3;
如果tA等于tCOM,且两者的值均大于tB,则该组属于类型4;
如果三者的值相等,则该组属于类型5;
S62、根据组的类型,修正组内节点的值,设修正后的值为TA与TB:
如果组为类型1,则有TA=tA,TB=tCOM-tA;
如果组为类型2,则有TA=tA,TB=tB;
如果组为类型3,则有TA=tA,TB=tB-tA;
如果组为类型4,则有TA=tA-tB,TB=tB;
如果组为类型5,则有TA=tA,TB=0;
S63、整理列表。
进一步的,以上步骤7)具体为:
S71、根据节点信息选定合适的缓冲单元;
S72、考察缓冲单元的延迟时间参数;
S73、将列表中组内节点对应的值除以缓冲单元的时间参数,将商的值取整保存;
S74、按照商的取整后的数值在相应的电路节点处***缓冲单元。
在以上的步骤S73中,当对商的值取整时,只舍不入。
本发明具有以下有益效果:
本发明通过对整个电路的整体分析,能并行、高效的***缓冲单元以修复保持时间违例。相对于现有的单个路径逐一分析修复保持时间违例的方法,本发明提供的方法能够极大的缩短大规模集成电路设计过程中保持时间修复的周期,从而缩短芯片设计周期。
附图说明
图1为本发明的详细流程图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
参见图1,本发明的自动修复保持时间违例的方法,包括以下步骤:
1)对于每一条存在保持时间违例的时序路径,提取其建立时间裕度(setup time margin)最大的两个节点构成一个组,将所有的组按组内节点建立时间裕度值的总和由大到小汇总为一个列表;
在该步骤中,如图1所示,首先要列出所有保持时间违例的路径;然后逐一分析每条保持时间违例时序路径上各个多输入单元相关引脚节点的建立时间裕度;最后取出每条保持时间违例时序路径上建立时间裕度的最大的两个值及相关节点构成一个组,将所有的组按组内节点建立时间裕度值的总和由大到小汇总为一个列表;
2)判断上步骤产生的列表是否为空;如是,则报告电路保持时间违例不可修复,如否则执行下一步;
3)设定列表的第一个元素为操作对象
4)依次考察列表中操作对象之后的所有元素,去除与操作对象‘相关’的所有元素,所述的‘相关’,是指两个元素中有节点共属于某一条建立时间路径(setup time path),也可以称之为具有相关性;重新整理列表,设定下一个元素为操作对象;
5)重复步骤4),直到所有的列表元素都不具备相关性,如表1所示为某电路采用本发明自动修复保持时间违例过程中,列表元素去相关性后的结果列表;
表1:
6)报告列表中每一个元素(即组)包含的两个节点(设节点A和节点B,相应的值为tA和tB)共同所属的建立时间路径的建立时间裕度的最大值(设为tCOM),根据tA,tB和tCOM的大小关系判断列表元素的类型(一个有5种类型,后详述),根据列表元素的类型修订列表元素中节点的值,更新所有元素的值并整理列表;如表2所示为某电路采用本发明自动修复保持时间违例过程中,报告tA,tB和tCOM的结果列表;
表2:
如表3所示为某电路采用本发明自动修复保持时间违例过程中,修正列表元素中节点的值后的结果列表;
表3:
7)根据列表中元素的值在相应的节点处***缓冲单元(buffer),具体按照以下步骤进行:
S71、根据节点信息选定合适的缓冲单元;
S72、考察缓冲单元的延迟时间参数;
S73、将列表中组内节点对应的值除以缓冲单元的时间参数,将商的值取整保存(当对商的值取整时,只舍不入);
S74、按照商的取整后的数值在相应的电路节点处***缓冲单元。
如表4所示为某电路采用本发明自动修复保持时间违例过程中,根据列表元素***缓冲单元的结果列表:
表4:
8)选择是否做下一轮的保持时间违例修复;如是,则更新电路的时序信息;如否则报告保持时间违例修复完毕。
对于以上用于去除相关性的步骤4),以下进行详细说明:
参见图1,以上的步骤4具体实施步骤如下:
S41、设定列表中第一个节点为考察对象,如列表只有一个组,则直接转向S45步骤;
S42、检查考察对象与其后下一个组内是否有节点同属于同一个建立时间路径:如是,从列表中删除所述其后下一个组;如否,保留所述其后下一个组;
S43、重复S42直到完成考察对象与列表中其他所有节点的相关性检查;
S44、设定列表下一个节点为考察对象,如其为列表最后一个节点,则直接转向S45,否则转向S42;
S45、准备判断组的类型以便做组内节点值得调整。
对于以上判断组的类型及修正组内节点的值的步骤6),以下作详细说明:
S61、报告列表中每一个元素(即组)包含的两个节点(设节点A和节点B,相应的值为tA和tB)共同所属的建立时间路径的建立时间裕度的最大值(设为tCOM);
S62、根据tA,tB和tCOM的大小关系判断列表元素的类型:
如果tA不等于tB,且tA和tB的值均小于tCOM,又且tA与tB的和大于tCOM,则该组属于类型1;
如果tA不等于tB,且tA和tB的值均小于tCOM,又且tA与tB的和小于tCOM,则该组属于类型2;
如果tB等于tCOM,且两者的值均大于tA,则该组属于类型3;
如果tA等于tCOM,且两者的值均大于tB,则该组属于类型4;
如果三者的值相等,则该组属于类型5;
S63、根据组的类型,修正组内节点的值,设修正后的值为TA与TB:
如果组为类型1,则有TA=tA,TB=tCOM-tA;
如果组为类型2,则有TA=tA,TB=tB;
如果组为类型3,则有TA=tA,TB=tB-tA;
如果组为类型4,则有TA=tA-tB,TB=tB;
如果组为类型5,则有TA=tA,TB=0;
S64、整理列表;
综上所述,本发明通过对整个电路的整体分析,能并行、高效的***缓冲单元以修复保持时间违例。相对于现有的单个路径逐一分析修复保持时间违例的方法,该方法可以极大的缩减集成电路设计过程中修复保持时间违例的周期,从而缩短设计周期。
Claims (4)
1.一种集成电路设计过程中多节点并行自动修复保持时间违例的方法,其特征在于,包括以下步骤:
1)对于每一条存在保持时间违例的时序路径,提取其建立时间裕度最大的两个节点构成一个组,将所有的组按组内节点建立时间裕度值的总和由大到小汇总为一个列表;
2)判断上步骤产生的列表是否为空;如是,则报告电路保持时间违例不可修复,如否,则执行下一步;
3)设定列表的第一个元素为操作对象;
4)依次考察列表中操作对象之后的所有元素,去除与操作对象相关的所有元素,所述相关,是指两个元素中有节点共属于某一条建立时间路径,重新整理列表,设定下一个元素为操作对象;
5)重复步骤4),直到所有的列表元素都不具备相关性;
6)报告列表中每一个元素包含的两个节点设为节点A和节点B,相应的时间裕度值为tA和tB,将共同所属建立时间路径的建立时间裕度的最大值设为tCOM,根据tA,tB和tCOM的大小关系判断列表元素的类型,根据列表元素的类型修订列表元素中节点的值,更新所有元素的值并整理列表;
7)根据列表中元素的值在组中相应的节点处***缓冲单元;
8)选择是否做下一轮的保持时间违例修复;如是,则更新电路的时序信息;如否,则报告保持时间违例修复完毕;
步骤4)具体按照以下步骤进行:
S41、设定列表中第一个组为考察对象,如列表只有一个组,则直接转向S45步骤;
S42、检查考察对象与其后下一个组内是否有节点同属于同一个建立时间路径:如是,从列表中删除所述其后下一个组;如否,保留所述其后下一个组;
S43、重复S42直到完成考察对象与列表中其他所有组的相关性检查;
S44、设定列表下一个组为考察对象,如其为列表最后一个组,则直接转向S45,否则转向S42;
S45、准备判断组的类型以便做组内节点值的调整;
步骤6)具体为:
S61、根据tA,tB和tCOM的大小关系判断列表元素的类型:
如果tA不等于tB,且tA和tB的值均小于tCOM,又且tA与tB的和大于tCOM,则该组属于类型1;
如果tA不等于tB,且tA和tB的值均小于tCOM,又且tA与tB的和小于tCOM,则该组属于类型2;
如果tB等于tCOM,且两者的值均大于tA,则该组属于类型3;
如果tA等于tCOM,且两者的值均大于tB,则该组属于类型4;
如果三者的值相等,则该组属于类型5;
S62、根据组的类型,修正组内节点的值,设修正后的值为TA与TB:
如果组为类型1,则有TA=tA,TB=tCOM-tA;
如果组为类型2,则有TA=tA,TB=tB;
如果组为类型3,则有TA=tA,TB=tB-tA;
如果组为类型4,则有TA=tA-tB,TB=tB;
如果组为类型5,则有TA=tA,TB=0;
S63、整理列表。
2.根据权利要求1所述的集成电路设计过程中多节点并行自动修复保持时间违例的方法,其特征在于,在所述步骤1)中:首先列出所有保持时间违例的路径;然后逐一分析每条保持时间违例时序路径上各个多输入单元相关引脚节点的建立时间裕度;最后取出每条保持时间违例时序路径上建立时间裕度最大的两个值及相关节点,构成一个组,根据组内节点建立时间裕度值的总和,将各组由大到小汇总为一个列表。
3.根据权利要求1所述的集成电路设计过程中多节点并行自动修复保持时间违例的方法,其特征在于,步骤7)具体为:
S71、根据组内节点信息选定缓冲单元;
S72、考察缓冲单元的延迟时间参数;
S73、将列表中组内节点对应的值除以缓冲单元的时间参数,将商的值取整保存;
S74、按照商的取整后的数值在相应的电路节点处***缓冲单元。
4.根据权利要求3所述的集成电路设计过程中多节点并行自动修复保持时间违例的方法,其特征在于,在S73中,当对商的值取整时,只舍不入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110332101.5A CN102436525B (zh) | 2011-10-27 | 2011-10-27 | 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110332101.5A CN102436525B (zh) | 2011-10-27 | 2011-10-27 | 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102436525A CN102436525A (zh) | 2012-05-02 |
CN102436525B true CN102436525B (zh) | 2014-10-15 |
Family
ID=45984586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110332101.5A Active CN102436525B (zh) | 2011-10-27 | 2011-10-27 | 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102436525B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330177B (zh) * | 2017-06-26 | 2020-03-20 | 北方电子研究院安徽有限公司 | 一种基于Tcl/Tk脚本的时钟树扇出违约修复方法 |
CN112069763B (zh) * | 2020-09-29 | 2022-11-29 | 上海兆芯集成电路有限公司 | 修正电路的方法 |
CN112364584B (zh) * | 2021-01-13 | 2021-03-23 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于分布式的静态时序分析方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738747B1 (en) * | 1999-03-29 | 2004-05-18 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for forming a production plan |
CN1828865A (zh) * | 2005-03-03 | 2006-09-06 | 中国科学院微电子研究所 | 超大规模集成电路设计中保持时间快速收敛的方法 |
CN1985257A (zh) * | 2004-05-28 | 2007-06-20 | 高通股份有限公司 | 用于修改电路设计中的保持时间违反的方法和设备 |
CN101192251A (zh) * | 2006-12-01 | 2008-06-04 | 国际商业机器公司 | 用于静态时序中点对点延迟限制的有效分析的***和方法 |
CN101877014A (zh) * | 2009-04-30 | 2010-11-03 | 国际商业机器公司 | 一种检测时序约束冲突的方法和装置 |
-
2011
- 2011-10-27 CN CN201110332101.5A patent/CN102436525B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738747B1 (en) * | 1999-03-29 | 2004-05-18 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for forming a production plan |
CN1985257A (zh) * | 2004-05-28 | 2007-06-20 | 高通股份有限公司 | 用于修改电路设计中的保持时间违反的方法和设备 |
CN1828865A (zh) * | 2005-03-03 | 2006-09-06 | 中国科学院微电子研究所 | 超大规模集成电路设计中保持时间快速收敛的方法 |
CN101192251A (zh) * | 2006-12-01 | 2008-06-04 | 国际商业机器公司 | 用于静态时序中点对点延迟限制的有效分析的***和方法 |
CN101877014A (zh) * | 2009-04-30 | 2010-11-03 | 国际商业机器公司 | 一种检测时序约束冲突的方法和装置 |
Non-Patent Citations (2)
Title |
---|
双频双模导航基带芯片的静态时序分析;常江 等;《微电子学》;20110630;第41卷(第3期);350-353,358 * |
常江 等.双频双模导航基带芯片的静态时序分析.《微电子学》.2011,第41卷(第3期),350-353,358. |
Also Published As
Publication number | Publication date |
---|---|
CN102436525A (zh) | 2012-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8806413B2 (en) | Gradient AOCV methodology enabling graph-based timing closure with AOCV timing models | |
US9857421B2 (en) | Dynamic design partitioning for diagnosis | |
CN110738019B (zh) | 一种利用负载单元自动结群修复时序违反的方法及装置 | |
CN110148435A (zh) | 一种闪存颗粒筛选分级方法 | |
US20130024830A1 (en) | Fault Diagnosis Based On Design Partitioning | |
CN102436525B (zh) | 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法 | |
CN114861578B (zh) | 保持时间违例修复方法、装置、设备及存储介质 | |
CN102332048B (zh) | 集成电路设计过程中单节点并行自动修复保持时间违例的方法 | |
CN102521131A (zh) | 一种基于动态基本块的缺陷定位测试用例约简方法 | |
US9244125B2 (en) | Dynamic design partitioning for scan chain diagnosis | |
CN112948193B (zh) | 一种基于差异测试的fpga综合工具缺陷检测方法 | |
CN111046618A (zh) | 一种用于集成电路的保持时间违反的修复方法和装置 | |
CN116702664B (zh) | 时间违例修复方法、装置、计算机设备及存储介质 | |
US20030074642A1 (en) | Clock skew verification methodology for grid-based design | |
CN104572658B (zh) | 一种甚大规模集成电路版图层次比较工具的单元切分预处理方法 | |
CN113344708A (zh) | 大型***投产演练应用评估方法及*** | |
CN104090838A (zh) | 一种生成测试用例的方法 | |
CN112231459A (zh) | 一种基于知识图谱实现软件测试智能问答的方法及*** | |
US20060253814A1 (en) | Method and apparatus for fixing hold time violations in a hierarchical integrated circuit design | |
CN107315863B (zh) | 布局优化方法及装置、终端及存储介质 | |
CN109685120A (zh) | 分类模型在有限数据下的快速训练方法和终端设备 | |
CN1971535A (zh) | 基于时间安全输入输出自动机的测试方法及*** | |
CN110515604A (zh) | 验证环境的可执行程序文件的获取方法及装置 | |
CN112131810B (zh) | 建立时间违例修复方法、装置、电子设备及可读存储介质 | |
CN109800511A (zh) | 一种寻找最优公共点的保持时间违反修正方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP03 | Change of name, title or address |
Address after: 710075 Shaanxi City, Xi'an province high tech Road No. 38, innovation center, A, block, floor 4 Patentee after: XI'AN UNIIC SEMICONDUCTORS Co.,Ltd. Address before: 710055 Shaanxi City, Xi'an province high tech Road No. 38, innovation center, A, block, floor 4 Patentee before: Xi'an Sinochip Semiconductors Co., Ltd. |