CN1529268A - Right Angle Steiner Tree Method under Obstacles in General Routing of Standard Units - Google Patents
Right Angle Steiner Tree Method under Obstacles in General Routing of Standard Units Download PDFInfo
- Publication number
- CN1529268A CN1529268A CNA031346847A CN03134684A CN1529268A CN 1529268 A CN1529268 A CN 1529268A CN A031346847 A CNA031346847 A CN A031346847A CN 03134684 A CN03134684 A CN 03134684A CN 1529268 A CN1529268 A CN 1529268A
- Authority
- CN
- China
- Prior art keywords
- obstacle
- tree
- steiner tree
- steiner
- obstacles
- 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
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
标准单元总体布线时障碍下的直角Steiner树方法属于集成电路计算机辅助设计技术领域,其特征在于:它首先将所有障碍视为不存在,求得待连线网的端点集在无障碍下的Steiner树即预-Steiner树;然后,使预-Steiner树中在障碍内部的树边绕过障碍,生成有障碍下的Steiner树;在生成有障碍Steiner树的过程中,根据图的拓扑结构,进行适当的预处理和后期处理,以在考虑时间效率下优化线长的优化问题。它解决了在待连线网有多个端点情况时标准单元总体布线时有障碍下优化了线长和时间效率的直角Steiner树构造方法。
The right-angle Steiner tree method under obstacles during standard unit overall wiring belongs to the technical field of computer-aided design of integrated circuits, and is characterized in that: it first considers all obstacles as non-existent, and obtains the Steiner tree method under the obstacle-free set of endpoints of the network to be connected. The tree is the pre-Steiner tree; then, make the tree edge inside the obstacle in the pre-Steiner tree bypass the obstacle to generate a Steiner tree with obstacles; in the process of generating a Steiner tree with obstacles, according to the topological structure of the graph, carry out Appropriate preprocessing and postprocessing to optimize the line length optimization problem with consideration of time efficiency. It solves the problem of constructing right-angle Steiner tree which optimizes line length and time efficiency when there are many terminal points in the network to be connected.
Description
技术领域technical field
标准单元总体布线时障碍下的直角Steiner树方法属于集成电路计算机辅助设计即ICCAD技术领域,尤其涉及标准单元(SC)总体布线设计领域。The right-angle Steiner tree method under obstacles in the overall wiring of standard cells belongs to the technical field of computer aided design of integrated circuits (ICAD), especially relates to the field of overall wiring design of standard cells (SC).
背景技术Background technique
在集成电路(IC)设计中, 物理设计是IC设计过程中主要的一环,也是其中最耗时的一步。与物理设计相关的计算机辅助设计技术称为 布图设计。在布图设计中, 总体布线是一个极为重要的环节,它的结果对最后 详细布线的成功与否和芯片的性能影响极大。In integrated circuit (IC) design, physical design is the main link in the IC design process, and it is also the most time-consuming step. A computer-aided design technique related to physical design is called layout design . In layout design, overall routing is an extremely important link, and its results have a great impact on the success of the final detailed routing and the performance of the chip.
集成电路的设计规模目前正由 超大规模(VLSI)、 甚大规模(ULSI)向 G大规模(GSI)方向发展,并出现了 系统级芯片(SOC)的设计概念。 最小直角Steiner树(rectilinear Steiner minimal tree,RSMT)构造方法的研究是VLSI/ULSI/GSI/SOC布图设计、尤其是布线研究中的一个重要问题。而在实际布线过程中,由于宏模块、IP模块以及预布线等都将成为 障碍,使得 考虑障碍的RSMT方法成为一个非常值得研究的问题。然而到目前为止,人们的研究多集中于无障碍的情况,相比之下对于带障碍的RSMT方法的研究还相对空白,有必要进行深入的研究。针对总体布线的实际应用,考虑障碍情况进行Steiner树构造方法的研究是总体布线中的关键问题之一,具有很大的实际意义。The design scale of integrated circuits is currently developing from very large-scale (VLSI) and very large-scale (ULSI) to G-scale (GSI) , and the design concept of system-on-chip (SOC) has emerged. The research on the construction method of the minimum rectangular Steiner tree (rectilinear Steiner minimal tree, RSMT) is an important issue in the VLSI/ULSI/GSI/SOC layout design, especially in the wiring research. In the actual wiring process, because the macro module, IP module and pre-wiring will all become obstacles , the RSMT method that considers obstacles becomes a very worthwhile research problem. However, so far, people's research has mostly focused on the barrier-free situation. In contrast, the research on the RSMT method with barriers is still relatively blank, and it is necessary to conduct in-depth research. For the practical application of general wiring, it is one of the key issues in general wiring to study the Steiner tree construction method considering the obstacles, which has great practical significance.
在已报导和所能查阅到的国内外相关研究中,关于“ 考虑障碍的直角Steiner树构造方 法”的研究情况可列举、分析、总结如下:Among the related domestic and foreign researches that have been reported and can be consulted, the research situation on the " construction method of right-angle Steiner tree considering obstacles " can be listed, analyzed and summarized as follows:
对于线网仅含有 两个端点这种比较简单的情况,人们做了不少研究,而且其中已经有一些比较成熟的方法。For the relatively simple case where the wire net only contains two endpoints , people have done a lot of research, and there are already some relatively mature methods.
Lee于1961年提出了迷宫方法([C.Y.Lee,An Algorithm for Connections and ItsApplications,IRE Trans.On Electronic Computers,1961,346-365.]),可用于求解障碍下的两端线网布线中两端点之间的最短路径。但由于该方法在整个搜索中总是对称的,这增加了搜索所需的时间和存储空间。1978年,Soukup提出了一个带有固定意义的非对称搜索方法([J.Soukup,Fast Maze Router,Proc.Of 15th Design Automation Conference,1978,100-102.]),提高了搜索效率。但该方法不能保证找到最优解。另一个改进的方法是Hadlock于1977年提出的,称为Hadlock最小迂回方法([Hadlock,A Shortest Path Algorithm forGrid Graphs,Networks,1977.7,323-334.])。上述两种改进的迷宫方法的时间与空间复杂度均为0(hw),其中h和w是网格的数目。迷宫方法的最大缺点是要搜索较大的布图空间,所以要花费较大的时间和存储空间。它的优点是能在任何有解的情况下保证找到一个解。Lee proposed the maze method in 1961 ([CYLee, An Algorithm for Connections and Its Applications, IRE Trans. On Electronic Computers, 1961, 346-365.]), which can be used to solve the problem between the two ends of the line network wiring under obstacles. the shortest path of . But since the method is always symmetric throughout the search, this increases the time and storage space required for the search. In 1978, Soukup proposed an asymmetric search method with fixed meaning ([J.Soukup, Fast Maze Router, Proc.Of 15 th Design Automation Conference, 1978, 100-102.]), which improved the search efficiency. But this method cannot guarantee to find the optimal solution. Another improved method was proposed by Hadlock in 1977, called Hadlock's minimum detour method ([Hadlock, A Shortest Path Algorithm for Grid Graphs, Networks, 1977.7, 323-334.]). The time and space complexity of the above two improved maze methods are both 0(hw), where h and w are the number of grids. The biggest disadvantage of the maze method is that it needs to search a larger layout space, so it takes a lot of time and storage space. Its advantage is that it is guaranteed to find a solution in any case where there is a solution.
为了克服迷宫方法的缺点,Hightower于1969年([D.w.Hightower,A solution to theLine Routing Problem on the Continuous Plane,Proc.Of the 6th Design AutomationWorkshop,1969,1-24.]),Mikami和Tabuchi于1968年([Mikami K.and Tabuchi K.,AComputer Program for Optimal Routing of Printed Circuit Connectors,IFIPS Proc.,1968,H47,1475-1478])分别提出了线搜索方法。它的计算时间和空间复杂度均为0(L),其中L为该方法所产生的线数。In order to overcome the shortcomings of the maze method, Hightower in 1969 ([DwHightower, A solution to the Line Routing Problem on the Continuous Plane, Proc.Of the 6 th Design Automation Workshop, 1969, 1-24.]), Mikami and Tabuchi in 1968 ([Mikami K. and Tabuchi K., A Computer Program for Optimal Routing of Printed Circuit Connectors, IFIPS Proc., 1968, H47, 1475-1478]) proposed line search methods, respectively. Its computational time and space complexity are both 0(L), where L is the number of lines produced by the method.
另外一种比较有代表性方法的是文献[J.M.Ho,M.Sarrafzadeh and A.Suzuki,“An ExactAlgorithm For Single-Later Wire-Length Minimization”,Proceedings of IEEEInternational Conference of Computer Aided Design,pp.424-427,1990.]提出的单层详细布线中的最小化两端线网的方法。它使用一种称为“同伦变换(homotopictransformation)”的方法对线网进行优化变换,所谓的“同伦”就是不改变线网的整体布局。作者提出:当路径中不存在“空U”(三段连续的线段构成的形如字母U的线路称为一个“U”,“空U”即指在U形线路的中间那段向U内部仍有上移空间)时,便可断定为最短路径。这个方法只适用于两端线网的处理,它能得到最优路径。Another representative method is the literature [J.M.Ho, M.Sarrafzadeh and A.Suzuki, "An Exact Algorithm For Single-Later Wire-Length Minimization", Proceedings of IEEEInternational Conference of Computer Aided Design, pp.424-427 , 1990.] proposed a method for minimizing the two-end wire net in single-layer detailed wiring. It uses a method called "homotopic transformation" to optimize the transformation of the line network. The so-called "homotopy" means not changing the overall layout of the line network. The author puts forward: when there is no "empty U" in the path (the line formed by three consecutive line segments, which is shaped like the letter U, is called a "U", "empty U" refers to the U-shaped line in the middle of the U-shaped line. When there is still room to move up), it can be determined as the shortest path. This method is only applicable to the processing of the two-end line network, and it can get the optimal path.
三篇文献:[周智,有障碍的Manhattan空间中的最小Steiner树问题(硕士学位论文)。合肥:中国科学技术大学,1998.]、[周智,陈国良,顾钧。用0(tlogt)的连接图求有障碍时的最短路径。计算机学报,1999,22(5):519-524.]和[周智,蒋承东,黄刘生,顾钧,“用Θ(t)的广义连接图求有障碍时的最短路径”,软件学报,2003,14(2):pp.166-174.]中引入了广义连接图GG,其平均复杂度为Θ(t),其中t为障碍的极边数(多边形相邻的三条边e1(x1,x2),e2(x2,x3),e3(x3,x4),若 和 正好反向,则e2即为极边)。GG在复杂度上有一定的优势。在这些文献中提出了利用GG来构造两端线网的最小Steiner树,另外也提出GG可以用来构造多端线网,但是他们还没有具体实现。Three papers: [Zhou Zhi, The Minimum Steiner Tree Problem in Obstacle Manhattan Space (Master's Dissertation). Hefei: University of Science and Technology of China, 1998.], [Zhou Zhi, Chen Guoliang, Gu Jun. Use the connection graph of 0(tlogt) to find the shortest path when there are obstacles. Journal of Computer Science, 1999, 22(5): 519-524.] and [Zhou Zhi, Jiang Chengdong, Huang Liusheng, Gu Jun, "Using the generalized connection graph of Θ(t) to find the shortest path when there are obstacles", Journal of Software, 2003, 14(2):pp.166-174.] introduces the generalized connected graph G G , whose average complexity is Θ(t), where t is the number of polar edges of obstacles (three adjacent edges e 1 (x 1 , x 2 ), e 2 (x 2 , x 3 ), e 3 (x 3 , x 4 ), if and exactly reversed, then e 2 is the polar edge). G G has certain advantages in complexity. In these documents, it is proposed to use G G to construct the minimum Steiner tree of the two-terminal network, and it is also proposed that G G can be used to construct the multi-terminal network, but they have not been implemented yet.
相比之下,人们针对 多端点线网提出的考虑障碍的直角Steiner树方法还相对很少。与两端点线网相比,多端点情况要复杂得多。尤其是在有障碍的情况下,很难在人们可以接受的时间内求得最优解。 本专利申请所涉及的方法就是针对多端点线网的一种启发式方法,其 复杂度为0(mn),其中m和n分别为障碍个数和线网端点数。以下将列举目前已有的考虑障碍的多端点线网的方法,并与本专利申请所涉及的方法进行比较,以指出他们之间的区别。In contrast, there are relatively few Cartesian Steiner tree methods considering obstacles for multi-end line networks . Compared with two-point line nets, the multi-endpoint case is much more complicated. Especially in the case of obstacles, it is difficult to find the optimal solution in a time acceptable to people. The method involved in this patent application is a heuristic method for a multi-end line network, and its complexity is 0(mn), where m and n are the number of obstacles and the number of end points of the line network respectively. The following will list the currently existing methods for considering the multi-terminal network of obstacles, and compare them with the methods involved in this patent application, so as to point out the differences between them.
文献[Chen Desheng,Sarrafzadeh M.A wire-length minimization algorithm forsingle-layer layout[A].In:Proceedings of IEEE/ACM International Conference ofComputer Aided Design(ICCAD),Santa Clara,USA,1992.390-393.]对单层对布图中的多端线网进行了研究,提出了基于TPT转换和“线段可见性”概念下的最小化方法。其时间复杂度为0(max(mn,mlogm)),其中n和m分别是指定待连线网N和全部线网集L的线段数目。该方法比较简单,它在转换过程中保持了“拓扑结构”不变(topology preserving)。但拓扑结构的固定又限制了TPT转换的自由度,使结果在很大程度上依赖于转换前的初始布线,因而在某些情况下结果不太理想。本专利申请所涉及的方法除了与该方法的思路不同外,在时间复杂度相当的情况下,我们能求得更优的线长结果,请具体参见后面的“本发明方法效果的实验数据”中给出的实验数据对比及其说明。Literature [Chen Desheng, Sarrafzadeh M.A wire-length minimization algorithm for single-layer layout[A]. In: Proceedings of IEEE/ACM International Conference of Computer Aided Design (ICCAD), Santa Clara, USA, 1992.390-393.] for single-layer The multi-terminal line network in the layout is studied, and the minimization method based on the TPT transformation and the concept of "line segment visibility" is proposed. Its time complexity is 0(max(mn, mlogm)), where n and m are the number of line segments specifying the network N to be connected and all the network sets L, respectively. This method is relatively simple, and it keeps the "topology structure" unchanged (topology preserving) during the conversion process. However, the fixed topological structure limits the degree of freedom of TPT conversion, so that the result depends to a large extent on the initial wiring before conversion, so the result is not ideal in some cases. Except that the method involved in this patent application is different from this method, we can obtain better line length results under the same time complexity. Please refer to the following "Experimental data of the effect of the method of the present invention" for details. A comparison of the experimental data given in and their explanation.
文献[Yukiko KUBO,Yasuhiro TAKASHIMA,Shigetoshi NAKATAKE,Yoji KAJITANI.Self-reforming routing for stochastic search in VLSI interconnection layout[A].In:Proceedings of IEEE/ACM Asia-Pacific Design Automation Conference(ASP-DAC),Yokohama,Japan,2000.87-92.]提出了使用flip和dual-flip技术来优化原有布线。在这篇文献中证明了利用flip和dual-flip可将连接线网的任意一棵树转换为任何其它形状的树,这使得该方法的转换比上述的TPT转换有更大自由度。但由于该方法采用模拟退火技术,使得执行时间非常长。它的时间复杂度大大于本专利申请所涉及的方法。Literature [Yukiko KUBO, Yasuhiro TAKASHIMA, Shigetoshi NAKATAKE, Yoji KAJITANI. Self-reforming routing for stochastic search in VLSI interconnection layout[A]. In: Proceedings of IEEE/ACM Asia-Pacific Design Automation Conference (ASP-DAC), Yokohama Japan, 2000.87-92.] proposed to use flip and dual-flip technology to optimize the original wiring. In this document, it is proved that any tree connected to the wire net can be converted into any other shape tree by using flip and dual-flip, which makes the conversion of this method have more degrees of freedom than the above-mentioned TPT conversion. However, due to the simulated annealing technique used in this method, the execution time is very long. Its time complexity is much greater than the method involved in this patent application.
文献[Zheng S Q,Lim J S,Iyengar S S.Finding obstacle-avoiding shortest pathsusing implicit connection graphs[J].IEEE Transaction on Computer-Aided Design ofIntegrated Circuits and Systems.1996,15(1):103-110.]引入一个强连接图GC,其复杂度为0(e2),其中e为障碍的总边数。它同时采用A*和基于“detour”值不改向进行启发。另外,三项专利:[Ranko Scepanovic,Cupertino;Cheng-Liang Ding,SanJose.Towardoptimal steiner tree routing in the presence of rectilinear obstacles,5491641,Feb.13,1996],[Ranko Scepanovic,Cupertino;Cheng-Liang Ding,SanJose.Toward optimalsteiner tree routing in the presence of rectilinear obstacles,5615128,Mar.25,1997],和[Ranko Scepanovic,Cupertino;Cheng-Liang Ding,SanJose.Toward optimal steinertree routing in the presence of rectilinear obstacles,5880970,Mar.9,1999]也都是利用一个相似的强连接图“escape graph”,通过迷宫方法或者是对最小生成树(spanningtree)进行Steiner化的方法来求有障碍下多点线网的Steienr树。这一类方法在障碍情况比较简单的情况下会有较好的求解效果,但在障碍形状较复杂、边数较多的情况下,它们所基于的强连接图将会变得非常复杂,求解效率就比较差。因此,这一类方法仅适用于障碍比较简单的情况。而本专利申请所涉及的方法能适用于各种复杂的障碍情况。Literature [Zheng S Q, Lim J S, Iyengar S S. Finding obstacle-avoiding shortest paths using implicit connection graphs [J]. IEEE Transaction on Computer-Aided Design of Integrated Circuits and Systems. 1996, 15(1): 103-110.] Introduction A strongly connected graph G C , whose complexity is 0(e 2 ), where e is the total number of edges of obstacles. It uses both A* and heuristics without redirection based on the "detour" value. In addition, three patents: [Ranko Scepanovic, Cupertino; Cheng-Liang Ding, SanJose. Toward optimal steiner tree routing in the presence of rectilinear obstacles, 5491641, Feb.13, 1996], [Ranko Scepanovic, Cupertino; Cheng-Liang Ding, SanJose. Toward optimal steiner tree routing in the presence of rectilinear obstacles, 5615128, Mar.25, 1997], and [Ranko Scepanovic, Cupertino; Cheng-Liang Ding, SanJose. Toward optimal steiner tree routing in the presence of rectilinear obstacles, 5880970, Mar. 9, 1999] also use a similar strongly connected graph "escape graph" to obtain the Steienr tree of the multi-point line network with obstacles through the maze method or the method of Steinerizing the minimum spanning tree (spanning tree). This type of method will have a better solution effect when the obstacle situation is relatively simple, but when the obstacle shape is complex and the number of edges is large, the strong connection graph they are based on will become very complicated. The efficiency is relatively poor. Therefore, this type of method is only suitable for relatively simple obstacles. However, the method involved in this patent application can be applied to various complicated obstacle situations.
文献[Liu Jian,Zhao Ying,Shragowitz E,Karypis G.A polynomial timeapproximation scheme for rectilinear Steiner minimum tree construction in thepresence of obstacles[A].In:Proceedings of IEEE International Symposium onCircuits and Systems(ISCAS),Scottsdale,USA,2002.781-784.]引入了几何优化方法中的Guillotine-cut技术。该方法在无障碍时复杂度为多项式时间。虽然该方法可以应用到有障碍的情况,但求解就不能在多项式时间内完成,还需进行复杂度简化的研究工作。Literature [Liu Jian, Zhao Ying, Shragowitz E, Karypis G.A polynomial timeapproximation scheme for rectilinear Steiner minimum tree construction in the presence of obstacles[A].In: Proceedings of IEEE International Symposium on Circuits on Circuits-AS-1, 2Scda0, A70) (ISC 784.] introduces the Guillotine-cut technique in geometric optimization methods. The complexity of this method is polynomial time without obstacles. Although this method can be applied to situations with obstacles, the solution cannot be completed in polynomial time, and research work on complexity simplification is still needed.
文献[Ganley J L,Cohoon J.P.Routing a multi-terminal critical net:Steinertree construction in the presence of obstacles[A].In:Proceedings of IEEEInternational Symposium on Circuits and Systems(ISCAS).London,UK,1994.113-116.]提出的观点是:由于3点和4点的情况比较简单,因此在多点情况下可将它们按一定的要求分成3点组或4点组来实现。对于有障碍下的Steiner树问题,greedy 3-Steinerization(G3S)的时间复杂度为0(k2n),而greedy 4-Steinerization(G4S)的时间复杂度为0(k3n2)。其中n是可选的Steiner点数目,k是执行迭代的次数,效率较低。batched 3-Steinerization(B3S)成批地选择三点组,时间复杂度为0(rkn),其中r为反复的次数,提高了求解效率。但如何选择三点组或四点组是这个方法的核心问题,它决定着该方法求解结果的好坏。在无障碍的情况下,通常采取的方法是将比较靠近的点归为一组,这个方法是比较合理的,得到的结果也比较好。但是在有障碍的情况下,选择点组时就需要综合考虑障碍以及点的分布情况。因此,如何选择合适点组的问题就复杂很多。然而,在该文献中并没有针对这个核心问题给出明确的解决方法。虽然该方法的时间复杂度还不是很高,但是需要再做后续优化工作才能使该方法得到优化的结果。Document [Ganley J L, Cohoon JPRouting a multi-terminal critical net: Steinertree construction in the presence of obstacles [A]. In: Proceedings of IEEE International Symposium on Circuits and Systems (ISCAS). London, UK, 1994.113-116.] Proposed The point of view is: since the 3-point and 4-point situations are relatively simple, they can be divided into 3-point groups or 4-point groups according to certain requirements in the multi-point situation. For the Steiner tree problem with obstacles, the time complexity of greedy 3-Steinerization (G3S) is 0(k 2 n), and the time complexity of greedy 4-Steinerization (G 4 S) is 0(k 3 n 2 ) . Where n is the number of optional Steiner points, and k is the number of iterations performed, which is less efficient. batched 3-Steinerization (B3S) selects three-point groups in batches, and the time complexity is 0(rkn), where r is the number of repetitions, which improves the solution efficiency. But how to choose a three-point group or a four-point group is the core problem of this method, which determines the quality of the solution results of this method. In the case of barrier-free, the usual method is to group closer points together. This method is more reasonable and the results obtained are better. However, in the case of obstacles, it is necessary to consider the obstacles and the distribution of points when selecting a point group. Therefore, the problem of how to select a suitable point group is much more complicated. However, no clear solution to this core problem is given in the literature. Although the time complexity of this method is not very high, it is necessary to do follow-up optimization work to make this method obtain optimized results.
另外,文献[黄林,赵文庆,唐璞山。一种含浮动端点的斯坦纳树的构造算法。计算机辅助设计与图形学学报.Vol.10,No.6,1998.11.]在具体分析和方法描述中,没有针对有障碍情况的说明。In addition, literature [Huang Lin, Zhao Wenqing, Tang Pushan. An algorithm for the construction of Steiner trees with floating endpoints. Journal of Computer-Aided Design and Graphics. Vol.10, No.6, 1998.11.] In the specific analysis and method description, there is no explanation for the obstacle.
已进行过“新颖性检索”,检索报告见附件1。The "novelty search" has been carried out, and the search report is shown in
发明内容Contents of the invention
本发明的目的在于提出一种标准单元总体布线时障碍下的直角Steiner树方法。The object of the present invention is to propose a right-angle Steiner tree method under obstacles in the overall wiring of standard cells.
本发明的总体思路是:首先将所有障碍视为不存在,求得端点集在无障碍下的Steiner树(我们称为预-Steiner树)并连接各端点;然后对预-Steiner树进行改造,使预-Steiner树中在障碍内部的树边绕过障碍,生成有障碍下的Steiner树。在生成有障碍Steiner树的过程中,还可以根据图的拓扑结构,进行适当的预处理和后期处理,以得到更好的构造结果。The general train of thought of the present invention is: at first regard all obstacles as non-existent, obtain the Steiner tree (we are called pre-Steiner tree) under barrier-free and connect each end point; Then pre-Steiner tree is transformed, Make the tree edge inside the obstacle in the pre-Steiner tree bypass the obstacle, and generate a Steiner tree under the obstacle. In the process of generating the obstacle Steiner tree, appropriate preprocessing and postprocessing can also be carried out according to the topological structure of the graph to obtain better construction results.
本发明的特征在于:它首先将所有障碍视为不存在,求得待连线网的端点集在无障碍下的Steiner树即预-Steiner树;然后使预-Steiner树中在障碍内部的树边绕过障碍,生成有障碍下的Steiner树;在生成有障碍Steiner树的过程中,根据图的拓扑结构,进行适当的预处理和后期处理;具体而言,它依次含有以下步骤:The present invention is characterized in that: it at first regards all obstacles as non-existent, and obtains the Steiner tree of the endpoint set of the network to be connected under no obstacle, that is, the pre-Steiner tree; then makes the tree in the obstacle interior in the pre-Steiner tree The edge bypasses obstacles to generate a Steiner tree with obstacles; in the process of generating a Steiner tree with obstacles, appropriate preprocessing and postprocessing are performed according to the topology of the graph; specifically, it contains the following steps in sequence:
(1).初始化,计算机从外部读入以下预先设置数据:(1). Initialization, the computer reads in the following preset data from the outside:
总体布线单元GRC的行数Nnr,列数Nnc,The number of rows N nr and the number of columns N nc of the general wiring unit GRC,
总体布线图GRG中所有顶点即GRC中心点的坐标Vnr,nc(x,y),其中,nr,nc分别代表行和列,x,y是芯片平面的坐标,The coordinates V nr, nc (x, y) of all vertices in the general wiring diagram GRG, that is, the central point of the GRC, wherein, nr, nc represent rows and columns respectively, and x, y are the coordinates of the chip plane,
GRG中每条边ek的容量Ck,The capacity C k of each edge e k in GRG,
电路中线网的总数Nsum,每条线网的网表NetlistIndex,The total number of nets in the circuit Nsum, the netlist NetlistIndex of each net,
电路中障碍的总数Osum,每个障碍各组成边的位置ObstacleIndex;The total number of obstacles in the circuit Osum, and the position ObstacleIndex of each side of each obstacle;
(2).读出以下数据以生成GRG:(2). Read out the following data to generate GRG:
读出在布线芯片上划分GRC所必需的行数Nnr和列数Nnc,再读出在布线芯片上生成上述GRG所必需的各顶点的坐标值,同时,给上述顶点及连接每相邻两个顶点的边ek编号;Read the number of rows N nr and the number of columns N nc necessary to divide the GRC on the wiring chip, and then read the coordinate values of the vertices necessary to generate the above-mentioned GRG on the wiring chip, and at the same time, give the above-mentioned vertices and each adjacent connection The edge e k numbers of the two vertices;
(3).按读入程序,为上述每条线网编号;(3). According to the read-in program, number each line net above;
(4).根据上述读入的电路中障碍的总数Osum及每个障碍各组成边的位置ObstacleIndex生成障碍列表;(4). Generate an obstacle list according to the total number Osum of obstacles in the above-mentioned read-in circuit and the position ObstacleIndex of each side of each obstacle;
(5).构造预-Steiner树,即在不考虑障碍的情况下对连线网的端点集求解得到预-Steiner树;(5). Construct a pre-Steiner tree, that is, obtain a pre-Steiner tree by solving the endpoint set of the connection network without considering obstacles;
(6).计算得到预-Steiner树各边与障碍边的交点并存储,删除预-Steirer树中处于障碍内部的树边;(6). Calculate and store the intersection points of each side of the pre-Steiner tree and the obstacle side, and delete the tree side inside the obstacle in the pre-Steiner tree;
(7).预处理:根据障碍及预-Steiner树的情况,综合考虑线长和时间效率决定对预-Steiner树是否进行变换以及如何进行变换;(7). Preprocessing: According to the obstacle and the situation of the pre-Steiner tree, comprehensively consider the line length and time efficiency to decide whether to transform the pre-Steiner tree and how to transform it;
(8).根据步骤(7)得到的预处理树与障碍相交的情况,对树边进行变换即分别对各组的树边与障碍的交点绕障碍重新连接,得到有障碍下的Steiner树;(8). According to the intersecting situation of the preprocessing tree obtained in step (7) and the obstacle, the tree edge is transformed, that is, the intersection of the tree edge and the obstacle of each group is reconnected around the obstacle, and the Steiner tree under the obstacle is obtained;
(9).后期处理:从优化线长出发,对上述有障碍下的Steiner树进行变换。(9). Post-processing: starting from the optimized line length, the Steiner tree under the above obstacles is transformed.
所述的步骤(9)后期处理,主要是去环处理和去“空U”处理,以进一步减小树的总长度。The post-processing of the step (9) mainly includes de-ring processing and de-"empty U" processing, so as to further reduce the total length of the tree.
本发明的方法有如下特点:Method of the present invention has following characteristics:
首先,本发明的方法能处理多端点(包括能处理两端点)的线网;能处理复杂障碍(包括能处理矩形或L形的简单障碍)的情况。即本发明方法的适用范围更广。同时,本发明方法并不像有些文献那样只给出了一个设想或思路雏形,而是一个能在具体装置(工作站)上运行的为总体布线过程服务的IC CAD工具,有具体的实施描述。Firstly, the method of the present invention can handle the line net with multiple endpoints (including the ability to handle two endpoints); it can handle the situation of complex obstacles (including the ability to handle simple obstacles of rectangle or L shape). That is, the scope of application of the method of the present invention is wider. Simultaneously, the method of the present invention does not only provide a conception or an embryonic form of thinking like some documents, but an IC CAD tool that can run on a specific device (workstation) and serves the general wiring process, with specific implementation descriptions.
其次,与已有的考虑障碍的多端点线网Steiner树构造方法相比,本发明的方法在时间复杂度和线长这两方面有更好的性能。本发明方法的时间复杂度仅为0(mn),m和n分别是障碍的个数和线网端点数;同时用本方法求解的线长结果也十分理想。本发明的方法在综合效果上优于已有方法,请具体参见后面的“本发明方法效果的实验数据”中给出的实验数据说明。Secondly, compared with the existing multi-end line network Steiner tree construction method considering obstacles, the method of the present invention has better performance in terms of time complexity and line length. The time complexity of the method of the invention is only 0(mn), m and n are the number of obstacles and the number of end points of the line network respectively; meanwhile, the line length result obtained by the method is also very ideal. The method of the present invention is superior to the existing methods in comprehensive effect, please refer to the description of the experimental data given in the following "Experimental data of the effect of the method of the present invention" for details.
附图说明Description of drawings
图1:本发明核心部分流程图。Fig. 1: flow chart of core part of the present invention.
图2:变换预-Steiner树为有障碍下Steiner树的流程图。Figure 2: Flowchart for transforming a pre-Steiner tree into a Steiner tree with obstacles.
图3:树边与障碍边的交点的几种情况示意图。Figure 3: Schematic diagrams of several situations of intersections between tree edges and obstacle edges.
(a)一条树边穿过障碍的交点情况;(a) The intersection of a tree edge passing through an obstacle;
(b)在障碍内部有Steiner点时的交点情况;(b) The intersection situation when there is a Steiner point inside the obstacle;
(c)有整条边在障碍内部时的交点情况。(c) The intersection situation when the entire edge is inside the obstacle.
图4:树边与障碍边相交的两种边界情况示意图。Figure 4: Schematic diagram of two boundary cases where tree edges intersect obstacle edges.
(a)树边仅有一端与障碍接触的情况;(a) Only one end of the tree edge is in contact with the obstacle;
(b)树边有一部分与障碍边重合的四种可能情况。(b) There are four possible situations where a part of the tree edge coincides with the obstacle edge.
图5:交点“分组”的示意图。Figure 5: Schematic representation of the "grouping" of intersection points.
图6:预处理的例子示意图一。Figure 6: Schematic diagram of an example of preprocessing.
(a)预-Steiner树的一部分与障碍的两个交点p1,p2;(a) Two intersection points p1, p2 of a part of the pre-Steiner tree and the obstacle;
(b)点S1和点S2间的一条最短路径。(b) A shortest path between point S1 and point S2.
图7:预处理的例子示意图二。Figure 7: Schematic diagram of an example of preprocessing II.
(a)预-Steiner树的一部分与障碍的两个交点p1,p2;(a) Two intersection points p1, p2 of a part of the pre-Steiner tree and the obstacle;
(b)去掉预-Steiner树位于障碍内部的部分;(b) Remove the part of the pre-Steiner tree located inside the obstacle;
(c)无预处理时,最后生成的结果。(c) When there is no preprocessing, the final generated result.
图8:预处理方法描述。Figure 8: Preprocessing method description.
图9:预处理的例子示意图三。Figure 9: Schematic diagram of an example of preprocessing III.
(a)预-Steiner树的一部分与障碍的两个交点p1,p2;(a) Two intersection points p1, p2 of a part of the pre-Steiner tree and the obstacle;
(b)预处理过程;(b) preprocessing process;
(c)有预处理时,最后生成的结果。(c) When there is preprocessing, the final result generated.
图10:net18的Steiner树构造过程示意图。Figure 10: Schematic diagram of the Steiner tree construction process of net18.
(a)输入的待连线网端点和障碍;(a) Enter the endpoints and barriers of the net to be connected;
(b)预-Steiner树,以及它与障碍的交点情况;(b) Pre-Steiner tree, and its intersection with obstacles;
(c)去掉预-Steriner树位于障碍内部的部分之后的结果;(c) The result after removing the part of the pre-Steriner tree located inside the obstacle;
(d)进行预处理之后的结果;(d) The result after preprocessing;
(e)改变树边,使其绕过障碍的结果;(e) The result of changing the edge of the tree so that it bypasses the obstacle;
(f)进行后期处理之后的结果即为最后的输出结果。(f) The result after post-processing is the final output.
具体实施方式Detailed ways
首先具体分析本专利申请涉及的“考虑障碍的直角Steiner树方法”的核心思想。Firstly, the core idea of the "right-angle Steiner tree method considering obstacles" involved in this patent application is specifically analyzed.
在将GRG、电路中障碍以及线网的信息读入并进行处理后,本方法核心的部分就是构造Steiner树的过程,总流程框图如图1所示。该方法的思路与以往的方法不同,方法分两步来构造最后的结果树:第一步,忽略所有障碍,对线网端点生成初始的无障碍下Steiner树,即预-Steiner树;第二步,考虑障碍,对预-Steiner树进行改造,得到考虑障碍的Steiner树。以下分别介绍方法的两个步骤。After reading and processing the information of GRG, obstacles in the circuit, and wire network, the core part of this method is the process of constructing the Steiner tree. The overall flow chart is shown in Figure 1. The idea of this method is different from the previous methods. The method constructs the final result tree in two steps: the first step, ignoring all obstacles, and generating an initial barrier-free Steiner tree for the end points of the line network, that is, the pre-Steiner tree; Step, consider the obstacle, transform the pre-Steiner tree, get the Steiner tree considering the obstacle. The two steps of the method are described below.
第一步:构造预-Steiner树,即在不考虑障碍的情况下对端点集求解得到Steiner树,相当于上述总过程中的第(5)步:Step 1: Construct a pre-Steiner tree, that is, obtain a Steiner tree by solving the endpoint set without considering obstacles, which is equivalent to step (5) in the above general process:
由于该步产生的预-Steiner树仅仅是最后结果的一个初稿,因此,选择构造无障碍Steiner树方法的原则是,在保证结果有一定的优化程度的基础上,重点考虑方法是否有好的时间效率。例如一个效率较高并且效果不错的方法显然比一个需要多花费很多的时间求出更优结果的方法合适。Since the pre-Steiner tree generated in this step is only a first draft of the final result, the principle of choosing the method of constructing a barrier-free Steiner tree is to focus on whether the method has a good time on the basis of ensuring that the result has a certain degree of optimization. efficiency. For example, a method with high efficiency and good results is obviously more suitable than a method that takes a lot of time to find a better result.
根据这个原则,我们这样选择无障碍下Steiner树方法:当端点数不多时选择“DW方法”,它已公开发表于1972年的国际期刊,见:[Dreyfus S E,and Wagner R A,“The Steiner problemin graphs”,Networks,1972,1:195]。该方法是精确方法,求得的结果是最小Steiner树,并且在端点数较少的情况下计算时间较短。但当端点数较多时,上面这种精确方法的计算时间急剧上升,因此应该选择一些效率较高的启发式方,例如“1-Steiner方法”,见[A.B.Kahng,and G.Robins,“A new class of iterative Steiner tree heuristics with good performance”,IEEE Transactions on Computer Aided Design.11(7):893-902,July 1992.];或者“GTCA方法”,见[A.B.Kahng,Ion I.Mandoiu,Alexander Z.Zelikovsky,“Highly ScalableAlgorithms for Rectilinear and Octilinear Steiner Trees”,Proc Asia-Pacific DesignAutomation Conference(ASP-DAC),2003]。According to this principle, we choose the Steiner tree method under barriers as follows: when the number of endpoints is small, we choose the "DW method", which has been published in an international journal in 1972, see: [Dreyfus S E, and Wagner R A, "The Steiner problemin graphs", Networks, 1972, 1:195]. This method is an exact method, and the obtained result is the minimum Steiner tree, and the calculation time is shorter when the number of endpoints is small. But when the number of endpoints is large, the calculation time of the above precise method rises sharply, so some more efficient heuristic methods should be selected, such as "1-Steiner method", see [A.B.Kahng, and G.Robins, "A new class of iterative Steiner tree heuristics with good performance", IEEE Transactions on Computer Aided Design.11(7):893-902, July 1992.]; or "GTCA method", see [A.B.Kahng, Ion I.Mandoiu, Alexander Z. Zelikovsky, "Highly Scalable Algorithms for Rectilinear and Octilinear Steiner Trees", Proc Asia-Pacific DesignAutomation Conference (ASP-DAC), 2003].
第二步:考虑障碍的影响,针对预-Steiner树中与障碍相交的部分树边作相应改造,求出有障碍下的Steiner树。这个部分对应于上述总过程中的第(6)至第(9)步,该步流程图如图2所示。其中,Proc1至Proc4依次对应于第(6)至(9)步。Step 2: Considering the influence of obstacles, make corresponding transformations on the part of the tree edges intersecting with obstacles in the pre-Steiner tree, and obtain the Steiner tree with obstacles. This part corresponds to steps (6) to (9) in the above-mentioned overall process, and the flow chart of this step is shown in Figure 2. Among them, Proc1 to Proc4 correspond to steps (6) to (9) in turn.
Proc1和Proc3是该步方法的主要工作,而Proc2和Proc4则根据结果Steiner树的优化程度而定。Proc2中的预处理可针对不同的情况帮助减少路径长度,而Proc4中的后期处理中可做一些消除环及进一步减少路径长度的工作,它们的具体方法将在后面介绍。Proc1 and Proc3 are the main work of this step method, while Proc2 and Proc4 are determined according to the degree of optimization of the resulting Steiner tree. The preprocessing in Proc2 can help reduce the path length for different situations, and the postprocessing in Proc4 can do some work to eliminate rings and further reduce the path length. Their specific methods will be introduced later.
1.Proc1和Proc3,是第二步方法的主体。首先计算得到预-Steiner树各边与障碍边的交点,对这些交点根据需要进行处理并存储(即:Proc1);然后根据交点的情况,对边进行变换,得到有障碍下的Steiner树(即:Proc3)。1. Proc1 and Proc3 are the main body of the second step method. First calculate the intersection points of each side of the pre-Steiner tree and the obstacle side, and process and store these intersection points as needed (ie: Proc1); then according to the situation of the intersection point, transform the edge to obtain the Steiner tree under the obstacle (ie :Proc3).
(1)在Proc1中处理树边与障碍边的交点时,需要考虑以下几种情况,分别如图3所示。(1) When dealing with the intersection of tree edges and obstacle edges in Proc1, the following situations need to be considered, as shown in Figure 3.
●一条树边穿过障碍,与障碍边产生两个交点。●A tree edge passes through the obstacle and produces two intersection points with the obstacle edge.
●在障碍内部有Steiner点,这组边与障碍边的交点多于两个。• There are Steiner points inside the obstacle, and the set of edges intersects more than two edges with the obstacle.
●有整条边在障碍内部的情况,这条边连接的必是两个Steiner点,则这组边与障碍的交点是这些通过障碍内部边连在一起的Steiner所在的边与障碍边的交点集。●If there is an entire edge inside the obstacle, this edge must be connected to two Steiner points, then the intersection of this group of edges and the obstacle is the intersection of the Steiner edge and the obstacle edge that are connected together by the inner edge of the obstacle set.
另外,还要考虑一些边界情况。在程序中是通过障碍边来描述障碍的,并且规定由障碍边构成的封闭区域之内是非布线区,而由障碍边构成的封闭区域的外面部分包括障碍边均为可布线区。边界情况包括两种,分别如图4所示:In addition, there are some edge cases to consider. In the program, obstacles are described by obstacle edges, and it is stipulated that the closed area formed by obstacle edges is a non-wiring area, and the outer part of the enclosed area formed by obstacle edges, including obstacle edges, is a routeable area. There are two boundary conditions, as shown in Figure 4:
●树边仅有一端与障碍接触,此时处理为此边与障碍不相交。● Only one end of the tree edge is in contact with the obstacle, and at this time it is treated as such that the edge does not intersect with the obstacle.
●树边有一部分与障碍边重合,对于凸多边形有四种可能情况,在程序中都要分别加以处理。● A part of the tree edge coincides with the obstacle edge, and there are four possible situations for the convex polygon, which must be dealt with separately in the program.
(2)另外,根据Proc3的要求,还要提出一个对交点“分组”的概念。对一棵预-Steiner树与障碍边的交点进行分组的原则是:凡经过预-Steiner树内连于障碍内部而形成的部分交点属于同一组。只有属于同一组的交点在Proc3中去除障碍内树边后需要被重新连接。图5的例子中,{p1,p2,p3,p4}是一组交点,而{p5,p6}是另一组交点。(2) In addition, according to the requirements of Proc3, a concept of "grouping" the intersection points should be proposed. The principle of grouping the intersection points of a pre-Steiner tree and the obstacle side is: all the partial intersection points formed by connecting the pre-Steiner tree to the inside of the obstacle belong to the same group. Only the intersections belonging to the same group need to be reconnected after removal of the obstacle inner tree edges in Proc3. In the example of Fig. 5, {p 1 , p 2 , p 3 , p 4 } is a set of intersection points, and {p 5 , p 6 } is another set of intersection points.
在Proc3中改变路径所做的操作是:先去掉处于障碍内部的边或边的一部分,然后绕障碍进行重连。重连的方法有多种:最简单的方法是求出一个最小路径将一个障碍上的所有交点(不分组)沿障碍边连接起来,由于这个方法将所有不同组的交点也连接在一起,因此可能产生一些不必要的连接,增长了路径长度。稍微复杂一点的方法可以对交点分组来处理,分别对每组交点选择绕障碍的最短路径进行重连。这个方法没有考虑到不同组的绕障碍路径的重叠造成的影响,因此更进一步的还可以考虑这个影响作更细致的处理,使得绕障碍的路径更短。The operation of changing the path in Proc3 is: first remove the edge or part of the edge inside the obstacle, and then reconnect around the obstacle. There are many ways to reconnect: the simplest method is to find a minimum path to connect all intersections (not grouped) on an obstacle along the obstacle edge, since this method also connects all intersections of different groups together, so Some unnecessary connections may be generated, increasing the path length. A slightly more complicated method can be processed by grouping the intersection points, and reconnecting the shortest path around the obstacle for each group of intersection points. This method does not take into account the influence caused by the overlapping of different groups of paths around obstacles, so this effect can be further considered for more detailed processing to make the paths around obstacles shorter.
2.Proc2和Proc4,可根据结果优化程度的好坏选择使用该步骤。2. Proc2 and Proc4, you can choose to use this step according to the degree of optimization of the results.
若在第二步中仅仅进行Proc1和Proc3,则在一些情况下得到的结果可能会不太好。针对不同的情况进行不同的预处理可以帮助减短路径的长度。下面举例说明其中一个比较重要的问题:If only Proc1 and Proc3 are performed in the second step, the results obtained in some cases may not be very good. Different preprocessing for different situations can help reduce the length of the path. The following example illustrates one of the more important issues:
图6(a)中是某棵预-Steiner树的一部分与障碍相交的情况,需要对边进行改变。显然我们可以看出,S1和S2间的最短路径长度是Manhattan距离,如图6(b)所示。Figure 6(a) is the case where a part of a pre-Steiner tree intersects with an obstacle, and the edge needs to be changed. Obviously we can see that the shortest path length between S1 and S2 is the Manhattan distance, as shown in Figure 6(b).
但是,若不进行预处理直接找出相交点并重连(即直接仅仅执行Proc1和Proc3),如图7所示,则我们只能得到图7中(c)的结果,当情况很坏时,最后结果会比有障碍下最小Steiner树的情况差很多。However, if we directly find the intersection point and reconnect without preprocessing (that is, only execute Proc1 and Proc3 directly), as shown in Figure 7, we can only get the result of (c) in Figure 7. When the situation is very bad, The final result will be much worse than the minimum Steiner tree with obstacles.
因此,为了改善结果,需要做一些预处理。预处理流程如图8所示。So, to improve the results, some preprocessing needs to be done. The preprocessing flow is shown in Figure 8.
图9显示的是上面例子进行预处理的过程和结果。p1不作调整,p2调整为p2’,经过预处理得到的结果如图9(c)所示,可见此时两点间路径长度为两点间最短距离。Figure 9 shows the preprocessing process and results of the above example. p1 is not adjusted, p2 is adjusted to p2', the result obtained after preprocessing is shown in Figure 9(c), it can be seen that the path length between two points at this time is the shortest distance between two points.
后期处理主要是进行去环处理和去“空U”的处理,以进一步减小树的总长度。三段连续的线段构成的形如字母U的线路称为一个“U”,“空U”即指在U形线路的中间那段向U内部仍有上移空间。我们采用“TPT转换技术”。而去环处理的方法是从树根依次搜索找出环,并去掉环中最大的边。The post-processing is mainly to remove the ring and remove the "empty U", so as to further reduce the total length of the tree. A U-shaped circuit composed of three consecutive segments is called a "U", and an "empty U" means that there is still room for upward movement in the middle section of the U-shaped circuit. We adopt "TPT conversion technology". The method of removing rings is to search sequentially from the root of the tree to find the rings, and remove the largest edge in the rings.
下面结合一个MCNC(Microelectronics Center of North Carolina)标准电路线网的例子,说明本方法的全过程,如下:The whole process of this method is illustrated below with an example of MCNC (Microelectronics Center of North Carolina) standard circuit network, as follows:
为了实现,或者说是具体实施本项发明,我们给出以下关于发明实施的描述。In order to realize, or specifically implement the present invention, we give the following description about the implementation of the invention.
实施本发明的计算机系统:本发明所设计的为总体布线服务的软件要在一个具体的计算机系统上得以实施,该计算机系统具体描述如下。The computer system for implementing the present invention: the software designed in the present invention to serve the general wiring shall be implemented on a specific computer system, and the computer system is specifically described as follows.
一台Sun公司的V880型工作站;A Sun V880 workstation;
Unix操作系统;Unix operating system;
标准C编程语言;Standard C programming language;
Vi编辑器、gcc编译器、gdb调试工具等。Vi editor, gcc compiler, gdb debugging tool, etc.
步骤(1)-(4):预备工作。构造GRG网格;读入线网信息;读入障碍信息并处理这些信息。其中,除“读入障碍信息并处理这些信息”外的其他工作都与一般的标准单元总体布线的预备工作相同,详细描述见文献[已申请的国家发明专利:洪先龙,经彤,鲍海云,蔡懿慈,许静宇。发明名称:基于关键网络技术优化时延的标准单元总体布线方法。申请日期:2002/01/15.申请号为:02100354.8.已于2002/07/24被公开。]和[已申请的国家发明专利:洪先龙,经彤,许静宇,张凌,胡昱。发明名称:考虑耦合效应进行时延优化的标准单元总体布线方法。申请日期:2002/12/17.申请号为:02156622.4.已于2003/05/07被公开。]中的介绍。这里只重点描述“读入障碍信息并处理这些信息”这项工作。Steps (1)-(4): Preparatory work. Construct GRG grid; read in line network information; read in obstacle information and process these information. Among them, other tasks except "reading in the obstacle information and processing the information" are the same as the general preparation work of the general wiring of the standard unit, and the detailed description can be found in the literature [Applied national invention patents: Hong Xianlong, Jing Tong, Bao Haiyun, Cai Yici , Xu Jingyu. Invention name: A standard cell overall wiring method based on key network technology to optimize time delay. Application date: 2002/01/15. Application number: 02100354.8. It was published on 2002/07/24. ] and [applied national invention patents: Hong Xianlong, Jing Tong, Xu Jingyu, Zhang Ling, Hu Yu. Invention name: A standard cell overall wiring method for delay optimization considering coupling effects. Application date: 2002/12/17. Application number: 02156622.4. It was published on 2003/05/07. ] in the introduction. Here we only focus on the work of "reading in obstacle information and processing it".
输入的线网信息:采用MCNC标准电路例子中的18号线网的网表表示(待连端点信息),则有:Input network information: using the netlist representation of the 18th line network in the MCNC standard circuit example (endpoint information to be connected), then there are:
(net 18(vertexList 83 2 38 2 80 2 93 1))(net 18(vertexList 83 2 38 2 80 2 93 1))
——说明:其中的83,38,80,93给出了在GRG网格中待连端点号,这些端点在xy平面的坐标依次为:(1246,1312),(972,656),(428,1312),(972,1488)。第83号顶点是漏点,第38号顶点是漏点,第80号顶点是漏点,第93号顶点是源点。它们的通式可表示为:——Explanation: 83, 38, 80, and 93 among them give the endpoint numbers to be connected in the GRG grid, and the coordinates of these endpoints in the xy plane are: (1246, 1312), (972, 656), (428 , 1312), (972, 1488). Vertex No. 83 is a leak point, Vertex No. 38 is a leak point, Vertex No. 80 is a leak point, and Vertex No. 93 is a source point. Their general formula can be expressed as:
(net号(VertexList顶点号源点/漏点 ……)),(net number (VertexList vertex number source point/leakage point ...)),
其中:数字1表示源点,数字2表示漏点。Among them: the
针对18号线网所输入的障碍信息为:obstacle 1(ybound(800 1000)xbound(400 1000)h_edge(400 800,1000800;400 1000,1000 1000)v_edge(400 800,400 1000;1000 800,1000 1000))obstacle 2(ybound(1200 1400)xbound(600 1000)h_edge(700 1200,9501200;600 1250,700 1250;950 1250,1000 1250;600 1350,700 1350;9501350,1000 1350;700 1400,950 1400)v_edge(600 1250,600 1350;7001200,700 1250;700 1350,700 1400;950 1200,950 1250;950 1350,950 1400;1000 1250,1000 1350))The input obstacle information for line 18 is: obstacle 1(ybound(800 1000)xbound(400 1000)h_edge(400 800,1000800;400 1000,1000 1000)v_edge(400 800,400 1000;1000 800,1000 1000))obstacle 2(ybound(1200 1400)xbound(600 1000)h_edge(700 1200, 950 1200; 600 1250, 700 1250; 950 1250, 1000 1250; 600 1350, 700 1350; 1400)v_edge(600 1250, 600 1350; 700 1200, 700 1250; 700 1350, 700 1400; 950 1200, 950 1250; 950 1350, 950 1400; 1000 1250, 1000 1350))
——说明:输入的障碍信息给出了障碍ID号和对各个障碍的描述,即包括障碍在x和y方向的最大值和最小值,障碍的所有水平边和竖直边。——Explanation: The input obstacle information gives the obstacle ID number and description of each obstacle, including the maximum and minimum values of the obstacle in the x and y directions, and all horizontal and vertical sides of the obstacle.
图10(a)为输入线网net18和障碍的示意图,图中给出了待连线网端点的坐标,以及障碍的各端点坐标。Fig. 10(a) is a schematic diagram of the input net18 and obstacles, in which the coordinates of the endpoints of the net to be connected and the coordinates of the endpoints of the obstacles are given.
读入这些信息后,经过处理,存于相应的数据结构中。After the information is read in, it is processed and stored in the corresponding data structure.
步骤(5):根据待连线网端点构造预-Steiner树。Step (5): Construct a pre-Steiner tree according to the endpoints of the network to be connected.
例如由net18求得的预-Steiner树为:For example, the pre-Steiner tree obtained by net18 is:
Net ID 18Net ID 18
(972,1488)----->(972,1312)(972,1488)----->(972,1312)
(972,1312)----->(1246,1312)(972,1312)----->(1246,1312)
(428,1312)----->(972,1312)(428,1312)----->(972,1312)
(972,656)----->(972,1312)(972,656)----->(972,1312)
——说明:“(972,1488)----->(972,1312)”描述的是预-Steiner树的一条树边,它的两个端点在xy平面上的坐标分别为(972,1488)和(972,1312)。其余类似。这棵预-Steiner树共有4条树边。——Description: "(972, 1488)----->(972, 1312)" describes a tree edge of the pre-Steiner tree, and the coordinates of its two endpoints on the xy plane are (972, 1488) and (972, 1312). The rest are similar. This pre-Steiner tree has a total of 4 tree edges.
图10(b)为net18的预-Steiner树的示意图,图中给出了树的各端点坐标,以及此树与障碍的交点坐标。Figure 10(b) is a schematic diagram of the pre-Steiner tree of net18, in which the coordinates of each end point of the tree and the coordinates of the intersection of the tree and the obstacle are given.
步骤(6):计算预-Steiner树与障碍的交点。并删除处于障碍内部的树边。Step (6): Calculate the intersection of the pre-Steiner tree and the obstacle. And delete tree edges that are inside the barrier.
经过计算,net18的预-Steiner树与障碍1和障碍2的交点分别为:After calculation, the intersection points of net18's pre-Steiner tree with
Net ID 18Net ID 18
obstacle 1
intersections:(972,800):1,(972,1000):1intersections: (972, 800): 1, (972, 1000): 1
obstacle 2
intersections:(600,1312):2,(972,1250):2,(972,1350):2,(1000,1312):2intersections: (600, 1312): 2, (972, 1250): 2, (972, 1350): 2, (1000, 1312): 2
——说明:障碍obstacle1和obstacle2与net18的预-Steiner树相交。各交点表示为(x,y):link_No,其中(x,y)表示交点在xy平面上的坐标值,link_No表示此交点所在的组号(同一组的交点需要在后边改变树边的步骤中重新连接在一起,具体可参见前面“具体实施方式”节中的第1(2)条目中的关于“分组”概念的分析)。- Explanation: Obstacles obstacle1 and obstacle2 intersect the pre-Steiner tree of net18. Each intersection point is expressed as (x, y): link_No, where (x, y) represents the coordinate value of the intersection point on the xy plane, and link_No represents the group number of the intersection point (the intersection point of the same group needs to be changed in the step of changing the tree edge later) For details, please refer to the analysis on the concept of "grouping" in item 1(2) of the previous "Detailed Implementation" section).
相应的,预-Steiner树处于交点之间的障碍的部分被删除,仅保留其处于障碍外部的部分,如下所示:Correspondingly, the part of the pre-Steiner tree that is in the barrier between the intersection points is deleted, and only the part that is outside the barrier is retained, as follows:
Net ID 18Net ID 18
Part of the tree out of the obstacles:Part of the tree out of the obstacles:
(972,1488)----->(972,1350)(972,1488)----->(972,1350)
(972,1250)----->(972,1000)(972,1250)----->(972,1000)
(972,656)----->(972,800)(972,656)----->(972,800)
(1000,1312)----->(1246,1312)(1000, 1312)----->(1246, 1312)
(428,1312)----->(600,1312)(428,1312)----->(600,1312)
变化示意图如图10(c)所示,图中给出了各树边的端点坐标。The schematic diagram of the change is shown in Figure 10(c), in which the coordinates of the endpoints of each tree edge are given.
步骤(7):预处理过程。根据预-Steiner树与障碍相交的情况,对障碍外部的预-Steiner树部分中的一些树边进行改变。Step (7): Preprocessing process. Make changes to some tree edges in the pre-Steiner tree parts outside the barrier, depending on how the pre-Steiner tree intersects the barrier.
经过计算,以下原树边被新树边替代:After calculation, the following original tree edges are replaced by new tree edges:
原树边 新树边
(972,1250)----->(972,1000) (1000,1250)----->(1000,1000)(972,1250)----->(972,1000) (1000,1250)----->(1000,1000)
因此,经过预处理后得到的处于障碍外部的预-Steiner树的部分为:Therefore, the part of the pre-Steiner tree that is outside the barrier obtained after preprocessing is:
Net ID 18Net ID 18
Part of the tree out of the obstacles:Part of the tree out of the obstacles:
(972,1488)----->(972,1350)(972,1488)----->(972,1350)
(1000,1250)----->(1000,1000)(1000, 1250)----->(1000, 1000)
(972,656)----->(972,800)(972,656)----->(972,800)
(1000,1312)----->(1246,1312)(1000, 1312)----->(1246, 1312)
(428,1312)----->(600,1312)(428,1312)----->(600,1312)
经过预处理过程后的障碍外部的预-Steiner树参见图10(d),图中给出了各树边的端点坐标。The pre-Steiner tree outside the obstacle after the preprocessing process is shown in Figure 10(d), in which the coordinates of the endpoints of each tree edge are given.
步骤(8):改变路径。这一步所做的工作就是交点绕障碍的重新连接。Step (8): Change the path. The work done in this step is the reconnection of the intersection around the obstacle.
重连交点得到的新树边为:The new tree edge obtained by reconnecting the intersection points is:
Net ID 18Net ID 18
Part of the tree reconnecting the intersections:Part of the tree reconnecting the intersections:
(600,1312)----->(600,1350)(600, 1312)----->(600, 1350)
(600,1350)----->(700,1350)(600, 1350)----->(700, 1350)
(700,1350)----->(700,1400)(700, 1350)----->(700, 1400)
(700,1400)----->(950,1400)(700, 1400)----->(950, 1400)
(950,1400)----->(950,1350)(950, 1400)----->(950, 1350)
(950,1350)----->(972,1350)(950,1350)----->(972,1350)
(972,1350)----->(1000,1350)(972, 1350)----->(1000, 1350)
(1000,1350)----->(1000,1312)(1000, 1350)----->(1000, 1312)
(1000,1312)----->(1000,1250)(1000, 1312)----->(1000, 1250)
(1000,1000)----->(1000,800)(1000, 1000)----->(1000, 800)
(1000,800)----->(972,800)(1000,800)----->(972,800)
这样,改造后的Steiner树由这两部分构成:保留的(并有可能经过步骤(7)改造的)处于障碍外部的预-Steiner树部分和由步骤(8)得到的重连交点得到的新树边。改造的Steiner树如下所示,此Steiner树连接所有端点并避开障碍。In this way, the transformed Steiner tree consists of two parts: the part of the pre-Steiner tree outside the obstacle that is retained (and possibly transformed by step (7)) and the new by the tree. The modified Steiner tree is shown below, this Steiner tree connects all endpoints and avoids obstacles.
Net ID 18Net ID 18
(600,1312)----->(600,1350) <1>(600, 1312)----->(600, 1350) <1>
(600,1350)----->(700,1350) <2>(600, 1350)----->(700, 1350) <2>
(700,1350)----->(700,1400) <3>(700, 1350)----->(700, 1400) <3>
(700,1400)----->(950,1400) <4>(700, 1400)----->(950, 1400) <4>
(950,1400)------>(950,1350) <5>(950, 1400)------>(950, 1350) <5>
(950,1350)----->(972,1350) <6>(950, 1350)----->(972, 1350) <6>
(972,1350)----->(1000,1350) <7>(972, 1350)----->(1000, 1350) <7>
(1000,1350)----->(1000,1312) <8>(1000, 1350)----->(1000, 1312) <8>
(1000,1312)----->(1000,800) <9>(1000, 1312)----->(1000, 800) <9>
(1000,800)----->(972,800) <10>(1000,800)----->(972,800) <10>
(972,1488)----->(972,1350) <11>(972, 1488)----->(972, 1350) <11>
(972,656)----->(972,800) <12>(972,656)----->(972,800) <12>
(1000,1312)----->(1246,1312) <13>(1000, 1312)----->(1246, 1312) <13>
(428,1312)----->(600,1312) <14>(428, 1312)----->(600, 1312) <14>
——说明:“(600,1312)----->(600,1350)”描述的是Steiner树的一条树边,“<1>”是这条边的序号。其余类似。图10(e)为改造后的Steiner树,图中标出了各边的序号。——Explanation: "(600, 1312)----->(600, 1350)" describes a tree edge of the Steiner tree, and "<1>" is the serial number of this edge. The rest are similar. Figure 10(e) is the transformed Steiner tree, in which the serial numbers of each side are marked.
步骤(9):后期处理。对树中的环以及“空U”进行处理。Step (9): post-processing. Cycles in the tree as well as "empty U's" are handled.
处理的结果为:如下所示的原树边被新树边代替。The result of the processing is: the original tree edge is replaced by the new tree edge as shown below.
原树边 处理原因 新树边
(950,1400)----->(950,1350) 形成“空U” (950,1400)----->(972,1400)(950, 1400)----->(950, 1350) Form "empty U" (950, 1400)----->(972, 1400)
(950,1350)----->(972,1350) (972,1400)----->(972,1350)(950,1350)----->(972,1350) (972,1400)----->(972,1350)
(972,1488)----->(972,1350) (972,1488)----->(972,1400)(972,1488)----->(972,1350) (972,1488)----->(972,1400)
经过后期处理后,得到的有障碍下的net18的Steiner树如下所示。这就是采用本发明方法的最终结果。After post-processing, the resulting Steiner tree of net18 with obstacles is shown below. Here it is the final result of adopting the method of the present invention.
Net ID 18Net ID 18
(600,1312)----->(600,1350) <1>(600, 1312)----->(600, 1350) <1>
(600,1350)----->(700,1350) <2>(600, 1350)----->(700, 1350) <2>
(700,1350)----->(700,1400) <3>(700, 1350)----->(700, 1400) <3>
(700,1400)----->(972,1400) <4>(700, 1400)----->(972, 1400) <4>
(972,1400)----->(972,1350) <5>(972, 1400)----->(972, 1350) <5>
(972,1350)----->(1000,1350) <6>(972, 1350)----->(1000, 1350) <6>
(1000,1350)----->(1000,1312) <7>(1000, 1350)----->(1000, 1312) <7>
(1000,1312)----->(1000,800) <8>(1000, 1312)----->(1000, 800) <8>
(1000,800)----->(972,800) <9>(1000,800)----->(972,800) <9>
(972,1488)----->(972,1350) <10>(972, 1488)----->(972, 1350) <10>
(972,656)----->(972,800) <11>(972,656)----->(972,800) <11>
(1000,1312)----->(1246,1312) <12>(1000, 1312)----->(1246, 1312) <12>
(428,1312)----->(600,1312) <13>(428, 1312)----->(600, 1312) <13>
——说明:“(600,1312)----->(600,1350)”描述的是net18在障碍下的最终结果Steiner树的一条树边,它的两个端点在xy平面上的坐标分别为(600,1312)和(600,1350),“<1>”是这条边的序号。其余类似。所求得的net18的障碍下Steiner树共有13条树边。——Description: "(600, 1312)----->(600, 1350)" describes a tree edge of the final result Steiner tree of net18 under obstacles, and the coordinates of its two endpoints on the xy plane They are (600, 1312) and (600, 1350) respectively, and "<1>" is the serial number of this edge. The rest are similar. The resulting Steiner tree under the obstacle of net18 has 13 tree edges.
图10(f)给出了net18最终结果的Steiner树示意图,图中标出了各边的序号。Figure 10(f) shows a schematic diagram of the Steiner tree of the final result of net18, and the serial numbers of each side are marked in the figure.
本发明方法效果的实验数据The experimental data of the method effect of the present invention
进行实验的计算机系统具体描述如下:The computer system for the experiment is described in detail as follows:
一台Sun公司的V880型工作站;A Sun V880 workstation;
Unix操作系统;Unix operating system;
标准C编程语言; Standard C programming language;
Vi编辑器、gcc编译器、gdb调试工具等;Vi editor, gcc compiler, gdb debugging tool, etc.;
MCNC电路中的线网作为测试例子,9个线网的测试结果数据列举如下:The wire net in the MCNC circuit is used as a test example, and the test result data of 9 wire nets are listed as follows:
Net ID 线网 RSMT RSMTO Ours Redundancy Net ID
端点数 [1] [2] [3] [4]Number of endpoints [1] [2] [3] [4]
C2net22 2 442 754 754 0%
C2net33 2 1332 1332 1332 0%
C2net2 3 3572 3828 3828 0%C2net2 3 3572 3828 3828 0%
C2net17 3 1160 1188 1188 0%C2net17 3 1160 1188 1188 0%
C2net504 4 856 1256 1256 0%C2net504 4 856 1256 1256 0%
C2net59 3 2028 3208 3268 1.87%C2net59 3 2028 3208 3268 1.87%
C2net609 4 2054 2894 3004 3.80%C2net609 4 2054 2894 3004 3.80%
C2net67 5 1880 2064 2156 4.46%C2net67 5 1880 2064 2156 4.46%
C2net177 6 2660 2660 2790 4.89%C2net177 6 2660 2660 2790 4.89%
[1]RSMT:无障碍下的RSMT长度[1] RSMT: RSMT length without barriers
[2]RSMTO:有障碍下的RSMT长度[2] RSMTO: RSMT length with obstacles
[3]Ours:本发明方法生成的有障碍下的RSMT长度[3] Ours: The length of RSMT with obstacles generated by the method of the present invention
[4]Redundancy=(Ours-RSMTO)/RSMTO*100%[4]Redundancy=(Ours-RSMTO)/RSMTO*100%
从上述测试结果可计算得到本发明方法求解的布线树的线长冗余Redundancy的平均值为1.67%。同时,对所有例子的求解执行时间均有:≤1秒。From the above test results, it can be calculated that the average value of the line length redundancy of the wiring tree solved by the method of the present invention is 1.67%. At the same time, the solution execution time for all examples is: ≤1 second.
针对上述9个线网,本发明方法与Chen Desheng等的“TPT”[5]方法(请参见“背景技术”中的介绍)的测试结果比较列出如下:For the above-mentioned 9 wire nets, the test results of the method of the present invention and the "TPT" [5] method of Chen Desheng etc. (please refer to the introduction in "Background Technology") are listed as follows:
Net ID 线网 TPT Ours ComparisonNet ID TPT Ours Comparison
端点数 [5] [3] [6]Number of endpoints [5] [3] [6]
C2net22 2 902 754 19.00%
C2net33 2 1332 1332 0%
C2net2 3 3906 3828 2.03%C2net2 3 3906 3828 2.03%
C2net17 3 1368 1188 15.15%C2net17 3 1368 1188 15.15%
C2net504 4 1580 1256 25.80%C2net504 4 1580 1256 25.80%
C2net59 3 3254 3268 -0.43%C2net59 3 3254 3268 -0.43%
C2net609 4 3004 3004 0%C2net609 4 3004 3004 0%
C2net67 5 2418 2156 12.15%C2net67 5 2418 2156 12.15%
C2net177 6 3008 2790 7.81%C2net177 6 3008 2790 7.81%
[5]“TPT”方法求解生成的有障碍下的RSMT长度。[5] The "TPT" method solves the generated RSMT length under obstacles.
[6]Comparison=(TPT-Ours)/Ours*100%[6] Comparison=(TPT-Ours)/Ours*100%
从上述测试结果对比可以看出:两种方法的时间复杂度相当,但本发明方法所求解得到的线长结果明显优于“TPT”方法。From the comparison of the above test results, it can be seen that the time complexity of the two methods is equivalent, but the line length result obtained by the method of the present invention is obviously better than that of the "TPT" method.
Claims (2)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB031346847A CN100470556C (en) | 2003-09-26 | 2003-09-26 | Right Angle Steiner Tree Method under Obstacles in General Routing of Standard Units |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB031346847A CN100470556C (en) | 2003-09-26 | 2003-09-26 | Right Angle Steiner Tree Method under Obstacles in General Routing of Standard Units |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1529268A true CN1529268A (en) | 2004-09-15 |
| CN100470556C CN100470556C (en) | 2009-03-18 |
Family
ID=34286169
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB031346847A Expired - Fee Related CN100470556C (en) | 2003-09-26 | 2003-09-26 | Right Angle Steiner Tree Method under Obstacles in General Routing of Standard Units |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN100470556C (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100336065C (en) * | 2004-11-16 | 2007-09-05 | 清华大学 | Right angle wiring tree method for wire length optimized obstacle passing |
| CN100511242C (en) * | 2004-10-20 | 2009-07-08 | 日立电线株式会社 | Pattern extraction computational algorithm, design program and simulator |
| CN104318025A (en) * | 2014-10-27 | 2015-01-28 | 福州大学 | Octilinear Steiner minimal tree VLSI (very large scale integration) obstacle-avoiding wiring unit |
| CN103902775B (en) * | 2014-03-31 | 2017-02-15 | 福州大学 | Multilayer obstacle-avoiding Steiner minimal tree construction method for very large scale integration |
| CN108804811A (en) * | 2018-06-07 | 2018-11-13 | 福州大学 | Multilayer is around barrier right angle wiring method in VLSI Design |
| CN110104561A (en) * | 2019-05-05 | 2019-08-09 | 三峡大学 | Hoisting operation hanging object trace planning system under a kind of space with obstacle |
| CN119720925A (en) * | 2024-11-20 | 2025-03-28 | 中山大学 | Global wiring method, device, electronic device and storage medium based on dynamic tree |
-
2003
- 2003-09-26 CN CNB031346847A patent/CN100470556C/en not_active Expired - Fee Related
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100511242C (en) * | 2004-10-20 | 2009-07-08 | 日立电线株式会社 | Pattern extraction computational algorithm, design program and simulator |
| CN100336065C (en) * | 2004-11-16 | 2007-09-05 | 清华大学 | Right angle wiring tree method for wire length optimized obstacle passing |
| CN103902775B (en) * | 2014-03-31 | 2017-02-15 | 福州大学 | Multilayer obstacle-avoiding Steiner minimal tree construction method for very large scale integration |
| CN104318025A (en) * | 2014-10-27 | 2015-01-28 | 福州大学 | Octilinear Steiner minimal tree VLSI (very large scale integration) obstacle-avoiding wiring unit |
| CN104318025B (en) * | 2014-10-27 | 2017-10-27 | 福州大学 | VLSI under anistree structure Steiner minimum trees is around barrier wiring unit |
| CN108804811A (en) * | 2018-06-07 | 2018-11-13 | 福州大学 | Multilayer is around barrier right angle wiring method in VLSI Design |
| CN108804811B (en) * | 2018-06-07 | 2021-11-30 | 福州大学 | Multilayer barrier-bypassing right-angle wiring method in large-scale integrated circuit design |
| CN110104561A (en) * | 2019-05-05 | 2019-08-09 | 三峡大学 | Hoisting operation hanging object trace planning system under a kind of space with obstacle |
| CN119720925A (en) * | 2024-11-20 | 2025-03-28 | 中山大学 | Global wiring method, device, electronic device and storage medium based on dynamic tree |
Also Published As
| Publication number | Publication date |
|---|---|
| CN100470556C (en) | 2009-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1304996C (en) | Rectangular steiner tree method of super large size integrated circuit avoiding barrier | |
| CN1276359C (en) | A memory engine for the inspection and manipulation of data | |
| CN101048773A (en) | Document analysis system and document adaptation system | |
| CN1082211C (en) | Micro computer | |
| CN100347710C (en) | Standard unit overall wiring method of multi-terminal network plug-in buffer optimizing delay | |
| CN1275317C (en) | Integrated circuit layout plan and buffer plan integrated layout method | |
| CN1529268A (en) | Right Angle Steiner Tree Method under Obstacles in General Routing of Standard Units | |
| CN1577250A (en) | Method and apparatus for implementing power of two floating point estimation | |
| CN1540745A (en) | Method for designing low-power semiconductor integrated circuits | |
| CN100336065C (en) | Right angle wiring tree method for wire length optimized obstacle passing | |
| CN1309222C (en) | Traffic distribution control apparatus and method | |
| CN101038676A (en) | Image processing apparatus and image processing method | |
| CN1240015C (en) | Time delay driving method of right angle Steiner tree under obstruction when making loose routing for standard units | |
| CN1564164A (en) | Generally distributing method of standant unit for eliminating crosstalk caused by coupling inductance | |
| CN1153164C (en) | A method for generating optimal number of cuts in virtual multi-media capacitance extraction | |
| CN1957352A (en) | Method and apparatus for allocating data paths | |
| CN1227607C (en) | Surface computer and calculation method using surface computer | |
| CN101065725A (en) | Command supply device | |
| CN1690956A (en) | Program creation device and program creation method | |
| CN1545142A (en) | Transient analysis and solution method of integrated circuit power supply network based on multi-level equivalent circuit model | |
| CN100336054C (en) | Preserving method of layout data, layout data changer and figure detector | |
| CN1474296A (en) | Data interacting method and device between multiple processors based on shared storage | |
| CN1702466A (en) | Record medium and derivation program recording equivalent circuit model of electricity storage element | |
| CN101048739A (en) | Multiprocessor system, synchronization control apparatus and synchronization control method | |
| CN1223955C (en) | Buffer programming method based on blank region redistribution |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| C17 | Cessation of patent right | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090318 Termination date: 20091026 |