420 likes | 455 Views
HW5 and Final Project Yield Estimation and Optimization for 6-T SRAM Cell. Fang Gong gongfang@ucla.edu. Outline. Introduction Background HomeWork 5 [due on Feb. 20] Final Project [due on March. 22]. Process Variation. Process Variation becomes larger with technology scaling
E N D
HW5 and Final ProjectYield Estimation and Optimization for 6-T SRAM Cell Fang Gong gongfang@ucla.edu
Outline • Introduction • Background • HomeWork 5 [due on Feb. 20] • Final Project [due on March. 22]
Process Variation Process Variation becomes larger with technology scaling Larger Variations lead to lower Yield Rate Yield Rate is defined as It is significant to estimate and further optimize the yield rate considering process variation!
WL PR PL AXL AXR NL NR BR BL Impact of Process Variations in SRAM Cell • Parametric Failures • Read Failure • Write-Failure • Intra-die process variations device mismatch in SRAM cell cell failure • In particular: random dopant fluctuation threshold voltage variations in memory cell
SRAM reading failure SRAM 6T Cell considering Reading Failure td ΔV • Initially, BL and BLB are pre-charged to ‘1’ (high voltage). • When reading the SRAM cell, the WL becomes ‘1’, and hold for a while. • When WL becomes ‘1’, the BLB starts to discharge from high voltage, and produces a voltage difference ΔV between it and BL. • The time for BLB to produce a large enough ΔV is td. • If td is larger than the threshold, this leads to an reading failure.
SRAM writing Failure SRAM 6T Cell considering Writing Failure WL data ndata td L • Initially, BL is pre-charged to ‘1’ (high voltage) and BLB is ‘0’. • When writing the SRAM cell, the WL becomes ‘1’, and hold for a while. • When WL becomes ‘1’, the “data” node starts to increase to high voltage and “ndata” node starts to discharge to low voltage. • The time for voltage at “data” node becomes larger than that at “ndata” is td. • If td is larger than the WL hold time, this leads to an writing failure.
Yield Estimation for SRAM Yield Rate Estimation for SRAM Cell considering reading failure Variational case Nominal case • The threshold voltage (Vth) and Channel Length (Leff) can be derivate from the nominal value in the design stage due to process variation. • The variable parameters (Vth, Leff) can change the discharge speed at BLB, and lead to reading failure. • The yield constraint can be given as: At the time-step Tmax, the voltage difference between BL and BLB should be larger than. ΔVthreshold
Outline • Introduction • Background • Methods in Performance Domain • Methods in Parameter Domain • HomeWork 5 [due on Feb. 20] • Final Project [due on March. 22]
Yield Estimation Strategy • Yield Estimation Techniques can be estimated in two space: • Performance domain: contains all possible performance merits of interest. obtained from simulations over different parameter samplings. • Monte Carlo method, Quasi Monte Carlo, Importance Sampling, Response Surface Model and etc. • Parameter domain: bounded by min and max of all process parameters with consideration of their correlations. • Nonlinear Surface Sampling, Surface-point Finding Strategy and etc.
Direct Monte Carlo Method • Traditional Monte Carlo Method Steps: • Sampling within the entire parameter domain according to the probability distribution. • Perform circuit simulation with each set of sampled parameters to obtain a performance merit value. • Yield can be estimate with percentage of samplings with acceptable performance when compared with the given performance constraints. Variable parameters Performance Space Monte Carlo method is highly time-consuming!
Quasi- Monte Carlo • Quasi-Monte Carlo (QMC) uses quasi-random sequences rather than random samplings. • QMC steps: • Generate quasi-random numbers following specific distributions. • Convert them to random numbers following desired distribution. • Perform simulations and find the yield rate. • For example, Sobol sequence follows a uniform distribution • Can be converted to Gaussian distribution using • is the inverse cumulative distribution function (inverse CDF) of the Gaussian distribution. • x follows the Gaussian distribution.
Quasi- Monte Carlo (cont.) • QMC vs. MC • QMC uses deterministic quasi-random sequences so that to cover the entire parameter space with fewer samplings. • For example, both method use 200 samplings and lead to different results. • QMC can converge with O(1/N), much faster than MC (O(1/sqrt(N))) Samplings from MC Samplings from QMC
Importance Sampling Method • Traditional Monte Carlo method is very time-consuming. • Modifying the sampling distribution according to performance distribution • When applied properly, enormous samplings (several orders of magnitude) can be avoided.
Sampling Distribution Example • Assume the initial parameter distributionis normal distribution, and samples at tailregion have large probability to be fail. • MC wastes a lot of time to sampling around the mean rather than in the tails. • Modified Sampling distribution: • Step 1: Perform MC with uniform distribution to find the failure region; • Step 2: Shift the natural distribution into the failure region • Difficulty: • It is usually difficult to obtain the optimal sampling distribution.
IS Example for SRAM Cell Case Sampling from MC in parameter domain Sampling from IS in parameter domain
Response Surface Model (RSM) • Statistical Device Models: • Define a set of random variables {Δx1, Δx2, ...} • BSIM parameters are modeled as function of Δxi’s
Basic Idea in RSM • Response Surface Modeling method approximate circuit performance (e.g. delay) as an analytical function of all process variations (e.g. VTH, etc ) • Hide complicated circuit simulation. • Result in a multi-dimensional model fitting problem. • Response Surface Model can be used to • Estimate performance variability • Identify critical variation sources • Handle high dimensionality • Etc.
High Dimensionality • Process variation must be modeled by a large number of independent random variables • Results in high-dimensional variation space • Example: 65nm CMOS process • About 10 independent random variables to model the random variations of a single transistor
Implementation Method • Linear modeling example: • Generate sampling points • Solve model coefficients by over-determined linear equations Accuracy can be improved by using 2 or more order function.
CPU Runtime Comparison for SRAM Cell Example • Only consider access time failure during reading operation • Compare runtime from different methods in performance domain
Outline • Introduction • Background • Methods in Performance Domain • Methods in Parameter Domain • HomeWork 5 [due on Feb. 20] • Final Project [due on March. 22]
Yield Surface in Parameter Space Parameter space is the space bounded by the min and max of all parameters around nominal values Yield surface separates success region from failure region success region lead to acceptable performance Success region Yield Boundary ƒm(γp)=ƒworst • Yield Boundary: 2-D problem • Yield Surface: 3-D or higher dimensional problems
Definition of Yield by Yield Surface Ssuccess: the region where parameters lead to successful performance. Sentire: the entire space that variable parameters can be reached Assume uniform distributions Success region Fail region Yield = Ssuccess / Sentire *Luc Devroye. Non-Uniform Random Variate Generation. New York: Springer-Verlag, 1986.
Framework of Nonlinear Surface Sampling (1) Describe circuit by differential algebraic equation (DAE) system → performance surface Performance constraints → constraint plane Yield boundaryis the projection of intersection boundary Local searches ƒm(γp)=ƒworst Reference: P. Cox, P. Yang, and P. Chatterjee, IEDM’83; S. Srivastava and J. Roychowdhury, CICC’07; C. Gu and J. Roychowdhury, ASPDAC2008
Nonlinear Surface Sampling (2) Perform SPICE simulation with initial parameters; Compare performance merit with performance constraints; If not satisfied, select new parameters and repeat. p2 p1 p0 Multiple local searches along tangent direction of DAE for one point on yield surface How to locate the yield boundary in the parameter space with global search?
Surface-point Finding Strategy (QuickYield) Existing Method QuickYield • Including performance constraints in DAE system • Introduce variable parameters as unknowns
Surface Point Identification Parameter finding is initially for device optimization, and is applied in yield estimation Original circuit in DAE representation: performance constraint can be integrated into DAE system as: Yield Boundary The nonlinear system can be solved with Newton-Raphson Iterations.
Example: 3 stage Ring Oscillator • Consider period as performance merit. • Introduce Vth variation to the two MOSFETs in the first stage. • QuickYield can provide high accuracy. • QuickYield can achieve up to 519X speedup over MC.
Outline • Introduction • Background • HomeWork 5 [due on Feb. 20] • Final Project [due on March. 22]
Homework 5 • Yield Estimation using Monte Carlo and QMC Methods • Consider “access time failure” : the time that voltage difference between BL_B and BL becomes larger than certain value. • The schematic are shown as below • Initial Value: • BL_B=1; Q_B=0; Q=1; BL=1; • Variation Source: • Vth (threshold voltage) of Mn1 and Mn2 • Leff of Mn1 and Mn2 • Device Model: • Use BSIM3 model for all MOSFETs
netlist • Netlist for 6-T cell SRAM • * SRAM netlist • Vdd dd 0 5 • Mn1 3 2 0 0 nmos • Mn2 3 5 4 4 nmos • Mn3 2 3 0 0 nmos • Mn4 2 5 1 1 nmos • Mp5 3 2 dd dd pmos • Mp6 2 3 dd dd pmos • all MOSFETs should use BSIM3 model
Detailed Steps • Performance Constraint: • The voltage difference between BL_B and BL should be larger than ∆v at the time-steptthresh. • Use Monte-Carlo and Quasi-Monte Carlo to calculate the yield Y, which is the percentage of circuits with satisfied performance. • Steps: • (1) Use MC and QMC to generate random sequences for two variable parameters with Matlab code. • (2) Perform transient simulations with these sequences, and compare the variable performance with constraint. • (3) Calculate the yield rate with definition. • Nominal Values, Performance Constraint and required Matlab code will be posted on wiki website
Outline • Introduction • Background • HomeWork 5 • Final Project [due on March. 22]
Yield Optimization in Parameter domain Yield Optimization by changing nominal values Take two variable parameter case as an example • rectangular is the box [p1min, p1max]×[p2min, p2max] • each parameter can change within its feasible range determined by process technology. • The nominal parameters can lead to successful performance. • As the parameters move away from the design point, the circuit's performance also changes away from its nominal value. • there exists a region around the nominal design point where the performance remains acceptable • It is possible to improve the yield rate by choosing optimal nominal values.
Variable Parameter Specification • There are four (independent) variable parameters: • M1 Vth and Leff (Nominal Value: Vth = 0.2607V, Leff = 0.1um) • M2 Vth and Leff (Nominal Value: Vth = 0.2607V, Leff = 0.1um) • They have variations of Gaussian distributions • The [min, max] and variation (3σ) for each parameters are: • Vth: min = 0.2V, max = 0.5V, 3σ=30% of nominal value • Leff: min = 0.095um, max = 0.105um, 3σ=10% of nominal value Note: nominal values for other invariable parameters can be found in provided files.
Performance Constraints Performance Constraints should be satisfied at the same time: (1) Reading and Writing Failure: Reading: voltage difference between BL and BLB should be larger than 164.3mV at time step 10ps. Writing: voltage at “data” node should be larger than voltage at “ndata” node at time step 41ps (2) The Power Consumption at the nominal point should be smaller than initial design. (3) The Area at the nominal point should be smaller than initial design The optimal design should have largest Yield rate (considering process variations), and minimum power consumption and area. Yield rate is the most important performance constraint. Efficiency is also Important, the CPU Rum-Time should be kept lowest.
Baseline Algorithm (1) The straightforward way is to do exhaust-search in the design space. Step 1: generate sample sequences for all variable parameters with QMC M2-Leff(nm) M1-Leff(nm) M1-Vth(V) M2-Vth(V) Leff (nm)
Baseline Algorithm (2) Step 2: Generate SPICE Net-list file to do MC simulations.
Baseline Algorithm (3) Step 3: Parse the SPICE output to extract the voltage at 10ps, and power consumption. Step 4: Calculate the Yield Rate with performance constraint. Step 5: Select the optimal design point by comparing the Yield Rate, Power and Area. Success Sampling Fail Sampling
Baseline Algorithm (4) – Experiment Table I. Nominal Parameter Comparison Table II. Performance Comparison You may find multiple parameter points for optimal design.
Final Project Description Now, It is your turn to obtain the optimal design by choosing optimal nominal values for variable parameters and considering following constraints at the same time: (1) Yield Rate: With the optimal nominal values, the yield rate should be maximum considering both reading and writing failures. (2) Power Consumption: The optimal design should have smaller Power Consumption than initial design. (3) Area: The optimal design should have smaller Area than initial design. (4) Run-Time: PLEASE use as LESS Monte Carlo simulations as possible. Note: Please report all these performances in your report, and explain why your method can be efficient and accurate.