一种子单元阵列拼接预处理方法技术

技术编号:15297692 阅读:219 留言:0更新日期:2017-05-11 20:19
本发明专利技术公开了一种甚大规模集成电路版图层次比较工具中版图子单元阵列拼接预处理方法,属于半导体集成电路设计自动化领域,主要用于后端设计时比较集成电路版图间的差异。本预处理方法解决了层次版图间子单元阵列不一致时比较工具过多打散版图的问题,提高了层次版图比较的效率。其实现过程为:将版图中各单元中子单元的阵列散开为实例(Instance),与子单元的原始实例一起排序;遍历有序的实例时,根据前后实例放置点间的位置关系构造Y方向等间距实例集合和X方向等间距实例集合;遍历结束后根据X方向等间距实例集合和其特征Y方向等间距实例集合创建新的阵列和拼接后残留实例,替换掉原始阵列和实例。

Sub unit array splicing preprocessing method for very large scale integrated circuit layout level comparison tool

The invention discloses a very large scale integrated circuit layout level comparison tool layout sub array splicing pretreatment method, belonging to the semiconductor integrated circuit design automation field, mainly used for different backend design comparison between integrated circuit layout. The preprocessing method solves the problem that when the array of sub elements in the hierarchical layout is inconsistent, the tool is used to divide the layout and the efficiency of the hierarchical layout comparison is improved. The realization process is as follows: the scattered neutron array each unit cell layout in case (Instance), together with the original instance ranking unit; ordered traversal instance, according to a set of examples before and after placed between the structure of Y direction and X direction spacing of instances of spacing after traversal according to the case; an example of residual X in equal distance in the direction of the collection of instances and its characteristics Y direction to create a new instance set spacing array and splicing, replace the original array and examples.

【技术实现步骤摘要】

一种甚大规模集成电路版图层次比较工具中属于半导体集成电路设计自动化后端设计领域,涉及集成电路版图的差异比较操作中版图子单元阵列拼接预处理方法
技术介绍
集成电路版图差异比较是版图设计和制造过程中,频繁执行的一种操作,通常用于筛选两个近似版图在图形和文本方面的差异。版图在设计过程中,通常以层次架构表示,版图由多个单元(Cell)组成。单元中包含图形,文本数据和调用子单元的实例(Instance)。版图比较工具的主要输入数据是层次版图数据。版图比较工具分二种:层次比较工具和打散比较工具。版图打散比较工具处理层次版图的主要方法是:首先读入层次版图数据,然后按照从顶层到底层的层次调用关系扁平化打散各个单元的图形文本数据,仅保留一个顶层单元(TopCell);接着对顶层单元调用打散比较引擎作版图比较,最后在顶层单元输出差异结果。版图层次比较工具处理层次版图的主要方法是:首先读入层次版图数据,然后对层次版图数据的各个单元并行的调用层次比较引擎作跨层次的版图比较,最后在层次版图的各个单元输出差异结果。在版图设计后期,投入生产之前,版图通常要经过多次局部修改,以满足设计规则检查和电路元件参数要求。而每次迭代修改,都要进行版图差异比较,复查确认修改内容。因此,版图比较工具的处理效率对集成电路设计周期具有重要影响。随着纳米级IC设计的出现,版图数据规模迅速膨胀,单个层次版图文件的尺寸可达几百GB的规模。如此大的数据规模,版图打散比较工具还要打散各单元数据,使得数据规模进一步增大,处理效率非常低。而版图层次比较工具具有无须打散单元数据,避免重复比较同一单元数据和并行比较多个单元的优点,特别适合比较甚大规模集成电路的版图。集成电路设计者在对版图改版时,有时将一个单元的大阵列(Array)拆分成几个小阵列来放置。当用版图比较工具比较这两个版本的差异时,由于两个版图之间单元阵列放置的差异,层次版图比较工具通常把这种有差异的单元阵列全部打散为图形再做图形比较,比较效率相当低下。一个好的办法是先消除单元阵列的放置差异,使得两个版图的单元层次一致并使用层次比较算法比较以上单元阵列。消除单元阵列放置差异的通常方法是:将两个版图的所有单元阵列展开为单元的实例。这种方法占内存大,处理效率低。本专利技术采用将邻近的小阵列拼接为一个大阵列来保持两版图的层次一致。这种方法具有内存小,处理效率高的优点。要进一步提高版图层次比较工具的比较速度,就必须解决好版图中单元的大阵列的层次改版造成的比较效率下降的问题。
技术实现思路
本专利技术提供一种集成电路版图层次比较工具的子单元阵列拼接预处理方法,能够解决版图中单元的大阵列的层次改版造成的版图层次比较工具效率下降的问题。本专利技术的主要思路:在版图层次比较工具中增加一个预处理步骤——子单元阵列拼接预处理。子单元阵列拼接预处理将版图中邻近的小Array或Instance拼接为一个大Array,使不一致的Array层次统一起来,提高层次比较算法的比较效率。Array拼接处理的技术方案如下:按照拓扑序遍历版图中的各单元,将当前单元中各子单元的Array散开为实例,和子单元的原始实例一起插入到临时Instance容器中;对临时Instance容器中的Instance按照放置点坐标先X后Y排序;依次遍历有序的Instance,按照与前一个Instance的坐标关系,构造Y方向等间距Instance集合和X方向等间距Instance集合;遍历完毕后根据X方向等间距Instance集合和其特征Y方向等间距Instance集合,创建拼接后的新Array;将该子单元的原始Array和实例删除,插入拼接后的新Array和无法拼接而残留的实例。前文所述的构造Y方向等间距Instance集合,步骤为:在遍历有序的Instance时,若前后Instance的X坐标相同,Y坐标不同,把与前一个Instance的Y间距值相同的Instance加入到同一个Y方向等间距Instance集合中。如果前后Instance的Y间距值发生变化。则创建新的Y方向等间距Instance集合来存放不同Y间距值的Instance。前文所述的构造X方向等间距Instance集合,步骤为:在遍历有序的Instance时,若前后Instance的X坐标不同或已经遍历完最后一个实例,如果当前X坐标处各Instance同时满足以下两个条件,则加入到同一个X方向等间距Instance集合中;否则加入到新的X方向等间距Instance集合中:(a)与前一个X坐标处各Instance的X间距值相同。(b)在Y方向的各Instance间距分布与当前X方向等间距Instance集合中任一个X坐标处各Instance在Y方向的间距分布相同。各Instance在Y方向的间距分布由一组特征Y方向等间距Instance集合来描述。前文所述的根据X方向等间距Instance集合和其特征Y方向等间距Instance集合,创建拼接后的新Array,步骤为:遍历各X方向等间距Instance集合和其特征Y方向等间距Instance集合,每次遍历都得到在X方向和Y方向同时等间距的一组Instance,将这些Instance组成一个新Array。如果该Array的维数为1x1,则作为实例输出到预处理后的版图;否则作为二维或一维Array输出到预处理后的版图。本专利技术在保证比较结果正确性的前提下,能消除层次版图之间子单元阵列的层次差异,减少不必要的版图打散,节约了内存,加快版图比较速度。实验中采用若干子单元阵列层次有差异的真实版图测试,在采用了本专利技术所述的子单元阵列拼接预处理后,版图层次比较工具有2-10倍的性能提升。附图说明图1 层次版图的子单元阵列拼接预处理方法流程图;图2 待拼接的子单元阵列版图实例;图3 子单元阵列实例的拼接示意图;图4 拼接后形成的大阵列版图。具体实施方式如附图1所示,本专利技术的具体实现流程如下:Ø步骤(101),将所有单元按层次调用关系,拓扑排序,转步骤(102)。Ø步骤(102),按照拓扑顺序,取出下一个未处理的单元,转步骤(103)。Ø步骤(103),判断当前单元是否含有子单元阵列或实例,是则转步骤(104),否则当前单元不做操作,直接转步骤(110)。Ø步骤(104),将子单元的阵列临时展开为Instance,保存到临时Instance容器中,转步骤(105)。Ø步骤(105),按照Instance的放置点坐标,对临时Instance容器中的Instance排序,转步骤(106)。Instance拓扑排序的方法如下:按照Instance放置点的坐标先按照X坐标由小到大排序,X坐标相同时按照Y坐标由小到大排序。Ø步骤(106),遍历有序的Instance时,若前后Instance的X坐标相同,Y坐标不同,则构造Y方向等间距Instance集合,转步骤(108)。Y方向等间距Instance集合的特征是每个Instance的X坐标相同,与前一个Instance的Y间距值相等。构造Y方向等间距Instance集合的步骤如下:(a)如果当前Y方向等间距Instance集合不存在,则创建一个新的Y方向等间距Instance集合作为当前Y方向等间距Instance集合,将当前本文档来自技高网
...
一种子单元阵列拼接预处理方法

