一种集成电路设计过程中多节点并行自动修复保持时间违例的方法技术

技术编号:7316151 阅读:318 留言:0更新日期:2012-05-04 02:08
本发明专利技术公开了一种集成电路设计过程中多节点并行自动修复保持时间违例的方法,包括:1)将所有的由提取的节点构成的组按组内节点建立时间裕度值的和由大到小汇总为一个列表;2)判断列表是否为空;3)设定列表的第一个元素为操作对象;4)依次考察列表中操作对象之后的所有元素,去除与操作对象相关的元素;5)重复步骤4),直到列表元素都不具备相关性;6)判断列表内组的类型,进而对组内节点的值做修正7)根据列表中元素的值在相应的节点处插入缓冲单元;8)选择是否做下一轮的保持时间违例修复。本发明专利技术通过对整个电路的整体分析,能并行、高效的插入缓冲单元以修复保持时间违例,可以极大的缩减集成电路设计过程中修复保持时间违例的周期,从而缩短设计周期。

【技术实现步骤摘要】

本专利技术属于超大规模集成电路设计、制造
,尤其是。
技术介绍
在现代大规模集成电路设计过程中,自动布局布线工具会主动的尝试修复保持时间违例。但是在复杂时钟域的高频大规模集成电路设计中,现有的工具对于在自动布局布线过程中修复保持时间违例的处理上能力有限。一般情况下,需要大量的人力做长时间反复的修复工作,此项工作会可观的耗费芯片设计产出周期。人工手动修复保持时间违例的方法在现代大规模集成电路设计过程中也会被采用,但是展开此项工作的前提是电路时钟域较为简单且保持时间违例的数目不是很多的情况,并且人工修复工作往往只能对保持时间违例路径逐一分析修复。当电路时钟域较为复杂时,人工修复保持时间违例的工作量就会倍增。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺点,提供,该方法能够自动并行高效的修复保持时间违例,能够缩短大规模集成电路设计过程中保持时间修复的周期,从而缩短芯片设计周期。本专利技术的目的是通过以下技术方案来解决的,其特征在于,包括以下步骤1)对于每一条存在保持时间违例的时序路径,提取其建立时间裕度最大的两个节点构成一个组,将所有的组按组内节点建立时间裕度值的总和由大到小汇总为一个列表;2)判断上步骤产生的列表是否为空;如是,则报告电路保持时间违例不可修复, 如否则执行下一步;3)设定列表的第一个元素为操作对象4)依次考察列表中操作对象之后的所有元素,去除与操作对象相关的所有元素, 所述相关,是指两个元素中有节点共属于某一条建立时间路径,重新整理列表,设定下一个元素为操作对象;5)重复步骤4),直到所有的列表元素都不具备相关性;6)报告列表中每一个元素包含的两个节点设为节点A和节点B,相应的时间裕度值为tA和tB,将共同所属建立时间路径的建立时间裕度的最大值设为tOT,根据tA,tB和的大小关系判断列表元素的类型,根据列表元素的类型修订列表元素中节点的值,更新所有元素的值并整理列表;7)根据列表中元素的值在相应的组内节点处插入缓冲单元;8)选择是否做下一轮的保持时间违例修复;如是,则更新电路的时序信息;如否则报告保持时间违例修复完毕。在以上所述步骤1)中首先列出所有保持时间违例的路径;然后逐一分析每条保持时间违例时序路径上各个多输入单元相关引脚节点的建立时间裕度;最后取出每条保持时间违例时序路径上建立时间裕度最大的两个值及相关节点,构成一个组,根据组内节点建立时间裕度值的总和,将各组由大到小汇总为一个列表。进一步的,上述步骤4)具体按照以下步骤进行S41、设定列表中第一个组为考察对象,如列表只有一个组,则直接转向S45步骤;S42、检查考察对象与其后下一个组内是否有节点同属于同一个建立时间路径如是,从列表中删除该与考察对象相关的组;如否,保留该组;S43、重复S42直到完成考察对象与列表中其他所有组的相关性检查;S44、设定列表下一个节点为考察对象,如其为列表最后一个组,则直接转向S45, 否则转向S42;S45、准备判断组的类型以便做组内节点值的调整。进一步的,上述步骤6)具体按照以下步骤进行S61、根据tA,tB和的大小关系判断列表元素的类型如果tA不等于tB,且tA和tB的值均小于 ωΜ,又且tA与tB的和大于troM,则该组属于类型1 ;如果tA不等于tB,且tA和tB的值均小于 ωΜ,又且tA与tB的和小于troM,则该组属于类型2;如果tB等于tOT,且两者的值均大于tA,则该组属于类型3 ;如果tA等于tOT,且两者的值均大于tB,则该组属于类型4 ;如果三者的值相等,则该组属于类型5 ;S62、根据组的类型,修正组内节点的值,设修正后的值为Ta与Tb 如果组为类型1,则有 Ta = tA,Tb = tC0M-tA ;如果组为类型2,则有Ta = tA,Tb = tB ;如果组为类型3,则有Ta = tA,Tb = tB-tA ;如果组为类型4,则有Ta = tA_tB,Tb = tB ;如果组为类型5,则有Ta = tA, Tb = 0 ;S53、整理列表。进一步的,以上步骤7)具体为S71、根据节点信息选定合适的缓冲单元;S72、考察缓冲单元的延迟时间参数;S73、将列表中组内节点对应的值除以缓冲单元的时间参数,将商的值取整保存;S74、按照商的取整后的数值在相应的电路节点处插入缓冲单元。在以上的步骤S73中,当对商的值取整时,只舍不入。本专利技术具有以下有益效果本专利技术通过对整个电路的整体分析,能并行、高效的插入缓冲单元以修复保持时间违例。相对于现有的单个路径逐一分析修复保持时间违例的方法,本专利技术提供的方法能5够极大的缩短大规模集成电路设计过程中保持时间修复的周期,从而缩短芯片设计周期。附图说明 图1为本专利技术的详细流程图。具体实施例方式下面结合附图对本专利技术做进一步详细描述参见图1,本专利技术的自动修复保持时间违例的方法,包括以下步骤1)对于每一条存在保持时间违例的时序路径,提取其建立时间裕度(setup time margin)最大的两个节点构成一个组,将所有的组按组内节点建立时间裕度值的总和由大到小汇总为一个列表;在该步骤中,如图1所示,首先要列出所有保持时间违例的路径;然后逐一分析每条保持时间违例时序路径上各个多输入单元相关引脚节点的建立时间裕度;最后取出每条保持时间违例时序路径上建立时间裕度的最大的两个值及相关节点构成一个组,将所有的组按组内节点建立时间裕度值的总和由大到小汇总为一个列表;2)判断上步骤产生的列表是否为空;如是,则报告电路保持时间违例不可修复, 如否则执行下一步;3)设定列表的第一个元素为操作对象4)依次考察列表中操作对象之后的所有元素,去除与操作对象‘相关’的所有元素,所述的‘相关’,是指两个元素中有节点共属于某一条建立时间路径(setup time path),也可以称之为具有相关性;重新整理列表,设定下一个元素为操作对象;5)重复步骤4),直到所有的列表元素都不具备相关性,如表1所示为某电路采用本专利技术自动修复保持时间违例过程中,列表元素去相关性后的结果列表;表1 =====SMPl =========== margin(na) ===== SMPΞ ========= inargin(na)paqq/u2G9/Bl(0ΑΙΞΞ1Β1) 0.124 paqq/u£23/B(I0A21D4) 0. 04 ρ?.qq八1.345/Al (0R2Dθ) 0. 176 ρaqq/u54/B 1 OAI22ID 1) 0.44 paqq/u347/A±(AOIΞIDΞ) 0.43paqa/u95/Blf0Al£2lDl) 0. 144p^qq/u371/Bl(0AI221D4) 0.76paqq/ul43/Al(0R2D8) 0.107paqq/uS4;-i/Bl,3/B]. AI9SID 1) i\.SS6)报告列表中每一个元素(即组)包含的两个节点(设节点A和节点B,相应的值为、和tB)共同所属的建立时间路径的建立时间裕度的最大值(设为t。J,根据tA,tB 和tOT的大小关系判断列表元素的类型(一个有5种类型,后详述),根据列表元素的类型修订列表元素中节点的值,更新所有元素的值并整理列表;如表2所示为某电路采用本专利技术自动修复保持时间违例过程中,报告tA本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:左丰国
申请(专利权)人:西安华芯半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术