Claims
- 1. A method of processing data in accordance with a turbo decoder, the method comprising the steps of:
respectively adding data values of two sets of input data to generate a set of sums; substantially concurrent with the addition step, respectively adding correction values to the sums to generate a set of corrected sums; substantially concurrent with the respective input data value and correction value addition steps, comparing the sums against one another, and an absolute value of a difference between the sums against base and bound values; and selecting one of the corrected sums based on the comparison steps.
- 2. The method of claim 1, wherein the data value addition step, the correction value addition step, and the comparison step are themselves performed concurrently.
- 3. The method of claim 1, wherein resulting data values are partitioned into higher order components and lower order components.
- 4. The method of claim 3, wherein a lower order component of a resulting data value comprises m bits and a higher order component of a resulting data value comprises (n−m) bits, where n is the width of the resulting data value.
- 5. The method of claim 3, wherein correction values are added to lower order components of associated sums.
- 6. The method of claim 1, wherein resolution of an appropriate correction value comprises comparison operations that identify base and bound behavior of an absolute value of a difference between the sums.
- 7. The method of claim 1, wherein one input value of each set of input values is a previously computed path metric and the other input value of each set of input values is an appropriate branch metric such that the generated sum of the input values plus correction values represent new likely path metrics which may potentially be selected based on the substantially concurrent comparison operation.
- 8. The method of claim 1, wherein the input value addition step, the correction value addition step, the comparison step, and the selection step are associated with an add-max* operation performed by the turbo decoder.
- 9. The method of claim 1, wherein the input value addition step, the correction value addition step, the comparison step, and the selection step are associated with a max* operation performed by the turbo decoder.
- 10. The method of claim 1, wherein the correction value addition step is performed without requiring a lookup table read operation.
- 11. Apparatus for processing data in accordance with a turbo decoder, the apparatus comprising:
at least one processor operative to: (i) respectively add data values of two sets of input data to generate a set of sums; (ii) substantially concurrent with the addition step, respectively add correction values to the sums to generate a set of corrected sums; (iii) substantially concurrent with the respective input data value and correction value addition steps, compare the sums against one another, and an absolute value of a difference between the sums against base and bound values; and (iv) select one of the corrected sums based on the comparison steps; and a memory, coupled to the at least one processor, for storing at least a portion of results associated with one or more of the input value addition step, the correction value addition step, the comparison step, and the selection step.
- 12. The apparatus of claim 11, wherein the data value addition step, the correction value addition step, and the comparison step are themselves performed concurrently.
- 13. The apparatus of claim 11, wherein resulting data values are partitioned into higher order components and lower order components.
- 14. The apparatus of claim 13, wherein a lower order component of a resulting data value comprises m bits and a higher order component of a resulting data value comprises (n−m) bits, where n is the width of the resulting data value.
- 15. The apparatus of claim 13, wherein correction values are added to lower order components of associated sums.
- 16. The apparatus of claim 11, wherein resolution of an appropriate correction value comprises comparison operations that identify base and bound behavior of an absolute value of a difference between the sums.
- 17. The apparatus of claim 11, wherein one input value of each set of input values is a previously computed path metric and the other input value of each set of input values is an appropriate branch metric such that the generated sum of the input values plus correction values represent new likely path metrics which may potentially be selected based on the substantially concurrent comparison operation.
- 18. The apparatus of claim 11, wherein the input value addition step, the correction value addition step, the comparison step, and the selection step are associated with an add-max* operation performed by the turbo decoder.
- 19. The apparatus of claim 11, wherein the input value addition step, the correction value addition step, the comparison step, and the selection step are associated with a max* operation performed by the turbo decoder.
- 20. The apparatus of claim 11, wherein the correction value addition step is performed without requiring a lookup table read operation.
- 21. A turbo decoder operative to perform a data processing algorithm, the algorithm comprising the steps of:
respectively adding data values of two sets of input data to generate a set of sums; substantially concurrent with the addition step, respectively adding correction values to the sums to generate a set of corrected sums; substantially concurrent with the respective input data value and correction value addition steps, comparing the sums against one another, and an absolute value of a difference between the sums against base and bound values; and selecting one of the corrected sums based on the comparison steps.
- 22. An article of manufacture for performing a data processing algorithm in accordance with a turbo decoder, the article comprising a machine readable medium containing one or more programs which when executed implement the steps of:
respectively adding data values of two sets of input data to generate a set of sums; substantially concurrent with the addition step, respectively adding correction values to the sums to generate a set of corrected sums; substantially concurrent with the respective input data value and correction value addition steps, comparing the sums against one another, and an absolute value of a difference between the sums against base and bound values; and selecting one of the corrected sums based on the comparison steps.
- 23. An integrated circuit device, the integrated circuit device comprising a turbo decoder operable to:
respectively adding data values of two sets of input data to generate a set of sums; substantially concurrent with the addition step, respectively adding correction values to the sums to generate a set of corrected sums; substantially concurrent with the respective input data value and correction value addition steps, comparing the sums against one another, and an absolute value of a difference between the sums against a set of base and bound values; and selecting one of the corrected sums based on the comparison steps.
CROSS REFERENCE TO RELATED APPLICATION
[0001] The present application is related to the U.S. patent application identified by Ser. No. 10/028,453, filed on Dec. 24,2001 and entitled “High Speed Add-Compare-Select Operations for Use in Viterbi Decoders,” the disclosure of which is incorporated by reference herein.