Andrew B. Kahng and Chung-Wen (Albert) Tsao |
I. | Introduction | |
II. | Data Formats and Usage | |
III. | Benchmarks and reference performance results | |
IV. | Executables and source codes |
In layout synthesis of high-performance systems, one of the most essential problem is the clock skew minimization. At the same time, a routing solution should have low wiring area to reduce the die size and the capacitive effect on both performance and power dissipation. There had been rapid growth on the ``zero-skew'' clock tree literatures. One of best-known paradigm for zero-skew clock tree routing is the Deferred-Merge Embedding (DME) algorithm. In practice, circuits still operate correctly within some non-zero skew bound, and so the actual design requirement is for a bounded-skew routing tree (BST). Our BST-DME algorithm is an extension of the DME algorithm such that the clock tree wirelength can be further reduced under this more general skew constraint. The problem we address is formulated as follows: Given a set of clock sinks S in the Manhattan plane and a skew bound B, construct a tree over S such that the total wirelength is minimized and the maximum delay difference (skew) from the tree root to each sink in S is at most B. Our algorithm provides unifications of the clock routing and Steiner tree heuristic literatures and give smooth cost-skew tradeoff that enable good engineering solutions between zero-skew and infinity-skew bound. For more detailed, please see the following references:
The data format for BST-DME is shown as follows:
# UCLA MCNC clock benchmark 1.0 # Created : Wed May 17 10:47:57 PDT 2000 # User : tsao@cs.ucla.edu # PlatForm : SunOS 5.7 sparc SUNW,Ultra-1 # Source : DAC90 paper by Jackson et al. # Note : Coordinate unit can be micro-meter or anything NumPins : 269 PerUnitResistance : 0.016600 Ohm PerUnitCapacitance : 2.7000e-17 Farad Sink : 0 Coordinate : 3380 270 Capacitive Load : 5.0e-13 Farad Sink : 1 Coordinate : 3020 270 Capacitive Load : 5.0e-13 Farad Sink : 2 Coordinate : 1660 500 Capacitive Load : 5.0e-13 Farad ... ... ... Sink : 268 Coordinate : 1420 960 Capacitive Load : 5.0e-13 Farad
Three set of benchmarks were tested:
- IBM benchmarks from R.S. Tsay r1 r2 r3 r4 r5 - MCNC benchmarks (from DAC90 paper by Jackson et al.) Prim1 Prim2 - ISCAS89 benchmarks (from DAC96 paper by J.G. Xi et al.) s1423 s5378 s15850The results of current version are shown in the following, which may be slightly different from the ones published in the literature due to implementation and the platform (we use SUN Workstation,UltraSPARC-II 400 MHz).
IBM Benchmark Results
Skew Bound (pico-second) | ||||||||
0 | 1 | 10 | 50 | 100 | 1000 | 10000 | ||
Benchmarks | Wire-length (units) | |||||||
CPU time (min:sec) | ||||||||
r1 | 1,320,665 | 1,230,884 | 1,070,421 | 969551 | 930,020 | 795,350 | 775,922 | |
00:02 | 00:14 | 00:25 | 00:33 | 00:37 | 00:42 | 00:45 | ||
r2 | 2,602,907 | 2,421,655 | 2,169,791 | 1,918,561 | 1,888,915 | 1,673,720 | 1,578,753 | |
00:05 | 00:40 | 01:14 | 01:42 | 01:46 | 02:05 | 02:13 | ||
r3 | 3,388,951 | 3,120,071 | 2,734,959 | 2,405,663 | 2,319,911 | 2,113,674 | 2,035,825 | |
00:07 | 00:49 | 01:34 | 01:59 | 02:15 | 02:30 | 02:47 | ||
r4 | 6828510 | 6229330 | 5442046 | 4935105 | 4758984 | 5056449 | 4443549 | |
00:19 | 02:22 | 04:23 | 05:18 | 05:41 | 06:46 | 07:10 | ||
r5 | 10242660 | 9301658 | 8033650 | 7291868 | 6894846 | 6321356 | 5989367 | |
00:29 | 03:52 | 06:47 | 08:35 | 08:58 | 10:22 | 11:33 | ||
Prim1 | 132120 | 131463 | 115500 | 103496 | 97346 | 82572 | 78900 | |
00:01 | 00:07 | 00:12 | 00:19 | 00:21 | 00:25 | 00:28 | ||
Prim2 | 313613 | 301610 | 268681 | 246976 | 231073 | 195373 | 178080 | |
00:03 | 00:10 | 00:20 | 00:36 | 00:40 | 00:53 | 01:02 | ||
s1423 | 107277 | 91605 | 75990 | 70721 | 70523 | 65207 | 65207 | |
00:01 | 00:03 | 00:06 | 00:06 | 00:07 | 00:07 | 00:07 | ||
s5378 | 176517 | 146874 | 128184 | 115047 | 109843 | 104098 | 104098 | |
00:01 | 00:12 | 00:17 | 00:21 | 00:22 | 00:23 | 00:23 | ||
s15850 | 445659 | 359990 | 315474 | 280302 | 282128 | 256550 | 253206 | |
00:04 | 00:55 | 01:19 | 01:26 | 01:32 | 01:42 | 01:47 |
Executables (Sun Solaris/Sparc) (Linux)
For any compilation or run-time bugs, please report to C.-W. (Albert) Tsao at tsao@cs.ucla.edu