• Tidak ada hasil yang ditemukan

Topology for Substrate Routing in Semiconductor Package Design

N/A
N/A
Protected

Academic year: 2023

Membagikan "Topology for Substrate Routing in Semiconductor Package Design"

Copied!
16
0
0

Teks penuh

(1)

Computer-Aided Design 149 (2022) 103269

Contents lists available atScienceDirect

Computer-Aided Design

journal homepage:www.elsevier.com/locate/cad

Topology for Substrate Routing in Semiconductor Package Design

Rak-Kyeong Seong

a,

, Jaeho Yang

b

, Sang-Hoon Han

b

aDepartment of Mathematical Sciences, Ulsan National Institute of Science and Technology, Ulsan, South Korea

bSamsung SDS, AI Advanced Research Lab, Samsung R&D Campus, Seocho-Gu, Seoul, South Korea

a r t i c l e i n f o

Article history:

Received 14 May 2021

Received in revised form 16 January 2022 Accepted 6 April 2022

Keywords:

Substrate routing Geometric topology Semiconductor package design

a b s t r a c t

In this work, we propose a new signal routing method for solving routing problems that occur in the design process of semiconductor package substrates. Our work uses a topological transformation of the layers of the package substrate in order to simplify the routing problem into a problem of connecting points on a circle with non-intersecting straight line segments. The circle, which we call the Circular Frame, is a polygonal schema, which is originally used in topology to study the topological structure of 2-manifolds. We show through experiments that our new routing method based on the Circular Frame competes with certain grid-based routing algorithms.

©2022 Elsevier Ltd. All rights reserved.

1. Introduction

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 [1,2]. Although semiconductor devices play such a piv- otal 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, sub- strate 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) [3–5], 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 [6] and the A*-algorithm [7] are examples of graph traversal algorithms, which are used to solve such rout- ing problems. However, substrate routing becomes exponentially more complicated with an increasing number of start and end point pairs.

Correspondence to: Ulsan National Institute of Science and Technology Korea, South Korea.

E-mail address: [email protected](R.-K. Seong).

Fig. 1. Fine Pitch Ball Grid Array (FBGA) package substrate layout.(a) An illustration of a 3-layered FBGA package substrate with vias connecting different substrate layers. (b) Each individual layer (here layer 2) has its own set of start and end points that need to be connected with non-intersecting paths.

Most routing algorithms such as Dijkstra’s algorithm, the A*- algorithm and other grid-based Maze Router algorithms [8–12]

are known asgeometrical routers. Their disadvantage is that when start and end point pairs are connected sequentially on consecu- tive 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 inFig. 2.

In this work, we are interested in a different class of routers known as topological routers [13]. In order to connect fully all points, topological routers aim to find thetopological classof 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

https://doi.org/10.1016/j.cad.2022.103269

0010-4485/©2022 Elsevier Ltd. All rights reserved.

(2)

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 algo- rithm for substrate routing that competes with the performance of conventional geometrical routers. We make use of topol- ogy, more specifically the study of 2-manifolds and polygonal schema [14–17] in mathematics in order to topologically trans- form the package substrate into a simpler abstract environment where routing design can be performed more straightforwardly.

In an earlier work [18], we outlined the construction of a new representation for routing problems using topology from math- ematics from a purely theoretical perspective. In particular, we stated that the novel representation is a special case of polygonal schema, which are topologically equivalent representations of compact 2-manifolds. Although our earlier work introduced the new representation for routing problems from the point of view of topology, it did not apply the new representation technique to explicit routing problems in the real world. In this work, we fix this shortcoming by applying the new representation for routing problems that appear in substrate routing in semiconductor chip packages. In particular, we apply our substrate routing method to an explicit example of a Fine Pitch Ball Grid Array (FBGA) package and also outline how routing results of routing algorithms in our new proposed representation for routing problems can be interpreted in the setting of semiconductor package substrates.

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.1 Our work also concentrates on signal routing in substrates where the routing problem involves con- nections between a single start and a single corresponding end point.2

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.

