head 1.1; branch 1.1.1; access ; symbols rel-1_0:1.1.1.1 elecdes:1.1.1; locks ; strict; comment @# @; 1.1 date 2006.02.09.06.06.28; author rud_dp; state Exp; branches 1.1.1.1; next ; commitid 5b0943eadbae4567; 1.1.1.1 date 2006.02.09.06.06.28; author rud_dp; state Exp; branches ; next ; commitid 5b0943eadbae4567; desc @@ 1.1 log @Initial revision @ text @++++++++++++++++++++++++++ RS Decoder (31,19,6) v1.1 ++++++++++++++++++++++++++ This project consists of 8 verilog files including a testbench file. The files are: - RSDecoder.v : contains description of top module of the decoder. It combines 5 modules of typical RS Decoder building blocks. - scblock.v : contains description of the SC (Syndrome Computation) block and its submodules. - kesblock.v : KES (Key Equation Solver) block and its submodules. - cseeblock.v : CSEE (Chien Search and Error Evaluator) block and parallel invers multiplier module. CSEE is the only block in the decoder that use invers multiplier to compute error magnitude using Fourney Formula. - controller.v : describes controller module. It consists of 2 FSMs and 2 counters. - fifo_register.v : a FIFO register consists of 31 registers to store received word and a register to synchronize outputted data with CSEE block. - common_modules.v: this file contains basic modules that used by other higher modules. It behaves like a library for the project. - testbench.v : the testbench contains 3 different received word vectors. First received word contains no error symbol. Second word contains 6 error symbols and the last word contains 8 error symbols. Limitations in this version: Despite its high data rates, the decoder has some limitations that must be considered. - It flags decoding failure at the end of outputted word. So, other block outside the decoder cannot differentiate between uncorrected word and corrected word until it receive decoding failure flag at the end of the word. - Decoding failure is detected when degree of error location polynomial and number of its roots is not equal. It means the error location polynomial doesn't have roots in the underlying GF(2^5). To determine the roots, decoder must activate CSEE block first. Hence, decoding failure is detected after all elements in GF(2^5) have been evaluated. - Uncorrectable word still have to be summed with wrong error values. Because decoding failure is detected at the end of word, there is no other mechanism to solve the problem, unless decoder start to output the word after all GF(2^5) elements has been evaluated. Hopefully, in next version, limitations above can be solved. Rudy Dwi Putra rudy.dp@@gmail.com@ 1.1.1.1 log @RS Decoder (31,19,6) v1.0 @ text @@