Obstacle-Aware Clock-Tree Shaping During Placement

Traditional integrated circuit (IC) design flows optimize clock networks before signal-net routing are limited by the quality of register placement. Existing publications also reflect this bias and focus mostly on clock routing. The few known techniques for register placement exhibit significant limitations and do not account for recent progress in large-scale placement and obstacle-aware clock-network synthesis. In this paper, we integrate clock network synthesis within global placement by optimizing register locations. We propose: 1) obstacle-aware virtual clock-tree synthesis; 2) arboreal clock-net contraction force with virtual-node insertion, which can handle multiple clock domains and gated clocks; and 3) an obstacle-avoidance force (OAF). Our work is validated on large benchmarks with numerous macroblocks. Experimental results indicate that our software implementation, called Lopper, prunes clock-tree branches to reduce their length by 30.0%-36.6% and average total dynamic power consumption by 6.8%-11.6% versus conventional wirelength-driven approaches. SPICE-driven simulations show that our methods improve robustness of clock trees.

[1]  Dongjin Lee,et al.  Low-power clock trees for CPUs , 2010, 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[2]  Vivek Tiwari,et al.  Reducing power in high-performance microprocessors , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[3]  Yao-Wen Chang,et al.  Blockage-avoiding buffered clock-tree synthesis for clock latency-range and skew minimization , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[4]  Konrad Doll,et al.  Analytical placement: a linear or a quadratic objective function? , 1991, 28th ACM/IEEE Design Automation Conference.

[5]  Yici Cai,et al.  A path-based timing-driven quadratic placement algorithm , 2003, ASP-DAC '03.

[6]  R. Allmon,et al.  High-performance microprocessor design , 1998, IEEE J. Solid State Circuits.

[7]  Igor L. Markov,et al.  Contango: integrated optimization of SoC clock networks , 2010, DATE 2010.

[8]  Yongqiang Lyu,et al.  Navigating registers in placement for clock network minimization , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[9]  Xianlong Hong,et al.  CEP: a clock-driven ECO placement algorithm for standard-cell layout , 2001, ASICON 2001. 2001 4th International Conference on ASIC Proceedings (Cat. No.01TH8549).

[10]  Yici Cai,et al.  Clock-Tree Aware Placement Based on Dynamic Clock-Tree Building , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[11]  Enrico Macii,et al.  Power-aware clock tree planning , 2004, ISPD '04.

[12]  Evangeline F. Y. Young,et al.  A dual-MST approach for clock network synthesis , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[13]  Chih-Cheng Hsu,et al.  Post-placement power optimization with multi-bit flip-flops , 2010, 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[14]  Anthony Vannelli,et al.  Engineering details of a stable force-directed placer , 2004, ICCAD 2004.

[15]  R. W. McGuffin,et al.  Physical synthesis for performance optimization , 1992, [1992] Proceedings. Fifth Annual IEEE International ASIC Conference and Exhibit.

[16]  Majid Sarrafzadeh,et al.  Congestion minimization during placement , 2000, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Chris C. N. Chu,et al.  FastPlace 3.0: A Fast Multilevel Quadratic Placement Algorithm with Placement Congestion Control , 2007, 2007 Asia and South Pacific Design Automation Conference.

[18]  Igor L. Markov,et al.  VLSI Physical Design - From Graph Partitioning to Timing Closure , 2011 .

[19]  Uri C. Weiser,et al.  Interconnect-power dissipation in a microprocessor , 2004, SLIP '04.

[20]  Massoud Pedram,et al.  Gated clock routing for low-power microprocessor design , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Joseph R. Shinnerl,et al.  mPL6: enhanced multilevel mixed-size placement , 2006, ISPD '06.

[22]  Gi-Joon Nam,et al.  The ISPD2005 placement contest and benchmark suite , 2005, ISPD '05.

[23]  Andrew B. Kahng,et al.  Practical Bounded-Skew Clock Routing , 1997, J. VLSI Signal Process..

[24]  Ulf Schlichtmann,et al.  Kraftwerk2—A Fast Force-Directed Quadratic Placement Approach Using an Accurate Net Model , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[25]  Georg Sigl,et al.  GORDIAN: VLSI placement by quadratic programming and slicing optimization , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[26]  Dongjin Lee,et al.  SimPL: An Effective Placement Algorithm , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[27]  Sachin S. Sapatnekar,et al.  Handbook of Algorithms for Physical Design Automation , 2008 .

[28]  Cliff C. N. Sze ISPD 2010 high performance clock network synthesis contest: benchmark suite and results , 2010, ISPD '10.

[29]  Andrew B. Kahng,et al.  Power-aware placement , 2005, Proceedings. 42nd Design Automation Conference, 2005..