CN116402006A - 一种基于边移动的完备最优斯坦纳树查找表构建方法 - Google Patents
一种基于边移动的完备最优斯坦纳树查找表构建方法 Download PDFInfo
- Publication number
- CN116402006A CN116402006A CN202310664567.8A CN202310664567A CN116402006A CN 116402006 A CN116402006 A CN 116402006A CN 202310664567 A CN202310664567 A CN 202310664567A CN 116402006 A CN116402006 A CN 116402006A
- Authority
- CN
- China
- Prior art keywords
- lookup table
- edge
- steiner tree
- line length
- minimum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 26
- 239000013598 vector Substances 0.000 claims abstract description 68
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 21
- 238000010276 construction Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种基于边移动的完备最优斯坦纳树查找表构建方法,包括以下步骤:计算标号对应节点集合;通过潜在的最小矩形斯坦纳树,构建最小线长向量查找表;对潜在的最小矩形斯坦纳树采用边移动算法,构建完备最优斯坦纳树;通过完备最优斯坦纳树,构建完备最优斯坦纳树查找表;通过建立多层查找表,压缩最小线长向量查找表和完备最优斯坦纳树查找表。本发明通过边移动算法,找到所有的潜在的斯坦纳点,能够快速找到所有的潜在最小矩形斯坦纳树并存储至查找表,构建完备最优斯坦纳树查找表,进而给布线工具提供了足够的自由度,以快速得到不同环境下最优的最小矩形斯坦纳树。
Description
技术领域
本发明涉及电子设计自动化(Electronic Design Automation,EDA)技术领域,特别是涉及一种基于边移动的完备最优斯坦纳树查找表构建方法。
背景技术
随着集成电路的生产工艺尺度不断进步,内部结构也变得越来越复杂。物理设计可靠性成为集成电路设计成功与否的关键,在布线阶段中考虑拥堵性成为极其重要的一环,对电子设计自动化(Electronic Design Automation,EDA)物理设计(PhysicalDesign)工具要求越来越高。
在超大规模集成电路设计中,最小矩形斯坦纳树的构建是一个基础性的问题。最小矩形斯坦纳树(Rectilinear Steiner minimal tree,RSMT)是通过添加额外节点(steiner point,斯坦纳点),使得连接给定节点(Pin)集合的曼哈顿距离最短的树。在布线阶段,可以用来构建初始线长和拥堵感知性。在电路设计阶段,如物理综合、布局规划、连线规划和布局阶段,多使用最小矩形斯坦纳树(Rectilinear Steiner minimal tree,RSMT)进行拥堵感知性、线长评估。
最小矩形斯坦纳树的生成是一个NP完成问题。因此,实践中往往通过两个方向来求解该问题。一个是改变问题类型,通过求解矩形最小生成树(Rectilinear MinimumSpanning Tree,RMST)或者单主干斯坦纳树(Single-Trunk Steiner Tree,STST),来构建网络连接拓扑结构。该类方法在运行时间方面有一定优势,但是线长优化方面的质量不佳。另一个求解方向是通过优化最小矩形斯坦纳树的求解算法,以得到近优化解。该类方法得到的结果在线长方面可以得到最优或者近似最优解,但是一般需要大量的运行时间。
FLUTE(Fast Lookup Table Estimation,FLUTE)是一个基于最小矩形斯坦纳树算法的一个非常快速准确的构建算法。对于节点个数较少的网络,FLUTE通过查询表来构建最小矩形斯坦纳树。根据各个节点的相对位置,所有节点数为n的网络可以被划分为n!组。
对于某一个特定分组,根据各个节点的相对位置,可以通过映射到Hanan网格(Hanan grid)中得到唯一确定标号,由此可将节点数为n的网络划分为n!组,其最小线长可以通过最小线长向量(Potentially Optimal Wirelength Vectors, POWV)查找表,由此查找完备最优斯坦纳树查找表可得到所有的潜在最小斯坦纳树(Potentially OptimalSteiner Tree,POST)。
上述FLUTE算法中,受限于储存查找表的硬盘空间和读入后的内存空间,对应每个潜在最小限量,只能得到一个潜在最小斯坦纳树。单一的最小斯坦纳树选择完全无法满足集成电路设计中的复杂环境和多网络优化的需求。同时在集成电路设计中,准确高效的构建完备最优斯坦纳树是提高布线、布局工具结果精确度的必备选项。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种基于边移动的完备最优斯坦纳树查找表构建方法,通过边移动得到给定网络节点集合的完备最优斯坦纳树,存储到完备最优斯坦纳树查找表中。进而,使用完备最优斯坦纳树查找表可以快速构造出所有的最小矩形斯坦纳树,以供布线工具选择。
为实现上述目的,本发明提供的基于边移动的完备最优斯坦纳树查找表构建方法,包括以下步骤:
基于给定的标号,计算所述标号对应节点集合;
通过潜在的最小矩形斯坦纳树,构建最小线长向量查找表;
对潜在的最小矩形斯坦纳树采用边移动算法,构建完备最优斯坦纳树;
通过完备最优斯坦纳树,构建完备最优斯坦纳树查找表;
通过建立多层查找表,压缩最小线长向量查找表和完备最优斯坦纳树查找表。
进一步地,所述基于给定的标号,所述计算标号对应节点集合的步骤,还包括,建立节点相对位置和标号之间的映射,计算得到所述节点的集合,并以所述节点的集合作为边移动算法的算法入口。
进一步地,所述建立节点相对位置和标号之间的映射,计算得到所述节点的集合的步骤,还包括,采用如下计算公式选取节点的坐标值:
其中,h为标号,n为待取坐标值的节点个数,计算结果包括商和余数,商为剩余未取坐标值的位置值,取该位置值上的坐标值为当前节点的坐标值,更新剩余未取坐标值的位置,以余数作为新的标号继续计算选取下一节点的坐标值。
进一步地,所述通过潜在的最小矩形斯坦纳树,构建最小线长向量查找表的步骤,还包括,
在Hanan网格上,将最小矩形斯坦纳树在横向和竖向坐标轴上的垂直投影线段的数量组合作为该最小矩形斯坦纳树的最小线长向量;
获得所有潜在的最小矩形斯坦纳树的最小线长向量;
简化所述最小线长向量,存储在最小线长向量查找表中。
进一步地,所述简化所述最小线长向量,存储在最小线长向量查找表中的步骤,还包括,
以Hanan网格上的组合半周长向量作为基础线长向量,将第一最小线长向量的各项分别与所述基础线长向量的各项作减法,将非零项的位置记录在最小线长向量查找表中;
对于所述最小线长查找表中同一标号下的最小线长向量,记录其相对于上一个潜在最小线长向量的增加值和减少值。
进一步地,所述边移动算法,包括:
判断潜在的最小矩形斯坦纳树的边的移动能力,若所述最小矩形斯坦纳树的边无移动能力,则判断下一条边;
移动具有移动能力的边后,判断下一条边的移动能力,直至所述最小矩形斯坦纳树所有可移动的边都完成移动。
进一步地,所述边的移动能力,包括:
若水平边的两个端点竖直向上都有边,则所述水平边具有竖直向上的移动能力;
若水平边的两个端点竖直向下都有边,则所述水平边具有竖直向下的移动能力;
若竖直边的两个端点水平向左都有边,则所述竖直边具有水平向左的移动能力;
若竖直边的两个端点水平向右都有边,则所述竖直边具有水平向右的移动能力。
进一步地,所述最小矩形斯坦纳树的数据结构由节点、边构成,其中,
节点,包括所述最小矩形斯坦纳树的节点或斯坦纳点在Hanan网格中的横坐标和纵坐标;
边,由两个节点和一个边类型构成,所述边类型包括固定线、伸缩线、平移线、伸缩平移线和非对齐边。
进一步地,所述通过完备最优斯坦纳树,构建完备最优斯坦纳树查找表的步骤,还包括,
完备最优斯坦纳树查找表由区间数值、节点、边组成;
采用区间数值表示完备最优斯坦纳树的一条可以移动的边;
采用不同的数字分别表示固定线、伸缩线、平移线、伸缩平移线和非对齐边五种边类型。
更进一步地,所述通过建立多层查找表,压缩最小线长向量查找表和完备最优斯坦纳树查找表的步骤,还包括,
将第一完备最优斯坦纳树的区间数值、节点和边分别放置在基础空间的基础区间数值、基础节点和基础边中;
将最小线长向量和完备最优斯坦纳树中大量重复使用的数据放在查找表第一层的基础空间,查找表的下一层只需要存储上一层数据对应的标号。
为实现上述目的,本发明还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的基于边移动的完备最优斯坦纳树查找表构建方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的基于边移动的完备最优斯坦纳树查找表构建方法的步骤。
本发明的基于边移动的完备最优斯坦纳树查找表构建方法,具有以下有益效果:
通过边移动算法,找到所有隐藏的斯坦纳点,进而得到所有的最小矩形斯坦纳树,构建完备最优斯坦纳树查找表;
本发明提出了快速产生最小线长向量查找表和完备最优斯坦纳树查找表的方法,通过建立最小矩形斯坦纳树节点、边的连接关系,计算边的移动能力,能够找到隐藏的斯坦纳点和完备的边的类型;
本发明提出了通过一个潜在的最小矩形斯坦纳树,快速找到所有的潜在最小矩形斯坦纳树并存储至查找表的方法,进而给布线工具提供了足够的自由度,以快速得到不同环境下最优的最小矩形斯坦纳树。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的基于边移动的完备最优斯坦纳树查找表构建方法流程图;
图2为根据本发明的节点相对位置和标号之间的映射示意图;
图3为根据本发明的潜在的最小矩形斯坦纳树示意图;
图4为根据本发明的节点和边示意图;
图5为根据本发明的边的移动方向示意图;
图6的(a)为根据本发明实施例的一个通过边的移动得到隐藏的斯坦纳点示意图;
图6的(b)为根据本发明实施例的另一个通过边的移动得到隐藏的斯坦纳点示意图;
图7为根据本发明构建的完备最优斯坦纳树示意图;
图8为根据本发明的完备最优斯坦纳树查找表示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
需要注意的是,本发明中提及的“第一”、“第二”等概念仅用于对不同的数据、结构进行区分,并非用于限定这些数据或结构所执行的功能的顺序或者相互依存关系。
本发明实施例中,提供了一种基于边移动的完备最优斯坦纳树查找表构建方法,通过给定的标号,得到其对应的节点集合,由一个潜在的最小矩形斯坦纳树构建出最小线长向量查找表,通过边移动算法,找到所有的潜在的斯坦纳点,进而可以得到所有的最小矩形斯坦纳树,并构建完备最优斯坦纳树查找表。
图1为根据本发明的基于边移动的完备最优斯坦纳树查找表构建方法流程图,下面将参考图1,对本发明的基于边移动的完备最优斯坦纳树查找表构建方法进行详细描述。
首先,在步骤101,通过给定的标号,计算其对应节点集合。
本发明实施例中,对于节点个数为n的节点集合(n为大于1的整数),其节点在Hanan网格上分布的相对位置,有n!种可能性,通过数学计算建立节点相对位置和标号之间的映射,并以此节点的集合作为边移动算法的算法入口。
本发明实施例中,对于n个节点的节点集合,其中标号范围为0~n!-1;若节点的y轴(竖向)坐标总是由小到大排列,则对应的x轴(横向)坐标:x1、x2、……、xn,其取值范围为[0, n-1],x坐标与y坐标有n!中排列组合方式,可以和0~ n!-1中的标号一一对应。例如,对于y坐标由小到大排列的节点集合{(x1,1),(x2,2),(x3,3),(x4,4),(x5,5)},其中x1~x5的可取的值为{1,2,3,4,5}范围。
本发明实施例中,根据如下公式计算出x1~x5的取值,
其中,h为标号,n为待取坐标值的节点个数,计算结果包括商和余数,商为剩余未取坐标值的位置值,取该位置值上的坐标值为当前节点的坐标值,更新剩余未取的坐标值的位置,以余数作为新的标号继续计算选取下一节点的坐标值。
例如,对于标号为19的5个节点的节点集合,通过如下步骤计算出所有节点的x坐标取值:
1)h=19,n=5,根据公式计算19/(5-1)! ,得到商为0,余数为19,则x1=1,剩余未取坐标值为{2,3,4,5};
2)h=19,n=4,根据公式计算19/(4-1)! ,得到商为3,余数为1,则x2=5,剩余未取坐标值为{2,3,4};
3)h=1,n=3,根据公式计算1/(3-1)!,得到商为0,余数为1,则x3=2,剩余未取坐标值为{3,4};
4)h=1,n=2,根据公式计算1/(2-1)!,得到商为1,余数为0,则x4=4,剩余未取坐标值为{3};
5)此时n=1,则x5=3,x坐标取值结束。得到该节点集合为{(1,1),(5,2),(2,3),(4,4),(3,5)},如图2所示,展示了该节点集合在Hanan网格中的节点位置。
在步骤102,通过潜在的最小矩形斯坦纳树,构建最小线长向量查找表。
本发明实施例中,在Hanan网格中,将网格交点在x轴、y轴上的投影点进行标记,其中,在x轴上第i个投影点的横坐标标记为xi,在y轴上第i个投影点的纵坐标标记为yi,x轴上的第i段长度为hi=xi+1-xi,y轴上的第i段长度为vi=yi+1-yi。最小矩形斯坦纳树在Hanan网格上的线长,可以看作是该斯坦纳树在x轴和y轴方向上的投影线段的数量及各投影线段长度的线性组合。将最小矩形斯坦纳树在两个坐标轴方向上的垂直投影数量作为该段长度的系数,根据这些系数得到一个线长向量,称为最小线长向量。
本发明实施例中,通过给定的标号计算得到节点集合,一个节点集合对应有多个潜在的最小矩形斯坦纳树。通过一个潜在的最小矩形斯坦纳树,映射到Hanan网格中,根据x、y坐标轴方向上投影线段的数量,组合获得该最小矩形斯坦纳树的最小线长向量。
如图3所示,展示了上述5个节点的节点集合的三个不同的潜在的最小矩形斯坦纳树,其对应的最小线长向量分别为{12211111},{11211211}和{11111221}。当h2+h3>h3+v2且v2+v3>h3+v2时,其最小线长向量为11211211。
本发明实施例中,Hanan网格上的组合半周长向量为{11111111},以此作为基础线长向量,根据上述3个潜在的最小矩形斯坦纳树的最小线长向量,可知最小线长向量中各项取值最小为1,将12211111减基础线长向量,即该最小线长向量各项减1,得01100000,并将0项去掉,此时只有第1、2个位置为1,则可将此最小线长向量记录为1,2存储至最小线长向量查找表。
本发明实施例中,同一标号中不同的潜在的最小矩形斯坦纳树,下一个斯坦纳树只需要记录其相对于上一个斯坦纳树中的最小线长向量的增加值和减少值,以简化最小线长向量,并存储在最小线长向量查找表中。例如,上述同一标号下的三个最小线长向量{12211111}、{11211211}、{11111221},将{12211111}相对于基础线长向量记录为{+1,+2},{11211211}相对于{12211111}记录为{-1,+5},{11111221}相对于{11211211}记录为{-2,+6}。
在步骤103,对潜在的最小矩形斯坦纳树采用边移动算法,构建完备最优斯坦纳树。
本发明实施例中,由标号得出的节点集合都在Hanan网格的交点上面。本发明可以通过一个潜在的最小矩形斯坦纳树获得所有潜在的最小矩形斯坦纳树。
本发明实施例中,最小矩形斯坦纳树的数据结构由节点、边构成,其中,
节点,包括节点集合中的节点和斯坦纳点。
边,由两个节点和一个边类型构成,表示节点之间的连接关系。边类型包括固定线、伸缩线、平移线、伸缩平移线和非对齐边五类。
如图4所示,P1~P5为节点集合,P6~P7为斯坦纳点集合。边表示节点之间的连接,L1连接P1和P6;L2连接P2和P6;L3连接P3和P4;L4连接P6和P7;L5连接P4和P7;L6连接P5和P7,最初只拥有固定线和非对齐边。
本发明实施例中,通过边移动算法,找到所有隐藏的斯坦纳点,进而得到所有的最小矩形斯坦纳树,从而构建完备最优斯坦纳树。
具体地,在步骤1031,判断潜在的最小矩形斯坦纳树的边的移动能力。
本发明实施例中,边移动算法考虑的是除非对齐边以外的边,边能够移动的前提条件是斯坦纳树的线长不发生改变。
本发明实施例中,边的移动可以分为水平移动和竖直移动。对于水平边,判断其竖直方向向上、向下的移动能力,若水平边的两个端点竖直向上都有边,则该水平边具有竖直向上的移动能力;若水平边的两个端点竖直向下都有边,则该水平边具有竖直向下的移动能力。对于竖直边,判断其水平方向向左、向右的移动能力,若竖直边的两个端点水平向左都有边,则该竖直边具有水平向左的移动能力;若竖直边的两个端点水平向右都有边,则该竖直边具有水平向右的移动能力。
如图5所示,一水平边的两个端点竖直向上都有边,说明这条边具有竖直向上的移动能力。
在步骤1032,将具有移动能力的边进行移动后,判断下一条边是否具有移动能力,否则直接判断下一条边。
本发明实施例中,重复上述步骤1031和1032,直至该最小矩形斯坦纳树没有可以移动的边为止,即可得到完备最优斯坦纳树。
本发明实施例中,通过边的移动,能够找到隐藏的斯坦纳点、伸缩线、平移线、伸缩平移线和非对齐边,隐藏的斯坦纳点通常和节点、非隐藏的斯坦纳点重合。
如图6的(a)所示,展示了图4所示的最小矩形斯坦纳树在没有增加斯坦纳树线长的前提下,通过边的移动找到了隐藏的斯坦纳点,并获取了完备的最小矩形斯坦纳树,分别得到了伸缩线、平移线、伸缩平移线和非对齐边。
在步骤104,通过完备最优斯坦纳树,构建完备最优斯坦纳树查找表。
本发明实施例中,一个完备最优斯坦纳树查找表由区间数值(interval value),节点,边三部分组成,如图8所示。{固定线,伸缩线,平移线,伸缩平移线和非对齐边}分别使用{1,2,3,4,5}表示。节点的取值为区间数值的坐标,边的取值由端点(节点的坐标)和边类型组成。
本发明实施例中,将完备最优斯坦纳树的一条可以移动的边使用一个区间数值(interval value)表示。如图7所示,展示了一个完备最优斯坦纳树的示例,由两个区间数值控制最小矩形斯坦纳树的形状,并控制三个斯坦纳点的位置,并且有三个非对齐边增加了斯坦纳树布线的可能性。
在步骤105,通过建立基础空间的方式建立多层查找表,压缩最小线长向量查找表和完备最优斯坦纳树查找表。
本发明实施例中,Hanan网格中的节点、斯坦纳点的相对位置以及之间的连接关系总是有限枚举的,所有的完备最优斯坦纳树中会出现大量重复的边和节点、斯坦纳点的位置。本发明通过建立基础空间的方式建立多层查找表以减少查找表的内存空间。
本发明实施例中,第一个斯坦纳树建立完备最优斯坦纳树查找表完毕后,可以将位置区间和节点、边分别放置在基础空间的基础区间数值、基础节点和基础边中,当计算第二个斯坦纳树的时候就可以直接使用基础空间中的数据,对于区间数值、节点、边在基础空间不存在的,添加至基础空间。
由此,通过建立两层查找表,将大量重复使用的数据放在第一层基础空间,第二层只需要存储第一层数据所在的标号即可。
图8为根据本发明的完备最优斯坦纳树查找表示意图,展示了图6(a)和图6的(b)所示的两个最小矩形斯坦纳树,在进行计算后,大部分数据是一致的,经过本发明方法压缩形成了基础区间数值、基础节点、基础边。
本发明实施例中,不同标号的最小矩形斯坦纳树只需要记录其坐标。
相应的,对最小线长向量建立两层查找表,将大量重复使用的数据存放在第一层,第二层只需要存储第一层数据对应的标号,以减少查找表的内存空间。
本发明的一个实施例中,还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的基于边移动的完备最优斯坦纳树查找表构建方法的步骤。
本发明的一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的基于边移动的完备最优斯坦纳树查找表构建方法的步骤。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种基于边移动的完备最优斯坦纳树查找表构建方法,包括以下步骤:
基于给定的标号,计算所述标号对应节点集合;
通过潜在的最小矩形斯坦纳树,构建最小线长向量查找表;
对潜在的最小矩形斯坦纳树采用边移动算法,构建完备最优斯坦纳树;
通过完备最优斯坦纳树,构建完备最优斯坦纳树查找表;
通过建立多层查找表,压缩最小线长向量查找表和完备最优斯坦纳树查找表。
2.根据权利要求1所述的基于边移动的完备最优斯坦纳树查找表构建方法,其特征在于,所述基于给定的标号,计算所述标号对应节点集合的步骤,还包括,建立节点相对位置和标号之间的映射,计算得到所述节点的集合,并以所述节点的集合作为边移动算法的算法入口。
4.根据权利要求1所述的基于边移动的完备最优斯坦纳树查找表构建方法,其特征在于,所述通过潜在的最小矩形斯坦纳树,构建最小线长向量查找表的步骤,还包括,
在Hanan网格上,将最小矩形斯坦纳树在横向和竖向坐标轴上的垂直投影线段的数量组合作为该最小矩形斯坦纳树的最小线长向量;
获得所有潜在的最小矩形斯坦纳树的最小线长向量;
简化所述最小线长向量,存储在最小线长向量查找表中。
5.根据权利要求4所述的基于边移动的完备最优斯坦纳树查找表构建方法,其特征在于,所述简化所述最小线长向量,存储在最小线长向量查找表中的步骤,还包括,
以Hanan网格上的组合半周长向量作为基础线长向量,将第一最小线长向量的各项分别与所述基础线长向量的各项作减法,将非零项的位置记录在最小线长向量查找表中;
对于所述最小线长查找表中同一标号下的最小线长向量,记录其相对于上一个潜在最小线长向量的增加值和减少值。
6.根据权利要求1所述的基于边移动的完备最优斯坦纳树查找表构建方法,其特征在于,所述边移动算法,包括:
判断潜在的最小矩形斯坦纳树的边的移动能力,若所述最小矩形斯坦纳树的边无移动能力,则判断下一条边;
移动具有移动能力的边后,判断下一条边的移动能力,直至所述最小矩形斯坦纳树所有可移动的边都完成移动。
7.根据权利要求6所述的基于边移动的完备最优斯坦纳树查找表构建方法,其特征在于,所述边的移动能力,包括:
若水平边的两个端点竖直向上都有边,则所述水平边具有竖直向上的移动能力;
若水平边的两个端点竖直向下都有边,则所述水平边具有竖直向下的移动能力;
若竖直边的两个端点水平向左都有边,则所述竖直边具有水平向左的移动能力;
若竖直边的两个端点水平向右都有边,则所述竖直边具有水平向右的移动能力。
8.根据权利要求6所述的基于边移动的完备最优斯坦纳树查找表构建方法,其特征在于,所述最小矩形斯坦纳树的数据结构由节点、边构成,其中,
节点,包括所述最小矩形斯坦纳树的节点或斯坦纳点在Hanan网格中的横坐标和纵坐标;
边,由两个节点和一个边类型构成,所述边类型包括固定线、伸缩线、平移线、伸缩平移线和非对齐边。
9.根据权利要求1所述的基于边移动的完备最优斯坦纳树查找表构建方法,其特征在于,所述通过完备最优斯坦纳树,构建完备最优斯坦纳树查找表的步骤,还包括,
完备最优斯坦纳树查找表由区间数值、节点、边组成;
采用区间数值表示完备最优斯坦纳树的一条可以移动的边;
采用不同的数字分别表示固定线、伸缩线、平移线、伸缩平移线和非对齐边五种边类型。
10.根据权利要求1所述的基于边移动的完备最优斯坦纳树查找表构建方法,其特征在于,所述通过建立多层查找表,压缩最小线长向量查找表和完备最优斯坦纳树查找表的步骤,还包括,
将第一完备最优斯坦纳树的区间数值、节点和边分别放置在基础空间的基础区间数值、基础节点和基础边中;
将最小线长向量和完备最优斯坦纳树中重复使用的数据放在查找表第一层的基础空间,查找表的下一层只需要存储上一层数据对应的标号。
11.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行权利要求1至10任一项所述的基于边移动的完备最优斯坦纳树查找表构建方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序运行时执行权利要求1至10任一项所述的基于边移动的完备最优斯坦纳树查找表构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310664567.8A CN116402006B (zh) | 2023-06-07 | 2023-06-07 | 一种基于边移动的完备最优斯坦纳树查找表构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310664567.8A CN116402006B (zh) | 2023-06-07 | 2023-06-07 | 一种基于边移动的完备最优斯坦纳树查找表构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116402006A true CN116402006A (zh) | 2023-07-07 |
CN116402006B CN116402006B (zh) | 2023-08-22 |
Family
ID=87007983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310664567.8A Active CN116402006B (zh) | 2023-06-07 | 2023-06-07 | 一种基于边移动的完备最优斯坦纳树查找表构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116402006B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117195825A (zh) * | 2023-09-13 | 2023-12-08 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于完备最优斯坦纳树预测布线概率分布的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133799A1 (en) * | 2001-03-15 | 2002-09-19 | International Business Machines Corporation | Apparatus and method for determining buffered steiner trees for complex circuits |
CN1588381A (zh) * | 2004-07-06 | 2005-03-02 | 清华大学 | 超大规模集成电路避障碍的直角Steiner树方法 |
CN1604094A (zh) * | 2004-11-16 | 2005-04-06 | 清华大学 | 线长优化的绕障碍的直角布线树方法 |
CN113947057A (zh) * | 2021-12-20 | 2022-01-18 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于查找表的完备最优斯坦纳树构建方法 |
CN115563927A (zh) * | 2022-10-20 | 2023-01-03 | 北京大学 | 一种gpu加速构建最小直角斯坦纳树的芯片布线方法 |
-
2023
- 2023-06-07 CN CN202310664567.8A patent/CN116402006B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133799A1 (en) * | 2001-03-15 | 2002-09-19 | International Business Machines Corporation | Apparatus and method for determining buffered steiner trees for complex circuits |
CN1588381A (zh) * | 2004-07-06 | 2005-03-02 | 清华大学 | 超大规模集成电路避障碍的直角Steiner树方法 |
CN1604094A (zh) * | 2004-11-16 | 2005-04-06 | 清华大学 | 线长优化的绕障碍的直角布线树方法 |
CN113947057A (zh) * | 2021-12-20 | 2022-01-18 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于查找表的完备最优斯坦纳树构建方法 |
CN115563927A (zh) * | 2022-10-20 | 2023-01-03 | 北京大学 | 一种gpu加速构建最小直角斯坦纳树的芯片布线方法 |
Non-Patent Citations (1)
Title |
---|
王茂秋等: "基于斯坦纳树和泰森多边形的连通恢复算法", 《计算机工程与科学》, vol. 42, no. 8 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117195825A (zh) * | 2023-09-13 | 2023-12-08 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于完备最优斯坦纳树预测布线概率分布的方法 |
CN117195825B (zh) * | 2023-09-13 | 2024-04-26 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于完备最优斯坦纳树预测布线概率分布的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116402006B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5847968A (en) | Printed circuit board CAD device which alternates placing components and routing connectors between them | |
CN116402006B (zh) | 一种基于边移动的完备最优斯坦纳树查找表构建方法 | |
US7590959B2 (en) | Layout system, layout program, and layout method for text or other layout elements along a grid | |
JP2019155501A (ja) | 軌道計画装置、軌道計画方法、及び生産システム | |
US20100131251A1 (en) | Shortest path search method and device | |
JP4454542B2 (ja) | コンピュータ支援設計プログラム及びそのシステム | |
US8930869B2 (en) | Method, program, and apparatus for aiding wiring design | |
JP2004529402A (ja) | 配置の際に対角線配線を考慮に入れるための方法および装置 | |
JP2004529402A5 (zh) | ||
US20110238387A1 (en) | Apparatus and computer program for generating route | |
CA2418756A1 (en) | Dual dijkstra search for planning multiple paths | |
CN113947057B (zh) | 一种基于查找表的完备最优斯坦纳树构建方法 | |
JPH1022695A (ja) | 回路基板への素子の実装制御方法及び装置 | |
JPH0421910B2 (zh) | ||
JP2002297682A (ja) | 配管ルート評価方法 | |
CN112861293B (zh) | 输电网接线图生成方法、装置及电子设备 | |
EP0875848A1 (en) | Placement method and apparatus | |
EP4330848A1 (en) | Routing of superconducting wires | |
US7676766B2 (en) | Graphic object designating to edit apparatus, method, and computer readable medium thereof | |
JP2012155565A (ja) | 配管経路探索装置とそれを用いて作成したプラント | |
JPH1185819A (ja) | 部品配置装置 | |
CN117195825B (zh) | 一种基于完备最优斯坦纳树预测布线概率分布的方法 | |
CN117349999B (zh) | 海上风电场海底电缆综合拓扑结构寻优方法及存储介质 | |
CN114851185B (zh) | 机械臂摆位优化方法、装置、计算机设备和存储介质 | |
CN115130420B (zh) | 集成电路版图图形的线对齐方法、系统、介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |