Digit-Recurrence Selection Constants for Square Root and Divide

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing digit recurrence algorithms face challenges in balancing performance, circuit area, and power consumption when implementing higher radix operations for square root and divide operations, particularly in meeting timing requirements for fitting multiple sub-iterations within a single processing cycle.

Innovation Solution

The approach involves splitting a higher-radix iteration into multiple lower-radix sub-iterations within the same processing cycle, using shared circuitry and speculative replication to reduce timing delays and circuit complexity, and employing on-the-fly conversion to efficiently handle redundant and non-redundant representations of remainder values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a higher radix is used in digit recurrence algorithm, then the number of iterations is reduced and performance is improved, but the circuit complexity and power consumption increase

Engineering Contradiction:
ImproveperformanceVSAvoidcircuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides a higher-radix iteration into multiple lower-radix sub-iterations. For example, a radix-16 iteration is segmented into two radix-8 sub-iterations, each handling a portion of the result bits. This segmentation reduces the complexity of individual iteration circuits while maintaining the performance benefit of processing multiple bits per iteration cycle.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically selects between different radix configurations based on operational requirements. The system can adaptively choose to perform full higher-radix iterations when performance is critical or switch to segmented lower-radix sub-iterations when circuit resource constraints exist, enabling flexible optimization of the performance-complexity tradeoff.

Inventive Principle:
Principle #15Dynamics

2Productivity

If a higher radix is used in digit recurrence algorithm, then fewer iterations are needed, but the area of circuitry required increases

Engineering Contradiction:
Improveiterations per cycleVSAvoidcircuit area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

By segmenting a radix-16 iteration into two radix-8 sub-iterations, the patent reduces the circuit area required for each iteration stage. Each sub-iteration uses smaller comparison circuits and selection logic, fitting within available circuit area constraints while still achieving 2 bits of result per iteration cycle through the combined sub-iterations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses speculative replication of circuitry for the sub-iterations, where identical comparison and selection circuits are copied and configured for different radix values. This allows the same physical circuit block to be reused for both radix-8 and radix-16 operations, optimizing area utilization.

Inventive Principle:
Principle #26Copying

3Productivity

If a higher radix is used in digit recurrence algorithm, then performance is improved, but power consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

Segmenting higher-radix iterations into lower-radix sub-iterations reduces power consumption by activating only the necessary comparison and selection circuits for each sub-iteration. For example, performing two radix-8 sub-iterations activates fewer logic gates simultaneously than a single radix-16 iteration, reducing dynamic power consumption while maintaining the same processing throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically configures the radix and number of sub-iterations based on power availability and performance requirements. When power consumption needs to be reduced, the system can opt for segmented sub-iterations with lower switching activity, while still achieving acceptable performance levels.

Inventive Principle:
Principle #15Dynamics

4Productivity

If multiple sub-iterations are fitted within a single processing cycle, then performance is improved, but timing requirements become more difficult to meet

Engineering Contradiction:
Improvebits generated per cycleVSAvoidtiming complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the iteration logic into distinct, modular sub-iteration stages that can be pipelined or executed sequentially within a cycle. Each sub-iteration stage has well-defined input and output interfaces, making timing analysis and synchronization easier. The segmented structure allows for systematic timing closure by optimizing each stage independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary setup of comparison constants and selection logic before each sub-iteration begins. Selection constants for the next sub-iteration are pre-computed and loaded into lookup tables in advance, reducing the critical path delay during the actual sub-iteration execution and making it easier to meet tight timing requirements.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20230018977A1Digit-recurrence selection constants
Publication Date: 2023.01.19 ARM LTD
  • US20230018977A1 patent drawing
  • US20230018977A1 patent drawing
  • US20230018977A1 patent drawing

AI summary

A data processing apparatus to perform a digit-recurrence operation on an input value comprises receiver circuitry for receiving a remainder value of a previous iteration of the digit-recurrence operation. Comparison circuitry performs comparisons on most significant bits of the remainder value of the previous iteration of the digit-recurrence operation with each of a plurality of selection constants associated with available digits of a next digit of a result of the digit-recurrence operation and outputs the next digit of the result of the digit-recurrence operation based on the comparisons. Each of the selection constants is associated with one of the available digits and an input parameter. Storage circuitry stores a subset of the selection constants, the subset of the selection constants excluding an excluded selection constant from the selection constants, which is associated with an excluded digit from the available digits.