发明名称 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法
摘要 本发明公开了一种集成电路设计过程中多节点并行自动修复保持时间违例的方法,包括:1)将所有的由提取的节点构成的组按组内节点建立时间裕度值的和由大到小汇总为一个列表;2)判断列表是否为空;3)设定列表的第一个元素为操作对象;4)依次考察列表中操作对象之后的所有元素,去除与操作对象相关的元素;5)重复步骤4),直到列表元素都不具备相关性;6)判断列表内组的类型,进而对组内节点的值做修正7)根据列表中元素的值在相应的节点处插入缓冲单元;8)选择是否做下一轮的保持时间违例修复。本发明通过对整个电路的整体分析,能并行、高效的插入缓冲单元以修复保持时间违例,可以极大的缩减集成电路设计过程中修复保持时间违例的周期,从而缩短设计周期。
申请公布号 CN102436525B 申请公布日期 2014.10.15
申请号 CN201110332101.5 申请日期 2011.10.27
申请人 西安华芯半导体有限公司 发明人 左丰国
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 西安西交通盛知识产权代理有限责任公司 61217 代理人 罗永娟
主权项 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法,其特征在于,包括以下步骤:1)对于每一条存在保持时间违例的时序路径,提取其建立时间裕度最大的两个节点构成一个组,将所有的组按组内节点建立时间裕度值的总和由大到小汇总为一个列表;2)判断上步骤产生的列表是否为空;如是,则报告电路保持时间违例不可修复,如否,则执行下一步;3)设定列表的第一个元素为操作对象;4)依次考察列表中操作对象之后的所有元素,去除与操作对象相关的所有元素,所述相关,是指两个元素中有节点共属于某一条建立时间路径,重新整理列表,设定下一个元素为操作对象;5)重复步骤4),直到所有的列表元素都不具备相关性;6)报告列表中每一个元素包含的两个节点设为节点A和节点B,相应的时间裕度值为t<sub>A</sub>和t<sub>B</sub>,将共同所属建立时间路径的建立时间裕度的最大值设为t<sub>COM</sub>,根据t<sub>A</sub>,t<sub>B</sub>和t<sub>COM</sub>的大小关系判断列表元素的类型,根据列表元素的类型修订列表元素中节点的值,更新所有元素的值并整理列表;7)根据列表中元素的值在组中相应的节点处插入缓冲单元;8)选择是否做下一轮的保持时间违例修复;如是,则更新电路的时序信息;如否,则报告保持时间违例修复完毕;步骤4)具体按照以下步骤进行:S41、设定列表中第一个组为考察对象,如列表只有一个组,则直接转向S45步骤;S42、检查考察对象与其后下一个组内是否有节点同属于同一个建立时间路径:如是,从列表中删除所述其后下一个组;如否,保留所述其后下一个组;S43、重复S42直到完成考察对象与列表中其他所有组的相关性检查;S44、设定列表下一个组为考察对象,如其为列表最后一个组,则直接转向S45,否则转向S42;S45、准备判断组的类型以便做组内节点值的调整;步骤6)具体为:S61、根据t<sub>A</sub>,t<sub>B</sub>和t<sub>COM</sub>的大小关系判断列表元素的类型:如果t<sub>A</sub>不等于t<sub>B</sub>,且t<sub>A</sub>和t<sub>B</sub>的值均小于t<sub>COM</sub>,又且t<sub>A</sub>与t<sub>B</sub>的和大于t<sub>COM</sub>,则该组属于类型1;如果t<sub>A</sub>不等于t<sub>B</sub>,且t<sub>A</sub>和t<sub>B</sub>的值均小于t<sub>COM</sub>,又且t<sub>A</sub>与t<sub>B</sub>的和小于t<sub>COM</sub>,则该组属于类型2;如果t<sub>B</sub>等于t<sub>COM</sub>,且两者的值均大于t<sub>A</sub>,则该组属于类型3;如果t<sub>A</sub>等于t<sub>COM</sub>,且两者的值均大于t<sub>B</sub>,则该组属于类型4;如果三者的值相等,则该组属于类型5;S62、根据组的类型,修正组内节点的值,设修正后的值为T<sub>A</sub>与T<sub>B</sub>:如果组为类型1,则有T<sub>A</sub>=t<sub>A</sub>,T<sub>B</sub>=t<sub>COM</sub>‑t<sub>A</sub>;如果组为类型2,则有T<sub>A</sub>=t<sub>A</sub>,T<sub>B</sub>=t<sub>B</sub>;如果组为类型3,则有T<sub>A</sub>=t<sub>A</sub>,T<sub>B</sub>=t<sub>B</sub>‑t<sub>A</sub>;如果组为类型4,则有T<sub>A</sub>=t<sub>A</sub>‑t<sub>B</sub>,T<sub>B</sub>=t<sub>B</sub>;如果组为类型5,则有T<sub>A</sub>=t<sub>A</sub>,T<sub>B</sub>=0;S63、整理列表。
地址 710055 陕西省西安市高新6路38号腾飞创新中心A座4层