【技术保护点】
一种集成电路版图层次比较工具的子单元阵列拼接预处理方法;本预处理方法消除了层次版图间子单元阵列的层次差异,减少了版图的打散,提高了层次版图差异比较的效率;其技术特征在于:按照拓扑序遍历版图中的各单元,将当前单元中各子单元的阵列(Array)散开为实例(Instance),和子单元的原始实例一起插入到临时Instance容器中;对临时Instance容器中的Instance按照放置点坐标先X后Y排序;依次遍历有序的Instance,按照与前一个Instance的坐标关系,构造Y方向等间距Instance集合和X方向等间距Instance集合;遍历完毕后根据X方向等间距Instance集合和其特征Y方向等间距Instance集合,创建拼接后的新Array;将该子单元的原始Array和实例删除,插入拼接后的新Array和无法拼接而残留的实例。

【技术特征摘要】
1.一种集成电路版图层次比较工具的子单元阵列拼接预处理方法;本预处理方法消除了层次版图间子单元阵列的层次差异,减少了版图的打散,提高了层次版图差异比较的效率;其技术特征在于:按照拓扑序遍历版图中的各单元,将当前单元中各子单元的阵列(Array)散开为实例(Instance),和子单元的原始实例一起插入到临时Instance容器中;对临时Instance容器中的Instance按照放置点坐标先X后Y排序;依次遍历有序的Instance,按照与前一个Instance的坐标关系,构造Y方向等间距Instance集合和X方向等间距Instance集合;遍历完毕后根据X方向等间距Instance集合和其特征Y方向等间距Instance集合,创建拼接后的新Array;将该子单元的原始Array和实例删除,插入拼接后的新Array和无法拼接而残留的实例。2.根据权利要求1所述的一种集成电路版图层次比较工具的子单元阵列拼接预处理方法,其特征在于,所述的构造Y方向等间距Instance集合,步骤为:在遍历有序的Instance时,若前后Instance的X坐标相同,Y坐标不同,把与前一个Instance的Y间距值相同的Instance加入到同一个Y方向等间距Instance集合中;如果前后Instance的Y间距值发生变化;则创建新的Y方向等间距Instance集合来存放不同Y间距值的Inst...

【专利技术属性】
技术研发人员:戴斌华于士涛王国庆路艳芳
申请(专利权)人:北京华大九天软件有限公司
类型:发明
国别省市:北京;11

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

1