Routability Crossing Distribution and Floating Pin Assignment for T-type Junction Region

Based on non-crossing relations, vertical constraint relations and net-geometry relations in one T-type junction region, two kinds of routability crossing distributions are proposed to improve routing performance in one T-type junction region. For routability crossing distribution in one T-type junction region, a routability-ordering graph is built to decide a net ordering in O(n2) time. For routability quota crossing distribution in one T-type junction region, if the number of net crossings in base channel is more than a given quota, this net ordering in routability crossing distribution will be further adjusted to satisfy the quota requirement by using a net interchange operation in O(n) time. For floating pin assignment in one T-type junction region, global nets are assigned on the boundary between top channel and base channel by interleaving vacant pins in O(n) time according to a net ordering in routability crossing distribution.


INTRODUCTION
In a building block layout [1][2], the placement/ routing process is divided into the following phases: placement, global-routing, region defini- tion and ordering assignment (RDAOA), and detailed-routing.In general, according to the constraints of layout area or routing performance, all the building blocks are placed on fixed positions, and routing space between any pair of adjacent building blocks is assigned to route all the nets in the placement phase.After the placement phase, all the routing nets are globally assigned 155 within the routing space in the global-routing phase.Furthermore, the routing space is parti- tioned and defined into straight channels, switch- boxes, or L-shaped channels, and these defined regions are assigned a safe routing ordering in the RDAOA phase.Finally, all the straight channels, switchboxes, and L-shaped channels are routed by a straight channel router, a switchbox router and an L-shaped channel router in the detailed-routing phase, respectively.
Consider a given building block layout shown in Figure 1, and suppose that regions A, B, C, and D are all to be defined as straight channels.terminals in channel B are not fixed, channel A must be routed before channel B. Similarly, chan- nels B, C, and D must be routed before channels C, D, and A, respectively.Clearly, the iterative pre- cedence relations among channels A, B, C and D form a channel-precedence cycle in this layout.For a building block layout, such a cyclic channel con- straint is defined as a cyclic precedence constraint [3].
Basically, if there is any cyclic precedence con- straint in a building block layout, routing space will not be fully separated and defined as straight channels to guarantee a safe routing ordering, and such a layout will be defined as a non-slicing layout..For a non-slicing layout, the definition of L- shaped channels [3] or switchboxes [4][5][6] is always introduced to break all the cyclic precedence constraints to guarantee a safe routing ordering in the detailed-routing phrase.If a switchbox- based approach is used to break the cyclic pre- cedence constraint in Figure 1, the height of region A will be estimated according to the routability requirements, and region A will be defined as a switchbox.Furthermore, floating pins on the boundary between regions A and B will be pre- assigned.Then region B, region C and region D will be sequentially defined as straight channels and routed by a straight channel router in that order.Finally, region A will be routed by a switch- box router.However, a successful routing depends on floating pin assignment in one T-type junction region, and the performance of a switchbox router.To avoid the layout re-construction and the rip-up and re-route process in the routing phase, floating pin assignment between region A and B is seriously based on a better ordering of the global nets in the T-type junction region.For a routing region, the ordering assignment of global nets is called as the crossing distribution problem.It is well known that the crossing distribution problem is also crucial in certain architectures of programmable gate arrays [7] or in the routing of analog and high speed circuits where wires run in parallel for limited distances and additional restrictions on the topology of wires.
For some routing systems [8][9], the crossing distribution problem has been considered as a part of the detailed-routing phase.The PI routing sys- tem [10] was the first to introduce an iterative force- directed "cross-placement" algorithm to solve the crossing distribution problem between any pair of adjacent regions.However, it did not use any chan- nel information to improve the channel density or reduce the routing constraints.In Magic [11], the crossing distribution problem was considered as a part of the global-routing phase.Several algorithms focus on the minimization of wire crossing and twisting conditions.Furthermore, a "buoy- ancy-calculation" technique [12] was proposed to prevent twisted wires on a region basis, and an improved algorithm [13] later adopted in Timber- WolfMC [14] was proposed to minimizes the number of crossings between global nets in the entire layout.Clearly, based on the consideration of via number and total wire length in the routing phase, these approaches only focus on the mini- mization ofnet crossings in the crossing distribution problem.
Currently, based on the techniques of topological sorting and perfect matching, M. M. Sadowska and M. Sarrafzadeh also proposed an O(mn2+ mc3/2) algorithm [15] to distribute all the net crossings into all the regions in a macro cell layout in the quota crossing distribution problem.Basically, the quota in each region was decided by routability considera- tion and routing constraints in this region.However, the routability consideration and the routing constraints in each region was not further discussed in detail, hence, it is difficult to image how to calculate the quota in one region.As the concept of region definition and ordering assignment is intro- duced in the design automation of a building block layout, it is clear that a net ordering and net crossings in one T-type junction region can be decided by a straight channel router and a switch- box router.For the crossing distribution problem, it is not necessary to simultaneously assign all the net crossings to all the regions in a building block layout.Clearly, it is sufficient to assign a net ordering on the boundary between two adjacent regions according to the routing order in the RDAOA phase.Based on the techniques of computational geometry, D. C. Wang and C. B. Shung [16] proposed an O(n log n) algorithm for the quota crossing distribution problem, an O(n2) algorithm for the membership crossing distribution problem and an O(n2) algorithm for the combina- tion of the quota crossing distribution problem and the membership crossing distribution problem to distribute net crossings into two adjacent regions.
However, these algorithms didn't still consider how the quota and membership were obtained from the routability consideration and the routing con- straints in one region.To the best of our knowledge, no approach was proposed to combine the rout- ability consideration and the routing constraints into the crossing distribution problem.Since the crossing distribution problem is to distribute all the nets crossings to all the regions to improve routing performance, the crossing distribution problem will consider the routability consideration and the routing constraints instead of the quota and membership values.Refer to the separation of the routing space in ordering in routability crossing distribution.

