DSD 2007 Concurrent Error Detection for FSMs Designed for Implementation with Embedded Memory Blocks of FPGAs Andrzej Krasniewski Institute of Telecommunications.

Slides:



Advertisements
Similar presentations
Survey of Detection, Diagnosis, and Fault Tolerance Methods in FPGAs
Advertisements

Defect Tolerance for Yield Enhancement of FPGA Interconnect Using Fine-grain and Coarse-grain Redundancy Anthony J. YuGuy G.F. Lemieux September 15, 2005.
Address comments to FPGA Area Reduction by Multi-Output Sequential Resynthesis Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1.
ECE 506 Reconfigurable Computing ece. arizona
Lecture 15 Finite State Machine Implementation
Commercial FPGAs: Altera Stratix Family Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
10/14/2005Caltech1 Reliable State Machines Dr. Gary R Burke California Institute of Technology Jet Propulsion Laboratory.
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Floating-Point FPGA (FPFPGA) Architecture and Modeling (A paper review) Jason Luu ECE University of Toronto Oct 27, 2009.
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
Self-Checking Carry-Select Adder Design Based on Two-Rail Encoding
Fault-Tolerant Softcore Processors Part I: Fault-Tolerant Instruction Memory Nathaniel Rollins Brigham Young University.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
BIST for Logic and Memory Resources in Virtex-4 FPGAs Sachin Dhingra, Daniel Milton, and Charles Stroud Electrical and Computer Engineering Auburn University.
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
Feng-Xiang Huang A Low-Cost SOC Debug Platform Based on On-Chip Test Architectures.
Lecture 2: Field Programmable Gate Arrays I September 5, 2013 ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I.
Convolutional Code Based Concurrent Error Detection in Finite State Machines Konstantinos N. Rokas Advisor: Prof. Yiorgos Makris.
Programmable logic and FPGA
FPGA Defect Tolerance: Impact of Granularity Anthony YuGuy Lemieux December 14, 2005.
ENGIN112 L25: State Reduction and Assignment October 31, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 25 State Reduction and Assignment.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
The Xilinx Spartan 3 FPGA EGRE 631 2/2/09. Basic types of FPGA’s One time programmable Reprogrammable (non-volatile) –Retains program when powered down.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
Finite State Machines. Binary encoded state machines –The number of flip-flops is the smallest number m such that 2 m  n, where n is the number of states.
Labs Practicing in Design of Combinational Networks and FSM with Concurrent Error Detection Tatjana Stanković, Goran Djordjević, Mile Stojčev 2075 Microprocessor.
A comprehensive method for the evaluation of the sensitivity to SEUs of FPGA-based applications A comprehensive method for the evaluation of the sensitivity.
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
A Flexible DSP Block to Enhance FGPA Arithmetic Performance
Department of Communication Engineering, NCTU 1 Unit 5 Programmable Logic and Storage Devices – RAMs and FPGAs.
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable.
Power-Aware RAM Processing for FPGAs December 9, 2005 Power-aware RAM Processing for FPGA Embedded Memory Blocks Russell Tessier University of Massachusetts.
J. Greg Nash ICNC 2014 High-Throughput Programmable Systolic Array FFT Architecture and FPGA Implementations J. Greg.
© 2003 Xilinx, Inc. All Rights Reserved Synchronous Design Techniques.
More Digital circuits. Ripple Counter The most common counter The problem is that, because more than one output is changing at once, the signal is glichy.
Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Section 1  Quickly identify faulty components  Design new, efficient testing methodologies to offset the complexity of FPGA testing as compared to.
© 2010 Altera Corporation - Public Lutiac – Small Soft Processors for Small Programs David Galloway and David Lewis November 18, 2010.
Using Memory to Cope with Simultaneous Transient Faults Authors: Universidade Federal do Rio Grande do Sul Programa de Pós-Graduação em Engenharia Elétrica.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Evaluating Logic Resources Utilization in an FPGA-Based TMR CPU
In-Place Decomposition for Robustness in FPGA Ju-Yueh Lee, Zhe Feng, and Lei He Electrical Engineering Dept., UCLA Presented by Ju-Yueh Lee Address comments.
Digital Circuits Introduction Memory information storage a collection of cells store binary information RAM – Random-Access Memory read operation.
CDA 4253 FPGA System Design RTL Design Methodology 1 Hao Zheng Comp Sci & Eng USF.
A4 1 Barto "Sequential Circuit Design for Space-borne and Critical Electronics" Dr. Rod L. Barto Spacecraft Digital Electronics Richard B. Katz NASA Goddard.
A Simplified Approach to Fault Tolerant State Machine Design for Single Event Upsets Melanie Berg.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 99-1 Under-Graduate Project Design of Datapath Controllers Speaker: Shao-Wei Feng Adviser:
Paper by F.L. Kastensmidt, G. Neuberger, L. Carro, R. Reis Talk by Nick Boyd 1.
Cpe 252: Computer Organization1 Lo’ai Tawalbeh Lecture #3 Flip-Flops, Registers, Shift registers, Counters, Memory 3/3/2005.
Gunjeet Kaur Dronacharya Group of Institutions. Outline I Random-Access Memory Memory Decoding Error Detection and Correction Read-Only Memory Programmable.
A Survey of Fault Tolerant Methodologies for FPGA’s Gökhan Kabukcu
A Brief Introduction to FPGAs
Exploring SOPC Performance Across FPGA Architectures Franjo Plavec June 9, 2006.
FPGA 상명대학교 소프트웨어학부 2007년 1학기.
Chandrasekhar 1 MAPLD 2005/204 Reduced Triple Modular Redundancy for Tolerating SEUs in SRAM based FPGAs Vikram Chandrasekhar, Sk. Noor Mahammad, V. Muralidharan.
Class Exercise 1B.
Floating-Point FPGA (FPFPGA)
A New Logic Synthesis, ExorBDS
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Introduction to Programmable Logic
FPGA Implementation of Multicore AES 128/192/256
FIGURE 7.1 Conventional and array logic diagrams for OR gate
Sequential circuits and Digital System Reliability
Presentation transcript:

