VLSI AND INTELLIGENT SYTEMS LABORATORY 12 Bit Hamming Code Error Detector/Corrector December 2nd, 2003 Department of Electrical and Computer Engineering.

Slides:



Advertisements
Similar presentations
Exclusive-OR and Exclusive-NOR Gates
Advertisements

1 The 2-to-4 decoder is a block which decodes the 2-bit binary inputs and produces four output All but one outputs are zero One output corresponding to.
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
STATISTIC & INFORMATION THEORY (CSNB134) MODULE 12 ERROR DETECTION & CORRECTION.
parity bit is 1: data should have an odd number of 1's
CSCI 4717/5717 Computer Architecture
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CHAPTER 2 Digital Combinational Logic/Arithmetic Circuits.
NETWORKING CONCEPTS. ERROR DETECTION Error occures when a bit is altered between transmission& reception ie. Binary 1 is transmitted but received is binary.
Unit 13 Analysis of Clocked Sequential Circuits Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
Chapter 10 Error Detection and Correction
Digital Fundamentals Floyd Chapter 2 Tenth Edition
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
Error Detection / Correction
MAT 1000 Mathematics in Today's World Winter 2015.
Stuart Hansen University of Wisconsin - Parkside.
Hamming Code A Hamming code is a linear error-correcting code named after its inventor, Richard Hamming. Hamming codes can detect up to two bit errors,
MAT 1000 Mathematics in Today's World Winter 2015.
Chapter 10 Error Detection and Correction
Digital Logic Chapter 2 Number Conversions Digital Systems by Tocci.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
Topic 2 – Introduction to Computer Codes. Computer Codes A code is a systematic use of a given set of symbols for representing information. As an example,
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Practical Session 10 Error Detecting and Correcting Codes.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
Overview All data can be corrupted, for reliable communications we must be able to detect and correct errors implemented at the data link and transport.
1 © Unitec New Zealand CRC calculation and Hammings code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Error Detection and Correction – Hamming Code
WEEK #11 FUNCTIONS OF COMBINATIONAL LOGIC (PART 4)
Module –I Codes: Weighted and non-weighted codes
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
Hamming Distance & Hamming Code
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Product Codes An extension of the concept of parity to a large number of words of data 0110… … … … … … …101.
Data Link Layer 1. 2 Single-bit error 3 Multiple-bit error 4.
Error Detecting and Error Correcting Codes
Number Systems. The position of each digit in a weighted number system is assigned a weight based on the base or radix of the system. The radix of decimal.
Combinational Logic Design
parity bit is 1: data should have an odd number of 1's
Dr. Clincy Professor of CS
Error Detection and Correction
Error Detection and Correction
Cyclic Redundancy Check (CRC)
Subject Name: COMPUTER NETWORKS-1
Error Correcting Code.
Representing characters
Even/odd parity (1) Computers can sometimes make errors when they transmit data. Even/odd parity: is basic method for detecting if an odd number of bits.
Data Link Layer.

Dhanushiya. R I YEAR BSc COMPUTER TECHNOLOGY.  Error is a condition when the output information does not match with the input information. During transmission,
Basic concepts Networks must be able to transfer data from one device to another with complete accuracy. Data can be corrupted during transmission. For.
Chapter 7 Error Detection and Correction
EET107/3 DIGITAL ELECTRONICS 1
Dr. Clincy Professor of CS
Information Redundancy Fault Tolerant Computing
1.6) Storing Integer:.

CS 325: CS Hardware and Software Organization and Architecture
Error Detection and Correction
Error Detection and Correction
parity bit is 1: data should have an odd number of 1's
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Error Detection and Correction
Presentation transcript:

VLSI AND INTELLIGENT SYTEMS LABORATORY 12 Bit Hamming Code Error Detector/Corrector December 2nd, 2003 Department of Electrical and Computer Engineering Florida International University Students: Ahmed Hadad Edward Lule Jaime Montenegro Major Professor: Dr. Subbarao V. Wunnava

2 Hamming Code Richard Hamming created a binary code that will correct any single error and will detect any double error (two separate errors). The Hamming code has been used for computer RAM, and is a good choice for randomly occurring errors. The code uses extra redundant bits to check for errors, and performs the checks with special check equations. A parity check equation of a sequence of bits just adds the bits of the sequence and insists that the sum be even (for even parity) or odd (for odd parity).

3 Hamming Code For even parity, a simple parity check will detect if there has been an error in one bit position, since even parity will change to odd parity. One has to force even parity by adding an extra parity bit and setting it either to 1 or to 0 to make the overall parity come out even. The Hamming code uses parity checks over a portion of the positions in a block. Suppose there are bits in consecutive positions from 1 to n-1. The positions whose position number is a power of 2 are used as check bits. Thus the check bits are in positions 1, 2, 4, 8, 16,..., up to the largest power of 2 that is less than or equal to the largest bit position.

4 Hamming Code Each check bit has a corresponding check equation that covers a portion of all the bits, but always includes the check bit itself.

5 Hamming Code The table below assumes data bits values (in black below). The check equations are employed to determine values for check bits in positions 1, 2, 4, and 8, to yield the word below, with check bits in red here and below.

6 Hamming Code The following table gives the result of a single error in the decimal position 11 (changed from a 1 to a 0 ). Three of the four parity checks fail. Adding the decimal position number of each failing check gives the position number of the error bit, decimal 11 in this case.

7 Hamming Code For this project, we decided to implement the correction of a bit on 8 bits of data. In order to accomplish the goal of checking 8 bits of data, it is necessary to add another 4 bits of parity check to perform the Hamming code. Therefore, the total input length of our error detector is 12 bits (Stage 1). Once the device has performed the checking and correcting of the bits, it will output the 8 data bits (Stage 2).

8 Hamming Detector/Corrector (stage 1)

9 Hamming Detector/Corrector (stage 2)

10 Hamming Detector/Corrector (Leonardo Spectrum)

11 Results Test 1: Original 8 bit input word: Encoded word with parity ‘1’: Received encoded word: (No errors) Output word:

12 Results Test 2: Original 8 bit input word: Encoded word with parity ‘1’: Received encoded word: (One error, bit 10) Error flag output signal is asserted. Error is corrected and its position is given in output error_pos: 1010 Output word:

13 Results Test 3: Original 8 bit input word: Encoded word with parity ‘1’: Received encoded word: (Two errors, bits 10 and 12) Repeat word output signal and Error flag output signal are asserted. No output.

14 Results Test 4: Original 8 bit input word: Encoded word with parity ‘0’: Received encoded word with event parity: (No errors). Output word:

15 Results Test 5: Original 8 bit input word: Encoded word with parity ‘0’: Received encoded word: (One error, bit 0) Error flag output signal is asserted. Error is corrected and its position is given in output error_pos: 0000 Output word:

16 Results Test 6: Original 8 bit input word: Encoded word with parity ‘0’: Received encoded word: (Two errors, bits 0 and 10) Repeat word output signal and Error flag output signal are asserted. No output.