Improving Voltage Assignment by Outlier Detection and Incremental Placement Huaizhi Wu* and Martin D.F. Wong** * Atoptech, Inc. ** University of Illinois at Urbana-Champaign DAC 2007
Outline Introduction Motivation Outlier Detection Incremental Placement Experimental Results Conclusions
Outline Introduction Motivation Outlier Detection Incremental Placement Experimental Results Conclusions
Introduction Multi-Supply Voltage (MSV) Higher voltage on critical paths for performance Lower voltage on other paths for power saving Complex power supply system Higher design cost Level shifters need to be inserted between low- Vdd and high-Vdd cells Grouping cells into Voltage Islands Each Voltage Island has a single supply voltage
Design Flow
Outline Introduction Motivation Outlier Detection Incremental Placement Experimental Results Conclusions
Motivation Outliers The few distant high voltage cells Cause disproportinately expensive penalty to the final Voltage Island grouping w/ outliersw/o outliers outliers
Modified Design Flow
Outline Introduction Motivation Outlier Detection Incremental Placement Experimental Results Conclusions
Uncapacitated Facility Location Problem c 10,8 f8f8 LP-relaxation Dual program
Primal-Dual Schema Start with (at time 0) primal solution x, y=0: no facilities open, no clients connected dual solution α, β=0: zero budget for each client Iteration Uniformly increase budgets (α j ) of clients Allocate the budgets towards facility opening costs and connection costs
Primal-Dual Schema (Cont.) for unconnected client j and unpaid for facility i Client j starts paying facility i β ij starts growing for facility i Facility i is paid for Each unconnected client j paying facility i is connected, and client j stops paying any facility for unconnected client j and paid for facility i Client j is connected and stops paying any facility
Example: Facility Location Algorithm t = c 8,9 = 20 t = c 0,5 = 37 t = 0 t = 72 t = c 0,7 = 77 t = 110 t = c 8,10 = 122
Outlier Detection Problem Input A set N of n nodes A number n r relatively small A distance L relatively large Output All outlier nodes r r is among a set, The distance between any node and is at least L
Algorithm Let user specify an upper limit l on the total number of outliers Instead of terminating the Prima-Dual stage after all clients are connected Terminate the stage when the number of unconnected clients becomes no more than l The unconnected clients are detected as outliers
Outlier Detection vs. Parameter Setting
Parameter Setting for Outlier detection The facility cost f i should neither too large nor to small For the inputs of the problem A set N of n nodes A number n r A distance L Let, where is a small constant
Outline Introduction Motivation Outlier Detection Incremental Placement Experimental Results Conclusions
Incremental Placement To eliminate outliers Improve timing on the critical paths containing the outliers Find these paths Force voltage reduction on the outliers, update all slacks Find all paths with negative slacks
Example: Eliminating Outliers Outlier
Setting Placement Constraints Adding additional net weights Let the pure timing driven placer pay more attention on those nets Increasing cell delays Select the outlier cells and the low-Vdd cells on the selected paths For those selected cells, use their delays under low-Vdd in timing analysis For the rest of cells, use the delays under high- Vdd
Example: Eliminating Outliers (contd.) C1 C3 C5 Outlier C1 C3 C5 Timing Analysis Force Voltage Reduction
Outline Introduction Motivation Outlier Detection Incremental Placement Experimental Results Conclusions
Experimental Results: Snap Shots Low High After 7 voltage islands & 7.85 unit power Before 7 voltage islands & 9.37 unit power
Experimental Results: Outlier Detection 314 nodes, 8 outliers1182 nodes, 8 outliers
Experimental Results
Comparison on Different Design
Running Time
Outline Introduction Motivation Outlier Detection Incremental Placement Experimental Results Conclusions
They proposed an incremental flow with consideration of outliers to improve voltage assignment Reduce the number of Voltage Islands