Download Thesis Presentation Michael Steigerwald Spring 2007

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Time-to-digital converter wikipedia , lookup

Multidimensional empirical mode decomposition wikipedia , lookup

Islanding wikipedia , lookup

Signal-flow graph wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Transcript
Thesis Presentation
Michael Steigerwald
Spring 2007
Presentation Flow
1.
2.
3.
4.
5.
6.
7.
8.
Introduction To Soft Errors
Existing Works
Issues with Existing Works
Proposed Method
Results
Conclusion
Future Work
Questions
What is a soft error?
• When a charged particle
from solar radiation (or any
other radiation source)
penetrates the pn junction
of a transistor, it can create
electron-hole pairs
• In the presence of an
electric field, the strike can
create a current pulse,
which can in turn create a
temporary voltage change
at a node in a circuit
Alpha
n+
_+
_+
_+
p - substrate
_+
+
+
_
_+
_
+
_
+
_
Strike
n+
When does a strike cause a soft
error?
• Not all strikes have sufficient energy to
create a soft error
• A soft error is defined to be an error that
ends up being stored in some element in a
circuit
• This means that the charged particle must
have some minimum amount of energy to
generate a soft error in a given circuit
Qcrit
• The minimum amount of charge required
to cause a soft error at any given node is
called Qcrit
• Any particle with less charge than Qcrit will
not cause a soft error at that node, while
any charge greater than Qcrit will always
cause a soft error
Maskings
• There are three types of masking that
occur:
– Electrical Masking
– Logical Masking
– Latching Window Masking
Existing Work
• Previous Work:
– Horowitz Propagation Method
– Non-propagating Method
– SEAT-LA Method
– Reverse Propagation Method
Horowitz Propagating Method
• The Horowitz Method propagates a pulse
based on the rise and fall times along with
the gate delay
• Equations used by Horowitz Method:
Horowitz Propagating Method
• Problem Areas:
– Do not take into account the logical masking
• On a small test circuit we see a 55-60% difference
in the FIT for a given node
– Will show in later method that the propagation
method does not have the required accuracy
Non-propagating Method
• The Non-propagating method takes the worst case for
the path that is being evaluated.
• This method is also based on the delay of the gate.
• Positive Areas:
– Takes into account Logical Masking and Timing Window
Derating
– Limits the amount of SPICE simulations
• Problem Areas:
– The assumption that was made in the calculation of timing
derating
• Assume that the time of the glitch is set to hold time plus setup time
• We saw a 38-45% difference with the TWD assumption
– The method of calculating the electrical masking
SEAT-LA Method
• This method uses a modified Horowitz delay
model to calculate the electrical masking
SEAT-LA Method
SEAT-LA Method
• Pre-characterization is completed on all blocks in the
circuit and results loaded into a lookup table
• Positive Areas:
– Takes into account all of the maskings (logical, electrical,
latching window)
– Limit SPICE in method
• Problem Areas:
– Non-worst case for nodes on multiple paths
• We saw a 14-37% difference when not considering worst case
– Accuracy of the modified Horowitz model
• We saw a 0-24% difference vs. SPICE
Reverse Propagation Method
• This method propagates a pulse from the input
of a latch, back to the node that is being
characterized
Reverse Propagation Method
• Pre-characterization is done to determine the factors for
the reverse propagation
• Positive Areas:
– Takes into account internal nodes of gates
– Limits the use of SPICE
– Calculation of all three maskings
• Problem Areas:
– Rail-to-Rail assumption (key to being able to propagate
backwards)
– ATPG tool used for LM (we found this tool to give multiple
repeated patterns)
– Inaccurate results vs. SPICE
• We saw a difference of 0-19% vs. SPICE
Reverse Propagating Method
Problems with Existing Work
• Large Circuit Simulation
– None of the methods described have presented a
method that will be able to run on a large circuit
• Logical Masking Calculation
– If the logical masking was calculated for any of these
methods it was inaccurate or inefficient
• Electrical Masking Models
– All of the methods presented electrical masking
models that do not provide the accuracy that is
necessary for modern circuit designs
Proposed Method
•
3 Parts:
– Calculate Qcrit
– Calculate the Logical Masking
– Calculate the FIT
•
Diagram of the flow
Proposed Method
• Logical Masking Calculation
– Logical Masking: Probability that a strike will
propagate to a particular output
• By this definition, we have two logical masking values per
node per output, logical masking 0 (LM0) and logical masking
1 (LM1)
• For LM0 the node value must be 0 before the strike and for
LM1 the node value must be 1
• Our methods then not only cover the probability of a strike
being logically masked from the output but also the
probability that this node will have an initial value of 1/0, thus
making our approach much more accurate
Proposed Method
• 2 different methods
– ATPG Tool Method
– Monte Carlo Method
• The ATPG method is less accurate then
the Monte Carlo method but the run time is
much less and the memory usage is also
less
Proposed Method
• Monte Carlo Method
Start
Extrac t all the pattern
information from the
VCS result files
Get all the paths that
terminate in a latc h
Calc ulate the logic al
maskings for eac h
node
Extrac t all stage
c onnec tion
information from the
paths and c reate the
verilog netlist
Run VCS
Update the logic al
masking value stored
in eac h path head
Write the c ommand
file for VCS
End
LM node,output =
# of output changes
# of total patterns
Proposed Method
Proposed Method
• ATPG Method
Start
Extract all the pattern
information from the
Tetramax result files
Get all the paths for
each cone that
terminates in a latch
(stages)
Calculate the logical
masking for each
node
Extract all stage
connection
information from the
paths and create
verilog file
Run Tetramax
Update the logical
masking value stored
in each path head
Write the command
file for Tetramax
End
LM = (2(# of don’t cares))/(2(# of inputs))
Proposed Method
• Qcrit Calculation
– This is where the electrical masking is taken into
account
– A binary search is done to find the Qcrit for each node
in the path
I-V strike
Determine if pulse latched
?
L
L
V-V Propagation
Proposed Method
• Characterization
– Before the method can be implemented a characterization of
each of the gates in the circuit must be completed.
– This characterization is broken into two different
characterizations:
• I-V characterization
– This is where the current strike is converted to a voltage strike
– The output variables are WB, W50, H of the resultant pulse for the
inputs variables PulseWidth and node capacitance
• V-V characterization
– This is where the pulse will transfer from a gates input to its output
– The output variables are WB, W50, and H for the input variables of the
previous gates resultant WB, W50, H, and the node capacitance
Proposed Method
• Variable Definitions:
H
W50
WB
Proposed Method
• Interpolation is used to determine the correct
value from the database
• I-V example below, the same kind of
interpolation is also done from the V-V
PulseAmp
Height
α
C
β
A
X
X
ε
D
B
δ
Proposed Method
• Latching Determination
– Once a pulse is propagated to a latching
element, the next thing to look at is whether
the pulse will be latched
– This is done by pre-characterizing each latch
in the design
• This characterization is based on the incoming
pulse’s W50 and WB
Proposed Method
• Just as with the I-V propagation and the V-V propagation
the latching determination also uses a form of
interpolation to determine if a pulse will latch
x2
latched
x1
x2
not latched
X2 Latches in both cases
above
x1
Proposed Method
• The final section of the method is the
calculation of the FIT
• This calculation takes into account 3
variables
– Qcrit
– Logical Masking
– Timing Derating (Latching window masking)
• FIT calculation
– Qcrit
• An equation is used to translate the Qcrit found in
the previous section to FIT
• This equation is based on the process being used
and the probability of a strike of the resultant
charge needed to cause a soft error
– Logical Masking
• This is a straight derating figure for the FIT
calculation
Proposed Method
–Timing Derating
⎧
⎪0,
if (t setup + t hold ) > W pulse 50
⎪
⎪
TWD = ⎨1,
if (t setup + t hold + Tclock ) < W pulse 50
⎪
⎪W pulse 50 − t setup − t hold , otherwise
⎪⎩
Tclock
Proposed Method
• FIT Equation
FIT = FITstrike, particle * LM strike * TWD
• There are two types of particle strikes that are
taken into account Alpha and Neutron
– The only difference is the equation that is used to
translate the Qcrit to FIT, the probability is different
FITAlpha = FIT0 − >1,alpha + FIT1− >0,alpha
FITNeutron = FIT0 − >1,neutron + FIT1− >0,neutron
Proposed Method
• Only the worst case for each node is used in the
final calculation of the FIT for the entire circuit
• Then the FIT for each node is summed and this
is the FIT number for the circuit
• By calculating the FIT in this manner you could
easily find the FIT of a path or a cone
– This information could be valuable if you wanted to
use a method such as shadow latching to detect soft
error in control logic
Results
• Test circuits results
Results
• Logical Masking Results
Results
Summary
• With continued scaling, the issue of soft errors in
control logic has become a major reliability
concern
• The current published solutions to determining
the susceptibility of nodes to a soft error are not
as accurate as is required for the designers of
today
• Our method has the accuracy that is needed
without a major increase in the run-time
• Our results how that our method does work and
also the difference in the accuracy of the two LM
methods
Future Work
• Incorporate internal nodes of the gate into
the calculation of the FIT
• Some improvements can be made to the
calculation of the Timing Derating
• Determine if there is a way to improve the
accuracy of the method while not
increasing the run-time
Questions