2. Background and our proposal

In this work, we propose based on our earlier work in [18] a new method of solving routing problems that occur during the

1 Our routing method can be adjusted to take into account an optimization metric and this will be the subject of upcoming work.

2 Multi-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.

Fig. 3. Preserving routing topology. (a) Rubber-band sketch representation of a connected set of start and end points, (b) compared to a rectilinear representation of the same connected solution with the same routing topology.

package substrate design process by using topology.3The idea of making use of concepts in topology for designing circuits is not new as shown by the works onrubber-band routing in [13,19].

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. These works have addressed many challenging prob- lems that one encounters in EDA for multi-layer routing problems in semiconductor chip packages. These challenges include for example the problem of optimization of the number of vias that connect layers in a package [9], the problem of optimal layer selection when routing needs to pass through multiple layers [10], and the problem of computational time for the rout- ing process [12]. More recently, EDA for multi-layer routing in semiconductor chip packages has been expanded to solve the problem of making routing paths that have similar lengths [20], the problem of placing optimally sub-components in a semi- conductor package in order to improve the routing result [21], and the problem of optimally going around obstacles in the semiconductor package during the routing process [22]. These recent developments in EDA for semiconductor chip packages have been recently successfully applied for routing problems that occur in specific package layouts, such as in escape routing [23–

26]. The problem of escape routing occurs in package layouts

3 Note that in [18], the construction of the Circular Frame using topology in mathematics and its topological equivalence to the original routing plane are explored from a theoretical perspective. In this work, we explicitly apply the Circular Frame representation to the routing problem in semiconductor chip package substrates and explore the routing algorithm from both the perspective of the Circular Frame representation and the actual package substrate plane.

2

(3)

R.-K. Seong, J. Yang and S.-H. Han Computer-Aided Design 149 (2022) 103269

Fig. 4. Polygonal schema.(a) A torus with its corresponding polygonal schema, which is a rectangle with opposite edges identified with each other. (b) A path on the torus can be represented as a path on the corresponding polygonal schema.

where routing is required to connect solder bumps located in the interior of the package to points located in the surrounding exterior area of a passage, resulting in connecting paths that are oriented outwards from the package interior.

All of these proposal are based on routers that subdivide each routing layer into a grid and are improvements and generaliza- tions on maze routers [8,27,28]. Grid-based maze routers and solutions based on them suffer under difficulties related to the large number of grid points one needs to store during the routing process, especially in 3-dimensional multi-layered routing prob- lems. In this work, we will identify these grid-based solutions and improvements on maze routers with the umbrella term of geometrical routers in order to make a distinction to the new routing method that we propose in this work.

In comparison, topological routers have been studied less ex- tensively [13,19] although, as mentioned above, they have con- siderable 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 sub- strates. 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 environ- ment only relative positions are preserved under the transforma- tion. 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 pre- serve relative positions rather than absolute positions occur ex- tensively in the study of compact 2-manifolds throughpolygonal schema [14]. 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 [16].

As a result, polygonal schema appeared also extensively in re- lation to so-called non-crossing walk problems on compact 2- manifolds [15,17].

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 play 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

The following section describes our proposed method of rep- resenting a semiconductor package substrate in terms of a topo- logically equivalent representation called theCircular Frame.

Let there be a setSof start pointssiand a setT of end points ti with pairwise identification siti. For our routing problem, we call such a pair anet. These points are on a plane bounded by Bas shown inFig. 6(a). In order to transform this environment, we introduce treesRconsisting of a set of edgesrisuch that these edges have at their ends eithersiS,tiT orbiB. All points inSandT are each connected to a single tree. Note that a treeR is always connected by exactly one edge with the boundaryBat a pointbias shown inFig. 6(b). These treesRcan be found using a minimum spanning tree algorithm such as Kruskal’s algorithm.4 Such an algorithm needs to be generalized as illustrated in the example in Fig. 7 such that each treeR gets connected to the boundaryB at a pointbi by a single edgeri. The start and end points do not need to be connected toBby a single treeR. Each point can be connected to the boundaryBby separate trees where each tree is separately connected toB.

