System and method for determination of a horizontal minimum of digital values
First Claim
1. A microprocessor which is programmed to determine a minimum one of at least two binary values, comprising:
- a first adder which is configured to add upper bits of a first binary value with inverted upper bits of a second binary value, said first adder configured to provide a first carry output and a first propagate output;
wherein said first adder is configured OR each bit of said upper bits of said first binary value with a corresponding bit of said inverted upper bits of said second binary value to provide a plurality of result bits and is configured to logically AND said plurality of result bits to provide said first propagate output;
a second adder which is configured to add lower bits of said first binary value with inverted lower bits of said second binary value, said second adder configured to provide a second carry output; and
a compare circuit which is configured to determine whether said first binary value is greater than said second binary value based on said first and second carry outputs and said first propagate output.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for fast determination of a horizontal minimum of multiple digital values including a difference circuit and a compare circuit. The difference circuit may include first and second adders in which the first adder compares upper bits of a first digital value with upper bits of a second digital value and provides a first carry output and a propagate output. The second adder compares lower bits of the first digital value with lower bits of the second digital value and provides a second carry output. The compare circuit determines whether the first digital value is greater than the second digital value based on the carry and propagate outputs. Multiple difference circuits may be used to compare each of multiple digital values with every other digital value to provide corresponding compare bits, which are then used to determine a minimum one of the digital values and its corresponding location.
-
Citations
19 Claims
-
1. A microprocessor which is programmed to determine a minimum one of at least two binary values, comprising:
-
a first adder which is configured to add upper bits of a first binary value with inverted upper bits of a second binary value, said first adder configured to provide a first carry output and a first propagate output; wherein said first adder is configured OR each bit of said upper bits of said first binary value with a corresponding bit of said inverted upper bits of said second binary value to provide a plurality of result bits and is configured to logically AND said plurality of result bits to provide said first propagate output; a second adder which is configured to add lower bits of said first binary value with inverted lower bits of said second binary value, said second adder configured to provide a second carry output; and a compare circuit which is configured to determine whether said first binary value is greater than said second binary value based on said first and second carry outputs and said first propagate output. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for fast determination of a horizontal minimum of a plurality of digital values, comprising:
-
a plurality of difference circuits, each configured to compare a first digital value with a second digital value; a routing circuit which is configured to route each of the plurality of digital values to at least one of said plurality of difference circuits in order to compare each digital value with every other one of the plurality of digital values; wherein each of said plurality of difference circuits comprises; an upper adder configured to compare an upper portion of a first digital value with an upper portion of a second digital value and to provide a corresponding one of a plurality of first carry outputs and a corresponding one of a plurality of propagate outputs; and a lower adder configured to compare a lower portion of said first digital value with a lower portion of said second digital value and to provide a corresponding one of a plurality of second carry outputs; and a compare circuit which is configured to combine said plurality of first and second carry outputs and said plurality of propagate outputs to determine a minimum one of the plurality of digital values, wherein said compare circuit comprises; a first compare circuit which is configured to combine a first carry output, a second carry output and a propagate output of each of said plurality of difference circuits to provide a corresponding one of a plurality of comparison bits; and a second compare circuit which is configured to determine a minimum one of the plurality of digital values based on said plurality of comparison bits. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of determining a minimum one of a plurality of digital values, comprising:
-
comparing, by a microprocessor, upper bits of a first digital value with upper bits of a second digital value and providing a first carry output and a propagate output; comparing, by the microprocessor, lower bits of the first digital value with lower bits of the second digital value and providing a second carry output; and determining, by the microprocessor, which of the first and second digital values is a lesser value based on the first and second carry outputs and the propagate output; wherein said comparing upper bits, comparing lower bits and determining being performed by each of a plurality of adder pairs of the microprocessor; routing, by the microprocessor, each of a plurality of digital values to at least one of the plurality of adder pairs for comparing each digital value with every other one of the plurality of digital values; and determining, by the microprocessor, a minimum one of the plurality of digital values based on said comparing. - View Dependent Claims (17, 18)
-
-
19. A microprocessor which is configured to determine a minimum one of at least two binary values, comprising:
-
a first adder which is configured to add upper bits of a first binary value with inverted upper bits of a second binary value, said first adder configured to provide a first carry output and a first propagate output; a second adder which is configured to add lower bits of said first binary value with inverted lower bits of said second binary value, said second adder configured to provide a second carry output; and a compare circuit which is configured to determine whether said first binary value is greater than said second binary value based on said first and second carry outputs and said first propagate output, wherein said compare circuit comprises; an OR gate having first and second inputs and an output, wherein said first input receives said first carry output and said output indicates whether said first binary value is greater than said second binary value; and an AND gate having first and second inputs and an output, wherein said first input receives said propagate output, wherein said second input receives said second carry output, and wherein said output is coupled to said second input of said OR gate.
-
Specification