10/14/2005Caltech1 Reliable State Machines Dr. Gary R Burke California Institute of Technology Jet Propulsion Laboratory.

Slides:



Advertisements
Similar presentations
Microprocessors A Beginning.
Advertisements

Sistemas Digitais I LESI - 2º ano Lesson 1 - Introduction U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA Prof. João Miguel Fernandes
V. Vaithianathan, AP/ECE
Spartan-3 FPGA HDL Coding Techniques
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Sequential Circuit Analysis & Design Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh.
Programming Types of Testing.
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
Processor Technology and Architecture
Give qualifications of instructors: DAP
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
ENEE 408C Lab Capstone Project: Digital System Design Fall 2005 Sequential Circuit Design.
M.S.P.V.L. Polytechnic College, Pavoorchatram
Sequential Circuit Introduction to Counter
Sequential Circuit  It is a type of logic circuit whose output depends not only on the present value of its input signals but on the past history of its.
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
Design for Testability
Last Mod: March 2014  Paul R. Godin Shift Registers Registers 1.1.
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.
Bits, Bytes, Words Digital signal. Digital Signals The amplitude of a digital signal varies between a logical “0” and logical “1”. – The information in.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
J. Christiansen, CERN - EP/MIC
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
Senior Project Presentation: Designers: Shreya Prasad & Heather Smith Advisor: Dr. Vinod Prasad May 6th, 2003 Internal Hardware Design of a Microcontroller.
© 2003 Xilinx, Inc. All Rights Reserved Synchronous Design Techniques.
ACOE361 – Digital Systems Design. Useful information Instructor: Lecturer K. Tatas Office hours: Mo5, Tu3, We6-8, Fri5 Prerequisites: ACOE201 (ACOE161)
Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth.
This material exempt per Department of Commerce license exception TSU Synchronous Design Techniques.
D_160 / MAPLD Burke 1 Fault Tolerant State Machines Gary Burke, Stephanie Taft Jet Propulsion Laboratory, California Institute of Technology.
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
The Computer System.
Modulo-N Counters According to how they handle input transitions –Synchronous –Asynchronous.
Digital Circuits Introduction Memory information storage a collection of cells store binary information RAM – Random-Access Memory read operation.
EEE515J1_L4-1/12 EEE515J1 ASICs and DIGITAL DESIGN EGBCDCNT.pdf An example of a synchronous sequential machine.
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:
Processor Organization and Architecture Module III.
Gunjeet Kaur Dronacharya Group of Institutions. Outline I Random-Access Memory Memory Decoding Error Detection and Correction Read-Only Memory Programmable.
RTL Hardware Design by P. Chu Chapter 9 – ECE420 (CSUN) Mirzaei 1 Sequential Circuit Design: Practice Shahnam Mirzaei, PhD Spring 2016 California State.
FIGURES FOR CHAPTER 16 SEQUENTIAL CIRCUIT DESIGN
1 Registers A register is a group of n flip-flops each of them capable of storing one bit of information There are two types of registers: parallel and.
EMT 351/4 DIGITAL IC DESIGN Verilog Behavioral Modeling  Finite State Machine -Moore & Mealy Machine -State Encoding Techniques.
Pusat Pengajian Kejuruteraan Mikroelektronik EMT 351/4 DIGITAL IC DESIGN Verilog Behavioural Modeling (Part 4) Week #
Hun Wie (Theo) SJSU, 2011 Spring Prof: Dr. Sin-Min Lee
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Adapted by Dr. Adel Ammar
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Digital System Verification
EKT 124 / 3 DIGITAL ELEKTRONIC 1
Sequential Logic Counters and Registers
Sequential Circuit: Counter
SEU Mitigation Techniques for Virtex FPGAs in Space Applications
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
Instructor: Alexander Stoytchev
332:437 Lecture 17 FSM Hardware Modification for Reliability
Sequential circuits and Digital System Reliability
EET107/3 DIGITAL ELECTRONICS 1
Sequential Circuit Analysis & Design
332:437 Lecture 17 FSM Hardware Modification for Reliability
332:437 Lecture 17 FSM Hardware Modification for Reliability
Hun Wie (Theo) SJSU, 2011 Spring Prof: Dr. Sin-Min Lee
Lecture 26 Logic BIST Architectures
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
Outline Registers Counters 5/11/2019.
4-Bit Register Built using D flip-flops:
Presentation transcript:

10/14/2005Caltech1 Reliable State Machines Dr. Gary R Burke California Institute of Technology Jet Propulsion Laboratory

10/14/2005Caltech2 outline Background –JPL MER example JPL FPGA/ASIC Process –Procedure –Guidelines State machines –Traditional –Highly Reliable –Comparison

10/14/2005Caltech3

10/14/2005Caltech4

10/14/2005Caltech5

10/14/2005Caltech6 MER Mission example Large number of FPGAs Mostly fuse programmable – but at least one RAM programmable FPGA Several ASICs Many standard parts eg Microprocessor, RAM chips.

10/14/2005Caltech7

10/14/2005Caltech8

10/14/2005Caltech9

10/14/2005Caltech10

10/14/2005Caltech11

10/14/2005Caltech12

10/14/2005Caltech13

10/14/2005Caltech14 FPGA/ASIC Process JPL needs to ensure design process is sound A bug in an FPGA/ASIC can halt a billion dollar mission Tight schedules can result in inadequate testing Inadequate version control can result in the wrong code First Pass success important for ASIC design

10/14/2005Caltech15 FPGA/ASIC Process To ensure a quality product: Requirements are correct and do not change Specification is complete Design will meet the specification and requirements Testing has covered all possible cases

10/14/2005Caltech16 FPGA/ASIC Process Peer reviews by experts to check the design and design approach Formal Reviews to ensure design process is adequate, and to sign off on the design Documentation for review and archiving Check-lists to ensure all problems are fixed