Our proposed topological transformation cuts the plane along all the edgesri such that all points inSandT are now placed on a new boundary that includes the cut-lines alongri as shown in Fig. 8. The cutting process splits some of the pointssi andti to multiple copies if the original points are connected to more than one tree edgeri. The boundary points at which trees are attached to the original boundaryBare always separated into a pairbiand bi. We also notice that during the cutting process the edgesri separate into pairsri andri.

4 Note 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 [29].

3

(4)

Fig. 5. Routing problem in a multi-layered FBGA package substrate.Each layer of the package substrate has its own set of start and end points. After solving the routing problem on each substrate layer, the layers can be connected again along the vias.

Fig. 6. Start points, end points and trees.(a) Start pointssiSand end points tiTon a plane bounded byB. (b) TreesRmade of edgesriconnect allsiand tito pointsbjon the boundaryB.

We pinch the edges ri and ri originating from the trees R in such a way that they are also represented by points on the new boundaryH as shown inFig. 9. As a result, the start points si, end pointsti, the tree edgesri, boundary points bi and their corresponding partners generated by the cutting process are all represented as points on a single combined boundaryHas shown inFig. 9.

The combined boundary H can be deformed into a circle as illustrated in Fig. 10. We call this representation of the original substrate layer theCircular Frame. The order in which the points appear along the circle is the same as they appear when one traversesHin a given orientation as shown inFig. 10.

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 prob- lem 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 representingriorri, or points on the original boundaryB. When a path is connected tori orriin the Circular Frame, it corresponds in the substrate layer to a path that crosses the associated tree edgerias illustrated inFig. 13.

A further advantage of the Circular Frame is that line inter- sections can be easily detected by going through the ordering of line ends on the boundary of the Circular Frame.Fig. 11illustrates how the endpoints of segments of paths on the boundary of the

Circular Frame encode whether the two path segments intersect in the interior of the Circular Frame.

The fact that the topological transformation is reversible en- ables 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 re- versing the transformation as illustrated inFig. 13. Within the Circular Frame, the routing problem is simply a problem of con- necting points on the boundary of a circle with non-intersecting straight line segments as illustrated inFig. 13(a).

4. Routing method

In this section, we outline our new method of connecting the nets in the Circular Frame, which represents the semicon- ductor package substrate layer. As noted in the section above, although the Circular Frame is topologically equivalent to the original planar substrate layer bounded by B, 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 by outlining our proposed new general routing algorithm in Fig. 12. We will first describe the new routing algorithm by going through an example.

Starting from a Circular Frame with no points connected, as illustrated inFig. 10(b), we can choose to connect the first net, i.e. s1 witht1. Due to the cutting process of the original routing plane, as shown inFig. 9, the end pointt1is split into 3 copies in the Circular Frame,i.e. t1,t1 andti′′. We note that in the Circular Frame, connectings1to eithert1,t1ort1′′is possible. In the actual routing plane, the choice will determine in which direction the connecting path is going to enter the end pointt1in the original substrate layer environment.

For the moment, without loss of generality, let us assume that we connect in the Circular Frame s1 witht1′′ as illustrated inFig. 14. 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 s1 with t1′′, the Circular Frame gets divided into two sections, which we callslices.Fig. 14shows the two slicesσ1 andσ2. Each slice has its own boundary with a subset of points from the boundary of the Circular Frame. For our example inFig. 14, the two slicesσ1andσ2have the points

4

(5)

R.-K. Seong, J. Yang and S.-H. Han Computer-Aided Design 149 (2022) 103269

