Electronics and Computer Science Versatile HighLevel Synthesis of

  • Slides: 20
Download presentation
Electronics and Computer Science Versatile High-Level Synthesis of Self-Checking Datapaths Using an On-line Testability

Electronics and Computer Science Versatile High-Level Synthesis of Self-Checking Datapaths Using an On-line Testability Metric Petros Oikonomakos Bashir M. Al-Hashimi Mark Zwolinski Electronic Systems Design Group University of Southampton, UK

Motivation On-line testability and Self-checking design High-level synthesis ØHigh reliability requirements ØFast and efficient

Motivation On-line testability and Self-checking design High-level synthesis ØHigh reliability requirements ØFast and efficient design space exploration ØHostile environments Ø…but significant hardware and / or performance penalties ØFast time-to-market ØSpecification-driven optimisation at the highest level of abstraction High-level synthesis for on-line testability

Outline ØIntroduction ØPhysical and Algorithmic Duplication and Inversion-based Self-checking Design ØHigh-level Synthesis Background ØImplementation

Outline ØIntroduction ØPhysical and Algorithmic Duplication and Inversion-based Self-checking Design ØHigh-level Synthesis Background ØImplementation : Transforms, Metric, Algorithm ØSynthesis and Simulation Results ØConclusion

Introduction ØSelf-checking design at the RTL : typical in industry ØSelf-checking design before high-level

Introduction ØSelf-checking design at the RTL : typical in industry ØSelf-checking design before high-level synthesis ØSelf-checking design after high-level synthesis üOur approach : self-checking design within high-level synthesis!!!

Self-checking design Duplication Inversion CUT* CUT Comparator INV(CUT) Comparator ØCUT* : functionally equivalent to

Self-checking design Duplication Inversion CUT* CUT Comparator INV(CUT) Comparator ØCUT* : functionally equivalent to CUT ØINV(CUT) : functional “inverse” of CUT ØFault secure by nature ØFault secure for arithmetic modules

Self-checking design Physical vs. Algorithmic Duplication Physical Duplication • physically duplicated operators • over

Self-checking design Physical vs. Algorithmic Duplication Physical Duplication • physically duplicated operators • over 100% hardware overhead Algorithmic Duplication • behaviourally duplicated operations • possible significant hardware savings

Self-checking design Physical vs. Algorithmic Inversion Physical Inversion • no advantage over duplication Algorithmic

Self-checking design Physical vs. Algorithmic Inversion Physical Inversion • no advantage over duplication Algorithmic Inversion • allied to algorithmic duplication • possibly more hardware savings than algorithmic duplication

High-level synthesis background Øbehavioural HDL code Øinitial design iterative refinement (optimisation loop) Ødriven by

High-level synthesis background Øbehavioural HDL code Øinitial design iterative refinement (optimisation loop) Ødriven by a cost function Øbased on available (scheduling, allocation) transformations Øcontrolled by an algorithm

High-level synthesis optimisation loop transform and data selection validity check y transformation valid? n

High-level synthesis optimisation loop transform and data selection validity check y transformation valid? n n cost estimation perform transform? y execution perform another transform? end n y

Implementation - Transforms within the Multiple Objective Optimisation in Data and control path Synthesis

Implementation - Transforms within the Multiple Objective Optimisation in Data and control path Synthesis (MOODS) High-level Synthesis Suite N #1 C 1 #2 C 2 Initial state

Implementation - Transforms within the Multiple Objective Optimisation in Data and control path Synthesis

Implementation - Transforms within the Multiple Objective Optimisation in Data and control path Synthesis (MOODS) High-level Synthesis Suite N #1 C 1 N+1 C 3 N+2 #2 C 2 #2´ != Applying an on-line test resource insertion transform

Implementation - Transforms within the Multiple Objective Optimisation in Data and control path Synthesis

Implementation - Transforms within the Multiple Objective Optimisation in Data and control path Synthesis (MOODS) High-level Synthesis Suite N #1 C 1 #2 C 2 #2´ N+1 != Optimising for area

Implementation - Transforms within the Multiple Objective Optimisation in Data and control path Synthesis

Implementation - Transforms within the Multiple Objective Optimisation in Data and control path Synthesis (MOODS) High-level Synthesis Suite N #1 C 1 N+1 C 3 N+2 #2 C 2 #2´ != Applying an on-line test resource insertion transform

Implementation - Transforms within the Multiple Objective Optimisation in Data and control path Synthesis

Implementation - Transforms within the Multiple Objective Optimisation in Data and control path Synthesis (MOODS) High-level Synthesis Suite N #1 #2 #2´ C 1 C 2 C 3 != Optimising for speed

Implementation - Metric ØOverall cost function Cost=c 1α 1+c 2α 2+. . . +cnαn

Implementation - Metric ØOverall cost function Cost=c 1α 1+c 2α 2+. . . +cnαn Enhancing the cost function to include on-line testability Øαn+1=Ton-line=σ1 P 1+σ2 P 2(1 -P 1)+σ3[log(L-1)+σ4] P 1 : % of on-line testable operations P 2 : % average idle time availability L : average error latency σ1, σ2, σ3, σ4 : constants

Implementation - Algorithm ØSimulated annealing ØChoice between duplication and inversion based on clock period

Implementation - Algorithm ØSimulated annealing ØChoice between duplication and inversion based on clock period requirements ØArea- and / or delay-oriented heuristics …more on MOODS : reference [7]

Experimental results z z tseng es) are x x delay (μ diffeq y slic

Experimental results z z tseng es) are x x delay (μ diffeq y slic a( a( are x y slic s) s) a( delay (n are y testability % s) es) delay (n z qrs ü 3 -dimensional design space, on-line testability on the z-axis üx-y plane : untestable designs Ødesign space exploration

Experimental results The significance of design space exploration Optimisation Settings Results Area (slices) Area,

Experimental results The significance of design space exploration Optimisation Settings Results Area (slices) Area, delay 146 Max Freq. Cycles 48 MHz 7 Testability - Area, delay, testability 165 (+13%) 4 MHz 7 Inv (100%) Delay, testability (+17. 8%) 38 MHz 7 Dupl (100%) 172 (tseng benchmark) üoptimum design depends on clock speed requirements üthe tool provides options the designer makes decisions!

Experimental results Simulation Øtransparent fault injection and simulation, at the RTL Øindependent experiments, a

Experimental results Simulation Øtransparent fault injection and simulation, at the RTL Øindependent experiments, a single fault at a time Ørandom faults, random inputs Results (Tseng benchmark)

Conclusion ØIntegral, cost function-driven on-line test synthesis framework ØProperties and contributions: • Versatility :

Conclusion ØIntegral, cost function-driven on-line test synthesis framework ØProperties and contributions: • Versatility : hardware- or time-redundancy according to designer’s requirements • Fully automatic insertion of self-checking resources • Quantification of on-line testability • Utilisation of the inversion testing idea