SELECTING AN ITH LARGEST OR A PTH SMALLEST NUMBER FROM A SET OF N M-BIT NUMBERS
First Claim
1. A method of selecting, in hardware logic, a number from a set of n m-bit numbers, wherein the selected number is either an ith largest or a pth smallest number from the set of n m-bit numbers, where i, p, m and n are integers, the method comprising a plurality of iterations and each of the iterations comprising:
- summing a bit from each of the m-bit numbers to generate a summation result, wherein all the bits being summed occupy an identical bit position within their respective number;
comparing the summation result to a threshold value, wherein the threshold value is calculated based on i or p;
setting, based on an outcome of the comparison, a bit of the selected number; and
for each of the m-bit numbers, based on the outcome of the comparison and a value of the bit from the m-bit number, selectively updating a bit in the m-bit number occupying a next bit position,wherein in a first iteration, a most significant bit from each of the m-bit numbers is summed and a most significant bit of the selected number is set and each subsequent iteration sums bits occupying successive bit positions in their respective numbers and sets a next bit of the selected number, andwherein the method comprises outputting data indicative of the selected number.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of selecting, in hardware logic, an ith largest or a pth smallest number from a set of n m-bit numbers is described. The method is performed iteratively and in the rth iteration, the method comprises: summing an (m−r)th bit from each of the m-bit numbers to generate a summation result and comparing the summation result to a threshold value. Depending upon the outcome of the comparison, the rth bit of the selected number is determined and output and additionally the (m−r−1)th bit of each of the m-bit numbers is selectively updated based on the outcome of the comparison and the value of the (m−r)th bit in the m-bit number. In a first iteration, a most significant bit from each of the m-bit numbers is summed and each subsequent iteration sums bits occupying successive bit positions in their respective numbers.
0 Citations
20 Claims
-
1. A method of selecting, in hardware logic, a number from a set of n m-bit numbers, wherein the selected number is either an ith largest or a pth smallest number from the set of n m-bit numbers, where i, p, m and n are integers, the method comprising a plurality of iterations and each of the iterations comprising:
-
summing a bit from each of the m-bit numbers to generate a summation result, wherein all the bits being summed occupy an identical bit position within their respective number; comparing the summation result to a threshold value, wherein the threshold value is calculated based on i or p; setting, based on an outcome of the comparison, a bit of the selected number; and for each of the m-bit numbers, based on the outcome of the comparison and a value of the bit from the m-bit number, selectively updating a bit in the m-bit number occupying a next bit position, wherein in a first iteration, a most significant bit from each of the m-bit numbers is summed and a most significant bit of the selected number is set and each subsequent iteration sums bits occupying successive bit positions in their respective numbers and sets a next bit of the selected number, and wherein the method comprises outputting data indicative of the selected number. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A hardware logic unit arranged to select an ith largest or pth smallest number from a set of n m-bit numbers, where i, p, m and n are integers, the hardware logic unit being arranged to operate iteratively and comprising:
-
summation logic arranged to, in each iteration, sum a bit from each of the m-bit numbers to generate a summation result, wherein all the bits being summed occupy an identical bit position within their respective number such that in a first iteration, a most significant bit from each of the m-bit numbers is summed and each subsequent iteration sums bits occupying successive bit positions in their respective numbers; comparison logic arranged to, in each iteration, compare the summation result generated by the summation logic in that iteration to a threshold value and set a bit of the selected number based on an outcome of the comparison, wherein the threshold value is calculated based on i or p; updating logic arranged to, in each iteration and for each of the m-bit numbers, selectively update a bit in the m-bit number occupying a next bit position based on the outcome of the comparison in that iteration and a value of the bit from the m-bit number; and an output arranged to output data indicative of the selected number. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. An integrated circuit manufacturing system comprising:
-
a computer readable storage medium having stored thereon a computer readable description of an integrated circuit that describes a hardware logic unit; a layout processing system configured to process the integrated circuit description so as to generate a circuit layout description of an integrated circuit embodying the hardware logic unit; and an integrated circuit generation system configured to manufacture the hardware logic unit according to the circuit layout description, wherein the hardware logic unit is arranged to operate iteratively and comprises; summation logic arranged to, in each iteration, sum a bit from each of the m-bit numbers to generate a summation result, wherein all the bits being summed occupy an identical bit position within their respective number such that in a first iteration, a most significant bit from each of the m-bit numbers is summed and each subsequent iteration sums bits occupying successive bit positions in their respective numbers; comparison logic arranged to, in each iteration, compare the summation result generated by the summation logic in that iteration to a threshold value and set a bit of the selected number based on an outcome of the comparison, wherein the threshold value is calculated based on i or p; updating logic arranged to, in each iteration and for each of the m-bit numbers, selectively update a bit in the m-bit number occupying a next bit position based on the outcome of the comparison in that iteration and a value of the bit from the m-bit number; and an output arranged to output data indicative of the selected number.
-
Specification