Fig. 7. Generalized Kruskal’s algorithm.We use a generalized Kruskal’s Algorithm for generating the treeRon the substrate layer. (a) If we have several start and end points, (b) we identify the closest point to the boundary of the substrate layer (here, closest distance to boundary is in green). (c) We connect the closest point to the boundary (green line) and label the connected point on the boundary as a boundary pointbi(here empty circle). (d)–(h) For the remaining points, we use apply the usual Kruskal’s Algorithm to connect all points to the boundary pointbi. Note that if we choose to connect multiple short-distanced points to the boundary in steps (b)–(c), then we need to make sure that during Kruskal’s Algorithm, the generated trees are each connected separately to their own boundary pointbi. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

Fig. 8. Cutting along trees.(a) Cutting the plane along the tree edgesriR(b) splits the points connected to the edges.

Fig. 9. Tree lines as points.(a) The cutting process splits the edges into pairsri, ri. (b) Each of the edges can be represented as points on the combined boundary H. All points are now onH.

{s1,t1′′,r1,b1,b1,r1,t1,r2,s2,r3}and{s1,r3,s2,r2,t1,r4,t2,r4,t1′′} each on their respective boundaries. Note that the points that we connected,s1andt1′′, are both shared by the boundary of the two

slices. The line segment, which connectss1 witht1′′, is precisely the overlap of the two boundaries.

As shown in Fig. 15, the two slices σ1 and σ2 are not com- pletely disconnected. We recall that the points ri and ri that represent tree edges in the Circular Frame always come in pairs as explained in Section 3. ri and ri precisely identify the tree edges along which the original substrate layer was cut in order to obtain the Circular Frame as illustrated inFig. 8. 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. 15shows these pairwise connections as dotted lines. The two slicesσ1andσ2inFig. 15are connected by the pairs (r2,r2) and (r3,r3).

When we now attempt to connect start points2, which is on the boundary ofσ1, with its corresponding end pointt2, which is on the boundary ofσ2, we have to move between the two slices σ1 and σ2. As we noted above, the two slices are connected by the point pairs (r2,r2) and (r3,r3). Without loss of generality, by choosing point pair (r2,r2),s2is connected withr2inσ1, and then

5

(6)

Fig. 10. Circular Frame.(a) The combined boundaryH can be deformed to form (b) a circle. The interior of the circle represents the original substrate layer that was cut, and the start, end, boundary and tree edge points are all on the circle. We call this representation of the original substrate layer theCircular Frame.

Fig. 11. Boundary signature for intersections. The endpoints of two paths (here yellow and blue) form a sequence of points when one moves anti- clockwise along the circular boundary. When endpoints between the two paths perfectly alternate, the two paths intersect in the interior of the Circular Frame.

(For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

Fig. 12. A basic Circular Frame routing algorithm.Pseudocode for connecting nets in the Circular Frame.

its partnerr2 is connected witht2inσ2as illustrated inFig. 16.

Note that by connectings2 tot2 through the point pair (r2,r2), the original slicesσ1and σ2 are each divided into two slices by

the two line segments connectings2withr2andr2 witht2. As a result, we end up with a total of four slices.5

There is also the possibility that more than one path goes through a point pair (r1,r1) as shown inFig. 17. In the example in Fig. 17, both (s1,t1) and (s2,t2) are connected through the point pair (r1,r1). 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 sameorder. Let us define the order o(σ ,ri) ofσ with respect to the pointri as the slice number of σ attached to ri in the Circular Frame when one counts anti- clockwise aroundri starting from the boundary of the Circular Frame. In analogy, let us define the order o(σ ,ri) of σ with respect to the pointrias the slice number ofσ attached toriin the Circular Frame when one counts clockwise aroundristarting from the boundary of the Circular Frame.Fig. 18(a) shows how the slice numbers are assigned in anti-clockwise direction around ri starting from the Circular Frame boundary and how the slice numbers are assigned in clockwise direction aroundri.

For example, inFig. 17, we note thato1,r1)=o5,r1)=1, o2,r1) =o4,r1)= 2 ando3,r1)= o3,r1) = 3. Accord- ingly, anything starting in sliceσ1can go through (r1,r1) to slice σ5, not any other slice. Similarly, we have o2,r1) = o4,r1) ando3,r1)=o3,r1), meaning that anything in sliceσ2can be connected toσ4and anything in sliceσ3can be connected toσ4

