Claims
- 1. A programmable logic device comprising:
a first plurality of logic array blocks arranged contiguously; a plurality of segmentation buffers arranged contiguously and along a side of the first plurality of logic array blocks, a second plurality of logic array blocks arranged contiguously and along a side of the plurality of segmentation buffers away from the first plurality of logic array blocks; a plurality of stitch buffers arranged contiguously and along a side of the second plurality of logic array blocks away from the plurality of segmentation buffers; a third plurality of logic array blocks arranged contiguously and along a side of the plurality of stitch buffers away from the second plurality of logic array blocks; a fourth plurality of logic array blocks arranged contiguously and along a side of the third plurality of logic gates away from the plurality of stitch buffers; a first plurality of interconnect lines programmably coupled to the first plurality of logic array blocks and coupled to the plurality of segmentation buffers; a second plurality of interconnect lines programmably coupled to the second plurality of logic array blocks, and coupled to the plurality of segmentation buffers and to the plurality of stitch buffers; and a third plurality of interconnect lines programmably coupled to the third plurality of logic array blocks and the fourth plurality of logic array blocks, and coupled to the plurality of stitch buffers, wherein the plurality of segmentation buffers are capable of being configured to drive signals from the first plurality of interconnect lines to the second plurality of interconnect lines, or to drive signals from the second plurality of interconnect lines to the first plurality of interconnect lines, or to provide an open circuit between the first plurality of interconnect lines and the second plurality of interconnect lines.
- 2. The programmable logic device of claim 1 wherein the plurality of stitch buffers are capable being configured to couple the second plurality of interconnect lines to the third plurality of interconnect lines, or to provide an open circuit between the second plurality of interconnect lines and the third plurality of interconnect lines.
- 3. The programmable logic device of claim 2 wherein the first plurality of logic array blocks is arranged in a first plurality of rows, and the third plurality of logic array blocks is arranged in a second plurality of rows.
- 4. The programmable logic device of claim 3 wherein the second plurality of logic array blocks is arranged in a first row, and the fourth plurality of logic array blocks is arranged in a second row.
- 5. The programmable logic device of claim 4 wherein a function is initially associated with each of the first plurality of rows, the second plurality of rows, the first row, and no function is initially associated with the second row.
- 6. The programmable logic device of claim 5 wherein if a logic array block is nonfunctional, the functions initially associated with the rows including its row, and those between its row of logic blocks and the second row of logic blocks, are each moved one row in the direction of the second row.
- 7. The programmable logic device of claim 6 wherein the configuration of the first plurality of segmentation buffers may change if a logic array block is nonfunctional.
- 8. The programmable logic device of claim 6 wherein the configuration of the first plurality of segmentation buffers may change if a logic array block is nonfunctional, and the nonfunctional logic array block is in the first plurality of logic array blocks.
- 9. The programmable logic device of claim 8 further comprising:
a control circuit, wherein the control circuit generates control signals which determine the configuration of the plurality of segmentation buffers and the plurality of stitch buffers.
- 10. An integrated circuit comprising the programmable logic device of claim 6.
- 11. A method of segmenting programmable interconnect lines in a programmable logic device comprising a segmentation buffer, a plurality of redundant logic array blocks, a first plurality of logic array blocks on a first side of the segmentation buffer and between the segmentation buffer and the plurality of redundant logic array blocks, and a second plurality of logic array blocks on a second side of the segmentation buffer and not between the segmentation buffer and the plurality of redundant logic array blocks, the method comprising:
determining whether a defective logic array block exists; and if no defective logic array block exists, making no changes to the segmentation buffer; else determining a location of a defective logic array block; and if the location of the defective logic array block is in the first plurality of logic array blocks, making no changes to the segmentation buffer; else determining the location of an active line driver for a line coupled to the segmentation buffer; and if the location of the active line driver is in a logic array block next to the second side of segmentation buffer, setting the segmentation buffer to drive signals from the first plurality of logic array blocks to the second plurality of logic array blocks; else setting the segmentation buffer to drive signals from the second plurality of logic array blocks to the first plurality of logic array blocks.
- 12. The method of claim 11 wherein the first and second pluralities of logic array blocks are arranged in rows.
- 13. The method of claim 12 wherein the programmable logic device further comprises a stitch buffer, the stitch buffer located one row of logic array blocks away from the segmentation buffer, and between the segmentation buffer and the redundant row of logic array blocks, the stitch buffer capable of being configured as an open or a short circuit.
- 14. The method of claim 13 further comprising:
determining an initial configuration of the segmentation buffer, and if the segmentation buffer is initially configured as an open, setting the stitch buffer to provide an open circuit, else setting the stitch buffer to provide a short circuit.
- 15. The method of claim 14 wherein the programmable logic device further comprises a control circuit, wherein the control circuit determines the configuration of the segmentation buffer and the stitch buffer.
- 16. A programmable logic device comprising:
a first plurality of logic array blocks, the first plurality of logic array blocks comprising a first logic array block and a second logic array block; a first programmable interconnect line coupled to a first terminal of a segmentation buffer and programmably coupled to the first logic array block; and a second programmable interconnect line coupled to a second terminal of the segmentation buffer and programmably coupled to the second logic array block, wherein the segmentation buffer is capable of being configured to provide an open circuit between the first programmable interconnect line and the second programmable interconnect line, a buffer driving signals from the first programmable interconnect line to the second programmable interconnect line, or a buffer driving signals from the second programmable interconnect line to the first programmable interconnect line.
- 17. The programmable logic device of claim 16 further comprising a second plurality of logic array blocks, wherein the second plurality of logic array blocks are redundant, and are used to replace at least some of the first plurality of logic array blocks when one of the first plurality of logic array blocks is defective.
- 18. The programmable logic device of claim 17 wherein if the second plurality of logic array blocks is used to replace at least some of the first plurality of logic array blocks, the configuration of the segmentation buffer may change.
- 19. The programmable logic device of claim 18 wherein the configuration of the segmentation buffer may change depending on the relative location of the defective one of the first plurality of logic array blocks, the second plurality of logic array blocks, and the segmentation buffer.
- 20. An integrated circuit comprising the programmable logic device of claim 16.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/199,751, filed Apr. 26, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60199751 |
Apr 2000 |
US |