DSD 2007 Concurrent Error Detection for FSMs Designed for Implementation with Embedded Memory Blocks of FPGAs Andrzej Krasniewski Institute of Telecommunications WARSAW UNIVERSITY OF TECHNOLOGY

CED for FSMs Designed for Implementation with EMBs of FPGAs - 2 DSD’07A.Krasniewski Why CED for FSMs implemented with SRAM-based FPGAs?  configuration memory - susceptible to transient faults  embedded memory (major component of FSMs) - more susceptible to transient faults than logic  architectural features of FPGAs with embedded memory make CED relatively inexpensive Earlier proposed techniques, intended for FSMs implemented with gates and FFs (standard cells) - unsuitable GOAL Develop a low-cost CED scheme for FSMs implemented using embedded memory of FPGAs Motivation

CED for FSMs Designed for Implementation with EMBs of FPGAs - 3 DSD’07A.Krasniewski  Implementation of FSMs using FPGAs with embedded memory  Concurrent error detection - architecture - effectiveness of fault detection - overhead  Conclusion OUTLINE

CED for FSMs Designed for Implementation with EMBs of FPGAs - 4 DSD’07A.Krasniewski  Implementation of FSMs using FPGAs with embedded memory  Concurrent error detection - architecture - effectiveness of fault detection - overhead  Conclusion OUTLINE

CED for FSMs Designed for Implementation with EMBs of FPGAs - 5 DSD’07A.Krasniewski IOEs DSP block LABs M4K RAM block LABs M-RAM block M512 RAM block Altera Stratix Embedded memory in FPGAs - Example

CED for FSMs Designed for Implementation with EMBs of FPGAs - 6 DSD’07A.Krasniewski read/write memory modules RAM FIFO shift registers read-only memory modules (ROMs) implementation of combinational logic implementation of sequential logic (FSMs) Embedded memory in FPGAs - Applications

CED for FSMs Designed for Implementation with EMBs of FPGAs - 7 DSD’07A.Krasniewski ROM m+p ADDRESS REGISTER p n m address output input SIMPLE STRUCTURE entire combinational logic located in memory (ROM) ROM-based FSM design next state w w < m+p ADDRESS MODIFIER (gates) ADDRESS REGISTER p n m address output input EXTENDED STRUCTURE next state ROM limited applicability – requires large memory

CED for FSMs Designed for Implementation with EMBs of FPGAs - 8 DSD’07A.Krasniewski Embedded Memory LUTs in PLBs (Xilinx CLBs, Altera LEs) ADDRESS REGISTER address output input next state ROM FSM design for FPGA with embedded mem. CED scheme in [DFT’04] ADDRESS MODIFIER flip-flops in PLBs (internal register of Emb Mem)

