Simultaneous Clock and Data Gate Sizing Algorithm with Common Global Objective
Simultaneous Clock and Data Gate Sizing Algorithm with Common Global Objective. Gregory Shklover , Ben Emanuel Intel Corporation MATAM, Haifa 31015, Israel. Outline. Introduction Gate sizing by lagrangian relaxation Combined clock and data sizing Clock sizing by dynamic programming
Simultaneous Clock and Data Gate Sizing Algorithm with Common Global Objective
E N D
Presentation Transcript
Simultaneous Clock and Data Gate Sizing Algorithm withCommon Global Objective Gregory Shklover, Ben Emanuel Intel Corporation MATAM, Haifa 31015, Israel
Outline • Introduction • Gate sizing by lagrangian relaxation • Combined clock and data sizing • Clock sizing by dynamic programming • Algorithm analysis • Experimental results
Introduction • Given a gate-level circuit and a standard cell library, the goal of such optimization is to find gate sizes that would yield best combination of total circuit power, performance and area. • Data gates • implement the logical function of the block • Clock gates • distributing common synchronization signal to different state elements in the circuit
Separation reasons • Design methodology • Data: best performance vs power or area • Clock: meet minimum skew and skew variability • Structure • Data: DAG • Clock: tree (Dynamic programming) • Problem classification • Data: convex • Clock: non-convex
Contribution • Combine clock and data sizing decisions to solve a common global objective • Use Dynamic Programming algorithm to optimally solve the clock-related part of the relaxed objective
Gate sizing by lagrangian relaxation • Minimizes the following objective:
Gate sizing by lagrangian relaxation • Simplified formulation:
LR with skew optimization • speeds up aclk at FF1 by up-sizing of gate A • delay aclk at FF2 by down-sizing gate B.
Combined clock and data sizing • Consider the set of clock gates • Integrating these into Objective • expanding each as clkas a sum of delays from the root of the clock tree to the corresponding leaf
Clock sizing by dynamic programming • DP algorithm is required to find clock gates sizes that minimize the following objective:
Dynamic programming • Set of solutions per tree node n • c is the associated downstream capacitance • obj is the corresponding objective value • Pruning criterion
Dynamic programming • Leaf nodes: • Solution merge: • Gate sizing:
Additional considerations • Side load effect • Approximation+convergence • Input slews
Algorithm analysis • Complexity • k-Sampling • the complexity for the DP algorithm: • Convergence • Cooling concept from simulated annealing • Optimality • global optimality is not theoretically guaranteed.
Summary • simultaneous clock and data gate sizing optimization • applicable to wire sizing and buffer insertion. • Probably could extend this method to handle simultaneous gate sizing and clock tree synthesis.