VHDL CODE FOR SINGLE BIT ERROR DETECTION AND CORRECTION WITH EVEN PARITY CHECK METHOD USING XILINX 9.2i

Similar documents
Design and Implementation of Hamming Code using VHDL & DSCH

Implementation of Hamming code using VLSI

Design and Implementation of Hamming Code on FPGA using Verilog

An HVD Based Error Detection and Correction Code in HDLC Protocol Used for Communication

Performance Evaluation & Design Methodologies for Automated CRC Checking for 32 bit address Using HDLC Block

Chapter 10 Error Detection and Correction 10.1

Design of Convolution Encoder and Reconfigurable Viterbi Decoder

Chapter 10 Error Detection and Correction. Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science

Implementation of low power wireless sensor node with fault tolerance mechanism

A High Performance CRC Checker for Ethernet Application

International Journal of Science Engineering and Advance Technology, IJSEAT, Vol 2, Issue 11, November ISSN

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.

Implementation of 16-Bit Hamming Code encoder and decoder for single bit error detector and corrector

J. Manikandan Research scholar, St. Peter s University, Chennai, Tamilnadu, India.

Design and Implementation of Low Density Parity Check Codes

Performance Optimization of HVD: An Error Detection and Correction Code

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Design of a Pipelined 32 Bit MIPS Processor with Floating Point Unit

Viterbi Algorithm for error detection and correction

Error-Correcting Codes

Programmable Logic Devices

Reliability of Memory Storage System Using Decimal Matrix Code and Meta-Cure

ENEE x Digital Logic Design. Lecture 3

Describe the two most important ways in which subspaces of F D arise. (These ways were given as the motivation for looking at subspaces.

Error Detection And Correction

Efficient Crosstalk Avoidance Using Modified Redundant Fibonacci Code (MRFC) in VLSI Interconnects

Experiment 8 Introduction to VHDL

Error Correction and Detection using Cyclic Redundancy Check

ISE Design Suite Software Manuals and Help

Used to perform operations many times. See previous Parallel to Serial Example

PART III. Data Link Layer MGH T MGH C I 204

IMPLEMENTATION OF DATA ENCODING AND DECODING IN ARM BOARDS WITH QOS PARAMETERS

MEMORY AND PROGRAMMABLE LOGIC

A High Speed Design of 32 Bit Multiplier Using Modified CSLA

The Data Link Layer. CS158a Chris Pollett Feb 26, 2007.

Lecture 2 Error Detection & Correction. Types of Errors Detection Correction

Hamming Codes. s 0 s 1 s 2 Error bit No error has occurred c c d3 [E1] c0. Topics in Computer Mathematics

Memory and Programmable Logic

Ch. 7 Error Detection and Correction

Achieving Reliable Digital Data Communication through Mathematical Algebraic Coding Techniques

FAULT TOLERANT SYSTEMS

Data Encryption on FPGA using Huffman Coding

DETECTION AND CORRECTION OF CELL UPSETS USING MODIFIED DECIMAL MATRIX

Laboratory #Intro to Xilinx ISE and CR-2 Kit ECE 332

UNIT-II 1. Discuss the issues in the data link layer. Answer:

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

FPGA Implementation of Huffman Encoder and Decoder for High Performance Data Transmission

32 bit Arithmetic Logical Unit (ALU) using VHDL

PINE TRAINING ACADEMY

Reduced Latency Majority Logic Decoding for Error Detection and Correction

Implementation of Low Power High Speed 32 bit ALU using FPGA

DESIGN OF FAULT SECURE ENCODER FOR MEMORY APPLICATIONS IN SOC TECHNOLOGY

CS321: Computer Networks Error Detection and Correction

Error Detecting and Correcting Code Using Orthogonal Latin Square Using Verilog HDL

CPLD Experiment 4. XOR and XNOR Gates with Applications

A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy

High speed Integrated Circuit Hardware Description Language), RTL (Register transfer level). Abstract:

Content beyond Syllabus. Parity checker and generator

Enhanced Detection of Double Adjacent Errors in Hamming Codes through Selective Bit Placement

Majority Logic Decoding Of Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

Available online at ScienceDirect. Procedia Technology 25 (2016 )

Efficient VLSI Huffman encoder implementation and its application in high rate serial data encoding

Novel Design of Dual Core RISC Architecture Implementation

AN EFFICIENT DESIGN OF VLSI ARCHITECTURE FOR FAULT DETECTION USING ORTHOGONAL LATIN SQUARES (OLS) CODES

Implementation of Convolution Encoder and Viterbi Decoder Using Verilog

Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

