Download presentation
Presentation is loading. Please wait.
Published byAron Richardson Modified over 6 years ago
1
Fang Gong gongfang@ucla.edu
HW5 and Final Project Yield Estimation and Optimization for 6-T SRAM Cell Fang Gong
2
Final Project [due on March. 22]
Outline Introduction Background HomeWork 5 [due on Feb. 20] Final Project [due on March. 22]
3
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!
4
Impact of Process Variations in SRAM Cell
BL BR WL NR PR NL PL AXR AXL 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
5
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.
6
SRAM writing Failure SRAM 6T Cell considering Writing Failure WL td
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.
7
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
8
Final Project [due on March. 22]
Outline Introduction Background Methods in Performance Domain Methods in Parameter Domain HomeWork 5 [due on Feb. 20] Final Project [due on March. 22]
9
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.
10
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!
11
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.
12
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
13
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.
14
Sampling Distribution Example
Assume the initial parameter distribution is normal distribution, and samples at tail region 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.
15
IS Example for SRAM Cell Case
Sampling from MC in parameter domain Sampling from IS in parameter domain
16
Response Surface Model (RSM)
Statistical Device Models: Define a set of random variables {Δx1, Δx2, ...} BSIM parameters are modeled as function of Δxi’s
17
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.
18
Results in high-dimensional variation space Example: 65nm CMOS process
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 Circuit Name Transistor # random Variable # SRAM Cell ~ 6 ~ 60 OpAmp ~ 50 ~ 500 ADC ~ 2K ~ 20K
19
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.
20
CPU Runtime Comparison for SRAM Cell Example
Only consider access time failure during reading operation Compare runtime from different methods in performance domain
21
Final Project [due on March. 22]
Outline Introduction Background Methods in Performance Domain Methods in Parameter Domain HomeWork 5 [due on Feb. 20] Final Project [due on March. 22]
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
23
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 Yield = Ssuccess / Sentire Success region Fail region *Luc Devroye. Non-Uniform Random Variate Generation. New York: Springer-Verlag, 1986.
24
Framework of Nonlinear Surface Sampling (1)
Describe circuit by differential algebraic equation (DAE) system → performance surface Performance constraints → constraint plane Yield boundary is 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
25
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?
26
Surface-point Finding Strategy (QuickYield)
Existing Method QuickYield Objective: Find the variable parameter that can satisfy the performance constraint exactly. The solved parameters can locate boundary points on the yield boundary. Including performance constraints in DAE system Introduce variable parameters as unknowns
27
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.
28
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.
29
Final Project [due on March. 22]
Outline Introduction Background HomeWork 5 [due on Feb. 20] Final Project [due on March. 22]
30
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
31
netlist Netlist for 6-T cell SRAM * SRAM netlist Vdd dd 0 5
Mn nmos Mn nmos Mn nmos Mn nmos Mp5 3 2 dd dd pmos Mp6 2 3 dd dd pmos all MOSFETs should use BSIM3 model
32
Detailed Steps Performance Constraint:
The voltage difference between BL_B and BL should be larger than ∆v at the time-step tthresh. 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
33
Final Project [due on March. 22]
Outline Introduction Background HomeWork 5 Final Project [due on March. 22]
34
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.
35
Variable Parameter Specification
There are four (independent) variable parameters: M1 Vth and Leff (Nominal Value: Vth = V, Leff = 0.1um) M2 Vth and Leff (Nominal Value: Vth = V, 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.
36
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.
37
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)
38
Baseline Algorithm (2) Step 2: Generate SPICE Net-list file to do MC simulations.
39
Baseline Algorithm (3) Success Sampling 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. Fail Sampling
40
Baseline Algorithm (4) – Experiment
Table I. Nominal Parameter Comparison Mn1 Leff (m) Mn1 Vth (V) Mn2 Leff (m) Mn2 Vth (V) Initial Design 1e-07 0.2607 Optimal Design 9.5e-8 0.35 0.2 Table II. Performance Comparison Power (W) Area(m2) Yield (only reading) Yield ( only writing) Yield (reading + writing) Initial Design 8.9877e-06 1.8813e-013 0.534 0.854 0.454 Optimal Design 8.9139E-06 1.2918e-013 0.996 0.999 You may find multiple parameter points for optimal design.
41
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.
42
Thank you!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.