180 likes | 327 Views
Using Implications for Online Error Detection. Kundan Nepal Electrical Engineering Dept. Bucknell University Lewisburg, PA 17837. Nuno Alves , Jennifer Dworak , R. Iris Bahar Division of Engineering Brown University Providence, RI 02912. NATW 2008. Online error detection.
E N D
Using Implications for Online Error Detection Kundan Nepal Electrical Engineering Dept. Bucknell University Lewisburg, PA 17837 NunoAlves, Jennifer Dworak, R. Iris Bahar Division of Engineering Brown University Providence, RI 02912 NATW 2008
Online error detection • Purpose: Detect transient faults that may occur in a circuit during operation • Critical as circuits scale to smaller sizes • “Easy” in memory logic • In circuit logic not so easy
Common online detection techniques • Stored pre-computed test vectors in hardware • Duplicating the computation of disjoint hardware elements and voting on the result • Use of check bits
Our approach • Find invariant relationships in a circuit • Violations of these expected relationships can identify errors
n1 n2 n8 n3 n4 n5 n6 n7 Invariant relationships in circuits These relationships are logic implications n5=1n8=0
n1 n2 n8 n3 n4 n5 n6 n7 Error detection with implications ERROR n5=1 & n8=1 will generate an error in checker logic n5=1n8=0
Logic Simulation Verilog Description Validate Implications Collect Logic Values At Each Site Find Implications How we find implications
Remove Redundant Implications Select Useful Implications Pick Best Implications For Given HW Overhead We have implications. Now what?
Why should we remove implications? • With all implications we can generate checker logic for each implication. • Inefficient! • A circuit can contain thousands of implications • generating separate checker logic for each implication could more than double circuit size. • We want to detect only the “most important” implications.
Removing redundant implications i1: n3=0 n8=0 i2: n4=1 n12=0 i3: n4=1 n8=0 i4: n12=0 n8=0 i5: n4=1 n13=0 n1 n2 n9 n12 n8 n13 n3 n10 n4 n5 n11 n6 n7
Removing low coverage implications • We only want implications that: • Detect many faults • Identify hard-to-detect faults • Cover faults not detected by other implications • Finding these important implications requires: • fault analysis to determine the specific fault coverage for each implication
Covering faults with implications • For each random input vector, and at each fault, the implications-based circuit operation can fall into the following 4 categories:
How often do we detect errors? Case1/[Case1+Case4]
Implications with fixed HW budgets • Given a fixed HW budget, by how much can we reduce the probability of an undetected error?
Conclusions • Practical online error detection alternative based on implication validation • No modification of targeted logic • Checker logic is added off the critical path and run in parallel rest of circuit. • For several circuits, we can detect almost 90% of all errors that propagate to a primary output. • With only a 10% area overhead, probability of an error being both observable and undetected is reduced to 11% on average