PROBLEM DESCRIPTION AND DEFINITIONS
As mentioned above, for any cyclic precedence constraint in a building block layout, a switchbox- based approach uses the definition of a switchbox to break the cyclic precedence constraint.It is clear that only T-type junction regions are considered to obtain a net ordering for the crossing distribution problem.Therefore, it is sufficient for the crossing distribution problem to distribute net crossings on one T-type junction region in a building block layout.For one T-type junction region R, region R is divided into top channel Rtop and base channel Rbase by one boundary B in the crossing distribu- tion problem.In Figure 2, its division of one Ttype junction region is shown.
Let us consider that the nets in N are all two-pin nets.For the crossing distribution problem, all the nets in N must intersect boundary B, i.e., one pin is located on Rtop and the other is located on Rbase.
By dividing the boundary B, region R can be J.-T.YAN    modeled as one straight channel by two pin lists Ptop and Pbase, where Ptop represents the ordering of pins in Rtop and Pbase represents the ordering of pins in Rbase from left to right.In Figure 3, a straight channel modeling the T-type junction region in Figure 2 is shown.For net i, net has a top pin in the position of Ptop(i) and a base pin in the position of Pbase(i), where Ptop(i) is the position of net in Ptop and Pbase(/) is the position of net in Pbase.
For any pair of nets and j, nets crossings between nets and j are divided into forced 5 2 7 1 8 6 3 4  crossings and redundant crossings.Basically, forced crossing between nets and j cannot be avoided and redundant crossings can be further deleted in crossing distribution.For any net crossing (i,j), the crossing (i,j) is unordered, i.e., (i,j) (j, i).
DEFINITION (Forced and Redundant Crossing) For two nets and j, i,j E N, a forced crossing (i,j) between nets and j exists if Pbase(i) < Pbase(j) and Ptop(i) > Ptop(j) or Pbase(i) > Pbase(j) and Ptop (i) < Ptop(j), where s < (s > t) means that s is located on t's left (right).On the other hand, if one net crossing (i,j) is not a forced crossing, the crossing (i,j) will be defined as a redundant crossing.
Based on the definition of forced crossings, the set of forced crossings Sforce in one T-type junction region will be obtained as {(i,j) or (j, i)lPbase(i) < Pbase(j) and Ptop(i) > Ptop(j) or Pbase(i) > Pbase(j) and Ptop(i) < Ptop(j), for i,j N}.The T-type junc- tion region in Figure 2 has 14 forced crossings, and Sforce {(1,2), ( Traditionally, the crossing distribution problem [15][16] is to delete all the redundant crossings between two adjacent regions and distributes all the forced crossings into two adjacent regions according to a given quota or membe/'ship value.
As one crossing distribution region is one T-type junction region, the routability and routing con- straints will be considered into the crossing dis- tribution problem.Hence, the crossing distribution problem on one T-type junction region is called as the routability crossing distribution problem.The routability crossing distribution problem in one T-type.junctionregion R is to arrange a net ordering of global nets on B such that no redundant crossing is introduced and forced crossings are distributed in R.
It is well known that redundant net crossings yields redundant vias and extra length of wires in the routing phase.Since routability crossing distri- bution is to guarantee that no redundant crossings are introduced, the non-crossing relations in one T-type junction region will be defined to restrict the appearance of redundant net crossings in routability crossing distribution.DEFINITION 2 (Non-Crossing Relations, N) For pin lists Ptop and Pbase in one T-type junction region, one non-crossing relation 4j is defined if Phase(i) < ebase(j), for i,j EN and (i,j) S, and there exists no k such that Pbase(/) < Pbase(k) < Pbase(j), and Prop(i) < Ptop(k) < Ptop(j).
For the routability consideration and the rout- ing constraints in Rtop and Rbase, the region Rtop is further divided into sub-regions Rtop,left Rtop,middle and Rtop,right.In Figure 4, the T-type junction region R is further divided into Rtop,left Rtop,middle Rtop,right and Rbase.
In general, channel density, column densities and the number of vertical constraints in one channel are usually used to estimate the number of tracks in this channel.For one T-type junction region R, the number of vertical constraints in Rbase, the column densities in Rtop,middle and the channel density in Rtop will be considered in routability crossing distribution.Since one T-type junction region R is separated and defined as one  straight channel for Rtop and one switchbox for Rbase in the RDAOA phase, the vertical con- straints in Rbase will be avoided to guarantee the routability of region Rbase in routability crossing distribution.Hence, the vertical-constraint rela- tions in Rbase will be defined to restrict the app- earance of vertical constraints in region Rbase as follows: DEFINITION3 (Vertical-Constraint Relations, V) For Rbase in one T-type junction region R, one vertical-constraint relation 4j in Rbase is defined if (i,j) ESforce, and two fixed pins, and j, are located on the same routing column in Rbase, where is located on the left boundary of Rbase and j is located on the right boundary of Rbase.
For the T-type junction region in Figure 2, the set of vertical-constraint relations is {34--,6, 445}.
Furthermore, to reduce the column densities in Rtop,middle or the channel density in Rtop, the net- geometry relations among Rtop,left, Rtop,middle and Rtop,right will be further defined to reduce the number of tracks, total wire length and the number of vias in the channel Rtop.DEFINITION 4 (Net-Geometry Relations, G) For regions Rtop,left Rtop,middle and Rtop,right, one net- geometry relation i4j among Rtop,left Rtop,middle and Rtop,right is defined if (i,j) Sforce and nets and j correspond to one of the three conditions: Condition 1 one pin of net is located in Rtop,left and one pin of net j is located in Rtop,middle, or Rtop,right; Condition 2 one pin of nets is located in Rtop,middle one pin of nets is located in Rtop,middle and Ptop(i) < Ptop(j); Condition 3 one pin of net is located in Rtop,middle and one pin of net j is located in Rtop,right; For the T-type junction region in Figure 2, the set of net-geometry relations is {7 4 6, 7 4 3, 7 4.4, 54 3,544,846,84 3,84-*4}.
J.-T.YAN For one T-type junction region R, all the non- crossing relations, guarantee that no redundant net crossing is introduced in R and all the vertical- constraint relations improve routability in region Rbase.Hence, all the non-crossing relations and all the vertical-constraint relations in R are fully applied to routability crossing distribution.However, it is possible that one net-geometry relation in Rtop will conflict with one vertical-constraint relation in Rbase.Since the routability in Rbase is more important that in Rtop, the net-geometry relations may not be fully applied to routability crossing distribution.Therefore, based on the application of non-crossing relations, vertical- constraint relations and net-geometry relation in one T-type junction region, the routability cross- ing distribution problem is modeled as follows: 2.1.Routability Crossing Distribution Given one T-type junction region R and a set of two-pin global nets, the routability crossing distribution problem is to find a feasible ordering of global nets such that the net ordering satisfies all of the non-crossing relations, all of the vertical- constraint relations and a maximal set of net- geometry relations in R.
As mentioned above, one T-type junction region is divided into a straight channel and a switchbox by assigning floating pins on the boundary in the RDAOA phase.It is well known that the channel height is adjustable and the switchbox height is not adjustable in the routing phase.Hence, the routability of a switchbox is more important than that of a channel in the routing phase.To route successfully one T-type junction region, a small quota K (even to 0) is selected to guarantee that the divided switchbox can be successfully routed.Thus, the routability quota crossing distribution problem will be modeled as follows: 2.2.Routability Quota Crossing Distribution Given one T-type junction region R, a set of two- pin global nets and an integer quota K, the routability quota crossing distribution problem is to find a feasible ordering of global nets such that the net ordering makes at most K net crossings in Rbase, and satisfies all of the non-crossing relations, all of the vertical-constraint relations and a maxi- mal set of net-geometry relations in R.
According to a net ordering obtained in rout- ability crossing distribution, floating pins on the boundary B are further assigned to minimize the number of vertical constraints in Rtop,middle.Hence, the floating pin assignment problem will be mod- eled as follows:

Floating Pin Assignment
Given one T-type junction region R, a feasible net ordering, and a vertical constraint graph in Rtop, the floating pin assignment problem is to assign all of the global nets on B such that no constraint cycle is yielded and the number of vertical con- straints in Rtop,middle is minimized.

ROUTABILITY CROSSING DISTRIBUTION
For routability crossing distribution in one T-type junction region R, a net ordering of global nets is obtained by using non-crossing relations, vertical- constraint relations and net-geometry relations in R. In this section, two kinds of routability crossing distributions are considered to decide a net ordering of global nets on the boundary between Rtop and Rbase.One is a pure routability crossing distribution.Based on the definitions of non- crossing relations, vertical-constraint relations and net-geometry relations in R, a net ordering of global nets is obtained by running a modified topological sorting on a routability-ordering graph.The other is a. routability quota crossing distribution.To guarantee Rbase to be successfully routed, one quota K in Rbase is estimated accord- ing to routability constraints in Rbase.Based on a net ordering in routability crossing distribution, if the number of net crossings in Rbase is more than K, the net ordering will be modified to satisfy the quota restriction by using a net interchange operation.
crossing relation is certainly no net crossing in this net ordering.Hence, the number of net crossings is minimized and no redundant net crossing is yielded in this net ordering.

Net Ordering for Routability Crossing
Distribution According to the definition of non-crossing rela- tions in R, a directed non-crossing ordering graph G (V, A) is built, where v in V represents a global net and e in A represents a non-crossing relation.Consider the T-type junction region in Figure 2, the set of non-crossing relations is { 3, --.6, 23,2--.7,34,56,57,78}and its non-crossing ordering graph is shown in Figure 5.

TI-IEOREM
Any non-crossing ordering graph G is acyclic.
Since any non-crossing ordering graph is acyc- lic, a net ordering for a non-crossing ordering graph will be easily obtained by using a topologi- cal sorting.By the restriction of a non-crossing relation in R, any pair of global nets with a non- TI-IEOREM 2 A net ordering generated from a non- crossing ordering graph will yield no redundant net crossing.
According to the definitions of non-crossing relations and vertical-constraint relations in R, a directed constraint-ordering graph G*= (V*,A*) is built, where v in V* represents a global net and e in A* represents a non-crossing relation or a verti- cal-constraint relation.Consider the T-type junc- tion region in Figure 2, the set of vertical-constraint relations is {3 --.6, 4 5} and its constraint-order- ing graph is shown in Figure 6.Any constraint-ordering graph G* is Since any constraint-ordering graph is acyclic, a net ordering for a constraint-ordering graph will be obtained by using a topological sorting.Based  on the restriction of a vertical-constraint relation in Rbase, if there is a vertical constraint relation between one pair of global nets with a forced crossing, this forced crossing will be pushed into Rtop.Hence, a net ordering which generated from a constraint-ordering graph will guarantee that no forced crossing is distribution in Rbase.
TI-IEOREM 4 A net ordering generated for a con- straint ordering graph will yield no redundant net crossings and guarantee that no forced crossing is distribution in Rbase.
According to the definitions of non-crossing relations, vertical-constraint relations, and net- geometry relations in R, a directed routability- ordering graph G** (V**, A**) is built, where vin V** represents a global net and e in A** represents a non-crossing relation, a vertical-constraint rela- tion or a net-geometry relation.Consider the Ttype junction region in Figure 2, the set of net- geometry relations is {7 6, 7 3, 7 4, 5 3, 5 -4, 8 6, 8 3, 8 4} and its routability-or- dering graph is shown in Figure 7.For one T-type junction region R, it is possible that a net-geometry relation in Rtop conflicts with a vertical-constraint relation in Rbase.Hence, as all the net-geometry relations in Rtop are introduced into a constraint-ordering graph, the resultant routability-ordering graph may be cyclic.If a routability-ordering graph is cyclic, all the non- crossing relations, all the vertical-constraint rela- tions and a maximal set of net-geometry relations in R will be applied to improve the routing performance in routability crossing distribution.By using a modified topological sorting, a net ordering of global nets is obtained to satisfy all the non-crossing relations, all the vertical-constraint relations and a maximal set of net-geometry relations in R. In this modified topological sorting, any vertex without any predecessor is ordered and then deleted from this graph if a routability- ordering graph is not empty.On the other hand, if there exists no vertex without any predecessor in this graph, one vertex with only net-geometry predecessors will be ordered and then deleted from this graph.Finally, a routability net ordering is obtained.It is well known that if the data structure of a graph G (V, A) is an adjacency list, the time complexity of a topological sorting is in O(I VI + IA I)   time.Since O(IA**I) O(n2) in the worst case, the time complexity in routability crossing distribution is in O(n2) time, where n is the number of global nets in R. The topological sorting algorithm, Routabil- ity_Crossing_Distribution, for routability crossing distribution is described as follows: Algorithm Routability_Crossing_Distribution Input: Aroutability-orderinggraph,G** (V**,A**); Begin Queue While (G** is not empty) If (there exists one vertex u without any predecessor) Add(Queue, u); Delete(G**, u); Elseif (there exists one vertex u with only net-geometry predecessors) Add(Queue, u); Delete(G**, u); Endif Return(Queue); End By using this algorithm, Routability_Crossing_ Distribution, a net ordering in the T-type junction region in Figure 2 is obtained as (1, 2, 3, 4, 5, 7, 8,  6) or (2,1,3,4,5,7,8,6).

Net Ordering for Routability
Quota Crossing Distribution By using this algorithm, Routability_Crossing_Dis- tribution, a net ordering of global nets is obtained for routability crossing distribution.Given a routing quota K in Rbase, if the number of crossings in Rbase is more than K, the net ordering will be modified to satisfy the quota restriction in routability quota crossing distribution by using a net interchange operation.Consider that a net ordering (Net,Net2,...,Netn) in routability crossing distribution, if Pbas(Ncti) > Pbas(Neti+l) in (Net, Net2,..., Netn), for <_ <_ n 1, there will exist one forced crossing in Rbas.If the orders of Net/and Ncti+l arc interchanged, the crossing between Neti and Neti+ will be pushed into Rtop- To further satisfy the quota K, net interchanges will be done to reduce the number of crossings in base for routability quota crossing distribution.
As a result, a modified net ordering for routability quota crossing distribution will be obtained by using a net interchange operation.The net-inter- change algorithm, Routability_Quota_Crossing_ Distribution, will be described as follows" Algorithm Routability_Quota_Crossing_Distribution Input: A net ordering (Netl,Netz,...,Netn) and a routing quota K; Begin Crossing_Number the number of net crossings in Rbase according to the net ordering (Net1, Net2,..., Netn); While (Crossing_Number > K) Begin Find a pair of Neti and Neti+ such that Pbase(Neti) > Pbase(Neti+l); Modify the net ordering (Net1, Net2, Neti, Neti+, Netn) into (Net, Net2, Neti+l, Neti, Netn); Crossing_Number Crossing_Number 1; End Return a net ordering such that the number of net crossings in Rbase is at most K; End Since K is known and a net ordering of global nets is decided in routability crossing distribution, the number of crossings in Rbase can be easily calculated.In this algorithm, Routability_Quota_ Crossing_Distribution, the iterative number in while-loop statement is O(1), and the time com- plexity of finding a pair of nets Net/and Neti+l is in O(n) time.Hence, the time complexity of this algorithm is in O(n) time.Clearly, a modified net ordering in routability quota crossing distribution is obtained in O(n2) time.

Extension to Multiple-pin Nets
For routability crossing distribution, all the routing nets in one T-type junction region are considered as two-pin nets.However, it is impossible that all the routing nets in one T-type junction region are two- pin nets.Hence, multiple-pin nets are further considered in one T-type junction region for routability crossing distribution.
Basically, a global router assigns the wiring paths of all the global nets on the routing space.To satisfy the routing requirements, the wiring path of any multiple-pin net only crosses the boundary in one-T-type junction region at most type junction region use three two-pin intersecting segments for routability crossing distribution.

FLOATING PIN ASSIGNMENT
Since a net ordering of global nets is obtained for routability crossing distribution or routability quota crossing distribution, these global nets can be assigned onto the boundary B for floating pin assignment.In floating pin assignment, there are fixed net pins and vacant pins on top boundary of Rtop,middle and these global nets and vacant pins are assigned on bottom boundary of Rtop,middle.If the number of global nets equals to that of floating pins on B, these global nets will be assigned in this order.If the number of global nets is less than that of floating pins on B, these global nets will be assigned to minimize the number of vertical con- straints in Rtop,middle and not to yield any vertical- constraint cycle by adding vacant pins between any pair of adjacent global nets.Nbottom,net > Nb, there will be at most Ntop,net-Nbottom,net vertical constraints in Rtop,middle and these vertical constraints will not yield any vertical-constraint cycle in Rtop.The algorithm, Floating_Pin_Assignment, assigns float- ing pins on B and is described as follows: Algorithm Floating_Pin_Assignment Input: A vertical constraint graph in Rtop, a top pin list (P,Pz,...,PNb), and a net ordering (Net,

Endif Endif
Assign Queue onto B from left to right; End Since Nb and (P1,Pz,...,PNb) are given, the number of net pins in top boundary of Rtop, middle is easily calculated.In the algorithm, Floating_Pin_ Assignment, these global nets in a net ordering are assigned on B by using a sequential checking operation.Hence, the time complexity of this algorithm is in O(Nb+ n) time, where n is the number of global nets.Since N is known, the time complexity of this algorithm, Floating_Pin_Assign- ment, is in O(n) time.According to the results of routability crossing distribution, routability cross- ing quota distribution with K and floating pin assignment in one T-type junction region of Figure 2, the routing results are shown in Figure 9 and Figure 10, respectively.

CONCLUSIONS
Based on non-crossing relations, vertical con- straint relations and net-geometry relations in one T-type junction region, two kinds of rout- ability crossing distributions are proposed to improve routing performance in one T-type junction region.For routability crossing distribu- tion in one T-type junction region, a routability- ordering graph is built to decide a net ordering in O(n2) time.For routability quota crossing dis- tribution in one T-type junction region, if the number of net crossings in base channel is more than a given quota, this net ordering in routability crossing distribution will be further adjusted to satisfy the quota requirement by using a net interchange operation in O(n) time.For floating pin assignment in one T-type junction region, global nets are assigned on the boundary between top channel and base channel by interleaving vacant pins in O(n) time according to a net ordering in routability crossing distribution.
Figure1, and suppose that regions A, B, C, and D are all to be defined as straight channels.As the

8 FIGURE 2 T
FIGURE 2 T-type junction region for crossing distribution.

FIGURE 3
FIGURE 3 Channel modeling for one T-type junction region.

FIGURE 4
FIGURE 4 Division of one T-type junction region.

FIGURE 5 A
FIGURE 5 A non-crossing ordering graph for the T-type junction region in Figure 2.

FIGURE 6 A
FIGURE 6 A constraint-ordering graph for the T-type junction region in Figure 2.

FIGURE 7 A
FIGURE 7 A routability-ordering graph for the T-type junction region in Figure 2.
: the number of net pins in (P1, P2,...Ntop,vacantNb-Ntop,net; Nbottom,net Nb- INtop,net-Nbottom,net[ Fori to Nb If (Pi is a net pin)If (j Nconstraint and the vertical constraint PiNetk does not yield any vertical-constraint cycle)Add(Queue, Net); k k + l; , Net); k k / 1; Nbottom,vacan be the number of net pins and vacant pin on top (bottom) boundary in Rtop,middle respectively.Let Nb be the number of floating pins on the boundary B. Clearly, Nb Ntop,ne -- Let Ntop,ne (Nbottom,net) and Ntop,vacant (