Parallel Syndrome Decoder Circuit for Misaligned Codeword Boundaries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing decoders for BCH-type codes, such as Reed-Solomon decoders, face inefficiencies when processing codewords that do not align with clock cycle boundaries, leading to resource wastage and the need for additional logic or multiple clock domains, especially in programmable integrated circuit devices where code parameters can vary.
Innovation Solution
The solution involves dividing the vector of received symbols into subgroups based on the modulus of the codeword length relative to the parallelism of the decoder, allowing a single decoder to operate continuously by using multipliers, adders, accumulation, and selection circuitry to calculate syndromes efficiently, regardless of codeword alignment with clock boundaries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single decoder processes symbols in parallel, then throughput is improved, but resource wastage occurs when codeword boundaries do not align with clock cycle boundaries
Solution Approach 1:
The syndrome calculation is segmented into multiple groups corresponding to different alignment scenarios. Each group handles a specific codeword-to-clock-cycle alignment pattern, allowing the decoder to efficiently process codewords regardless of boundary alignment without wasting resources on idle cycles.
Solution Approach 2:
The decoder dynamically selects which syndrome calculation group to use based on the current alignment between codeword boundaries and clock cycle boundaries. This dynamic adaptation eliminates resource wastage while maintaining continuous parallel processing throughput.
2Reliability
If a second decoder is provided to handle codeword boundaries, then continuous operation is achieved, but device complexity increases
Solution Approach 1:
A single decoder is designed to perform multiple functions by selecting from different syndrome calculation groups. This universal approach achieves continuous operation without requiring multiple decoders, thereby reducing device complexity while maintaining reliability.
Solution Approach 2:
The decoder uses periodic syndrome calculation groups that are activated in sequence based on alignment patterns. This periodic structure enables continuous operation with a single decoder by systematically handling different boundary alignment scenarios over time.
3Ease of manufacture
If the decoder is designed for specific code parameters, then manufacturing is simplified, but adaptability to different code parameters is reduced
Solution Approach 1:
The decoder incorporates multiple syndrome calculation groups that can be configured for different code parameters. This universal design allows a single circuit to adapt to various BCH code types and parameters while maintaining relatively simple manufacturing processes.
Solution Approach 2:
The decoder enables parameter changes by selecting different syndrome calculation groups corresponding to different code parameters. This approach provides adaptability to various code configurations without requiring complete redesign, balancing ease of manufacture with versatility.
Data Source
AI summary
Syndrome calculation circuitry for a decoder of codewords having a first number of symbols, where the decoder receives a second number of parallel symbols, and where the first number is not evenly divisible by the second number, includes multipliers equal in number to the second number. Each multiplier multiplies a symbol by a coefficient based on a root of a field of the decoder. The multipliers are divided into a number of groups determined as a function of a modulus of the first number and the second number. Adders equal in number to the groups add outputs of multipliers in respective ones of the groups. Accumulation circuitry accumulates outputs of the adders. Output circuitry adds outputs of the adders to an output of the accumulation circuitry to provide a syndrome. Selection circuitry directs outputs of the adders to the accumulation circuitry or the output circuitry, and resets the accumulation circuitry.


