ECE 556 Project Proposal
John Thompson
Kurt Ting
Simon Wong
Problem definition
Nearest neighbor
Zero-skew tree construction
Algorithm
Benchmarks
Given a set S of sink locations, and given a connection topology G, construct a zero skew clock tree T(S) with topology G and having minimum cost…
Use Delaunay Triangulation to find the pair of points with shortest separating distance.
These are the points that will be connected next…
A Delaunay triangulation of a vertex set is a triangulation of the vertex set with the property that no vertex in the vertex set falls in the interior of the circumcircle
(circle that passes through all three vertices) of any triangle in the triangulation.
Original vertex set Delaunay Triangulation
Dual of Voronoi Diagram
N is the set of all sites S.
The Voronoi polygon vor(S) of a site S
N is defined to be the region consisting of the points in R d whose nearest neighbor in N is S.
Voronoi Diagram is the set of all vor(S).
Vor(S)
Construction of Vonoroi Diagram
Partition N into subsets N
1
, N
2 of equal sizes by median x-coordinates
Construction of Vonoroi Diagram
Construct Vor(N
1
) and Vor(N
2
) recursively
Construction of Vonoroi Diagram
Construct Vor(N
1
) and Vor(N
2
) recursively
Construction of Vonoroi Diagram
Construct dividing chain
Construction of Vonoroi Diagram
Discard all edges of Vor(N
2
) that lie to the left of dividing line, and the same for
Vor(N
1
)
The result is Vor(N) is the Voronoi
Diagram of the entire set
Approximation of Manhattan
Segments
Use n points on a Manhattan Segment to represent it in Delaunay Triagulation
Use a clustering-based optimization algorithm
Algorithm steps
Find center
Embedding
Local Embedding
Step 1:
K := S
Step 2:
Stop once the root node has been reached. Otherwise, construct the nearest-neighbor graph G(K,E) on K, and sort edges in E by their weights in non-decreasing order.
Step 3:
Take the smallest weight edge (v
1
, v
2
) from E, and delete the edge from E. Calculate segment for v from v1, v2. Delete v1, v2 from K, add v to K. If the capacitance of a subtree becomes too large, insert a buffer…
Pick K pairs of Near Neighbor for Manhattan Segment
Calculation
Calculating Manhattan Segments
Three cases
From two points
From a point and a segment
From two segments
The general case is from two segments
Manhattan Segment Construction from
Two Parallel Manhattan Segments
Manhattan Segment Construction from Two
Perpendicular Manhattan Segments
Manhattan Segments after Find Center
Segments after merging
Step 1:
Determine the center v c by selecting the nearest point to the root v r
.
Route from v r to v c
.
on the segment for v c
Step 2:
Local embedding on v c
…
Manhattan Segments after Find Center
V
R
V
C
Determine Center Vc
From Vr
Step 1:
If v has no child, return…
Step 2:
Let v
1 point v i and v
2 be children of v. Then determine the on the segment for v i so as to satisfy the zeroskew merge equations. Route from v to v i
…
Step 3:
Perform local embedding on v
1 and v
2
…
V
R
V
C
Local Embedding for V
C
& remaining segments
V
R
Final Routing Tree
UCLA MCNC clock benchmark 1.0 suite
Originally from Jackson’s (et al.) “Clock routing for high performance ICs” paper…
UCLA IBM clock benchmark 1.0 suite
Originally R. S. Tsay’s benchmarks used in his “Exact zero skew” paper…
UCLA ISCAS clock benchmark 1.0
Masato Edahiro; “A Clustering-Based Optimization
Algorithm in ZeroSkew Routings”; 1993
Ting-Hai Chao, Yu-Chin Hsu, and JanMing Ho; “Zero
Skew Clock Net Routing”; 1992
Ting-Hai Chao, Yu-Chin Hsu, Jan-Ming Ho, and Kenneth
D. Boese; “Zero Skew Clock Routing with Minimum
Wirelength”; 1992
Yu Chen, Andrew B. Kahng, Gang Qu, and Alexander
Zelikovsky; “The Associative-Skew Clock Routing
Problem”; 1999