via the edge point pair (ri,ri).

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. 17(c). For example,Fig. 18(b) shows how the slice orders at boundary pointsriandrkmay not match, implying thatriandrk are not paired and are disconnected.

Following these rules on connecting points in the Circular Frame, we outline a basic algorithm for connecting all points in Fig. 12. In line 12 of the algorithm inFig. 12, the closestrkto a given pointpin a sliceπ is identified by the smallest number of points one needs to pass in order to go fromptork along the boundary ofπ.

We note that the algorithm inFig. 12is 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 inFig. 12

5 Note that by choosing to connects2rather than its equivalent copys2with t2, we end up having to go through the point pair (r2,r2) sinces2is not in the same slice ast2. We could have instead chosens2 which is in the same slice ast2. In this example, we have chosen without loss of generalitys2in order to illustrate how to connect points that are in different slices.

6

(7)

R.-K. Seong, J. Yang and S.-H. Han Computer-Aided Design 149 (2022) 103269

Fig. 13. Routing representation in the Circular Frame.(a) Paths connecting start and end points in the Circular Frame via the point pairs (ri,ri) (b) are combined by glueing togetherriwithrito form (c) the original substrate layer with the complete routing solution.

Fig. 14. Slices in the Circular Frame.(a) A path connecting two points on the boundary of the Circular Frame (b) divides the Circular Frame into 2slicesσ1(green) andσ2(blue). (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

does not have the aim to find the shortest possible paths between start and end point pairs. Instead, the algorithm inFig. 12simply has the aim to achieve full connection for all start and end point pairs.

In fact, with the Circular Frame and the algorithm inFig. 12, complete connection is always guaranteed. This is because the Circular Frame is only encoding the topology of the routing prob- lem as illustrated in Fig. 2 and as a result there is no problem of clearance as it is the case for geometrical routers. Any set of paired points on the plane can be pair-wise connected completely by non-intersecting path segments since any intersection of path segments can be resolved in one of 4 different ways as illus- trated inFig. 20[30,31]. Since the Circular Frame is topologically equivalent to a plane, complete connection is always guaranteed.

Furthermore, in signal routing, paths always connect a single start point si with a single end point ti and hence there is no possibility that a path completely encircles points that need to be

connected by other paths in the Circular Frame.6Fig. 19illustrates an example where the algorithm inFig. 12is applied to solve the connection problem in the Circular Frame.

5. Embedding

We call the process of transforming the routing result in the Circular Frame back to the original substrate layer theembedding 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 (ri,ri) for alli. Under this reverse trans- formation, the topology of the routing result,i.e. the identified paths connecting start points with corresponding end points, is preserved.

6 Note 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.

7

(8)

Fig. 15. Moving between slices.(a) Pointsriandri, which always appear in pairs, correspond to the tree edges along which the original substrate layer was cut to give the Circular Frame. (b) The pairs can be pulled together along the dotted lines to give (c) the original substrate layer. We can consider these pairs as ‘tunnels’

along which a connecting path can move between different slices of the Circular Frame.

Fig. 16. Multiple slices.(a) By connectings2tot2through (r2,r2), the original slicesσ1andσ2are each divided into two slices giving a total of four slices. (b) By glueing togetherriwithri, we obtain (c) the original substrate layer.

An important ingredient for the reverse transformation is called thetopological class T[14] of the routing solution. The topo- logical class of the routing solution carries the information about which points correspond to which slices in the Circular Frame and the information about which slices are adjacent to each other.

Given the topological class, a routing solution obtained through the Circular Frame can be embedded on the substrate layer with different ‘styles’ that define for example how thick the path lines should be or whether paths are bend using semi-circles or right angles. These different embedding ‘styles’ are called geometric sketches[13,14] of a topological class.

For completeness, let us define a topological classTi(Pi,Wi,Hi) for a pathρiin substrate routing as follows:

• The set ofpoints Pi= {p(i)k}a pathρipasses starting fromsi and ending atti.

• The set oforientations Wi = {w(i)k}a pathρi takes when it passes points{p(i)k}. Ifρipassesp(i)k anti-clockwisew(i)k = +1, ifρipassesp(i)k clockwisew(i)k = −1, and ifp(i)k =siortithen w(i)k =0.

• The set ofheights Hi = {h(i)k}a pathρi has when it passes points{p(i)k}. A heighth(i)k =mindicates that betweenρiand

8

(9)

R.-K. Seong, J. Yang and S.-H. Han Computer-Aided Design 149 (2022) 103269

Fig. 17. Slice ordering.(a) Both (s1,t1) and (s2,t2) are connected through the point pair (r1,r1). (b) In order to make sure that when the pointsr1andr1 are glued together the correct slices recombine with each other, (c) we needo(σ1,r1)=o(σ5,r1),o(σ2,r1)=o(σ4,r1) ando(σ3,r1)=o(σ3,r1).

Fig. 18. Slice order. (a) The order of slices σa, . . . σd when one goes anti- clockwise aroundriand clockwise aroundriis the same. Accordingly, point pairs (ri,ri) form a connection along which paths can pass in the Circular Frame. In comparison, the order of the slices atridoes not match the order of slices at rk in (b), and hence there is no point pairing of the form (ri,rk).

p(i)k there arem−1 other paths passingp(i)k. Ifp(i)k =si orti thenh(i)k =0.

Note thatTi(Pi,Wi,Hi) for any pathρi can be obtained from the Circular Frame of the routing solution.7In the example inFig. 21, for pathρi=1connectingp(1)1 =s(1)withp(1)4 =t(1),Ti=1is given by the list of points that the path passes,Pi=1=(p(1)1 ,p(1)2 ,p(1)3 ,p(1)4 ), the directions that the path takes when it passes points,Wi=1=

7 We note that one can introduce several other topological classes that encapsulate the routing result in the Circular Frame, for instance including the edgesri. We hope to present further versions in future work.

(0,+1,−1,0), and the heights the path takes when it passes points,Hi=1=(0,2,3,0).

An example of a geometric sketch that one can use to embed a routing solution and its corresponding topological class is called therubber-band sketchfrom [13,19]. For substrate routing, we will make use of the rubber-band sketch styling in order to represent the topological class of the routing result from the Circular Frame.

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. 22(d) shows the rubber-band sketch of the topological class represented inFig. 21.Fig. 22shows also other geometrical sketches that are commonly used in substrate routing [13,19].

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 [13,19].

6. Experiment

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 boundaryB having−50.0x≤50.0 and−50.0y≤50.0. The start points S = {s1, . . . ,sn}and end pointsT = {t1, . . . ,tn}are represented as circles with radiusr = 0.5 and their positions are given by the coordinates of their centres. For our experiment, we varyn

9

(10)

Fig. 19. Routing Algorithm Example.(a) The original substrate layer consists of 4 start pointssiplaced on the boundaryBof the plane and 4 corresponding end pointsti. By cutting the substrate layer along the tree edgesri, we obtain (b) the corresponding Circular Frame. We selects1andt1as the first pair to be connected.

(c) Since boths1 andt1are in sliceσ1, we connect them. We selects2 andt2as the second pair to be connected. (d) Becauses2 andt2are both in sliceσ1, we connect them. We selects3andt3as the next pair to be connected. (e) Becauses3andt3are both in sliceσ1, we connect them. The final pair to be connected is selected ass4andt4. Here,s4is inσ4andt4is inσ1. (f) Inσ4, the closest tunnelling point toσ4isr3and we connectσ4withr3. The partner ofr3,r3, is inσ2. (g) Since inσ2, we still have nott4, we look for the closest tunnelling point tor3. We identifyr4 and connectr3 withr4. (h) The partner ofr4,r4, is in sliceσ1where we also have our destination pointt4. We connectr4witht4and hence have connected using tunnelling pointss4 witht4. (i) We reverse transform the Circular Frame with the routing result back to the original substrate layer by glueing together the edge point pairs (ri,ri). Note that the start pointss4=s4ands1=s1are located at the boundary of the package substrate for simplicity of the example. Because of this,s1=s1act as boundary pointb1ands4=s4as boundary pointb2.

Fig. 20. Resolving intersections on the plane.(a) An intersection of two path segments connecting points can be resolved in (b) 4 different ways by pushing the intersection point towards one of the 4 connected end points of the path segments.

by setting it ton = 2,4,6,8,10.8 The number of start points S increases by adding consecutively (50.0,±4.0), (50.0,±12.0), (50.0,±20.0), (50.0,±28.0) and (50.0,±36.0).

For each n, we generate N = 1000 end ball sets T whose coordinates are generated randomly within the boundary of the planar environment. The randomly generated end pointsti have a minimum centre-to-centre separationdmin(ti,tj)=11 to other end pointstjas well as a minimum centre-to-centre separation dmin(ti,sj) = 11 to start pointssj. The randomly generated end points also satisfy a minimum distance dmin(ti,bj) = 3 to any boundary pointbjBof the plane.

We call each generated set (S,T) a routing environment Eh=1...N. Fig. 23 shows an environment with n = 2, where all N = 1000 randomly generated end points fors1are illustrated simultaneously in order to illustrate that the randomly generated points are evenly distributed on the bounded plane.

8 Note 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.

10

(11)

R.-K. Seong, J. Yang and S.-H. Han Computer-Aided Design 149 (2022) 103269

Fig. 21. Topological class.Example of topological class data for two routed pathsρi=1andρi=2.

Fig. 22. Geometrical sketch.A routing solution as in (a) can be embedded on a package substrate using different ‘styling’. The different ‘styling’ are known as geometrical sketches of the topological class of the routing solution: (b) the rectilinear sketch, (c) the octilinear sketch and (d) the rubber-band sketch. [13].

6.2. Measurements

For each environment Eh, the routing problem is to connect allsi with the correspondingti with non-intersecting paths. We run different routing algorithms for each environment Eh and measure the time th 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 betweensiandtithe Euclidean path length lhi. The mean path length lh and the corresponding standard deviationσhfor all connecting paths inEhare also obtained.

In addition, we also measure theManhattan distancebetween the start nodesiand corresponding end nodeti,

dhi(si,ti)= |x(si)−x(ti)| + |y(si)−y(ti)|, (1) and compare it to the Euclidean path length lhi of the path that was found by the chosen routing algorithm. In particular, we calculate the ratio rih(si,ti) = lhi(si,ti)/dhi(si,ti). 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

Fig. 23. Random positions for end points.N=1000 randomly generated end pointst1fors1in an environment withn=2 start and end point pairs. We have shown all end pointst1fors1(red) at once to illustrate the random distribution of the points within the boundary of the environment. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

taken between a start point and its corresponding end point.

Accordingly, a smallerrih 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 Xih corresponding to (si,ti) in environ- mentEhcan be averaged over all paths inEhto giveXh=1

n

iXih and then further averaged over all environmentsEh to giveX =

1 N

hXh. The corresponding standard deviation of sample means is denoted as σX. We are going to use this notation when we summarize our experimental results in Section7.

11

(12)

Fig. 25. Average routing times.Average routing timestto complete the routing problem at givennfor the Circular Frame algorithm (CF) and A*-algorithms (AS1 and AS2). The error bars show the standard deviationσt oft.

Table 1

Routing completion results.

n 2 4 6 8 10

N 1000 1000 1000 1000 1000

NCF 1000 1000 1000 1000 1000

NAS1 1000 931 742 424 209

NAS2 934 913 749 496 220

NC 934 868 628 320 116

6.3. A*-algorithm

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 [7].

The A*-algorithm is a graph traverse algorithm, which at each iteration of the algorithm extends a tree of candidate paths origi- nating from the start nodesiuntil one of the branches of the tree reaches the end nodeti. The incremental extension is made at a given nodepof the graph if a cost functionf(p) is minimized by the extension. The cost function is defined asf(p)=g(p)+h(p), whereg(p) is the cost of the path from the start node topandh(p) is the heuristic function that estimates the cost of the cheapest path frompto the end node. Without loss of generality we define g(p) as the Euclidean path length from the start point topunless the path intersects with another path in which case its value is set to infinity.

For our experiments, we consider two different implementa- tions of the A*-algorithm. The first implementation (AS1) uses as the graph the integer square grid of the plane bounded by B with the neighbourhood of a given node defined by the 4

NC 934 868 628 320 116

CF t 0.0041 0.0122 0.0269 0.0494 0.0846

σt 0.0009 0.0032 0.0088 0.0163 0.0312

AS1 t 1.94452 8.25649 18.35662 38.50646 46.85451

σt 1.0035 4.0399 9.1618 16.3210 14.5456

AS2 t 1.04229 4.12858 9.16055 18.71960 22.36284

σt 0.4988 2.0021 4.8156 8.7838 7.8897

direction vectors (±1,0) and (0,±1). The corresponding heuristic uses the Manhattan distance between a given node pand the corresponding destinationti,

hAS1(p)=D(dx+dy), (2)

where here we set D = 1, and dx = |x(p)−x(ti)| and dy =

|y(p)−y(ti)|. The second implementation (AS2) defines the neigh- bourhood of a node in the integer square grid by the 8 direction vectors (±1,0), (0,±1) and (±1,±1). We use here theChebyshev distanceheuristic,

hAS2(p)=D1(dx+dy)+(D2−2D1) min(dx,dy) , (3) where we setD1=1 andD2=1.Fig. 24illustrates 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 Section4.

7. Results and discussions

Let us summarize the results of the experiments in the follow- ing section.

7.1. Reliability and performance

Table 1 shows the number of successfully completed rout- ing problems under the Circular Frame algorithm (NCF), the A*- algorithm under the Manhattan distance heuristic (NAS1) and the A*-algorithm under Chebyshev distance heuristic (NAS2). Origi- nallyN=1000 routing environments were generated as outlined in Section6. We can see that for all number of start pointsn, the Circular Frame algorithm consistently completes the routing for all generated environments, whereas the number of routing failures increases with increasingnfor the two implementations of the A*-algorithm.

Table 1also shows the numberNCof environments where the routing was completed by all 3 tested routing algorithms. For these completed environments and for eachn, we measure the mean routing timestwith the corresponding standard deviations σt.Fig. 25shows that the average routing time for the Circular

12

Referensi

Dokumen terkait

137 ANALYSIS OF TEXTBOOK “LOOK AHEAD AN ENGLISH COURSE BOOK FOR SENIOR HIGH SCHOOL STUDENTS ACADEMIC YEAR X” AT BABUNNAJAH BOARDING SCHOOL 1Mulyani, 2Dewi Sartika 1,2 STKIP Bina

If a Party does not adopt or maintain laws or other measures that provide an independent private right of action, the Party shall adopt or maintain laws or other measures that provide a