Mask-Based Galois Multipliers for Flexible Reed-Solomon Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Reed-Solomon encoders and decoders face challenges in accommodating varying code word configurations due to impractical fully flexible Galois field (GF) multipliers, which require large, slow, and complex circuitry, making them inflexible for different display standards like Display Port and HDMI.

Innovation Solution

A programmable digital data encoder employing Galois field multiplication logic with pre-calculated or dynamically generated mask values and XOR circuits, allowing for variable symbol widths and primitive polynomials, enabling flexible encoding schemes using smaller mask look-up tables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fully flexible GF multipliers are used to accommodate different code word configurations, then adaptability is improved, but device complexity and memory requirements increase significantly

Engineering Contradiction:
ImproveadaptabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The GF multiplication operation is segmented into multiple stages: input registration, mask selection from LUT, parallel AND gate operations for each bit position, and final XOR summation. This segmentation allows the circuit to handle variable symbol widths efficiently without requiring a completely different circuit design for each width.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The encoder circuit is designed with universal components that can handle multiple symbol widths (8-bit, 10-bit, 12-bit) and different primitive polynomials through a single configurable architecture. The mask-based approach allows the same hardware to perform GF multiplication for different standards (HDMI, Display Port) by simply changing the mask values in the LUT.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If fully flexible GF multipliers are used to support different display standards, then adaptability is improved, but speed decreases due to large and complex circuitry

Engineering Contradiction:
ImproveadaptabilityVSAvoidspeed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

Mask values are pre-calculated and stored in the look-up table before operation. This preliminary action eliminates the need for complex runtime calculations, allowing the circuit to quickly retrieve appropriate masks and perform simple parallel AND and XOR operations, significantly improving multiplication speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The circuit dynamically selects mask values from the LUT based on the current operation requirements (symbol width and primitive polynomial). This dynamic adaptation allows the same hardware to optimize its operation for different standards without being locked into a fixed configuration, maintaining high speed across variable conditions.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If small fixed circuitry is used for GF multiplication, then device complexity is reduced, but adaptability to different symbol widths and primitive polynomials is lost

Engineering Contradiction:
Improvedevice complexityVSAvoidadaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The mask look-up table acts as an intermediary between the fixed circuitry and the variable requirements of different standards. The LUT stores pre-calculated mask values that translate the need for adaptability into simple table lookups, allowing fixed hardware to achieve variable behavior without increasing circuit complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The circuit achieves adaptability by changing parameters (mask values) rather than changing the circuit structure. The mask LUT stores different parameter sets for different symbol widths and primitive polynomials, allowing the same hardware circuit to adapt to different standards by simply changing which parameters are active.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If large look-up tables are used to accommodate different symbol widths, then adaptability is improved, but memory requirements and interface complexity increase

Engineering Contradiction:
ImproveadaptabilityVSAvoidmemory
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The mask LUT is designed with local quality by organizing masks according to specific symbol widths and primitive polynomials. Each entry in the LUT is specifically tailored for a particular configuration, allowing efficient storage and retrieval without redundant data. The LUT structure optimizes memory usage by storing only the necessary mask values for supported standards.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The implementation uses a partial LUT approach, storing only the mask values needed for specific supported standards (8-bit, 10-bit, 12-bit with particular primitive polynomials) rather than storing all possible combinations. This partial action reduces memory requirements while maintaining adaptability for the most commonly used configurations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11012094B2Encoder with mask based galois multipliers
Publication Date: 2021.05.18 ATI TECHNOLOGIES ULC
  • US11012094B2 patent drawing
  • US11012094B2 patent drawing
  • US11012094B2 patent drawing

AI summary

A programmable digital data encoder employs error correcting coding that uses Galois field multiplication logic wherein each bit of the product is produced by first applying pre-calculated mask values or mask values calculated via a processor executing code, and then applying an XOR circuit together with the mask bits from the pre-calculated or generated mask. In one example, a set of Galois field multipliers is used wherein each multiplier in the set includes a plurality of 2-bit input AND gate circuits and an m-bit input XOR gate circuit to produce a bit of the product. In one example, there are “m” mask values in a mask table wherein m is the symbol width. A different mask value is applied for each bit of the product. The mask values are each m-bits wide, and are stored, for example, in memory as a small look-up table with m m-bit entries or in m m-bit wide registers.