Semiconductor devices are at the forefront of innovation in the information technology (IT) industry and play an essential role in driving innovations in areas such as consumer electronics, telecommunications, artificial intelligence or data analysis and security. Although semiconductor devices play such a pivotal role in IT innovation, the integrated circuit (IC) packaging process of semiconductor devices still heavily relies on human expertise. For substrates in, for example, chip-scale packages such as multi-layered Fine Pitched Ball Grid Array (FBGA) packages as illustrated in Fig.1, most of the design process is about finding the optimal connections between bond fingers, vias and solder balls. Given the variety of types for semiconductor packages, the problem of substrate routing is challenging. As a result, substrate routing problems are often solved with the help of routing methods that are implemented in many computer-aided design (CAD) solutions. In line with recent advances in Electronic Design Automation (EDA), in this work, we outline a new routing method for package substrate design that competes with the performance of other routing methods.
The problem of finding non-intersecting paths that connect a set of start and end points on a plane is one of the oldest problems in computational geometry and graph theory. We know that Dijkstra’s algorithm and the A*-algorithm Dijkstra (1959); Hart et al. (1968) are examples of graph traversal algorithms, which are used to solve such routing problems. However, substrate routing becomes exponentially more complicated with an increasing number of start and end point pairs.
Most routing algorithms such as Dijkstra’s algorithm, the A*-algorithm and other grid-based Maze Router algorithms Lee (1961); Kei-Yong Khoo and Cong (1993); Jun Dong Cho et al. (1994); Albrecht (2001); Cha et al. (1997) are known as geometrical routers. Their disadvantage is that when start and end point pairs are connected sequentially on consecutive shortest paths, it becomes increasingly more likely that there will be not enough clearance left for consecutive connections between pairs of points. This problem with geometrical routers is illustrated in Fig. 2.
In this work, we are interested in a different class of routers known as topological routers Dai et al. (1990). In order to connect fully all points, topological routers aim to find the topological class of the connections first, i.e. the relative positions of paths. After the topological class of the connecting paths is found, with a choice of representation scheme, absolute coordinates are assigned to represent the routing result in real space. This avoids situations where there is a lack of clearance as it is often the case for geometrical routers. For topological routers, paths can always be inserted between already routed paths in order to solve the connection problem. Fig. 2 illustrates this difference between geometrical and topological routers.
Our work is based on the concept of topological routers and proposes a novel topological representation and routing algorithm for substrate routing that competes with the performance of conventional geometrical routers. We make use of topology, more specifically the study of 2-manifolds and polygonal schema Fulton (2013); Papadopoulou (1996); Efrat et al. (2006); Erickson and Nayyeri (2011) in mathematics in order to topologically transform the package substrate into a simpler abstract environment where routing design can be performed more straightforwardly.
In an earlier work Seong et al. (2021), we outlined the general principle of our new method for general routing problems. In the current work, we extend our proposal with a focus on the problem of substrate routing in semiconductor chip package design. In particular, we apply our substrate routing method to an explicit example of a Fine Pitch Ball Grid Array (FBGA) package.
Note that our work concentrates on a substrate routing method that finds a fully connected routing solution and does not take into account other metrics such as the wire length or optimal placement of via points.222Our routing method can be adjusted to take into account an optimization metric and this will be the subject of upcoming work. Our work also concentrates on signal routing in substrates where the routing problem involves connections between a single start and a single corresponding end point.333Multi-pin routing that occurs in power and ground routing or plating lines can be covered in a generalized version of our method, which we plan to cover in future works.
We test our routing method’s performance against geometrical routers and conclude with a summary of results and an actual FBGA package substrate design that was completed using our new routing method.
In this work, we propose based on our earlier work in Seong et al. (2021) a new method of solving routing problems that occur during the package substrate design process by using topology. The idea of making use of concepts in topology for designing circuits is not new as shown by the works on rubber-band routing in Dai et al. (1990, 1991). These works discuss how certain design features in circuit design can be altered without changing the connections between points, i.e. the topology of the paths, as illustrated in Fig. 3. Moreover, they give an insight into how paths can be bent and moved in such a way that problems of clearance occurring with traditional geometrical routers can be avoided.
Several routing algorithms have been proposed for EDA since the 1990s Kei-Yong Khoo and Cong (1993); Jun Dong Cho et al. (1994); Dai et al. (1991); Cha et al. (1997), which are based on the idea of grid-dependent geometrical routers. Moreover, more recent work in EDA considers applications and improvements on geometrical routers in areas such as length matching routing Chang et al. (2019), escape routing Cho et al. (2019); Ali et al. (2017); Bayless et al. (2016); Weng et al. (2020), routing with obstacle avoidance Mondal et al. (2019) and pin assignment and placement algorithms Huang et al. (2019). In comparison, topological routers have been studied less extensively Dai et al. (1990, 1991) although, as mentioned above, they have considerable advantages over geometrical routers.
In contrast to the developments made in geometrical routing, our work tries to push forward the development of topological routing. In particular, our work proposes the use of a novel topological transformation to completely transform the substrate routing environment into a topologically equivalent environment. This is a completely new approach for routing in package substrates. Our proposed transformation maps the routing problem to a topologically simpler space where the problem can be solved more straightforwardly. This is the case when in the new environment only relative positions are preserved under the transformation. Given that the transformation is reversible, after all nets are connected, the space with the routing result is transformed back to its original substrate environment.
Such topological transformations and representations that preserve relative positions rather than absolute positions occur extensively in the study of compact 2-manifolds through polygonal schema Fulton (2013). These were introduced in mathematics to study the topology of compact 2-manifolds and are particularly useful in representing the homotopy of paths on these manifolds Efrat et al. (2006). As a result, polygonal schema appeared also extensively in relation to so-called non-crossing walk problems on compact 2-manifolds Papadopoulou (1996); Erickson and Nayyeri (2011).
Let us illustrate briefly the concept behind polygonal schema using one of the simplest compact 2-manifolds, the Riemann surface of genus 1, which is also known as a torus or doughnut. The torus can be represented by a rectangle when opposite sides of the rectangle are identified with each other. Any such simple convex polygon together with a boundary gluing pattern shown in Fig. 4 is known as a polygonal schema of the represented 2-manifold. Using the example of the 2-torus, we learn that a rectangle with its opposite boundary sides identified with each other is topologically equivalent to a torus. We can see from this example that even though a torus is 3-dimensional, it can be much more straightforwardly represented by its 2-dimensional polygonal schema.
We claim that a semiconductor package substrate, which usually contains multiple interconnected layers, can be described topologically in terms of polygonal schema. Substrate layers, which are connected by vias, can be separated and individually represented by polygonal schema. Because we split the layers for the topological transformation, each layer has its layer-specific start and end points corresponding to either pins, solder balls or vias. We keep track of which via connects which layers together so that when we reverse the topological transformation, we are able to sew back together the vias between each pair of layers to form the original multi-layered package substrate as shown in Fig. 5. Note that the locations of the via points plays an important role in the overall global routing solution. Since we focus on the problem of finding a fully connected routing solution and consider no other optimization metrics, we refer to future work on optimizing the routing solution using our method.
In the following section, we describe how we make use of the topological transformation specific to our problem and describe a method of how to complete the routing in the topologically transformed routing environment.
3 Circular Frame
Let there be a set of start points and a set of end points with pairwise identification . For our routing problem, we call such a pair a net. These points are on a plane bounded by as shown in Fig. 6 (a). In order to transform this environment, we introduce trees consisting of a set of edges such that these edges have at their ends either , or . All points in and are each connected to a single tree. Note that a tree is always connected by exactly one edge with the boundary at a point as shown in Fig. 6 (b). These trees can be found using a minimum spanning tree algorithm such as Kruskal’s algorithm.444Note that the choice of method for finding the spanning trees may lead to a single tree. Furthermore, the choice will impact the routing result and leads to questions about optimization that will be studied in future work Chin et al. (2013). Such an algorithm needs to be generalized such that each tree gets connected to the boundary at a point by a single edge . The start and end points do not need to be connected to by a single tree . Each point can be connected to the boundary by separate trees where each tree is separately connected to .
Our proposed topological transformation cuts the plane along all the edges such that all points in and are now placed on a new boundary that includes the cut-lines along as shown in Fig. 7. The cutting process splits some of the points and to multiple copies if the original points are connected to more than one tree edge . The boundary points at which trees are attached to the original boundary are always separated into a pair and . We also notice that during the cutting process the edges separate into pairs and .
We pinch the edges and originating from the trees in such a way that they are also represented by points on the new boundary as shown in Fig. 8. As a result, the start points , end points , the tree edges , boundary points and their corresponding partners generated by the cutting process are all represented as points on a single combined boundary as shown in Fig. 8.
The combined boundary can be deformed into a circle as illustrated in Fig. 9. We call this representation of the original substrate layer the Circular Frame. The order in which the points appear along the circle is the same as they appear when one traverses in a given orientation as shown in Fig. 9.
The Circular Frame is topologically equivalent to the original substrate layer where the routing is taking place. The advantage of using the Circular Frame representation of the routing problem is that paths connecting pairs of points are represented as straight line segments connecting points on the boundary of the Circular Frame. These points are either start or end points of the original path, points representing or , or points on the original boundary . When a path is connected to or in the Circular Frame, it corresponds in the substrate layer to a path that crosses the associated tree edge as illustrated in Fig. 10. A further advantage of the Circular Frame is that line intersections can be easily detected by going through the ordering of line ends on the boundary of the Circular Frame.
The fact that the topological transformation is reversible enables us to solve the routing problem in the simpler Circular Frame environment and then transform the routing solution back to the original substrate layer environment. This is done by reversing the transformation as illustrated in Fig. 10. Within the Circular Frame, the routing problem is simply a problem of connecting points on the boundary of a circle with non-intersecting straight line segments as illustrated in Fig. 10 (a).
4 Routing Method
In this section, we outline a method of connecting the nets in the Circular Frame. As noted in the section above, although the Circular Frame is topologically equivalent to the original planar substrate layer bounded by , it simplifies the routing problem to a problem of connecting points on a circle with straight line segments that do not intersect in the interior of the circle. The following section outlines how the Circular Frame simplifies the routing problem.
Starting from a Circular Frame with no points connected, as illustrated in Fig. 9 (b), we can choose to connect the first net, i.e. with . Due to the cutting process of the original routing plane, as shown in Fig. 8, the end point is split into 3 copies in the Circular Frame, i.e. , and . We note that in the Circular Frame, connecting to either , or is possible. In the actual routing plane, the choice will determine in which direction the connecting path is going to enter the end point in the original substrate layer environment.
For the moment, without loss of generality, let us assume that we connect in the Circular Framewith as illustrated in Fig. 11. Note that any connection between two points in the Circular Frame can be realized in terms of straight line segments that do not intersect in the interior of the Circular Frame. Due to the line segment connecting with , the Circular Frame gets divided into two sections, which we call slices. Fig. 11 shows the two slices and . Each slice has its own boundary with a subset of points from the boundary of the Circular Frame. For our example in Fig. 11, the two slices and have the points and each on their respective boundaries. Note that the points that we connected, and , are both shared by the boundary of the two slices. The line segment, which connects with , is precisely the overlap of the two boundaries.
As shown in Fig. 12, the two slices and are not completely disconnected. We recall that the points and that represent tree edges in the Circular Frame always come in pairs as explained in Section 3. and precisely identify the tree edges along which the original substrate layer was cut in order to obtain the Circular Frame as illustrated in Fig. 7. Accordingly, they represent points that need to be pairwise glued together when the Circular Frame is transformed back to the original substrate layer environment. Fig. 12 shows these pairwise connections as dotted lines. The two slices and in Fig. 12 are connected by the pairs and .
When we now attempt to connect start point , which is on the boundary of , with its corresponding end point , which is on the boundary of , we have to move between the two slices and . As we noted above, the two slices are connected by the point pairs and . Without loss of generality, by choosing point pair , is connected with in , and then its partner is connected with in as illustrated in Fig. 13. Note that by connecting to through the point pair , the original slices and are each divided into two slices by the two line segments connecting with and with . As a result, we end up with a total of four slices.
There is also the possibility that more than one path goes through a point pair as shown in Fig. 14. In the example in Fig. 14, both and are connected through the point pair . In such a situation, one has to make sure that the slice containing the origin point and the slice containing the destination point are in the same order. Let us define the order of with respect to the point as the segment number of attached to in the Circular Frame when one counts anti-clockwise around starting from the boundary of the Circular Frame. In analogy, let us define the order of with respect to the point as the segment number of attached to in the Circular Frame when one counts clockwise around starting from the boundary of the Circular Frame. For example, in Fig. 14, we note that , and . Accordingly, anything starting in slice can go through to slice , not any other slice. Similarly, we have and , meaning that anything in slice can be connected to and anything in slice can be connected to via the edge point pair . Note that slice ordering is essential to make sure that when the edge points are glued together, the correct slices recombine with each other to give the original substrate layer as shown in Fig. 14 (c).
Following these rules on connecting points in the Circular Frame, we outline a basic algorithm for connecting all points in Fig. 15. In line 12 of the algorithm in Fig. 15, the closest to a given point in a slice is identified by the smallest number of points one needs to pass in order to go from to along the boundary of .
We note that the algorithm in Fig. 15 is one example amongst many possible connection algorithms that one can formulate with the help of the Circular Frame. We plan to present variations of this algorithm in future work. For now, the algorithm in Fig. 15 does not have the aim to find the shortest possible paths between start and end point pairs. Instead, the algorithm in Fig. 15 simply has the aim to achieve full connection for all start and end point pairs. In fact, with the Circular Frame and the algorithm in Fig. 15, complete connection is always guaranteed. This is because the Circular Frame is only encoding the topology of the routing problem as illustrated in Fig. 2 and as a result there is no problem of clearance as it is the case for geometrical routers. Furthermore, in signal routing, paths always connect a single start point with a single end point and hence there is no possibility that a path completely encircles points that need to be connected by other paths in the Circular Frame.555Note that there is an optimization problem in terms of the choice of geometric sketch one uses to represent the routing solution given by its corresponding topological class. The problem of optimization will be the subject of future work. Fig. 16 illustrates an example where the algorithm in Fig. 15 is applied to solve the connection problem in the Circular Frame.
We call the process of transforming the routing result in the Circular Frame back to the original substrate layer the embedding process. As discussed in the sections above, the Circular Frame can be transformed back to the original substrate layer by glueing together the point pairs for all . Under this reverse transformation, the topology of the routing result, i.e. the identified paths connecting start points with corresponding end points, is preserved.
The information about which points correspond to which slices in the Circular Frame and the information about which slices are adjacent to each other is called the topological class Fulton (2013) of the routing solution. The geometric sketch Dai et al. (1990); Fulton (2013) of a topological class is a specific embedding of the connecting paths in the routing solution.
An example of such a topological class for a path is the following information:
The set of points a path passes starting from and ending at .
The set of orientations a path takes when it passes points . If passes anti-clockwise , if passes clockwise , and if or then .
The set of heights a path has when it passes points . A height indicates that between and there are other paths passing . If or then .
Note that for any path can be obtained from the Circular Frame of the routing solution.666 We note that one can introduce several other topological classes that encapsulate the routing result in the Circular Frame, for instance including the edges . We hope to present further versions in future work. In the example in Fig. 16, for path connecting with , is given by , and .
We make use of the rubber-band sketch from Dai et al. (1990, 1991) in order to represent the topological class of the routing result from the Circular Frame on the original planar environment. Fig. 3 (a) shows the rubber-band sketch of the same topological class represented in Fig. 3 (b). A characteristic feature of the rubber-band sketch is that paths are represented as line segments that can have any angle and the line segments are connected by arcs whenever the path passes a point. Fig. 17 illustrates an example of a topological class and its corresponding rubber-band representation.
For the purpose of this work, which is to present a new topological routing method that results in a topological class of a fully-connected routing result via the Circular Frame, we keep the review on topological classes and the rubber-band sketch representation short and refer to the works in Dai et al. (1990, 1991).
Let us design experiments to compare the performance of the proposed routing algorithm based on the Circular Frame (CF) with variations of the A*-algorithm (AS).
6.1 General Setup
Let us first construct a planar environment with a boundary having and . The start points and end points are represented as circles with radius and their positions are given by the coordinates of their centers. For our experiment, we vary by setting it to .777Note that in many substrate designs, nets can be grouped into independent substrate segments containing on average around 10 start and end points in signal routing. The number of start points increases by adding consecutively , , , and .
For each , we generate end ball sets whose coordinates are generated randomly within the boundary of the planar environment. The randomly generated end points have a minimum center-to-center separation to other end points as well as a minimum center-to-center separation to start points . The randomly generated end points also satisfy a minimum distance to any boundary point of the plane.
We call each generated set a routing environment . Fig. 18 shows an environment with , where all randomly generated end points for are illustrated simultaneously in order to illustrate that the randomly generated points are evenly distributed on the bounded plane.
For each environment , the routing problem is to connect all with the corresponding with non-intersecting paths. We run different routing algorithms for each environment and measure the time that the algorithms take to complete the routing for all nets. Note that all algorithms are run on a laptop with CPU at 1.80 GHz (Intel i7-8550U) and 8 GB memory. If any of the nets are left disconnected, we label the routing result as incomplete.
For completed routing environments, we also measure for each connecting path between and the Euclidean path length . The mean path length
and the corresponding standard deviationfor all connecting paths in are also obtained.
In addition, we also measure the Manhattan distance between the start node and corresponding end node ,
and compare it to the Euclidean path length of the path that was found by the chosen routing algorithm. In particular, we calculate the ratio . The Manhattan distance is the shortest path length between start and end points on a square grid and is a measure of how direct a path has been taken between a start point and its corresponding end point. Accordingly, a smaller indicates that the path is closer to the shortest path on a square grid.
For all our measurements, we have two different types of means. A measurement corresponding to in environment can be averaged over all paths in to give and then further averaged over all environments to give . The corresponding standard deviation of sample means is denoted as . We are going to use this notation when we summarize our experimental results in Section 7.
Let us give a brief overview of the A*-algorithm used in this work for the purpose of benchmarking our new routing algorithm based on the Circular Frame. The reader is referred to previous work for a more extended overview of the A*-algorithm Hart et al. (1968).
The A*-algorithm is a graph traverser algorithm, which at each iteration of the algorithm extends a tree of candidate paths originating from the start node until one of the branches of the tree reaches the end node . The incremental extension is made at a given node of the graph if a cost function is minimized by the extension. The cost function is defined as , where is the cost of the path from the start node to and is the heuristic
function that estimates the cost of the cheapest path fromto the end node. Without loss of generality we define as the Euclidean path length from the start point to unless the path intersects with another path in which case its value is set to infinity.
For our experiments, we consider two different implementations of the A*-algorithm. The first implementation (AS1) uses as the graph the integer square grid of the plane bounded by
with the neighbourhood of a given node defined by the 4 direction vectorsand . The corresponding heuristic uses the Manhattan distance between a given node and the corresponding destination ,
where here we set , and and . The second implementation (AS2) defines the neighbourhood of a node in the integer square grid by the 8 direction vectors , and . We use here the Chebyshev distance heuristic,
where we set and . Fig. 19 illustrates the difference between the two implementations of the A*-algorithm that we use in this work.
For our experiments we use Python implementations of the above A*-algorithms and a Python implementation of the Circular Frame algorithm described in Section 4.
7 Results and Discussions
Let us summarize the results of the experiments in the following section.
7.1 Reliability and Performance
Table 1 shows the number of successfully completed routing problems under the Circular Frame algorithm (), the A*-algorithm under the Manhattan distance heuristic () and the A*-algorithm under Chebyshev distance heuristic (). Originally routing environments were generated as outlined in Section 6. We can see that for all number of start points , the Circular Frame algorithm consistently completes the routing for all generated environments, whereas the number of routing failures increases with increasing for the two implementations of the A*-algorithm.
Table 1 also shows the number of environments where the routing was completed by all 3 tested routing algorithms. For these completed environments and for each , we measure the mean routing times with the corresponding standard deviations . Fig. 20 shows that the average routing time for the Circular Frame algorithm stays consistently below the average routing times for the two implementations of the A*-algorithm.
From the routing completion numbers in Table 1 and the average routing times illustrated in Fig. 20, we conclude for the test environments that the Circular Frame algorithm is more reliable and faster than the two implementations of the A*-algorithm. This is not a surprising result since the number of points that needs to be traversed on the boundary of the Circular Frame is far less than the grid points used for grid-based geometrical routers. Moreover, as a topological router, the Circular Frame algorithm does not suffer from clearance problems as the A*-algorithms do as illustrated in Fig. 2.
7.2 Routing Accuracy
Table 3 shows the grand mean of the path lengths with the corresponding standard deviation of the mean for the completed routing environments under the 3 tested algorithms. We observe that paths connecting nets under the Circular Frame algorithms tend to be shorter than for the two implementations of the A*-algorithm for all . This is not surprising since the rubber-band sketch representation of the resulting topological class uses arcs and any-angle straight lines for paths, making the overall routing more compact than grid-based representations.
We also calculated the ratio between the Euclidean path length and the corresponding Manhattan distance between the connected start and end points for all completed . The grand mean of the ratio with is shown in Table 3. As noted in Section 6, a smaller ratio indicates that the connection is closer to the shortest path on a square grid. As we can see in Table 3, the Circular Frame algorithm at has a mean ratio , indicating that for some routing results, the Circular Frame identified connecting paths that are even shorter than the Manhattan distance . Moreover, consistently the Circular Frame algorithm achieved on average a smaller value of than the two implementations of the A*-algorithm, indicating that overall the Circular Frame algorithm found more direct and hence more accurate connections.
Fig. 21 shows the completed routing results under the Circular Frame algorithm and the two implementations of the A*-algorithm for a given routing environment. We note that our observations here are as expected since the Circular Frame algorithm avoids as a topological router problems caused by a lack of clearance as discussed in Fig. 2. Furthermore, the rubber-band sketch representation optimizes the length of the connecting paths in comparison to grid-based geometrical routers.
In this paper, we have proposed a new method based on our earlier work in Seong et al. (2021) for solving substrate routing problems using topology. Our proposed topological transformation of the original routing environment into the Circular Frame has accelerated in experiments the substrate routing process significantly in comparison to grid-based geometrical routers such as the A*-algorithm. Moreover, the Circular Frame representation guarantees for substrate routing problems with start and end point pairs full connection as a topological router.
In addition, Fig. 22 shows a 2-layered substrate for a FBGA package with 200 solder balls and a completed routing design that was obtained using our new Circular Frame algorithm. Our experiments and the positive routing results on real semiconductor package substrates are a clear indication that our new Circular Frame routing method has the potential to significantly improve and at the end fully automate the package substrate routing process.
We note that the Circular Frame routing algorithm can lead to different routing solutions given by topological classes depending on via placement, spanning tree generation and even net ordering during the routing process in the Circular Frame. Moreover, in our work we have given only a single basic routing method based on the Circular Frame representation and depending on other routing algorithms based on the Circular Frame representation, the routing result can differ significantly. Finding the most optimal routing solution based on the Circular Frame representation depends on metrics such as wire length or wire widths and is an optimization problem that we hope to cover in future work.
We are currently testing the Circular Frame routing algorithm on larger FBGA packages and other package designs. Moreover, beyond semiconductor package design, we are applying our routing method on problems related to the design of printed circuit boards (PCB) and the logistics and manufacturing industry. We hope to report on our progress in these areas in future work.
The authors would like to thank Minsoo Kim for suggesting the problem and Seungjai Min and Youngjae Gwon at Samsung SDS for helpful discussions. The authors are also grateful to Joung Oh Yun and Minkyu Jung for helpful guidance during the project, and Chanho Min for collaborating on an earlier project.
- Global routing by new approximation algorithms for multicommodity flow. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 20 (5), pp. 622–632. Cited by: §1.
- A network flow approach for simultaneous escape routing in pcb. In 2017 14th International Conference on Smart Cities: Improving Quality of Life Using ICT IoT (HONET-ICT), Vol. , pp. 78–82. Cited by: §2.
- Scalable, high-quality, sat-based multi-layer escape routing. In 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Vol. , pp. 1–8. Cited by: §2.
- A simple and effective greedy multilayer router for mcms. In Proceedings of the 1997 International Symposium on Physical Design, ISPD ’97, New York, NY, USA, pp. 67–72. External Links: Cited by: §1, §2.
- Obstacle-aware group-based length-matching routing for pre-assignment area-i/o flip-chip designs. In 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Vol. , pp. 1–8. Cited by: §2.
- Escaped boundary pins routing for high-speed boards. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 32 (3), pp. 381–391. External Links: Cited by: footnote 4.
- Mixed-signal escape routing algorithm for multilayer pcbs. IEEE Transactions on Components, Packaging and Manufacturing Technology 9 (8), pp. 1576–1586. Cited by: §2.
- Rubber band routing and dynamic data representation. In 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers, Vol. , pp. 52–55. Cited by: §1, §2, §2, §5, §5, §5.
- Topological routing in surf: generating a rubber-band sketch. In Proceedings of the 28th ACM/IEEE Design Automation Conference, DAC ’91, New York, NY, USA, pp. 39–44. External Links: Cited by: §2, §2, §5, §5.
- A note on two problems in connexion with graphs. Numerische Mathematik 1 (1), pp. 269–271. Cited by: §1.
- Computing homotopic shortest paths efficiently. Computational Geometry 35 (3), pp. 162 – 172. External Links: Cited by: §1, §2.
- Shortest non-crossing walks in the plane. In SODA ’11, Cited by: §1, §2.
- Algebraic topology: a first course. Vol. 153, Springer Sci. & Business Media. Cited by: §1, §2, §5.
- A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on Systems Science and Cybernetics 4 (2), pp. 100–107. Cited by: §1, §6.3.
- Routability-driven macro placement with embedded cnn-based prediction model. In 2019 Design, Automation Test in Europe Conference Exhibition (DATE), Vol. , pp. 180–185. Cited by: §2.
- M/sup 2/r: multilayer routing algorithm for high-performance mcms. IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications 41 (4), pp. 253–265. Cited by: §1, §2.
- An efficient multilayer mcm router based on four-via routing. In 30th ACM/IEEE Design Automation Conference, Vol. , pp. 590–595. Cited by: §1, §2.
- An algorithm for path connections and its applications. IRE Transactions on Electronic Computers EC-10 (3), pp. 346–365. Cited by: §1.
- An algorithm for obstacle-avoiding clock routing tree construction with multiple tsvs on a 3d ic. IET Computers Digital Techniques 13 (2), pp. 102–109. Cited by: §2.
- K-pairs non-crossing shortest paths in a simple polygon. In Int. Symp. on Alg. and Comp., pp. 305–314. Cited by: §1, §2.
- Topology and Routing Problems: The Circular Frame. arXiv e-prints, pp. arXiv:2105.03386. External Links: Cited by: §1, §2, §8.
- URBER: ultrafast rule-based escape routing method for large-scale sample delivery biochips. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 39, pp. 157–170. Cited by: §2.