SYNTHESIS OF CYCLIC ENCODER AND DECODER FOR HIGH SPEED NETWORKS

Similar documents
6. FUNDAMENTALS OF CHANNEL CODER

Hardware Implementation of BCH Error-Correcting Codes on a FPGA

Automated FSM Error Correction for Single Event Upsets

Simulink Modelling of Reed-Solomon (Rs) Code for Error Detection and Correction

International Journal of Engineering Research-Online A Peer Reviewed International Journal Articles available online

IJESRT. (I2OR), Publication Impact Factor: 3.785

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Burst Error Correction Method Based on Arithmetic Weighted Checksums

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

A GSM Simulation Platform using MATLAB

Outline. Communications Engineering 1

Lecture 3 Data Link Layer - Digital Data Communication Techniques

The Comparative Study of FPGA based FIR Filter Design Using Optimized Convolution Method and Overlap Save Method

Implementation of Reed-Solomon RS(255,239) Code

Chapter 10 Error Detection and Correction 10.1

Synchronization of Hamming Codes

Spread Spectrum. Chapter 18. FHSS Frequency Hopping Spread Spectrum DSSS Direct Sequence Spread Spectrum DSSS using CDMA Code Division Multiple Access

S Coding Methods (5 cr) P. Prerequisites. Literature (1) Contents

ECE 6640 Digital Communications

Spreading Codes and Characteristics. Error Correction Codes

International Journal of Computer Trends and Technology (IJCTT) Volume 40 Number 2 - October2016

LOGIC DIAGRAM: HALF ADDER TRUTH TABLE: A B CARRY SUM. 2012/ODD/III/ECE/DE/LM Page No. 1

BPSK System on Spartan 3E FPGA

Data and Computer Communications

2014 Paper E2.1: Digital Electronics II

Error Detection and Correction

Front End To Back End VLSI Design For Convolution Encoder Pravin S. Tupkari Prof. A. S. Joshi

EE521 Analog and Digital Communications

Review: Design And Implementation Of Reed Solomon Encoder And Decoder

High-performance Parallel Concatenated Polar-CRC Decoder Architecture

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

CS302 - Digital Logic Design Glossary By

Computer Architecture: Part II. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University

Convolutional Coding Using Booth Algorithm For Application in Wireless Communication

FPGA Implementation of Viterbi Algorithm for Decoding of Convolution Codes

Design High speed Reed Solomon Decoder on FPGA

Globally Asynchronous Locally Synchronous (GALS) Microprogrammed Parallel FIR Filter

An Analysis of Multipliers in a New Binary System

Lecture 6: Reliable Transmission"

Signals and Systems Lecture 9 Communication Systems Frequency-Division Multiplexing and Frequency Modulation (FM)

An Efficient Method for Implementation of Convolution

High Speed Binary Counters Based on Wallace Tree Multiplier in VHDL

Co-evolution for Communication: An EHW Approach

Chapter 1 Coding for Reliable Digital Transmission and Storage