Chip Design with FPGA Design Tools

Chapter 9: Integration of Full ASIP and its FPGA Implementation

AES ALGORITHM FOR ENCRYPTION

Error Correction Code (ALTECC_ENCODER and ALTECC_DECODER) Megafunctions User Guide

LSN 6 Programmable Logic Devices

A Low Power Asynchronous FPGA with Autonomous Fine Grain Power Gating and LEDR Encoding

4. Error correction and link control. Contents

HDL IMPLEMENTATION OF SRAM BASED ERROR CORRECTION AND DETECTION USING ORTHOGONAL LATIN SQUARE CODES

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE

16 BIT IMPLEMENTATION OF ASYNCHRONOUS TWOS COMPLEMENT ARRAY MULTIPLIER USING MODIFIED BAUGH-WOOLEY ALGORITHM AND ARCHITECTURE.

FPGA Implementation of Double Error Correction Orthogonal Latin Squares Codes

Design and Implementation of on-board satellite encryption with SEU error detection & correction code on FPGA

FPGA Implementation of High Speed AES Algorithm for Improving The System Computing Speed

Verilog Design Entry, Synthesis, and Behavioral Simulation

Implimentation of SpaceWire Standard in SpaceWire CODEC using VHDL

Design of Convolutional Codes for varying Constraint Lengths

FPGA based Simulation of Clock Gated ALU Architecture with Multiplexed Logic Enable for Low Power Applications

Evolution of CAD Tools & Verilog HDL Definition

Index Terms- Field Programmable Gate Array, Content Addressable memory, Intrusion Detection system.

VHDL. Chapter 1 Introduction to VHDL. Course Objectives Affected. Outline

International Journal of Scientific & Engineering Research, Volume 4, Issue 5, May-2013 ISSN

Lab 6 : Introduction to Verilog

ELEC 4200 Lab#0 Tutorial

Data Storage. Slides derived from those available on the web site of the book: Computer Science: An Overview, 11 th Edition, by J.

Chapter 6 Digital Data Communications Techniques

Implementation of Multidirectional Parity Check Code Using Hamming Code for Error Detection and Correction

Board-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE.

Implementation of reduced memory Viterbi Decoder using Verilog HDL

Design of Flash Controller for Single Level Cell NAND Flash Memory

An Efficient Carry Select Adder with Less Delay and Reduced Area Application

Design and Implementation of CVNS Based Low Power 64-Bit Adder

Programmable Logic Devices

Effective Implementation of LDPC for Memory Applications

Transcription:

VHDL CODE FOR SINGLE BIT ERROR DETECTION AND CORRECTION WITH EVEN PARITY CHECK METHOD USING XILINX 9.2i Vivek Singh, Rahul Kumar, Manish Kumar Upadhyay Dept. of Electronics & Communication Engineering.. Siliguri Institute Of Technology, Siliguri, West Bengal, India. e-mails: vivsworld24@yahoo.com, rahulsit09@gmail.com, mk08373@gmail.com Abstract Single bit error detection and correction can be done through hamming code. Hamming code can be made with either even parity or odd parity check method. The information signal can get corrupted in the process of transmission which can lead to wrong information reception. In this paper, we have used even parity check method for encrypting the information signal and forming the hamming code. The information signal is first encrypted and then transmitted using some transmission media which may be corrupted in the process. The receiver receives the signal and detects and corrects the signal using even parity check method. 11 bit information signal which is encrypted to form 15 bit hamming code where 4 bits are the redundant bit which is transmitted. And at the receiver, it is decrypted to get the original 11 bit information signal. The VHDL code for the transmitter and receiver is written and simulation of the transmitter and receiver code using Xilinx 9.2 simulator is done. I. INTRODUCTION In communication system the information signal is send through transmitter and is transmitted through some random media. In the process of transmission the information gets corrupted, so we get a signal at the receiver which is different than the original information signal. The general idea for achieving error detection and correction is to add some redundancy (i.e., some extra data) to a message, which receivers can use to check consistency of the delivered message, and to recover data determined to be corrupted. The information k bits is encrypted using even parity check method to form hamming code of n bits. The information signal is added with redundant bits r to form the code this code is then transmitted. n= k + r (1) The receiver receives the code and corrects it to get the original k bits information signal. VHDL code is written for the transmitter and receiver which is simulated through Xilinx 9.2i simulator. VHDL (VHSIC hardware description language) is a hardware description language used in electronic design automation to describe digital and mixed-signal systems such as field-programmable gate arrays and integrated circuits. VHDL can also be used as a general purpose parallel programming language. Xilinx ISE 9.2i (Integrated Software Environment) is a software tool produced by Xilinx for synthesis and analysis of HDL designs, which enables the developer to synthesize ("compile") their designs, perform timing analysis, examine RTL diagrams, simulate a design's reaction to different stimuli, and configure the target device with the programmer. VLSI Trainer Kit is very useful for the VLSI design engineer to verify and experience the design functionality in real life condition for PLD devices. Here we have used it for CPLD device. It consists of Macro cells. The function of these devices is similar to PAL with programmable switch matrix. These devices consist of flash memory thus the configuration is retained even in the absence of power supply. II. HAMMING CODE Hamming codes are the codes used in communication for error free transmission of information. Hamming codes can detect up to two and correct up to one bit errors. Hamming code is formed by adding the information and redundant bits i.e, n= k + r. The size of the redundant bit is determined by the formula 2 r k+ r+ 1 (2) The code is represented by (n, k) code where n is the codeword length and k is datalength. We can use this formula for calculating the number of redundancy bits. A very common hamming code is (7, 4) it contains 4 bit information and 3 bit redundancy. Redundancy is added at the encoder to form the codeword and will be removed at the decoder after getting the correct sequence and the desired information will be the final output. We calculate the redundant bits according to the information bits and place the bits in the codeword in positions given by the sequence, 2 0, 2 1, 2 2, 2 3, 2 4,.. 2 r-1,where r is the number of redundancy bits. (3) The redundant bits can be calculated either by Even parity check method or Odd parity check method. Here in this paper we have we have used even parity check method for the Hamming Encoder and Decoder. 49

