Gate planning during placement for gated clock network

Clock gating is a popular technique for reducing power dissipation in clock network. Although there have been numerous research efforts on clock gating, the previous approaches still have a significant weakness. That is, they usually construct a gated clock tree after cell placement, i.e., cell placement is performed without considering clock gating and may generate a solution unfriendly to subsequent gated clock tree construction. As a result, the control gates inserted in the tree construction is very likely to cause cell overlap. Even though the overlap can be eventually removed in placement legalization, remarkable wirelength/power overhead is incurred. In this paper, we propose a gate planning technique which is integrated with a partition-based cell placer. During cell placement, the planning judiciously inserts clock gates based on power estimation. In addition, pseudo edges are inserted between clock gates and registers in order to reduce clock wirelength and enable long shut-off periods. At the end, when a relatively detailed placement is obtained, a post-processing is performed to degrade the inefficient clock gates to clock buffers. We compared our approach with recent previous works on ISCAS89 benchmark circuits. Our method reduces the clock tree wirelength and power by 22.06% and 40.80%, respectively, with a very limited increase on signal nets wirelength and power compared with the conventional (register-oblivious) placement. The results also indicate that our algorithm outperforms the clock-gating-oblivious placement on power reduction and performance improvement.

[1]  Majid Sarrafzadeh,et al.  Activity-sensitive clock tree construction for low power , 2002, ISLPED '02.

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

[3]  Ankur Srivastava,et al.  Activity-driven clock design , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Yici Cai,et al.  Activity-Aware Registers Placement for Low Power Gated Clock Tree Construction , 2007, IEEE Computer Society Annual Symposium on VLSI (ISVLSI '07).

[5]  Massoud Pedram,et al.  Power reduction in microprocessor chips by gated clock routing , 1998, Proceedings of 1998 Asia and South Pacific Design Automation Conference.

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

[7]  Luca Benini,et al.  Clock-tree power optimization based on RTL clock-gating , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[8]  Yici Cai,et al.  Activity and register placement aware gated clock network design , 2008, ISPD '08.

[9]  Jan-Ming Ho,et al.  Zero skew clock routing with minimum wirelength , 1992 .

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

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

[12]  Qi Wang,et al.  Power minimization by clock root gating , 2003, ASP-DAC '03.

[13]  Masato Edahiro,et al.  A Clustering-Based Optimization Algorithm in Zero-Skew Routings , 1993, 30th ACM/IEEE Design Automation Conference.

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