Computer Networks. Week 03 Founda(on Communica(on Concepts. College of Information Science and Engineering Ritsumeikan University

ERROR CONTROL CODING From Theory to Practice

Implementation of Digital Signal Processing: Some Background on GFSK Modulation

Revision of Lecture Eleven

PROJECT 5: DESIGNING A VOICE MODEM. Instructor: Amir Asif

Department of Electronics and Communication Engineering 1

Physical-Layer Services and Systems

Low Complexity Cross Parity Codes for Multiple and Random Bit Error Correction

Error-Correcting Codes

Hamming net based Low Complexity Successive Cancellation Polar Decoder

Time-Multiplexed Dual-Rail Protocol for Low-Power Delay-Insensitive Asynchronous Communication

LIST OF EXPERIMENTS. KCTCET/ /Odd/3rd/ETE/CSE/LM

Laboratory Manual CS (P) Digital Systems Lab

Design of a Power Optimal Reversible FIR Filter ASIC Speech Signal Processing

Design and Characterization of 16 Bit Multiplier Accumulator Based on Radix-2 Modified Booth Algorithm

Digital Controller Chip Set for Isolated DC Power Supplies

Nonlinear Multi-Error Correction Codes for Reliable MLC NAND Flash Memories Zhen Wang, Mark Karpovsky, Fellow, IEEE, and Ajay Joshi, Member, IEEE

Lab/Project Error Control Coding using LDPC Codes and HARQ

BER Analysis of BPSK for Block Codes and Convolution Codes Over AWGN Channel

EFFICIENT VLSI IMPLEMENTATION OF A SEQUENTIAL FINITE FIELD MULTIPLIER USING REORDERED NORMAL BASIS IN DOMINO LOGIC

A fast programmable frequency divider with a wide dividing-ratio range and 50% duty-cycle

Optimized BPSK and QAM Techniques for OFDM Systems

ISSN: International Journal of Innovative Research in Science, Engineering and Technology

Design and Implementation of FPGA Based Digital Base Band Processor for RFID Reader

Contemplation of Synchronous Gray Code Counter and its Variants using Reversible Logic Gates

International Journal of Engineering Research in Electronics and Communication Engineering (IJERECE) Vol 1, Issue 5, April 2015

FOR applications requiring high spectral efficiency, there

AN INTRODUCTION TO ERROR CORRECTING CODES Part 2

Department of Electronics and Communication Engineering

Implementing Logic with the Embedded Array

High-Throughput and Low-Power Architectures for Reed Solomon Decoder

MIMO RFIC Test Architectures

Mixed Synchronous/Asynchronous State Memory for Low Power FSM Design

SRV ENGINEERING COLLEGE SEMBODAI RUKMANI VARATHARAJAN ENGINEERING COLLEGE SEMBODAI

Improved concatenated (RS-CC) for OFDM systems

Improvement Of Block Product Turbo Coding By Using A New Concept Of Soft Hamming Decoder

Basics of Error Correcting Codes

Arithmetic Structures for Inner-Product and Other Computations Based on a Latency-Free Bit-Serial Multiplier Design

802.11a Hardware Implementation of an a Transmitter

Basic Algorithm for the Noncoherent Digital. Processing of the Narrowband Radio Signals

1. The decimal number 62 is represented in hexadecimal (base 16) and binary (base 2) respectively as

Lightweight Mixcolumn Architecture for Advanced Encryption Standard

Low Power Error Correcting Codes Using Majority Logic Decoding

TIME EFFICIENT PARITY GENERATOR BASED ON QUANTUM-DOT CELLULAR AUTOMATA

CS302 Digital Logic Design Solved Objective Midterm Papers For Preparation of Midterm Exam

16.36 Communication Systems Engineering

ROM/UDF CPU I/O I/O I/O RAM

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors

Index Terms. Adaptive filters, Reconfigurable filter, circuit optimization, fixed-point arithmetic, least mean square (LMS) algorithms. 1.

Maximum Likelihood Sequence Detection (MLSD) and the utilization of the Viterbi Algorithm

A SUBSTRATE BIASED FULL ADDER CIRCUIT

ENHANCING SPEED AND REDUCING POWER OF SHIFT AND ADD MULTIPLIER

Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing

A CSIC Implementation with POCSAG Decoder and Microcontroller for Paging Applications

Analysis and Design of Modified Parity Generator and Parity Checker using Quantum Dot Cellular Automata

Binary Adder- Subtracter in QCA

Transcription:

SYNTHESIS OF CYCLIC ENCODER AND DECODER FOR HIGH SPEED NETWORKS MARIA RIZZI, MICHELE MAURANTONIO, BENIAMINO CASTAGNOLO Dipartimento di Elettrotecnica ed Elettronica, Politecnico di Bari v. E. Orabona, 4-7125 Bari ITALY Abstract: In this paper a parallel implementation of an encoder and of a decoder for cyclic codes to increase the bit rate is proposed. The structures are composed of a cascade of iterative combinational cells able to obtain a finite output sequence spatially. The proposed solution allows high bit rates and high degree of modularity, so an easy integration of the circuits is possible. These characteristics make the method suitable to be adopted in a photonic environment in which clocked digital memory elements are still a critical aspect Key words: Sequential logic circuit, finite state machine, logic design, combinational logic circuits, Hamming code 1 Introduction Channel encoding for error detection and correction is achieved by adding to the source binary sequence a controlled amount of redundancy. This solution protects the information against possible transmission errors. However, the occurrence of errors in the message gives rise to increase message loss and consequently to reduce the network quality of service. The adopted encoding rule will heavily affect the decoding algorithm complexity, that is the process to be performed on the received sequence to recover the transmitted information. Cyclic codes are widely used for the detection and correction of errors in modern networks. They possess a great deal of well-understood mathematical structure and are effective particularly in controlling errors with a minimal amount of hardware [1], [2] [3], [4], [5]. Moreover, the transmitter and the receiver have an equal logical structure. The encoding and the decoding process of cyclic codes is achieved using a division algorithm. For this reason the classical hardware implementation adopts shift registers with feedback connections related to the used code. Due to its sequential logic nature, the circuit is time variant so the output depends on the input and the current state of memory elements. Therefore, the output may be viewed as a sequence because it varies with time and is dependent on the past. However, the grow of speed in modern transmission systems makes necessary the research of hardware solutions able to work at frequencies of Gbit/s. In a previous paper a solution based on the transformation of an FSM in a fully parallel circuit was presented [6]. In this paper in order to determine the speed limit of the parallel solution taking into account the current technological implementation, an encoder and a decoder for the systematic Hamming code are presented. They are based on a fully parallel and feed-forward operating mode, but it is possible to adopt any parallelism that is necessary. The modularity of the circuits makes an easy hardware implementation possible. These characteristics make the method suitable to be adopted in a photonic environment, too. In section 2, the principles of the encoding and decoding of cyclic codes are summarized and the design of the classical encoder and decoder for the Hamming code (15,11) are indicated. Section 3 deals with the method to transform generic Synchronous Finite State Machines (S-FSMs) in combinational circuits In section 4, the designs of the parallel solutions are presented and in section 5 their performance are evaluated. The general validity of the method is outlined and some conclusions are drawn.

2 Cyclic code encoding and decoding procedure The cyclic codes are a particular class of block codes. Suppose that a block of n bits (message word) is generated by a source. In order to achieve a given bit error probability, the word has to be encoded before transmission. The basic feature of block codes is that another block of r redundant bits is added to the information packet. These bits derive from r parity checks performed on the original message word. If the first n bits of the code word are the message bits and the last r bits are the parity check bits, the block code is called systematic. An (n + r, n) block code is a cyclic code if and only if any cyclic shift of an (n + r) bits code word produces another code word. In dealing with cyclic codes, it is useful to represent any binary sequence with the coefficients of a polynomial in the indeterminate D. A cyclic code is generated using a generator polynomial g(d) which for an (n+ r, n) cyclic code is unique and is of the form: D r +g r-1 D r-1 +...+g 1 D+1 (with g k =,1) All the code words of every cyclic code are multiples of the polynomial g(d). Therefore, one cyclic code is obtained as follows: t(d) = x(d) g(d) where x(d) is the information sequence. To generate a systematic code another algorithm is employed, by which message words are multiplied by D r and then divided by g(d). Denoting with q(d) and r(d) the quotient and the remainder of the division, the following expression is obtained: D r x(d) = q(d) g(d) + r(d) The previous formula can be rewritten as: D r x(d) + r(d)= q(d) g(d) = u(d) The polynomials u(d), being multiples of g(d), are code words of a systematic cyclic code. In fact r(d) constitutes the parity check word whose bits occupy the last r positions of u(d). The cyclic encoder is based on a shift register with linear feedback (Fig.1a), by which the division of the message word by the generator polynomial is performed. Fig.1 (a) The cyclic code encoder. (b) The cyclic code correcting section The shift register is initially set to all zero values. The message word enters one bit at a time in the register at its right end: this is equivalent to multiplying the message word by D r. After n clock pulses, the remainder is stored into the shift register. The code word appears serially in (n + r) clock pulses. Adding to the previous circuit the correction section indicated in Fig.1b, it is possible to perform the decoding operation with error detection and correction. If some errors occur during the transmission, the received polynomial w(d) can be expressed as follows: w(d) = u(d) + e(d) where e(d) is an error polynomial. Dividing w(d) by g(d), we obtain w(d) = p(d) g(d) + s(d) where s(d) is the remainder of the division, called the syndrome. If s(d) is equal to zero, w(d) is a multiple of g(d) and therefore it is a code word. In this case, either the processed word is correct or e(d) transforms the true word in a different code word and so errors are not detectable. The error correction process is more complicated: the decoder consists of a detecting section (which has the same structure as the encoder), a shift register in which the received word is stored and a correcting combinational network (Fig.1b). The binary digits y i represent the bits of the syndrome. After the error detection, the syndrome is cyclically shifted into the shift register while the serial input is kept to zero, so that (2 r -1) different syndrome values could be obtained. If one error occurs in the ith position (for 1 i n+r), the syndrome value obtained at the ith pulse clock is the same, whatever the

value of i. Therefore, the correcting section of the circuit is able to correct a single error, independently from its position into the received word. The syndrome words, together with the code word, are fed step-by-step into the correcting gates. If there is a single error, the incorrect bit is complemented. 3. The iterative cells architecture Every S-FSM which transforms a finite input sequence x(i) into a finite output sequence z(i), can be transformed into a combinational circuit [7]. Therefore, every p bits long output sequence obtained by an FSM, can also be generated spatially by a combinational iterative network, consisting of a cascade of p identical cells, one of which is shown schematically in Fig. 2. x i is the input vector, z i is the output vector, y i is the input carries vector and Y i is the output carries vector. Thus X i =x(i); y i =y(i); Y i =Y(i) The cells are in cascade in such a way that the output carries from the (i-1)th cell constitute the input carries to the ith cell. The input signals are applied simultaneously to all cells and the outputs appear simultaneously, except for the delay introduced by the cells, depending on the number of gates each signal must pass through. Because of its modularity, an iterative circuit is suitable for easy integration. The synthesis procedure of an iterative combinational circuit is the same as that of a synchronous sequential circuit [7]. Y k =g k (x y r-1 ) y k-1 k=,..., r-1 where represents the mod-2 sum or the EXOR boolean function. In the corresponding iterative cells encoder, n iterative cells are needed, into which the n message bits are fed. The number of input and output carries is r. The output carries from the nth cell are the check digits to be added as the final bits of the code word. The parallel decoder needs for [2(n+r)-l] iterative cells. In fact, the whole code word is fed into (n+r) iterative cells, identical to those of the encoder. Moreover, as the syndrome is shifted (n+r-1) times into the shift register, n+r-1 cells are necessary in the iterative solution to perform the correction. The output carries vector, Y (n+r+i-1) (for i= 1,.., n+r), representing the parallel syndrome, allows the error in the ith position to be corrected. 4. Synthesis of the Hamming circuits In order to evaluate the speed-up of the iterative cells circuits as to the sequential structures, the encoder and decoder for the systematic Hamming (15,11) code have been designed. Every code word consists of 11 message bits and 4 parity check digits obtained adopting the following generator polynomial: g(d) = D 4 + D + 1 From the previous formula derives that every cell has to implement the following logical functions: Y = y 4 x i Y 1 = y Y Y 2 = y 1 Y 3 = y 2 Fig.2 The generic cell composing an iterative circuit In order to transform the sequential cyclic code encoder and decoder into combinational circuits it is necessary to define their state transition property. For the previous sequential circuits it assume the following expression: In fig.3 the logical structure of the designed cell is indicated. The parallel encoder is composed of 11 identical cells; the output carries of the last cell represent the check bits to add to the message word. To perform the error detection 15 cells are necessary while to correct the single error other 14 cells have to be designed. Therefore, the Hamming decoder is composed of 15 cells having the structure indicated in fig.3 and 14 other cells whose logical architecture is shown in fig.4.

Fig.3 The logical architecture of the Hamming (15,11) encoder cell Fig.4 The logical architecture of the correcting section cell Fig.6 The parallel Hamming (15,11) decoder This last cells are characterized by a logical zero input value which corresponds to the shift of the generated syndrome inside the sequential circuit (fig.5). B1 B2 B15 B1 B2 B15 y Y y1 y2 Y1 Cell - 1 Y2 Cell - 2 Cell - 15 Cell - 16 Cell - 29 y3 Y3 B1 OUT B2 OUT B15 OUT Fig.5 Schematic structure of the combinational decoder The high degree of modularity of the previous circuits makes easy the layout process. Figgs.6 and 7 show the logical structure of the combinational decoder and the layout of the generic cell decoder realized adopting the CMOS AMS.35 technology. Moreover, the layout of the Hamming (15,11) decoder is indicated in fig.8. Fig.7 The layout of the single cell decoder

5. Performance evaluation and comparative analysis To evaluate the enhancement of the designed circuits many simulations with different message and code words have been performed adopting the ORCAD simulator. As the parameter to analyze has been the coding and decoding speed, the study in the time domain started after the last bit arrived. In this way the real delay introduced by the circuits has been considered. The time necessary to code an information depends on the particular message word; in particular for the worst case the speed-up of the combinational encoder as regards the sequential solution is about 4. In fig.9 the simulation results for the message word [11] are shown and the performance have been compared with the sequential solution (fig.1). In this situation the speed-up is about 8, in fact about 16ns are necessary to code the message word adopting the shift register solution while only 2ns are request in the iterative cell architecture. For what the decoding circuit concerns, the analysis has been performed with an operating frequency of 1GHz. In this condition a speedup of about 7 has been reached in the worst situation. Fig.8 The layout of the Hamming decoder Fig.9 Time domain performance of the parallel encoder

and Microwave Conference, 5-6 Oct. 24 pag. 224-226 [4] S. J. Piestrak, A. Dandache, F. Monteiro, Designing fault-secure parallel encoders for systematic linear error correcting codes, IEEE Transactions on Reliability, vol.52, n.4, Dec. 23, pag. 492-5 [5] F. Monteiro, A. Dadanche, B. Lepley, Fast Configurable Polynomial Division for Error Control Coding Applications, 7th IEEE Int. Online Testing Workshop, 21 [6] B. Castagnolo, M. Rizzi High-speed error correction circuit based on iterative cells, Int. J. Electronics,, Vol. 14, N. 4, 1993, pag. 529-54 [7] Z. Kohavi: Switching and Finite Automata Theory, McGraw-Hill Press, 197 Fig.1 Time domain performance of the serial encoder 6. Conclusions In this paper the designs of pure combinational Hamming code encoder and decoder have been indicated. The adopted procedure has a general validity in fact it can be used for every systematic cyclic code. The high performance of the realized solutions and the limited number of logical gates composing the structures make the circuits easy to be implemented in photonic environment, too. In particular having parallel data available, the designed encoder has a speed-up of about 4 as to the corresponding sequential solution while the performance of the decoder increases of about 7 with respect the serial structure. References [1] S. Benedetto, E. Biglieri, V: Castellani,: Digital Transmission Theory, Prentice- Hall, Inc., 1988 [2] B. Sklar: Digital Communications- Fundamentals and Applications, Prentice Hall International Editions, 1988 [3] O. Khalifa, M. D. Rafiqul Islam, S. Khan, Cyclic redundancy encoder for error detection in communication channels, RF