一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于查找表的完备最优斯坦纳树构建方法与流程

2022-02-20 20:14:10 来源:中国专利 TAG:

1.本发明涉及电子设计自动化(electronicdesignautomation,eda)
技术领域
,特别是涉及一种基于查找表的完备最优斯坦纳树构建方法。
背景技术
:2.随着超大规模集成电路的生产工艺向深亚微米、纳米尺度推进,集成电路的规模越来越大,系统越来越复杂。这也给电子设计自动化(eda)工具带来了新的挑战。特别是对集成电路物理设计(physicaldesign)工具的性能和运行速度提出了新的要求。3.最小矩形斯坦纳树(rectilinearsteinerminimaltree,rsmt)是通过添加额外节点(steinerpoint,斯坦纳点),使得连接给定节点(pin)集合的曼哈顿距离最短的树。在超大规模集成电路的设计中,最小矩形斯坦纳树的构建是一个基础问题。其可以应用于电路设计的多个阶段。在电路设计早期,如物理综合,布局规划,连线规划,和布局阶段,最小矩形斯坦纳树可以用来评估线长,布线拥塞度和互连线延迟。在全局和具体布线阶段,其可以用来构建单个网格的拓扑结构。4.最小矩形斯坦纳树的生成是一个np完成问题。因此,实践中往往通过两个方向来求解该问题。一个是改变问题类型,通过求解矩形最小生成树(rectilinearminimumspanningtree,rmst)或者单主干斯坦纳树(single-trunksteinertree,stst),来构建网络连接拓扑结构。该类方法在运行时间方面有一定优势,但是线长优化方面的质量不佳。另一个求解方向是通过优化最小矩形斯坦纳树的求解算法,以得到近优化解。该类方法得到的结果在线长方面可以得到最优或者近似最优解,但是一般需要大量的运行时间。5.flute(fastlookuptableestimation,flute)是在运行速度和线长优化准确度方面都很优秀的最小矩形斯坦纳树构建算法。对于节点个数较少的网络,flute通过预先计算好的查询表来快速且准确的构建最小矩形斯坦纳树。根据各个节点的相对位置,所有节点数为n的网络可以被划分为n!组。对于某一个特定分组,其最小矩形斯坦纳树可以通过潜在最小线长向量(potentiallyoptimalwirelengthvectors,powv)查询得到。每个潜在最小线长向量由hanan网格(hanangrid)中相邻节点间距离的线性组合构成。在集成电路设计过程中,对于给定的网络,根据潜在最小向量可以计算得到最小线长的向量,并可以查表得到对应的潜在最小斯坦纳树(potentiallyoptimalsteinertree,post)。6.上述flute算法中,受限于储存查找表的硬盘空间和读入后的内存空间,对应每个潜在最小限量,只能得到一个潜在最小斯坦纳树。而且该最小斯坦纳树中的斯坦纳点必然在hanan网格的交叉点上。单一的最小斯坦纳树选择完全无法满足集成电路设计中的复杂环境和多网络优化的需求。技术实现要素:7.为了解决现有技术存在的不足,本发明的目的在于提供一种基于查找表的完备最优斯坦纳树构建方法,通过查找表快速得到给定网络节点集合的完备最优斯坦纳树。进而,使用完备最优斯坦纳树可以快速构造出所有的最小矩形斯坦纳树,以供布线工具选择。8.为实现上述目的,本发明提供的基于查找表的完备最优斯坦纳树构建方法,包括以下步骤:计算节点集合对应标号;通过潜在最小线长向量查找表,获得最小线长向量;通过完备最优斯坦纳树查找表,构建完备最优斯坦纳树;通过完备最优斯坦纳树构建最小矩形斯坦纳树;通过建立多层查找表,对潜在最小线长向量查找表和完备最优斯坦纳树查找表进行数据压缩。9.进一步地,所述计算节点集合对应标号的步骤,还包括,建立节点相对位置和标号之间的映射,并以所述标号作为潜在最小线长查找表和完备最优斯坦纳树的查表入口。10.进一步地,所述建立节点相对位置和标号之间的映射的步骤,还包括,采用如下计算公式:,其中,n为大于1的正整数,i为所有0到n-1的整数,j为i 1到n-1的所有整数,pi为第i个节点标号,pj为第j个节点标号。11.进一步地,所述通过潜在最小线长向量查找表,获得最小线长向量的步骤,还包括,将构成最小矩形斯坦纳树的线长向量作为潜在最小线长向量;通过潜在最小线长查找表,得到所有的潜在最小线长向量;根据节点的实际坐标,计算得到最小线长向量;将最小线长向量作为完备最优斯坦纳树的查表入口。12.进一步地,还包括,对于所述潜在最小线长查找表中同一标号下的潜在最小线长向量,只记录相对于上一个潜在最小线长向量的增加值和减少值。13.进一步地,所述通过完备最优斯坦纳树查找表,构建完备最优斯坦纳树的步骤,还包括,以标号和潜在最小线长向量作为查找表入口,通过完备最优斯坦纳树查找表,得到完备最优斯坦纳树。14.进一步地,所述完备最优斯坦纳树,包括,区间数值、节点,以及边,其中,所述区间数值,由最小值和最大值构成,分别对应hanan网格中网格线的横坐标或纵坐标;所述节点,由两个所述区间数值构成,分别表示节点的横坐标和纵坐标;所述边,由两个节点和一个边类型构成。15.更进一步地,所述通过完备最优斯坦纳树构建最小矩形斯坦纳树的步骤,还包括,所述完备最优斯坦纳树通过改变区间数值的值和连接非对齐边的不同走线方式,构造最小矩形斯坦纳树。16.为实现上述目的,本发明还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的基于查找表的完备最优斯坦纳树构建方法的步骤。17.为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的基于查找表的完备最优斯坦纳树构建方法的步骤。18.本发明的基于查找表的完备最优斯坦纳树构建方法,与现有技术相比较,具有以下有益效果:本发明提出了完备最优斯坦纳树这一新型的数据结构,该数据结构可以通过变量的不同取值,快速构建出所需的最小矩形斯坦纳树,而且构建出的斯坦纳点不局限于hanan网格的交叉点;利用快速的查找表,以得到给定节点集合对应的完备最优斯坦纳树;本发明以极小的储存空间提供了快速构建所有可能最小矩形斯坦纳树的方法,可以给布线工具提供了足够的自由度,以快速得到不同环境下最优的最小矩形斯坦纳树。19.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。附图说明20.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:图1为根据本发明的基于查找表的完备最优斯坦纳树构建方法流程图;图2为根据本发明的节点相对位置和标号之间的映射示意图;图3为根据本发明的通过潜在最小线长向量查找表获得最小线长向量示意图;图4为根据本发明构建的完备最优斯坦纳树示意图;图5为根据本发明的最小线长向量的两层查找表示意图。具体实施方式21.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。22.实施例1图1为根据本发明的基于查找表的完备最优斯坦纳树构建方法流程图,下面将参考图1,对本发明的基于查找表的完备最优斯坦纳树构建方法进行详细描述。23.首先,在步骤101,计算节点集合对应标号(index)。24.本发明实施例中,对于节点个数为n的节点集合(n为大于1的整数),其节点在hanan网格上分布的相对位置,有n!种可能性,通过数学计算建立节点相对位置和标号之间的映射,并以此标号作为潜在最小线长查找表和完备最优斯坦纳树的查找表入口。25.本发明实施例中,通过将集合中各个节点按照x坐标由小到大排序,可以将各个节点标记为1-n;之后将各个节点按照y坐标由小到大排序,可以得到节点标记的序列,p1、p2、……、pn。该标记序列有n!种可能,通过下面的计算公式,可以由标记序列计算得到一个标号,该标号取值范围为[0,n!-1]内的所有整数。[0026],其中,n为大于1的整数,i为所有0到n-1的整数,j为i 1到n-1的所有整数,pi为第i个节点标号,pj为第j个节点标号。[0027]如图2所示,对于5个节点,其标记序列为15243,对应的标号为4!*0 3!*3 2!*0 1!*1 0!*0=19。[0028]在步骤102,通过潜在最小线长向量查找表,计算获得最小线长向量。[0029]本发明实施例中,将hanan网格中第i条竖线的横坐标记为xi,第i条横线的纵坐标记为yi。则hanan网格中第i条横边的长度hi=xi 1-xi,第i条竖边的长度vi=yi 1-yi。hanan网格上的斯坦纳树可以看作是网格上横边和竖边的组合,所以,该斯坦纳树的线长可以写作hanan网格边的长度的线性组合。而每条边的系数就可以构成一个线长向量,有可能构成最小矩形斯坦纳树的线长向量称为潜在最小线长向量。[0030]本发明实施例中,每条边的系数表示最小矩形斯坦纳树中该条边对应边出现的次数。[0031]对于给定的节点集合,本发明通过潜在最小线长查找表,得到所有的潜在最小线长向量,再根据节点的实际坐标,计算得到最小线长向量,以此为完备最优斯坦纳树的查表入口。[0032]图3给出了图2中节点集合的3个潜在最小线长向量,分别为12211111,11211211和11111221。当h2 h3》h3 v2且v2 v3》h3 v2时,其最小线长向量为11211211。[0033]需要注意的时,潜在最小向量中各项取值最小为1,所以,为了简化数据和计算,查找表中记录的潜在最小线长向量各项减1,即12211111记录为01100000。[0034]经过简化,可以进一步发现向量中大部分项的值为0,所以,为了简化查找表,本发明只记录非0的项,即01100000记为1,2。[0035]本发明实施例中,为了得到最小线长向量,需要依次计算给定标号对应的所有潜在最小线长向量,所以,为了进一步提高计算效率,查找表中同一标号下,本发明中只记录相对于上一个潜在最小线长向量的增加和减少值。[0036]因此在图3中,同一标号下{12211111},{11211211},{11111221}三个向量记为{ 1, 2},{-1, 5},{-2, 6}。[0037]在步骤103,通过完备最优斯坦纳树查找表,构建完备最优斯坦纳树。[0038]本发明实施例中,以标号和潜在最小线长向量作为查表入口,本发明可以通过完备最优斯坦纳树查找表得到完备最优斯坦纳树。[0039]本发明实施例中,完备最优斯坦纳树由区间数值(intervalvalue)、节点,以及边构成,其中,区间数值,由最小值和最大值两个数值构成,其数值对应hanan网格中网格线的横坐标或纵坐标。当最大值等于最小值时,该区间数值为定值。为了减少查找表空间,完备最优斯坦纳树查找表中不会记录hanan网格中网格线对应的区间数值。[0040]节点,由两个区间数值构成,分别表示节点的横坐标和纵坐标。节点包括节点集合中待连接的节点和斯坦纳点。为减少查找表空间,完备最优斯坦纳树查找表中只记录斯坦纳点。[0041]边,由两个节点和一个边类型构成。边类型包括固定线、伸缩线、平移线、伸缩平移线和非对齐边五类,分别由1-5五个对应的数字表示。为了减少查找表空间,边类型可以省略,由两个节点的相对位置和移动情况计算得到。[0042]在图4中,展示了一个完备最优斯坦纳树的示例,其中,含有12个区间数值(其中,10个定值来自于hanan网格,2个区间数值来自于查找表),8个节点(其中,5个节点来自于节点集合,3个斯坦纳点来自于查找表)和7条边。[0043]在步骤104,通过完备最优斯坦纳树构建最小矩形斯坦纳树。[0044]本发明实施例中,完备最优斯坦纳树通过改变区间数值的值和连接非对齐边的不同走线方式,来构造最小矩形斯坦纳树。[0045]如图4所示中,有5个变量可以控制最小矩形斯坦纳树的形状,其中,2个区间数值变量控制3个斯坦纳点的位置,3个非对齐边作为三个变量可以通过点对点布线算法(模式布线,迷宫布线等)快速构建最短连接路径。[0046]在步骤105,对潜在最小线长向量查找表和完备最优斯坦纳树查找表的数据进行压缩,减少硬盘和内存占用;本发明实施例中,潜在最小线长向量查找表和完备最优斯坦纳树查找表中都存在大量数据重复出现,本发明通过建立多层查找表以减少查找表在硬盘和内存中所占的空间。[0047]图5为根据本发明的最小线长向量的两层查找表示意图,如图5所示,展示了最小线长向量的两层查找表,当查找节点数为五标号为19的潜在最小线长向量时,通过进一步查找关键字表中标号5,4,2对应的内容可以得到,其对应的三个潜在最小线长向量为{ 1, 2},{ 5,-1},{ 6,-2},即{12211111},{11211211},{11111221}。[0048]相应的,完备最优斯坦纳树可以建立区间数值,节点和边的二次查找表,上一层查找表中只记录下层查找表的对应标号。[0049]对于节点数多的网络,可以继续增加查找表层数,以达到减少查找表所占空间的目的。[0050]本发明的一个实施例中,还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的基于查找表的完备最优斯坦纳树构建方法的步骤。[0051]本发明的一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的基于查找表的完备最优斯坦纳树构建方法的步骤。[0052]本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献