发明名称 基于边的倒序树扫描线算法优化层次版图验证技术
摘要 基于边的倒序树扫描线算法优化层次版图验证技术含有)ILT运算的复杂度降到线性的步骤,其特征在于含有以下操作步骤:利用了基于边的扫描线算法和VLSI版图验证的局部性原理,引入版图倒序树(Inverse Layout Tree)和投影边(halo element)的概念,在计算边的状态时发明了“存在状态”与“不存在状态”两种类型的ILT,通过投影法和倒序树扫描线的结合来对版图进行分解,计算操作。利用VLSI版图数据的局部性原理和基于边的扫描线算法的特点,把(版图倒序树)ILT运算的算法复杂度降到线性的程度。使得避免组合爆炸问题并且避免了不同边操作下的几何操作重复这一技术缺陷。
申请公布号 CN1604089A 申请公布日期 2005.04.06
申请号 CN03126497.2 申请日期 2003.09.29
申请人 北京中电华大电子设计有限责任公司 发明人 侯劲松;魏文静;陈福海;李宁;张书波;刘燕
分类号 G06F17/50 主分类号 G06F17/50
代理机构 代理人
主权项 1.一种基于倒序树扫描线的版图验证技术,涉及到层次处理边中判断边的类别和计算边的状态,具体步骤如下:(1)层次预处理在每个单元中,形成所有图形对应边的ILT(版图倒序树)。形成ILT的过程采用版图层次结构自顶向下投影的步骤,投影操作分为:图形与Instance边框重合的情况以及Instance与Instance有重合部分的情况两类,其中Instance与Instance有重合部分时,要利用递归投影的方法,寻找所有可能有重叠的图形。步骤1的详细实现在程序DPgoa.cpp和UTcell.cpp中。(2)每个单元自底向上采用扫描线算法处理。在每条扫描线上,对边按照Y坐标的大小排序,垂直边不参与运算。排序的主要目的是为下一步计算边的状态做准备。步骤2的详细实现在程序SCscan.cpp中。(3)扫描线上自底向上逐个计算每条边的状态,状态值采用多个ILT表示,状态的记录分为两类,分别是:当本边存在时的状态存在状态(ExistStatusILT)和本边不存在时的状态(NonExistStatusILT).其中ILT存在状态(ExistStatusILT)根据不同的状态值采用多个的ILT存储,NonExistStatusILT也根据不同的状态值采用多个的ILT存储。步骤3的详细实现在程序UTedge.h中。(4)每条halo边的状态值仅取决于它的直接前驱边,与其它边的状态无关。这是由于,状态对应的ILT详细记录了它之前所有边的存在与不存在的情况。(5)通过前一条边存在状态和不存在状态的的ILT与本边的halo做逻辑”与”运算得到本边的存在状态。本边存在状态的ILT=前一条边的存在状态(ExistStatusIL)“与”本边的halo+ 前一条边的不存在状态(NonExistStatusIL)“与”本边的halo本边存在状态的数值=前一条边的状态数值+1(如果本边方向为正)。本边存在状态的数值=前一条边的状态数值-1(如果本边方向为负)。步骤5的详细实现在程序SCstatus.cpp中(6)通过前一条边存在状态和不存在状态的ILT与本边ILT做逻辑”减”运算得到本边不存在的状态。本边不存在状态的ILT=前一条边的ILT存在状态(ExistStatus)“减”本边的halo 前一条边的非ILT存在状态(NonExistStatus)“减”本边的halo本边不存在状态的数值=前一条边的状态数值(不论本边的方向为正或负)。步骤6的详细实现在程序SCstatus.cpp中(7)状态计算的结果在区分内边、外边时,只需判断存在状态的ILT对应的状态值,不必考虑不存在状态的ILT。步骤7的详细实现在程序SClayer.cpp中
地址 100015北京市朝阳区高家园1号