Claims
- 1. A block interleaver comprising:
a memory array of memory elements arranged in rows and columns, each memory element addressable according to its respective row and column and configured to store at least one bit of data; a write enable in electrical communication with the memory array for storing bits into the memory array; and a read enable in electrical communication with the memory array for reading a plurality of the previously-stored bits out of the memory array in parallel.
- 2. The block interleaver of claim 1, wherein the write enable writes multiple bits into the memory array in parallel.
- 3. The block interleaver of claim 2, further comprising bit-ordering circuitry configured to re-order bits read out of the memory array.
- 4. The block interleaver of claim 1, further comprising bit-ordering circuitry configured to re-order bits read out of the memory array.
- 5. The block interleaver of claim 4, wherein the bit-ordering circuitry comprises combinational logic.
- 6. The block interleaver of claim 5, wherein the bit-ordering circuitry comprises a switch for selecting among a plurality of different bit re-ordering schemes.
- 7. The block interleaver of claim 6, wherein the switch comprises a multiplexer.
- 8. The block interleaver of claim 1, wherein the memory array is a Complementary Metal-Oxide Semiconductor (CMOS) array.
- 9. The block interleaver of claim 1, wherein the memory array of memory elements has an associated size that is re-configurable between a minimum value and a maximum value.
- 10. The block interleaver of claim 9, wherein the re-configurable size has a maximum value of 288 bits.
- 11. The block interleaver of claim 1, wherein the memory array is arranged as a rectangular array of N-by-M memory elements.
- 12. The block interleaver of claim 1, further comprising an encoder receiving data bits and encoding the received bits as received and forwarding the encoded bits to the memory array of memory elements.
- 13. The block interleaver of claim 11, wherein the encoder is a rate 1/n encoder forwarding n encoded bits to the memory array of memory elements in parallel.
- 14. A method of block interleaving comprising the steps of:
providing a memory array of memory elements; arranging the memory array of memory elements in rows and columns, each memory element addressable according to its respective row and column and configured to store at least one bit of data; writing bits into the memory array; and reading a plurality of the previously-stored bits out of the memory arrayin parallel.
- 15. The method of claim 14, wherein writing bits into the memory array includes writing multiple bits in parallel.
- 16. The method of claim 14, further comprising re-order bits as they are read out of the memory array.
- 17. The method of claim 14, further comprising selecting among a plurality of different bit re-ordering schemes.
- 18. The method of claim 17, wherein the selecting step comprises using a multiplexer.
- 19. The method of claim 14, wherein the memory array is a Complementary Metal-Oxide Semiconductor (CMOS) array.
- 20. The method of claim 14, further comprising configuring a size of the memory array between a minimum value and a maximum value.
- 21. The method of claim 20, wherein the size has a maximum value of 288 bits.
- 22. The method of claim 14, wherein the memory array is arranged as a rectangular array of N-by-M memory elements.
- 23. The method of claim 14, further comprising the steps of:
encoding bits as they are received; and forwarding the encoded bits to the memory array of memory elements.
- 24. The method of claim 23, wherein the encoding step uses a rate 1/n encoder.
- 25. The method of claim 23, wherein the forwarding step forwards n-encoded bits to the memory array of memory elements in parallel.
- 26. A block interleaver comprising:
an encoder receiving data bits and encoding the received bits as received; a memory array receiving the encoded bits from the encoder, the memory array having memory elements arranged in rows and columns, each memory element addressable according to its respective row and column and configured to store at least one bit of data; a write enable in electrical communication with the memory array for storing a first plurality of bits into the memory array in parallel.
- 27. The block interleaver of claim 26, further comprising a relationship between the first plurality of bits and the encoder.
- 28. The block interleaver of claim 27, wherein the relationship comprises an encoding rate defined by the encoder.
- 29. The block interleaver of claim 26, further comprising a read enable in electrical communication with the memory array for reading a second plurality of the previously-stored bits out of the memory array in parallel.
- 30. The block interleaver of claim 29, further comprising bit-ordering circuitry configured to re-order bits read out of the memory array.
- 31. The block interleaver of claim 30, wherein the bit-ordering circuitry comprises combinational logic.
- 32. A block interleaver comprising:
a memory array having memory elements arranged in rows and columns, each memory element addressable according to its respective row and column and configured to store at least one bit of data; a read enable in electrical communication with the memory array for reading a plurality of the previously-stored bits out of the memory array in parallel; and bit-ordering circuitry configured to re-order bits read out of the memory array.
- 33. The block interleaver of claim 32, further comprising bit-ordering circuitry configured to re-order bits read out of the memory array.
- 34. The block interleaver of claim 33, wherein the bit-ordering circuitry comprises combinational logic.
RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/472,257, filed on May 21, 2003. The entire teachings of the above application are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60472257 |
May 2003 |
US |