Claims
- 1. A reconfigurable bit-manipulation node, comprising:
an execution unit configured to perform a plurality of bit-oriented functions; and a control unit configured to control the execution unit to allow one of the plurality of bit-oriented functions to be performed; wherein the execution unit includes a plurality of elements interconnected with one another to allow the plurality of bit-oriented functions to be performed, the plurality of elements including a programmable butterfly unit, a plurality of non-programmable butterfly units, a plurality of data path elements, a look-up-table memory and a reorder memory; and wherein the execution unit is capable of engaging in one of a plurality of operating modes to perform the plurality of bit-oriented functions, the plurality of operating modes including a programmable mode and a plurality of fixed operating modes.
- 2. The node of claim 1 wherein the plurality of fixed operating modes include a Viterbi mode, a turbo decoder soft-in-soft-out mode, a variable length encoding mode and a variable decoding mode.
- 3. The node of claim 1 wherein when engaged in the programmable mode, the execution unit does not utilize the plurality of non-programmable butterfly units.
- 4. The node of claim 2 wherein when engaged in the Viterbi mode, the execution unit utilizes both the programmable butterfly unit and the plurality of non-programmable butterfly units and uses the look-up-table memory as a path metric memory and the reorder memory as a trace back memory.
- 5. The node of claim 2 wherein when engaged in the turbo decoder soft-in-soft-out mode, the execution unit utilizes both the programmable butterfly unit and three of the plurality of non-programmable butterfly units.
- 6. The node of claim 2 wherein when engaged in the variable length encoding mode or the variable length decoding mode, the execution unit only uses a subset of a plurality of operations available from the programmable butterfly unit.
- 7. The node of claim 1 wherein one or more of the plurality of bit-oriented functions are fixed.
- 8. The node of claim 7 wherein the one or more of the plurality of bit-oriented functions that are fixed include Viterbi decoding, turbo decoding and variable length encoding and decoding.
- 9. The node of claim 1 wherein one or more of the plurality of bit-oriented functions are programmable.
- 10. The node of claim 9 wherein the one or more of the plurality of bit-oriented functions that are programmable include scrambling, cyclical redundancy check and convolutional encoding.
- 11. The node of claim 1 wherein the plurality of bit-oriented functions are used to handle a plurality of channel coding schemes.
- 12. The node of claim 11 wherein the plurality of channel schemes include error detecting cyclic codes, error detecting and correcting Hamming codes and single burst error correcting Fire codes.
- 13. The node of claim 1 wherein the control unit controls the execution unit by using a plurality of control bits including fixed control bits, counter control bits and state control bits.
- 14. The node of claim 1 wherein the plurality of data path elements include a shifter having a plurality of inputs.
- 15. The node of claim 14 wherein the shifter is programmable on a cycle-by-cycle basis and configured to perform an exclusive-or (XOR) function on multiple shifted versions of the plurality of inputs.
- 16. The node of claim 15 wherein the shifter is further programmable to implement a parallel linear feedback shift register.
- 17. The node of claim 16 wherein the parallel linear feedback shifter register includes a parallel maskable linear feedback shifter.
- 18. The node of claim 1 wherein the plurality of data path elements include a programmable data combiner.
- 19. The node of claim 18 wherein the combiner is configured to perform packing on an input to generate an output word, the input capable of having one of a plurality of input lengths including 1-bit length, 4-bit length, 8-bit length, 16-bit length and 32-bit length, the output word capable of having one of a plurality of output lengths including 8-bit length, 16-bit length and 32-bit length.
- 20. The node of claim 19 wherein the combiner is further configured to perform bit interlacing.
- 21. The node of claim 20 wherein the combiner is further configured to perform packing and bit interlacing simultaneously.
- 22. The node of claim 20 wherein the combiner is further configured to perform bit puncturing.
- 23. The node of claim 22 wherein the combiner is further configured to perform packing, bit interlacing and bit puncturing simultaneously.
- 24. The node of claim 1 wherein the plurality of data path elements include an unpacker, the unpacker configured to perform unpacking on an input word to generate an output, the input word capable of having one of a plurality of input lengths including 16-bit length and 32-bit length, the output capable of having one of a plurality of output lengths including 4-bit length, 8-bit length and 16-bit length.
- 25. The node of claim 24 wherein the unpacker is further configured to perform sign extension.
- 26. A programmable shifter comprising:
circuit configured to receive a plurality of inputs; and circuit configured to perform an exclusive-or (XOR) function on multiple shifted versions of the plurality of inputs; wherein the shifter is programmable on a cycle-by-cycle basis.
- 27. The shifter of claim 26 wherein the shifter is programmable to implement a parallel linear feedback shift register.
- 28. The shifter of claim 27 wherein the parallel linear feedback shifter register includes a parallel maskable linear feedback shifter register.
- 29. A reconfigurable bit-manipulation node utilizing the shifter as recited in claim 26.
- 30. A programmable data combiner comprising:
circuit configured to receive an input, the input capable of having one of a plurality of input lengths including 1-bit length, 4-bit length, 8-bit length, 16-bit length and 32-bit length,; and circuit configured to perform packing on the input to generate an output word, the output word capable of having one of a plurality of output lengths including 8-bit length, 16-bit length and 32-bit length.
- 31. The combiner of claim 30 further comprising:
circuit configured to perform bit interlacing.
- 32. The combiner of claim 31 wherein the combiner performs packing and bit interlacing simultaneously.
- 33. The combiner of claim 31 further comprising:
circuit configured to perform bit puncturing.
- 34. The combiner of claim 33 wherein the combiner performs packing, bit interlacing and bit puncturing simultaneously.
- 35. A reconfigurable bit-manipulation node utilizing the programmable data combiner as recited in claim 30.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] The present application claims the benefit of priority under 35 U.S.C. § 119 from U.S. Provisional Patent Application Ser. No. 60/418,019, entitled “RECONFIGURABLE BIT-MANIPULATION NODE”, filed on Oct. 11, 2002, the disclosure of which is hereby incorporated by reference in its entirety for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60418019 |
Oct 2002 |
US |