CED for FSMs Designed for Implementation with EMBs of FPGAs - 9 DSD’07A.Krasniewski Embedded Memory ADDRESS REGISTER address output input next state ROM flip-flops in PLBs (internal register of Emb Mem) FSM design for FPGA with embedded mem. Embedded Memory studies in synthesis of FPGA-based circuits new CED scheme ADDRESS MODIFIER

CED for FSMs Designed for Implementation with EMBs of FPGAs - 10 DSD’07A.Krasniewski ADDRESS REGISTER embedded memory input X next state Q memory H FSM design for FPGA with embedded mem. memory G ADDRESS MODIFIER clock A1A2A2 „ROM” Qa, Qb Xa, Xb embedded memory programmable logic components Xb, XcQb, Qc output Y input X, next state Q group a → Addr Reg group b → Addr Reg & Mem G group c → Mem G

CED for FSMs Designed for Implementation with EMBs of FPGAs - 11 DSD’07A.Krasniewski  Implementation of FSMs using FPGAs with embedded memory  Concurrent error detection - architecture - effectiveness of fault detection - overhead  Conclusion OUTLINE

CED for FSMs Designed for Implementation with EMBs of FPGAs - 12 DSD’07A.Krasniewski GOAL: low-cost solution Assumptions ADDR REG address output input next state memory H („ROM”) memory G (ADDR MOD) CED scheme:  can add to the width of the mem. word  cannot add to the width of mem. address state encoded with a minimal no. of bits earlier proposed CED techniques for sequential circuits (based on state encoding with EDC) - not applicable one extra bit of address → size of the required memory doubles address space of EMBs - quite limited (address  13 bits) width of the embedded memory word can be extended significantly with no impact on the performance (speed) of the circuit

CED for FSMs Designed for Implementation with EMBs of FPGAs - 13 DSD’07A.Krasniewski INPUT clock XapQab’ address A ADDRESS REGISTER ADDRESS PARITY CHECKER ERR4OUTPUT ERR2 XbQaQbA2 A1 AUXILIARY CHECKER next state OUTPUT PARITY CHECKER ADDRESS MODIFIER pXab’ Qb + pQab + ’pAQc + Qa + pYpQc + ’LY pXQcpA2’A2 pXQcpA2’pXc’pQc’ pXab’XaXbXcpXc’ „ROM” ERR1 ERR3 Proposed CED scheme

CED for FSMs Designed for Implementation with EMBs of FPGAs - 14 DSD’07A.Krasniewski Error detection mechanisms ERR1 parity checking for address to memory H ERR2 parity checking for data feeding memory G only ERR3 parity checking for output ERR4 checking for address legality (optional) Checkers implemented with PLBs (outputs – in two-rail code)

CED for FSMs Designed for Implementation with EMBs of FPGAs - 15 DSD’07A.Krasniewski INPUT clock XapQab’ address A ADDRESS REGISTER ADDRESS PARITY CHECKER ERR4OUTPUT ERR2 XbQaQbA2 A1 AUXILIARY CHECKER next state OUTPUT PARITY CHECKER ADDRESS MODIFIER pXab’ Qb + pQab + ’pAQc + Qa + pYpQc + ’LY pXQcpA2’A2 pXQcpA2’pXc’pQc’ pXab’XaXbXcpXc’ „ROM” ERR1 ERR3 parity checking for address to memory H

CED for FSMs Designed for Implementation with EMBs of FPGAs - 16 DSD’07A.Krasniewski INPUT clock XapQab’ address A ADDRESS REGISTER ADDRESS PARITY CHECKER ERR4OUTPUT ERR2 XbQaQbA2 A1 AUXILIARY CHECKER next state OUTPUT PARITY CHECKER ADDRESS MODIFIER pXab’ Qb + pQab + ’pAQc + Qa + pYpQc + ’LY pXQcpA2’A2 pXQcpA2’pXc’pQc’ pXab’XaXbXcpXc’ „ROM” ERR1 ERR3 parity checking for data feeding memory G only

CED for FSMs Designed for Implementation with EMBs of FPGAs - 17 DSD’07A.Krasniewski INPUT clock XapQab’ address A ADDRESS REGISTER ADDRESS PARITY CHECKER ERR4OUTPUT ERR2 XbQaQbA2 A1 AUXILIARY CHECKER next state OUTPUT PARITY CHECKER ADDRESS MODIFIER pXab’ Qb + pQab + ’pAQc + Qa + pYpQc + ’LY pXQcpA2’A2 pXQcpA2’pXc’pQc’ pXab’XaXbXcpXc’ „ROM” ERR1 ERR3 parity checking for output

