| CPC G06F 13/20 (2013.01) [G06F 7/16 (2013.01)] | 19 Claims |

|
1. A method for creating a stable single stage merging device, which merges numeric values of at least two pre-sorted input lists into a single sorted output list of the numeric values, the method comprising:
establishing a ranking for the at least two pre-sorted input lists based on a position for each of the at least two pre-sorted input lists in a stable sort hierarchy, such that an equal value from a higher ranked input list of the at least two pre-sorted input lists always precedes an equal value from a lower ranked list of the at least two pre-sorted input lists in the single sorted output list;
establishing a number of input ports of the stable single stage merging device equal to a sum total of a number of input values of the at least two pre-sorted input lists;
establishing a number of output ports of the stable single stage merging device equal to the sum total of the number of input values of the at least two pre-sorted input lists;
determining a set of cross-list comparisons in which each value in a higher-ranked list is compared by the stable single stage merging device to each value in each lower-ranked list using a Boolean comparison operation for greater-than-or-equal-to, such that a true comparison result indicates that a value from the higher ranked list is greater-than-or-equal-to a value from the lower ranked list;
for each respective output port of the stable single stage merging device, determining a set of input ports of the stable single stage merging device that can map to that respective output port;
for each respective output port of the stable single stage merging device, determining a set of comparisons that select a correct input port of the stable single stage merging device to map to that respective output port;
determining all possible sorted output combinations of the input ports of the at least two pre-sorted input lists;
for each respective output port of the stable single stage merging device, creating a conditional equation which uses the port's set of comparisons in order to map each of the output port's possible input values to that respective output port;
for each respective output port of the stable single stage merging device, implementing a conditional equation which uses the port's set of comparisons acting as select lines for 2-to-1 multiplexers of the stable single stage merging device which map each of the output port's possible input values to that respective output port; and
creating the stable single stage merging device in target hardware.
|