The ECC encoder/decoder combines both encoder and decoder operations in a single module and is most suited for applications requiring either encoding or decoding but not both at the same time. The ECC encoder/decoder function provides an additional ecc_encode input. When this input is asserted High, ECC encoder operations are performed on the input data. When ecc_encode input is de-asserted, ECC decoder operations are performed on input codeword (data and check bits). When ecc_correct_n input is asserted High during ECC decoder operation, the decoding operation is bypassed and input data is forwarded at the output with error status outputs kept deasserted.
The ECC encoder/decoder function provides an optimized solution for Single Port Memory operations or for extending ECC function over byte enabled data with an external read-modify-write operation.