Altecc (error correction code: encoder/decoder), Altecc (error correction code: encoder/decoder) -1, Altecc (error correction code: encoder/ decoder) – Altera Integer Arithmetic IP User Manual
Page 39

ALTECC (Error Correction Code: Encoder/
Decoder)
5
2014.12.19
UG-01063
The error correction code (ECC) is a error detection and correction method in digital data transmission.
Its primary purpose is to detect corrupted data that occurs at the receiver side during data transmission.
This error correction method is best suited for situations where errors occur at random rather than in
bursts.
The ECC detects errors through the process of data encoding and decoding. For example, when the ECC
is applied in a transmission application, data read from the source are encoded before being sent to the
receiver. The output (code word) from the encoder consists of the raw data appended with the number of
parity bits. The exact number of parity bits appended depends on the number of bits in the input data.
The generated code word is then transmitted to the destination.
The receiver receives the code word and decodes it. Information obtained by the decoder determines
whether an error is detected. The decoder detects single-bit and double-bit errors, but can only fix single-
bit errors in the corrupted data. This type of ECC is called a single error correction double error detection
(SECDED).
Altera provides two megafunctions, the ALTECC_ENCODER and ALTECC_DECODER, to implement
the ECC functionality. The data input to the ALTECC_ENCODER megafunction is encoded to generate a
code word that is a combination of the data input and the generated parity bits. The generated code word
is transmitted to the ALTECC_DECODER megafunction for decoding just before reaching its destination
block. The ALTECC_DECODER megafunction generates a syndrome vector to determine if there is any
error in the received code word. It fixes the data only if the single-bit error is from the data bits. No signal
is flagged if the single-bit error is from the parity bits. The megafunction also has flag signals to show the
status of the data received and the action taken by the ALTECC_DECODER megafunction, if any.
The following figures show the ports for the ALTECC megafunction.
©
2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html
. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134