Here for a test purpose we have taken 11 bit information signal and 4 bit redundancy is required to form a 15 bit codeword. And we have calculated the redundancy by even parity check method and will be at the 1 st, 2 nd, 4 th, and 8 th position bit of the codeword. III. CALCULATION OF REDUNDANCY AT ENCODER We have used even parity check method for calculating redundancy. The value of redundancy bit can be finding by XORING of different location of information data bit for different redundancy bit. the property of XOR gate is that if number of one`s are even in input its shows the output zero else its shows output one. Let the number information bits is k and the corresponding redundancy is r and the codeword length n= k + r, So the bit positions of the redundancies in codeword will be, 2 0, 2 1, 2 2, 2 3, 2 4,.. 2 r-1.the values of the redundancies can be given by x-or operation of the information bits present at the positions alternately in codeword for r1 and taking two consecutive leaving next two and so for r2. Similarly we take 2 t bits and left next 2 t for r(t). r1: k1 x-or k2 x-or k4 x-or k5 x-or k7 x-or k9 x-or k11 r2: k1 x-or k3 x-or k4 x-or k6 x-or k 7 x-or k10 x-or k11 r4: k2 x-or k3 x-or k4 x-or k8 x-or k9 x-or k10 x-or k11 r8: k5 x-or k6 x-or k7 x-or k8 x-or k9 x-or k10 x-or k11 (5) The value of r (1) is 1(the number of one`s are 3) The value of r (2) is 0(the number of one`s are 4) The value of r (4) is 0(the number of one`s are 4) The value of r (8) is 0(the number of one`s are 6) Therefore the final output sequence of the encoder becomes 111111000000001. Then we download the program in the VLSI kit and provide the input by switching the LEDSs and verify the output. VHDL code for source end shown in given below Xilinx ISE 9.2i project navigator window. So the calculation for redundancies can be easily done by x-or operation of the above information bit positions, r1: k1 x-or k2 x-or k4 x-or k5 x-or k7 x-or k9 x-or k11 x-or k12 x-or k14 x-or r2: k1 x-or k3 x-or k4 x-or k6 x-or k 7 x-ork10 x-or k11 x-or k13 x-or k14 x-or.... r4: k2 x-or k3 x-or k4 x-or k8 x-or k9 x-or k10 x-or k11 x-or k15 x-or. Fig 1:VHDL code for even parity check method at source r8: k5 x-or k6 x-or k7 x-or k8 x-or k9 x-or k10 x-or k11 x-or r16: k12 x-or k13 x-or k14 x-or k15 x-or. (4) So, the value of redundancy can be calculated in the same way depending upon the number of redundancies. IV. CALCULATION OF REDUNDANCY WITH 11 BIT INFORATION SIGNAL The number of redundancy bits for 11 bit information will be 4. The redundancies will be r1, r2, r4, r8. Let the 11 bit information signal be 11111100000, so the value of redundancies become, Fig 2: Simulation window shows input wave form for source end in binary format. 50

redundancy bits, which is then altered that is not operation is done on that bit and then the redundant bits are eliminated from the corrected signal to get the original information signal. The error position for t redundant bits can be represented as err = err(t).err(5) err(4) err(3) err(2) err(1) (6) err(1) = 1 x-or 3 x-or 5 x-or 7 x-or 11 x-or 13 x-or 15 x-or 17 x-or 19 x-or err(2)= 2 x-or 3 x-or 6 x-or 7 x-or 10 x-or 11 x-or 14 x-or 15 x-or 18 x-or 19 x-or.... err(3)= 4 x-or 5 x-or 6 x-or 7 x-or 12 x-or 13 x-or 14 x-or 15 x-or 20 x-or err(4)= 8 x-or 9 x-or 10 x-or 11 x-or 12 x-or 13 x-or 14 x- or 15 x-or, err(5)= 16 x-or 17 x-or 18 x-or 19 x-or 20 x-or.. (7) Fig 3: Simulation window shows output wave form for source end in binary format. Fig 4: VLSI Kit Showing Results of Encoder V. CALCULATION OF ERROR BIT POSITION AT DECODER VI. CALCULATION OF ERROR WITH THE RECEIVED 15 BIT CODEWORD In the process of transmission let the 9 th position gets corrupted. So, the received sequence becomes 111111100000001. We calculate the error bit position for this codeword by the process as above stated, err(1) = 1 x-or 3 x-or 5 x-or 7 x-or 11 x-or 13 x-or 15. err(2) = 2 x-or 3 x-or 6 x-or 7 x-or 10 x-or 11 x-or 14 x- or 15. err(3) = 4 x-or 5 x-or 6 x-or 7 x-or 12 x-or 13 x-or 14 x- or 15. err(4) = 8 x-or 9 x-or 10 x-or11 x-or 12 x-or 13 x-or14 x-or 15 (8) err(1) = 1 (the number of one`s are 5 ) err(2) = 0 (The number of one`s are 4) err(3) = 0 (The number of one`s are 4 ) err(4) = 1 (The number of one`s are 7) Therefore the error position becomes err = 1001 i.e, the 9 th position is corrupted, so the not operation is done with that bit. So the corrected code becomes 111111000000001. Then we eliminate the redundant bits i.e,1 st, 2 nd, 4 th, and 8 th bit. Therefore the final 11 bit output becomes 11111100000 which is the desired original information signal. The codeword from the output is transmitted through some transmission media. In the meanwhile let a bit gets corrupted and the corrupted sequence is received by the receiver. The error bit position can be calculated by the same even parity check method. The position is calculated in binary sequence that will be equal to the number of Then we download the program in the VLSI kit and provide the input by switching the LEDSs and verify the output. 51

Fig 5: VHDL code for destination end shown in given below Xilinx ISE 9.2i project navigator window. Fig 8: VLSI Kit Showing Results of Decoder VII. ADVANTAGES & APPLICATIONS If we use the correcting codes no resending of data is required as it will automatically detect the error and correct it. We can use transmitter of higher bit capacity no need to break the data into smaller section. So it speeds up the communication. Application of the VHDL is very effective as it is much easier to write the codes. These error correcting techniques are used in many applications as in mobile communication, storage devices, television, satellite communications and all other communications. VIII. CONCLUSION Fig 6: Simulation window shows input wave form for destination end in binary format. We see from this paper how we can use the even parity check method for any sequence of information. And we have shown it for 11 bit information signal. It speeds up the communication as we can encode the total information as a whole and send as one, there is no need for splitting. And using the same parity method at the destination we can successfully recover the original information sequence. The circuitry for this is also reduced as it makes the detection and correction becomes easier and using the VLSI makes it much more efficient. IX. REFERENCES Fig 7: Simulation window shows output wave form for destination end in binary format. [1] 30 Bit Hamming code for error detection and correction with even parity and odd parity check method by using VHDL published in IJCA(0975 8887) Volume 35 No.13, December 2011. [2] Data communication and networking, Behrouz A. Forouzan, 2nd edition Tata McGrawHill publication. [3] Xilinx Training Course Listing, available at http://www.xilinx.com/training/xilinx-trainingcourses.pdf [4] VHDL Primer, by J. Bhasker, 2 nd Edition. 52

[5] Error detection and correction: http://en.wikipedia.org/wiki/error_detection_and_ correction [6] VHDLtutorial: [7] VLSI Trainer Kit: http://www.acaciant.com/vlsi.htm 53