Modulo K Calculation Circuitry Using Segmented Partial Operands

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing apparatuses require complex logic and extensive resources to calculate modulo k values, making them time-consuming and inefficient.

Innovation Solution

The apparatus splits the input data value into partial operands and uses a series of combination stages to calculate modulo k values, reducing the number of operations required by combining groups of partial operands, thereby simplifying the logic and increasing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional division/multiplication logic is used to calculate modulo k values, then calculation accuracy is maintained, but circuit complexity and computation time increase significantly

Engineering Contradiction:
Improvemodulo k calculation accuracyVSAvoidcircuit complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The input data value is segmented into multiple partial operands (e.g., 8 partial operands for an 8-bit value). Each partial operand is processed independently to generate a corresponding modulo k value, which are then combined through addition and modulo operations to produce the final result. This segmentation eliminates the need for complex division logic while maintaining calculation accuracy.

Inventive Principle:
Principle #1Segmentation

2Speed

If extensive lookup tables are used to store precomputed modulo values, then calculation speed improves, but memory resources and circuit area increase

Engineering Contradiction:
Improvemodulo k calculation speedVSAvoidcircuit area
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

Instead of storing a complete lookup table for all possible input values, the method segments the input into partial operands and only stores/computes modulo values for these smaller components. This reduces the lookup table size from requiring entries for all 2^N possible N-bit values to only requiring computations for the segmented partial operands, significantly reducing circuit area while maintaining fast computation through the combination stages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The method pre-computes modulo k values for partial operands (such as powers of 2) and stores these in small lookup tables or hardwires them into the circuit. These precomputed values are then combined using addition and modulo operations to obtain the final result, avoiding the need for large lookup tables that would store precomputed values for all possible input combinations.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If repeated subtraction methods are used to compute modulo k, then implementation simplicity is maintained, but computation time increases

Engineering Contradiction:
Improveimplementation simplicityVSAvoidcomputation time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The input value is divided into partial operands, and the modulo operation is applied to each segment independently. The results are then combined through a series of addition and modulo operations in combination stages. This approach maintains implementation simplicity by using basic arithmetic operations while significantly reducing computation time compared to repeated subtraction of the entire input value.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The method pre-computes modulo k values for partial operands (such as powers of 2) and stores these precomputed values in lookup tables or hardwires them into the circuit. During operation, these precomputed values are retrieved and combined through addition and modulo operations, eliminating the need for repeated subtraction during the actual computation phase.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If complex division logic is implemented to ensure accurate modulo k calculation, then calculation precision is maintained, but the number of logic gates and circuit area increase

Engineering Contradiction:
Improvemodulo k calculation precisionVSAvoidnumber of logic gates
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The input data value is divided into multiple partial operands (e.g., 8 partial operands for an 8-bit value). Each partial operand is processed independently to generate a corresponding modulo k value. These values are then combined through addition and modulo operations in combination stages to produce the final result. This segmentation reduces the number of logic gates required compared to implementing full division logic, as each segment can be processed with simpler operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230367554A1Apparatus, a method of operating modulo k calculation circuitry and a non-transitory computer-readable medium to store computer-readable code for fabrication of an apparatus
Publication Date: 2023.11.16 ARM LTD
  • US20230367554A1 patent drawing
  • US20230367554A1 patent drawing
  • US20230367554A1 patent drawing

AI summary

There is provided a method and an apparatus for calculating an output modulo k value of an input data value. The apparatus is provided with input data value analysis circuitry to consider the input data value as a plurality of partial operands, and to determine a plurality of modulo k values corresponding to the plurality of partial operands. The apparatus is provided with modulo k calculation circuitry comprising plural combination stages to replace one or more groups of input modulo k values with one or more combined modulo k values. The plural combination stages comprise a first combination stage to receive the plurality of modulo k values as inputs and to output an intermediate reduced plurality of modulo k values, and one or more further combination stages to sequentially combine one or more groups of the intermediate reduced plurality of modulo k values to generate the output modulo k value.