10/14/2005Caltech17 FPGA/ASIC Process Configuration Management to ensure correct versions are used Verification Matrix – which documents all testing Checking tools e.g. Lint, DRC; all errors, and warnings documented

10/14/2005Caltech18 ASIC PROCESS

10/14/2005Caltech19 FPGA PROCESS

10/14/2005Caltech20 Guidelines Define set of rules for HDL design Reduce ambiguity Clarify design to be easily checked and reviewed Implement most reliable design techniques

10/14/2005Caltech21 Fault Tolerant State Machines The state machine needs to be tolerant of single event upsets State machine should not hang State machine should always be in a defined state No asynchronous inputs to state machine Default state must be specified

10/14/2005Caltech22 State Machines A state machine is a sequential machine that when built into an FPGA or ASIC controls the sequencing of actions in the digital logic The current state of a machine is held in a state register which is updated on a clock The next value of the state register (next state) is derived from the current state and the inputs Outputs from the state machine are decoded from the state register and can also be combined with the inputs

10/14/2005Caltech23 State-Machine (SM) Encoding Each distinct state of the SM is represented by a unique code The allocation of these binary codes to states is the Encoding The simplest encoding is Binary In Binary encoding each state is given the next available binary number in sequence.

10/14/2005Caltech24 Other SM Encoding 1-hot encoding –The number of bits in the code is equal to the number of states. Each encoded state has just 1 bit in the encoded word set to a 1 (the rest are 0) –The advantage is that when optimized for non-reliable use, the amount of logic needed is less than Binary encoding, and it can be faster. One bit change with a SEU will result in a bad code which can be detected. –The disadvantage is the increased number of bits results in more flip/flops and therefore more targets for SEUs. The SEU advantage is lost when the 1-hot encoding is optimized. The simplest encoding is Binary In Binary encoding each state is given the next available binary number in sequence.

10/14/2005Caltech25 Other SM Encoding- cont Grey-code –Similar to binary encoding, except the codes are chosen so that in the main state-machine sequence only 1 bit changes at a time –No major advantage over binary with this code. Decoded outputs from the state register can make use of the nature of the encoding to simplify producing a glitch free output.

10/14/2005Caltech26 Other SM Encoding- cont H2-code –This variation on Binary encoding uses one extra bit to ensure all codes are separated by a Hamming distance of 2. That is, it will take 2 changes in the state register to reach another known state. –The advantage is that it has less bits and so less SEU targets than 1-hot, but retains the fault tolerance of the un-optimized 1-hot encoding.

10/14/2005Caltech27 Other SM Encoding- cont H3-code –This extension on H2 encoding uses additional bits to ensure all codes are separated by a Hamming distance of 3. That is, it will take 3 changes in the state register to reach another known state. –The advantage is that the SM can be designed such that a single change in the state register has no effect on the state. –The disadvantage is that it requires more logic to implement

10/14/2005Caltech28 Synthesis To check the overhead of each of the state machines, they were individually synthesized Finite state machine optimization is turned off A clock frequency of 50 MHz is used Target device is a Xilinx Spartan 2, speed grade 6 Error injection circuitry is not included

10/14/2005Caltech29 Synthesis Results

10/14/2005Caltech30 Four Bit State Encoding

10/14/2005Caltech31 Eight Bit State Encoding

10/14/2005Caltech32 Twelve Bit State Encoding

10/14/2005Caltech33 Sixteen Bit State Encoding

10/14/2005Caltech34 Twenty-Four Bit State Encoding

10/14/2005Caltech35 Thirty-Two Bit State Encoding

10/14/2005Caltech36 Fault Injection Test A test circuit is generated with an example of each state machine executing the same task, plus a reference state machine The task chosen requires a16-state state machine, to detect a 16-bit pattern in a serial input stream An error generator injects faults into all state machines except the reference state machine

10/14/2005Caltech37 Error Injection Test Continued The outputs of each state machine are compared to the reference output A set of counters tallies the comparison outputs 2 types of failure are logged for each state machine: –Failure to detect pattern –False detection of pattern (false-positive)

10/14/2005Caltech38 Error Injection Test Continued Non-key patterns are 1-bit different from the key pattern, to increase the likelihood of a false match Error rate can vary, set to 1:199 clocks in example Errors are weighted by distributing them pseudo-randomly over 16 bits. A state machine with a word size of n, receives n/16 of the total faults Synchronous fault injection is before the state register Asynchronous fault injection is after the state register All results are from actual implementation of the test circuits in a Spartan 2 FPGA

10/14/2005Caltech39 Error Rate – Synchronous Faults

10/14/2005Caltech40 Error Rate – Asynchronous Faults

10/14/2005Caltech41 Error Rate – Asynchronous Pulse Faults

10/14/2005Caltech42 Results: Binary Encoding Lowest resources used Second fastest speed after One Hot –Fastest for small number of states Second-most sensitive to errors Generates false-positive errors i.e. reports false pattern matches

10/14/2005Caltech43 Results: One Hot Encoding No false-positive errors (single faults) Fastest speed except for small number of states and large number of states Uses more resources than Binary Inefficient for large number of states Worst fault tolerance of all encoding tested Has 2x the error rate of binary encoding

10/14/2005Caltech44 Results: Hamming Distance of 2 (H2) Encoding No false-positive errors (single faults) Better Fault Tolerance than Binary More resources needed than One Hot, except for large number of states

10/14/2005Caltech45 Results: Hamming Distance of 3 (H3) Encoding Zero single-fault errors –Immune to synchronous and asynchronous errors Lowest double-fault errors Most resources used (*) ~2x binary encoding Slowest speed (*) (*) Except for large number of states