Buffer Insertion and Driver Sizing (BIDS)

advertisement
Techniques for VLSI Circuit Optimization
Considering Process Variations
Mahalingam Venkataraman
Department of Computer Science and Engineering
University of South Florida, Tampa, FL, 33620
Chair:
Major Professor:
Committee Members:
Prof. Babu Joseph
Prof. Nagarajan Ranganathan
Prof. Srinivas Katkoori
Prof. Hao Zheng
Prof. Justin E. Harlow
Prof. Kandethody Ramachandran
Prof. Sanjuktha Bhanja
Mahalingam Venkataraman, PhD Defense
Date: 3/23/2009
1
Outline of Presentation
Introduction, Motivation and Contributions
Variation Aware Gate Sizing
Variation Aware Timing based Placement
Variation Aware Buffer Insertion and Driver Sizing
Dynamic Clock Stretching
Conclusions
Publications
Mahalingam Venkataraman, PhD Defense
Date: 3/23/2009
2
VLSI Circuit Complexity
400
400
90 nm
300
300
150 nm
100 nm
Yonah
65 nm
151 Mill.
200
200
0
0
Technology
scaling
Wolfdale
410 Mill.
130 nm
100
100
Transistor
Count
Source: Intel
Technology
[Mill.]
Transistors [Mill.]
Transistors
500
500
Prescott
125 Mill.
45 nm
Northwood
55 Mill.
50 nm
Yonah,
151 Mill.
0 nm
2002
2002
2004
2004
Year
Year
2006
2006
2008
2008
• Improved multi-functional features and enhanced performance
• Increased failure probability
3
Nanometer Dimensions
m
10
cm
100
nm
10
111mm
cm
µm
µm
Source: Spektrum der Wissenschaften
65 nm Transistor
Courtesy: Sill, PGPEE 2008
Source: Intel
4
Process Variations
• Process variations, in general, refer to the difference between
the intended and obtained values in voltage and process
parameters prior and post fabrication of the circuit.
• The variations are more pronounced in nanometer era due to the
limitations in fabrication equipment and lithography process
• Process variations in nanometer era has a impact on the failure
probability and hence the timing yield of integrated circuits
5
VLSI Circuit Optimization
• Circuit optimization in the nanometer era, is formally
defined as the process of designing circuits with best
possible power, delay and noise parameters
• Common methods
• Transistor/Gate Sizing, Wire sizing, Incremental placement
• Multiple supply, threshold voltages, Buffer insertion
• The relationship among the parameters are
conflicting
– Circuits with optimal power can have a poor performance
and/or noise value
• Process variations have made the relationships
among the conflicting optimization objectives
complex and hence more difficult to optimize
6
Motivation: Dissertation Research
• Corner based circuit optimization ignoring variation effects
can negatively impact timing yield
• Worst case consideration of variations, guarantees good
yield, but can lead to severe over design.
• In this context, there is a strong need for re-invention of
circuit optimization techniques in a statistical perspective.
• The methodology
• has to consider multiple conflicting objectives
• model variation effects without assumptions regarding distributions
• has to be efficient enough to handle large circuits.
• Hence, in this dissertation, we model and develop novel
statistical and runtime variation aware solutions for circuit
optimization considering process variations.
7
Statistical Timing Analysis
Static Timing Analysis
Min/Max
Min/Max
Element delay
Min/Max
Min/Max
Min/Max
Circuit delay
Statistical Timing Analysis
Element delay
as PDF/CDF
Circuit delay as PDF/CDF
• Variation awareness in VLSI started with PDF/CDF propagation
in timing analysis.
• Circuit optimization frameworks were then built on top of the
SSTA engine to optimize performance considering variations.
8
Mathematical Programming based Circuit
Optimization
• SSTA based iterative circuit optimization require a number of
complicated operations at each node and hence incur a
prohibitive runtime [Schmidt, EJOR 2000, Karkowski, ICSS 1995].
• Hence, the authors in [Mani, DAC 2005, Mani ICCD 2004], proposed
stochastic mathematical programming based circuit optimization.
• Mathematical programs are fast and has the capability to handle
large circuits
– Several circuit optimization problems like gate sizing, buffer insertion and
placement have well defined mathematical programming formulations
• The stochastic programming technique is reasonably fast, but can
be conservative in terms of yield and hence lesser savings in area
or power [Buckley, IJFSS 1990]
9
Fuzzy Mathematical Programming (FMP)
• FMP is a special case of Mathematical
programming
– with fuzzy variables in constraints or objective
functions.
– variations are modelled as fuzzy numbers.
– Similar to stochastic programming, fuzzy
programming involves a relaxation step
• FMP has been used to model uncertainty in
– scheduling, binding, testing, robotics,
pattern matching and artificial intelligence.
• A fuzzy number (linear, trapezoidal or nonlinear) is defined as a number whose precise
value is somewhat uncertain.
10
Motivation: Fuzzy Programming
• The author, in [Buckley, IJFSS 1990], highlighted that fuzzy
programming guarantees solutions better or at least as good as
stochastic programming and proved the same using Monte-Carlo
simulations.
• The bound constraints in fuzzy programming allows the FMP
to search for the optimal value instead of averaging a list of
close to optimal values as in stochastic programming.
• Fuzzy programming also handles variation parameter in the
objective function as opposed to constraints in stochastic
• Hence, we planned to use fuzzy programming based modeling
and solution for uncertainty aware VLSI circuit optimization.
11
Motivation: Dynamic Clock Stretching
• The proposed statistical design methods (fuzzy or
stochastic) are quite effective in the presence of
variations incurring reasonable overheads.
• However, when there are no variations occuring in
critical paths, the overheads still remain.
• To avoid this, we investigate a completely different
approach to handle process variations.
• A dynamic delay detection and clock stretching
technique is proposed to combat the effects of
process variations
12
Contributions of This Dissertation
Major Contributions
Modeling Variations in Process Parameters using Fuzzy
Membership Functions
Fuzzy Linear Programming Formulation for Variation Aware
Gate Sizing
Fuzzy and Stochastic Nonlinear Programming Formulation
for Variation Aware Timing Based Placement
Fuzzy Piece-Wise Linear Programming Formulation For
Variation Aware Buffer Insertion and Driver Sizing at Logic
and Layout Level
A Process Variation Tolerant Circuit Design using Dynamic
Clock Stretching
13
Outline of Presentation
Introduction, Motivation and Contributions
Introduction,
Motivation and Contributions
• Gate Sizing
Variation Aware Gate Sizing
• Previous works
Variation
Aware
Timing•based
Variation Aware
Gate Sizing
FuzzyPlacement
LP Formulation
• Fuzzy Gate Sizing Algorithm
Variation Aware Buffer Insertion and Driver Sizing
• Experimental Results
Dynamic
Clock Stretching
Variation Aware Timing based Placement
Variation Aware Buffer Insertion and Driver Sizing
Conclusions
Dynamic Clock Stretching
Conclusions
Publications
Publications
14
Variation Aware Gate Sizing (VA-GS)
• Gate sizing is one of the simplest, yet effective
technique for improving power/performance tradeoff in VLSI circuits
• Increasing size of a gate increases performance and
power consumption.
• The problem of gate sizing is well suited to be
formulated as a mathematical programming problem
• In this work, we formulate variation aware gate
sizing as a fuzzy linear programming problem,
maximizing timing yield with power and delay as
constraints.
15
Previous Works
17
Variation Aware Gate Sizing – Outline
•
Step 1: Formulation of linear models for gate delay and
dynamic power as functions of gate sizes.
•
Step 2: Modeling process variation in gate delay coefficients
by treating them as triangular fuzzy numbers.
•
Step 3: Formulating and solving the LP for Deterministic Gate
Sizing by setting the variation parameters to worst and
typical case -> we get bounds for fuzzy formulation.
•
Step 4: The bound values generated above are used to
convert fuzzy formulation into a corresponding crisp
formulation using symmetric relaxation.
•
Step 5: The crisp optimization problem is then solved
through a commercial nonlinear optimization solver.
18
Step 1: Power and Timing Models
• The power consumption of a gate is fitted as a linear
function of the gate size (si) only.
• Linear approximation for gate delay is adopted from
[Berkelaar, EDAC 90]
where a, b, c : constant coefficients from spice simulations
fo(i): fan-out of gate i;
si : size of gate i;
• The above equation describes, gate delay (di) as a
function of gate size (si) and sizes of its fan-out gates
19
Step 2: Modeling Variations
• The variations in gate length and oxide thickness are
translated to coefficients b and c in the delay equation
• The actual physical variability of these coefficients are
unknown, but they closely approximate gate length and
oxide thickness [Mani, ICCD 04]
• The fuzzy coefficients are modeled as triangular fuzzy
numbers of the form (bi,bi–gi, bi+gi) and (ci,ci–hi,ci+hi) and the
coefficients gi and hi represent the maximum variations
20
Step 3: Deterministic Gate Sizing: LP Formulation
• In this work, we use a delay constrained power
minimization formulation for gate sizing
• The deterministic version of the gate sizing
optimization problem can be shown as
where Pi is the power consumption of gate i, Dp is the delay of path p and
Tspec is the required timing specification of the circuit
• The variations in delay are transferred to the
coefficients b and c in the delay equation
21
Step 3: Pre-Processing for Creating
Crisp Problem
•
The deterministic LP problem is solved with gate
delay set to worst case (wc_sizing)
•
Next, the deterministic LP problem is also solved
with delay of a gate set to nominal case (nc_sizing)
•
The solution to these optimizations represent the
lower and upper bound values for variation aware
fuzzy gate sizing problem
22
Step 4: Variation Aware Fuzzy Gate Sizing
• Using these bound values from the pre-processing step and a variation
parameter lambda ) the fuzzy linear programming problem shown
below is converted to crisp programming problem.
• The solution to the crisp problem is in between the bound values and
represents an overall degree of satisfaction of the variation parameters
and the objectives of the optimization problem.
23
Step 4: Crisp Nonlinear VA-GS Problem
•
The crisp problem for VA-GS is given by,
Where is the variation parameter, ncsizing and wcsizing represent the values of
the objective functions from the deterministic pre-processing optimizations
and  varies from 0 to 1.
•
The crisp problem maximizes the variation resistance
(robustness), bounds the power value and satisfies the delay
constraints in an optimal fashion
24
Step 5: VA-GS Simulation
• VA-GS was tested on ITC’99
circuits
• AMPL – mathematical
programming language
format.
• KNITRO a commercial nonlinear optimization solver.
• A variation of 25% in gate
delay was assumed in
accordance with [Nassif, ISSCC
2000].
26
Experimental Results
The variation aware fuzzy gate sizing approach provides an average
improvement of 18% compared to DWC and 9% compared to
stochastic gate sizing without compromising on timing yield.
Monte-Carlo simulation
• The solution of the fuzzy technique is verified for timing
yield values using Monte-Carlo simulation
• We generated 10000 copy of all benchmark circuits with
random gate delay coefficients and fixed gate sizes from
the solution of the fuzzy approach
• The delay coefficients corresponding to gate length and
oxide thickness were treated as random numbers within
the nominal case and worst case range.
• The timing yield defined as the number of times delay of
the random circuit is less than Tspec value.
• The proposed fuzzy approach indicates a timing yield of
99% for the ITC benchmark circuits.
30
Outline of Presentation
Introduction, Motivation and Contributions
Introduction, Motivation and Contributions
Variation Aware Gate Sizing
Variation Aware Gate Sizing
• Timing Based Placement (TBP)
• Previous works
Variation
Aware
Timing• based
ProblemPlacement
Formulation
Variation Aware
Timing
based Placement
• Variation Aware Fuzzy TBP
Variation Aware Buffer•Insertion
and Driver Sizing
Stochastic TBP
• Experimental Results
Dynamic Clock Stretching
Variation Aware Buffer Insertion and Driver Sizing
Dynamic Clock Stretching
Conclusions
Conclusions
Publications
Publications
31
Timing Based Placement (TBP)
• Incremental placement for delay improvement is a
crucial step in the post layout timing convergence flow
• The TBP performs small changes to the cell locations,
after wire length driven standard cell placement, with
the objective of improving worst negative slack
• Previous works on timing driven placement [Choi, ICCAD 03]
has shown significant improvements of (upto 20%) in
worst negative slack
32
Variation Aware TBP
• The objective of timing based placement is to find
optimal locations of cells in a critical sub-circuit such
that the critical delay of the circuit is minimized.
• The timing based placement technique requires a
nonlinear programming approach, as net delay has a
quadratic dependence on net length
• We proposed two new solutions:
– (i) A fuzzy nonlinear program based solution
– (ii) A stochastic chance constrained programming based
solution
for variation aware timing based placement.
33
Taxonomy VA-TBP
36
Location Constraints and HPWL
• The variables leftx, rightx, lowery
and uppery are defined for every
net.
• For every cell at location (x,y)
connected to net, following
constraints are required,
leftx  x
rightx  x
lowery  y
uppery  y
uppery
Net
lowery
leftx
• Half perimeter wire length (HPWL)
of this net is then given by,
rightx
l  (rightx  leftx)  (uppery  lowery )
37
Variation Aware Fuzzy TBP – Outline
•
•
•
•
•
•
Step 1: Formulation of linear model for gate delay and
nonlinear model for interconnect delay.
Step 2: Modeling process variation in delay coefficients by
treating them as triangular fuzzy numbers.
Step 3: Estimate critical cells and calculate move distance.
Step 4: Formulating and solving the NLP for TBP by setting the
variation parameters to worst and typical case -> we get
bounds for fuzzy formulation.
Step 5: The bound values generated above are used to convert
fuzzy formulation into a corresponding crisp formulation using
symmetric relaxation.
Step 6: The crisp optimization problem is then solved through
a commercial nonlinear optimization solver.
38
Step 1: Gate and Interconnect Delay models
• We model gate delay as linear function of gate size (si) and
capacitance (Cpi). In timing based placement, the gate size (si)
does not change and only load seen by the gate changes, due to
change in interconnect length.
• The interconnect delay is modeled as a quadratic function of
the net length and can be shown as,
• Hence, in this work, we model timing based placement as a
nonlinear programming problem to maximize timing yield with
delay and location constraints
39
Step 3: Pre-Processing
The gates and interconnects in the most
critical path and the adjacency graph
within three levels are considered for
incremental timing based placement
The allowed movable distances of the
critical cells are set in proportion to the
criticality and the available free-space of
the cluster
41
Step 4: Deterministic TBP Formulation
• The deterministic version of the incremental timing based
placement problem can be shown as,
• The HPWL and location constraints are not shown here as they
are not affected by process variations. Here, arr is the arrival
time variable of gate and nets and Tspec is the required timing
specification of the circuit
• The problem is formulated to maximize the timing specification
(a pseudo for worst negative slack) with node based required
arrival time constraints.
42
Step 5: Crisp TBP Formulation
• Using these bound values from the pre-processing step and
a variation parameter lambda ) the uncertain nonlinear
programming problem is converted to a crisp nonlinear
problem.
• The problem aims to maximize variation resistance () and
maintains the timing specification in between the bound
values ( wc_tbp and nc_tbp)
44
Stochastic Timing Based Placement
• The stochastic formulation is cast as a robust
mathematical program, which captures variation
effects on the constraints using the mean and
variance of the uncertain parameters.
• The stochastic chance constrained programming
technique models uncertainty in delay using
probabilistic constraints.
45
Probabilistic Constraints
• The uncertain arrival time constraints modeled as
probabilistic constraints:
Where, (h) the probability at which the constraint has to be met
corresponds to the timing yield of the circuit
• The probabilistic constraints are relaxed to the
equivalent formulation with mean, cumulative
distribution and standard deviation
46
Stochastic TBP
• The resultant stochastic TBP problem can be shown as,
• Here, s) is the standard deviation and
is the
inverse cdf value of the distribution.
• In accordance with previous works [Prekopa, Kluwer 95], a inverse
cdf value of 3 is used for timing yield of 99.7%
47
Step 6: VA-TBP Simulation
• VA-TBP was tested on
ITC’99 benchmark
circuits
• KNITRO solver available
through NEOS is used
for both formulations
described in AMPL
format
48
Experimental Results
The variation aware fuzzy placement approach provides an average
improvement of 12% compared to DWC and the stochastic placement
methodology provided a 10% compared to DWC
Outline of Presentation
Introduction, Motivation and Contributions
Introduction, Motivation and Contributions
Variation Aware Gate Sizing
Variation
Aware
Gate Sizing
Variation Aware Timing
based Placement
Buffer Placement
Insertion and Driver Sizing (BIDS)
Variation Aware Timing•based
• Deterministic BIDS
Variation Aware
Buffer
Variation
Aware
Buffer •Insertion
and
Driver Sizing
Logic Level
BIDS
Insertion and Driver Sizing
• Logic versus Layout Level BIDS
Dynamic Clock Stretching
• Experimental Results
Dynamic Clock Stretching
Conclusions
Conclusions
Publications
Publications
50
Buffer Insertion and Driver Sizing (BIDS)
• Impact of interconnect driven performance optimization
is increasing in the nanometer era.
• In prior buffer insertion techniques, wires have been
divided into smaller segments and bring the wire delay
to almost linear in terms of its length.
• It has also been pointed out in [Saxena, TCAD 04], that 35% of
the total standard logic cells in a circuit will be buffers at
the 65nm technology level.
• Further, several works have pointed out that buffer
insertion coupled with driver sizing, in the optimization
phase, can reduce the number of buffers inserted.
51
Logic Level Variation Aware BIDS
• We formulate the buffer insertion and driver sizing
problem at the logic level as a piece-wise linear
program with variations modeled as fuzzy numbers.
• Piece-wise linear constraints are used for modeling
buffer insertion, when multiple buffers are to be
inserted in a net segment
• A look-up table based approximation is used for net
length modeling at the logic level
• Number of buffers and gate sizes used as pseudonym
for dynamic power consumption during BIDS
53
Logic Level Net Length Estimation
• Accurate modeling of the interconnect length at the logic
level is crucial to optimization at this level
• In this work, we estimate wire length using a fast and
accurate lookup table based estimation.
• Previous works, have used the Rent’s rule to derive the
upper bounds for interconnection lengths
• The rent’s rule however, does not hold true at all levels of
partition hierarchy in the nanometer era
• Hence, we use a table based methodology with number
of cells/interconnects and fan-out count of each cell as
the address for look-up
55
Logic Level Net Length Estimation
• The look-up table is created with layout-level wire length
results of sample benchmark circuits
• MCNC benchmark suite with gate complexity ranging
from 500 to 10000 gates were used for estimation
• Interconnects with same fan-out count is grouped and
the average net length for each fan-out count is
calculated
• For each fan-out count, nets are averaged again based
on gate count in the second dimension
• A maximum fan-out size of 20 is assumed and all nets
with more than 20 fan-out count are rounded to 20
56
Deterministic-BIDS
• The equation below shows the BIDS problem
formulated to minimize buffer and gate cost with
piece-wise required time constraints
57
Conversion to Crisp Formulation