CED for FSMs Designed for Implementation with EMBs of FPGAs - 18 DSD’07A.Krasniewski INPUT clock XapQab’ address A ADDRESS REGISTER ADDRESS PARITY CHECKER ERR4OUTPUT ERR2 XbQaQbA2 A1 AUXILIARY CHECKER next state OUTPUT PARITY CHECKER ADDRESS MODIFIER pXab’ Qb + pQab + ’pAQc + Qa + pYpQc + ’LY pXQcpA2’A2 pXQcpA2’pXc’pQc’ pXab’XaXbXcpXc’ „ROM” ERR1 ERR3 checking for address legality

CED for FSMs Designed for Implementation with EMBs of FPGAs - 19 DSD’07A.Krasniewski in fault-free operation some state-input combinations never occur (in address register) illegal address illegal address illegal state code Legality of address

CED for FSMs Designed for Implementation with EMBs of FPGAs - 20 DSD’07A.Krasniewski  Implementation of FSMs using FPGAs with embedded memory  Concurrent error detection - architecture - effectiveness of fault detection - overhead  Conclusion OUTLINE

CED for FSMs Designed for Implementation with EMBs of FPGAs - 21 DSD’07A.Krasniewski Target faults permanent or transient faults (in particular, SEU-induced) associated with a single input or output of any component that result in an incorrect state or output of the circuit THEOREM The proposed CED scheme guarantees the detection of each target fault, provided that two different transient faults do not occur in two consecutive clock cycles. Faults are detected with no latency (no later than in the cycle in which an incorrect state is present in the address register). Proof: by examining all possible fault classes the feature not provided by a majority (if not all) of earlier CED techniques Note: detection of faults in input X Effectiveness of fault detection Address legality checking – optional enhances detectability of multiple faults

CED for FSMs Designed for Implementation with EMBs of FPGAs - 22 DSD’07A.Krasniewski  Implementation of FSMs using FPGAs with embedded memory  Concurrent error detection - architecture - effectiveness of fault detection - overhead  Conclusion OUTLINE

CED for FSMs Designed for Implementation with EMBs of FPGAs - 23 DSD’07A.Krasniewski  EMBs of different size: K bits with configurable data width: 1, 2, 4, 8, or 16 bits for 4K EMBs: Altera APEX II, Stratix Xilinx Virtex, Virtex-E, Spartan II  no extension of max EMB address space Cost (overhead) – Experimental study proprietary tool FSMdec [BoFL07] ‘original’ circuit synthesis of FSM for EMB-based implementation circuit with CED design of CED scheme evaluation of overhead

CED for FSMs Designed for Implementation with EMBs of FPGAs - 24 DSD’07A.Krasniewski  2 parity bits associated with circuit input  extension of mem G word by 2* bits  extension of mem H word by 4*(5*) bits  extension of address register by 6* bits  address and auxiliary parity checkers  output parity checker circuit independent circuit dependent EXTRA LOGIC Cost (overhead) * fewer in some cases extra PLBs extra EMBs logic cell = 4-input LUT + FF 10 extra logic cells = 1 extra EMB of 1K

CED for FSMs Designed for Implementation with EMBs of FPGAs - 25 DSD’07A.Krasniewski average overhead = 27.2% Cost (overhead) – Experimental results

CED for FSMs Designed for Implementation with EMBs of FPGAs - 26 DSD’07A.Krasniewski difficult to draw conclusions, but... intended for FSMs implemented with standard cells Cost (overhead) estimation – comparison

CED for FSMs Designed for Implementation with EMBs of FPGAs - 27 DSD’07A.Krasniewski  Implementation of FSMs using FPGAs with embedded memory  Concurrent error detection - architecture - effectiveness of fault detection - overhead  Conclusion OUTLINE

CED for FSMs Designed for Implementation with EMBs of FPGAs - 28 DSD’07A.Krasniewski  detection of all permanent and transient faults associated with single in/out of components  no latency  low-cost average overhead < 30% CED scheme for an FSM implemented using an FPGA with embedded memory Conclusion

CED for FSMs Designed for Implementation with EMBs of FPGAs - 29 DSD’07A.Krasniewski