Bitwise Range Computation via Segmented Binary Decomposition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for determining the resultant range of bitwise operations are inefficient and time-consuming, requiring brute force calculations that involve every possible combination of values within a valid range.

Innovation Solution

The approach involves parsing and compiling software code to generate a plurality of ranges for each operand, performing bitwise operations on these constructed ranges rather than individual values, which reduces the number of computations and time required to determine the resultant range.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If brute force approach is used to determine resultant range by testing every possible combination of values, then measurement precision is improved, but productivity deteriorates

Engineering Contradiction:
Improveresultant range accuracyVSAvoidcomputation speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the valid range of each operand into multiple sub-ranges. Instead of testing every individual value combination, the method divides the search space into manageable segments and computes the resultant range for each segment combination, significantly reducing the total number of computations while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the problem from operating on individual scalar values to operating on range objects with multiple dimensions (lower bound, upper bound, step). This dimensional transformation allows bitwise operations to be performed on range boundaries and step values directly, computing the resultant range in closed form rather than through exhaustive enumeration.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If brute force approach is used to test every possible combination, then reliability is improved, but loss of time worsens

Engineering Contradiction:
Improveoperation verification accuracyVSAvoidcomputation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by computing the resultant range from the boundaries and step values of input ranges before any exhaustive testing would occur. The method calculates the minimum and maximum values of the resultant range along with the step value in advance, using closed-form mathematical operations on the range parameters.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent works with range representations (abstract copies of the value sets) rather than actual individual values. By operating on range objects that represent collections of values without enumerating them, the method achieves reliable verification of the resultant range while avoiding the time cost of processing each individual value copy.

Inventive Principle:
Principle #26Copying

3Ease of operation

If range decomposition into binary format is performed, then ease of operation is improved, but device complexity increases

Engineering Contradiction:
Improvebitwise operation efficiencyVSAvoidcode complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent changes the parameter representation of ranges by decomposing them into binary format components (upper bit portion, lower bit portion, step value). This parameter transformation enables efficient bitwise operations on range boundaries, as the binary decomposition aligns with how bitwise operators naturally process data, simplifying the core computation logic.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11003818B1Range computation of bitwise operators
Publication Date: 2021.05.11 XILINX INC
  • US11003818B1 patent drawing
  • US11003818B1 patent drawing
  • US11003818B1 patent drawing

AI summary

A method includes parsing and compiling a software code that includes a constraint bitwise operation with a first operand associated with a first constraint range and a second operand associated with a second constraint range. A first and a second plurality of ranges that spans the first and second constraint range are generated. In some embodiments, each constrained range is converted into a binary format having an upper bit portion and a lower bit portion. The upper bit portion for the each range remains unchanged. A resultant range associated with the constraint bitwise operation is determined based on performing the constraint bitwise operation on the first and the second plurality of ranges.