The Objwc and Objnc from the deterministic-BIDS are the worst case
and nominal case objective values
Now with these pre-processed objective (Obj) values and a
variation resistance parameter (lambda), the fuzzy problem is
converted to the following crisp problem,
60
Experimental Setup
• The simulation flow for the
fuzzy-BIDS is shown in
Figure.
• Fuzzy-BIDS was tested on
ITC 99 benchmark circuits
mapped to user defined
technology library
• AMPL – mathematical
programming language
format
• KNITRO –interior point nonlinear optimization solver
61
Experimental Results
• The variation aware logic level fuzzy-BIDS approach
provides an average improvement of 35% on the number
of buffers and gate cost required to meet performance
and yield targets
62
Layout Level Variation Aware BIDS
• The variation aware buffer insertion at the layout level is
formulated to optimize variation resistance with delay
and cost (number of buffers and gate sizes) as
constraints.
• The layout level buffer insertion, however, has
restriction on the candidate buffer location to avoid
repeating the place and route step.
• The generation of candidate buffer locations is
performed by dividing the routed wires into channels.
• Sparse channels were preferred as candidates compared
to denser ones.
• A incremental legalization step is performed after the
layout level buffer insertion to remove overlaps
63
Layout Level BIDS Simulation
• The benchmark circuits for layout level BIDS were
placed and routed using cadence design encounter
tool to estimate actual wire lengths
• Similar to the logic level simulations, the layout level
AMPL models were solved with KNITRO nonlinear
programming (NLP) solver
• The AMPL models were rebuilt for layout level with
worst-case, nominal-case and fuzzy modeling
64
Logic Level versus Layout Level BIDS
• The cost function (number of buffers plus gate size increments)
comparing logic and layout level BIDS for various benchmarks is shown
in Figure.
• The average difference (among all benchmarks) in buffer plus gate cost
between logic and layout level simulations is within 10%
65
Outline of Presentation
Introduction, Motivation and
Contributions
Introduction, Motivation and Contributions
Variation
Variation
Aware Aware
TimingGate
basedSizing
Placement
Variation
Aware Gate Sizing
Variation Aware Buffer Insertion and Driver
Sizing
Variation Aware Timing based
Placement
• Motivation
• Related Work
Variation Aware Buffer Insertion and Driver Sizing
• Proposed Methodology
Dynamic Clock Stretching
• Example Evaluation
Dynamic Clock Stretching
• Experimental Results
Conclusions
Conclusions
Publications
Publications
66
Dynamic Clock Stretching: Motivation
• Statistical optimization methods (fuzzy, stochastic) have
been effective in improving the yield/cost tradeoffs for
circuits in the nanometer era
• However, statistical design methods over consume
power/delay even in the absence of variations
• Hence, solutions which can dynamically detect delay due
to variations and perform corrective/preventive action is
becoming necessary
• Here, we propose a dynamic delay detection and clock
stretching technique to prevent timing violations
67
Related Work: Dynamic Error Correction using
Adaptive Voltage Scaling
RAZOR: Dan Ernst et. al., MICRO 2003.
• The methodology uses a shadow latch to capture delayed transitions
and generates error signal, which is sent to the voltage controller
• The technique, based on current timing failures, corrects them from
happening in later cycles
68
Related Work: Critical Path Isolation Based
Variation Tolerance [Ghosh, ICCAD 2003]
• The methodology isolates critical paths.
• Evaluates the data in two cycles whenever critical paths
are activated.
• Works well on special designs with few critical paths, but
incurs delay overhead on random designs.
69
Related Work: Other Methods
• Adaptive voltage scaling based on Critical path
duplication [Burd, ISSCC 2000]
• Clock phase adjustment based on dynamic delay
buffer cell [Semiao, DDECS 2008]
• The dynamic delay buffer and critical path duplication
do not consider spatial correlation
• Dynamic delay buffer design considers variations in
process parameters and ignores temperature and
voltage variations
70
Basic Idea
• Irrespective of the variations occurring (P, V or T), we
would like to investigate solutions at circuit level to
combat variations with significantly less overheads.
• Identify and capture the delay due to process
variations early in the clock period
• Employ a delay detection circuit to identify if a
transition is delayed in the critical paths
• Delay the clock (or select a delayed clock) in the event
that the arrival of a signal is delayed due to process
variations.
71
Proposed Work: Dynamic Clock Stretching for
Variation Tolerance
72
Proposed Work: Discussion
• An important pre-processing step would be the
identification of critical locations (interconnects),
halfway in the critical path
• In the presence (absence) of variations, the
transitions have to be after (before) the negative
edge of the clock
• The positive level triggered latch, shown in Figure
captures the value floating on critical interconnect at
the positive level of the clock.
73
Proposed Work: Discussion
• If the transition is delayed due to process variations,
then the inputs to the XOR gate will be different.
• The multiplexor selects the normal (undelayed) or
delayed clock for the destination flip-flop based on
the value of the XOR gate output
• In the proposed approach, the delayed clock can be
dynamically selected, in case the signal propagation
is delayed in the data path due to process variations.
74
Proposed Work: Discussion
• The delay detection and clock stretching logic (CSL) is
added to the critical and near critical paths that can
potentially have timing failure due to process
variations
• Unlike voltage or frequency scaling, the proposed
methodology can provide immediate activation and
enable prevention of timing failures
• Since the detection circuit monitors data transitions
on critical interconnects, the methodology is
independent of the type of process variation (PVT).
75
Example Circuit Evaluation
• A chain of inverters in between
two flip-flops stages is chosen
as the example circuit.
• In this circuit, all interconnects
in the path switch making the
net halfway in the path, the
necessary critical interconnect.
• Next, we show the simulation snapshots for the
example circuit simulation
76
Simulation Snapshot of Example Circuit
77
Simulation Snapshot of Example Circuit
78
Simulation Snapshot of Example Circuit
79
Short paths and Pipelined critical paths
• In the context of clock stretching, the issue of short paths
and consecutively pipelined critical paths has to be
addressed.
• In nanometer designs, short paths are usually rare due to
the multiple objectives of power, performance and yield
• Plus, in this work, we only use a small margin for clock
stretching (approximately 10%), hence minimizing the
possibility of short path failures
• Secondly in pipeline circuits if a critical path is followed
by another critical path in the following pipeline stage,
the CSL methodology can cause timing failures.
• This is because the delayed clock circuitry reduces the
data capture time available in subsequent pipeline stage.
80
Monte-Carlo Flow for Timing Yield Estimation
• The simulation flow
for timing yield
estimation is shown
in Figure.
• A simple C program
was developed to
estimate timing yield,
with place-route and
timing analysis
reports
81
Timing Yield Results on Benchmarks
• Number of critical paths can be reduced by incremental
sizing/placement to improve CSL overhead
82
Clock Stretch Range Versus Timing Yield
Graph showing impact of clock stretching on timing yield.
• It can be clearly seen that 10% is a good choice
considering the objective of high timing yield and
short path failures
83
Conclusions
• In this research, we have proposed solutions for
improving timing yield considering variations without
significant over design.
• The fuzzy modeling is shown to effectively model
variations in linear, nonlinear and piece-wise linear
circuit optimization problems.
• Hence, the various algorithms and circuit
optimization methods proposed in this dissertation
research represent significant additions to the VLSI
CAD tools in the context of variation aware design.
84
Conclusions
• The proposed circuit level technique can be used to
dynamically detect delay in signals that occur due to
variations and stretch the clock to add the required
extra slack.
• This method is expected to make a significant impact
in the industry and a totally different approach from
the previous works.
85
Acknowledgements
• Semiconductor Research Corporation contract 2007-HJ-1596
• NSF Computing Research Infrastructure grant CNS-0551621
86
Publications
1. V. Mahalingam, N. Ranganathan and J.E. Harlow, ”Fuzzy Optimization Approach for Gate Sizing in the
presence of Process Variations”, IEEE Transactions on VLSI Systems, 16(8), Pages 975-984, Aug 2008
2. V. Mahalingam and N. Ranganathan, ”Timing Based Placement Considering Uncertainty due to Process
Variations”, Accepted for Publication (Feb 2009) in IEEE Transactions on VLSI Systems
3. V. Mahalingam and N. Ranganathan, ”Improving Accuracy in Mitchells Logarithmic Multiplication using
Operand Decomposition”, IEEE Transactions on Computers, 55(12), Pages 1523-1535, Dec 2006
4. V. Mahalingam, K. Bhattacharya, N. Ranganathan, H. Chakravarthula, R. Murphy and K. Pratt,”An Efficient
VLSI Architecture for Accurate Computation of Lucas-Kanade based Optical Flow”, Accepted for
Publication (Sep 2008) in IEEE Transactions on VLSI Systems
5. N. Ranganathan, U. Gupta and V. Mahalingam, ”Simultaneous Optimization of Total Power, Crosstalk
Noise, and Delay Under Uncertainty”, Great lakes symposium in VLSI (GLSVLSI), Pages 171-176, May
2008
6. V. Mahalingam and N. Ranganathan, ”A Fuzzy Optimization Approach for Process Variation Aware Buffer
Insertion and Driver Sizing”, IEEE Computer Society Annual Symposium on VLSI (ISVLSI), Pages 329-334,
Apr 2008
7. V. Mahalingam and N. Ranganathan, ”Variation Aware Timing based Placement using Fuzzy
Programming”, IEEE International Symposium on Quality Electronic Design (ISQED), Pages 327-332, Mar
2007
8. V. Mahalingam, N. Ranganathan and Justin E. Harlow, ”A Novel Approach for Variation Aware Power
Minimization during Gate Sizing”, IEEE International Symposium on Low Power Electronic Design
(ISLPED), Pages 174-179, Oct 2006
9. V. Mahalingam and N. Ranganathan, ”Variation Aware Circuit-Wise Buffer Insertion and Driver Sizing at
the Logic Level”, Submitted to Design Automation Conference (DAC), 2009
10. V. Mahalingam, N. Ranganathan, N. Ahmed and H. Towfique, “A Variation Aware Circuit Design using
Dynamic Clock Stretching”, Submitted to IEEE International Symposium on Low Power Electronic Design
(ISLPED), 2009
87
Download