Claims
- 1. A programmable logic circuit comprising:
a plurality of logic blocks having a plurality of programmable interconnected cells for performing logic functions on logic signals; a first set of programmable switches coupled to said plurality of cells of said plurality of logic blocks; a first set of routing lines coupled to said first set of programmable switches to form a first set of bi-directionally programmable access lines to said plurality of logic blocks, wherein said first set of bi-directionally programmable access lines function as input/output pins for said plurality of logic blocks through programmable means; a second set of programmable switches coupled to said first set of bi-directionally programmable access lines; a second set of routing lines coupled to said second set of programmable switches.
- 2. The programmable logic circuit of claim 1 further comprising:
a third set of programmable switches for selectively coupling a plurality of lines of said second set of routing lines, wherein said second set of routing lines and said third set of programmable switches comprise a first level of interconnections; a third set of routing lines connectable to said second set of programmable switches.
- 3. The programmable logic circuit of claim 2 further comprising:
a fourth set of programmable switches for selectively coupling a plurality of lines of said third set of routing lines, wherein said third set of routing lines and said fourth set of programmable switches comprise a second level of interconnections; a fifth set of programmable switches connectable between said third set of routing lines and said second set of routing lines for selectively coupling said plurality of logic blocks to said second level of interconnections via said first level of interconnections.
- 4. The programmable logic circuit of claim 1 further comprising:
a sixth set of programmable switches for selectively coupling a line of said first set of bi-directionally programmable access lines of a first logic block to a line of said first set of bi-directionally programmable access lines of a second logic block, wherein first said logic block is adjacent to said second logic block.
- 5. The programmable logic circuit of claim 4 wherein the number of lines of said first set of routing lines for each logic block of said plurality of logic blocks is approximately half the number of said plurality of cells of said logic block.
- 6. The programmable logic circuit of claim 2, wherein the span of each of the said second set of routing lines is twice the span of each of said first set of routing lines.
- 7. The programmable logic circuit of claim 2, wherein the number of said second set of routing lines is half the number of said first set of routing lines.
- 8. The programmable logic circuit of claim 3, wherein the span of each of said third set of routing lines is twice the span of each of said second set of routing lines.
- 9. The programmable logic circuit of claim 3, wherein the number of said third set of routing lines is half the number of the said second set of routing lines.
- 10. The programmable logic circuit of claim 1 further comprising:
a fourth set of routing lines connectable to said second set of programmable switches; a seventh set of programmable switches for selectively coupling a plurality of lines of said fourth set of routing lines, wherein said fourth set of routing lines and said seventh set of programmable switches comprise a third level of interconnections; an eighth set of programmable switches connectable between said fourth set of routing lines and said third set of routing lines for selectively coupling said plurality of logic blocks to said third level of interconnections via said second level of interconnections or said first level of interconnections.
- 11. The programmable logic circuit of claim 10, wherein the span of each of said fourth set of routing lines is twice the span of each of said third set of routing lines and the number of said fourth set of routing lines is half the number of said third set of routing lines.
- 12. The programmable logic circuit of claim 10, wherein said fourth set of routing lines and said seventh set of programmable switches comprise a third level of interconnections.
- 13. The programmable logic circuit of claim 1 further comprising:
a fifth set of routing lines, connectable to said second set of programmable switches for forming a fourth level of interconnections.
- 14. The programmable logic circuit of claim 13, wherein the span of each of said fifth set of routing lines is twice the span of each of said third set of routing lines.
- 15. The programmable logic circuit of claim 13, wherein the number of said fifth set of routing lines is half of the number of said third set of routing lines.
- 16. The programmable logic circuit of claim 1 further comprising:
a sixth set of routing lines comprising a fifth level of interconnections; a ninth set of programmable switches connectable between said sixth set of routing lines and said fifth set of routing lines capable of conducting signal from said first set of bi-directionally programmable access lines for selectively coupling said plurality of logic blocks to said fifth level of interconnections via said fourth level of interconnections and bypassing said first level of interconnections, said second level of interconnections, and said third level of interconnections.
- 17. The programmable logic circuit of claim 16, wherein the span of each of said sixth set of routing lines is twice the span of each of said fourth set of routing lines.
- 18. The programmable logic circuit of claim 16, wherein the number of said sixth set of routing lines is one fourth the number of said fourth set of routing lines.
- 19. The programmable logic circuit of claim 1 further comprising:
a seventh set of routing lines; a tenth set of programmable switches coupled for selectively connecting a plurality of lines of said seventh set of routing lines, wherein said seventh set of routing lines and said tenth set of programmable switches comprise a sixth level of interconnections; an eleventh set of programmable switches connectable between said seventh set of routing lines and said fifth set of routing lines capable of conducting signal from said first set of bi-directionally programmable access lines for selectively coupling said plurality of logic via said fourth level of interconnections and bypassing said first level of interconnections, said second level of interconnections, said third level of interconnections, and said fifth level of interconnections.
- 20. The programmable logic circuit of claim 19, wherein the span of each of said seventh set of routing lines is twice the span of each of said sixth set of routing lines.
- 21. The programmable logic circuit of claim 19, wherein the number of said seventh set of routing lines is half the number of said sixth set of routing lines.
- 22. The programmable logic circuit of claim 1, wherein said first level of interconnections function as a second set of bi-directionally programmable access lines.
- 23. The programmable logic circuit of claim 2, wherein said second level of interconnections function as third set of bi-directionally programmable access lines.
- 24. The programmable logic circuit of claim 1, wherein said switches are comprised of bi-directionally programmable drivers.
- 25. The programmable logic circuit of claim 1, wherein said switches are comprised of bi-directionally programmable passgates.
- 26. The programmable logic circuit of claim 1 further comprising a twelfth set of programmable switches for selectively coupling an adjacent set of first set of bi-directionally programmable access lines of an adjacent set of logic blocks to said same first level of interconnections.
- 27. The programmable logic circuit of claim 1 further comprising a thirteenth set of programmable switches for selectively coupling an adjacent set of first set of bi-directionally programmable access lines of an adjacent set of logic blocks to a same second level of interconnections.
- 28. The programmable logic circuit of claim 10 further comprising a fourteenth set of programmable switches for selectively coupling an adjacent set of first set of bi-directionally programmable access lines of an adjacent set of logic blocks to said same third level of interconnections.
- 29. The programmable logic circuit of claim 13 further comprising a fifteenth set of programmable switches for selectively coupling an adjacent set of first set of bi-directionally programmable access lines of an adjacent set of logic blocks to a same fourth level of interconnections.
- 30. The programmable logic circuit of claim 16 further comprising a sixteenth set of programmable switches for selectively coupling an adjacent set of said fourth level of interconnections to a same fifth level of interconnections.
- 31. The programmable logic circuit of claim 19 further comprising a seventeenth set of programmable switches for selectively coupling an adjacent set of said fourth level of interconnections to a same sixth level of interconnections.
- 32. The programmable logic circuit of claim 10, wherein said third level of interconnections function as fourth set of bi-directionally programmable access lines.
- 33. The programmable logic circuit of claim 13, wherein said fourth level of interconnections function as fifth set of bi-directionally programmable access lines.
- 34. The programmable logic circuit of claim 16, wherein said fifth level of interconnections function as sixth set of bi-directionally programmable access lines.
- 35. The programmable logic circuit of claim 19, wherein said sixth level of interconnections function as seventh set of bi-directionally programmable access lines.
- 36. A programmable logic circuit of claim 1 further comprising:
a plurality of logic clusters, each of said logic clusters having a plurality of programmable interconnected cells for performing logic functions on logic signals; an eighteenth set of programmable switches coupled to said plurality of logic cells of a said logic cluster; an eighth set of routing lines coupled to said eighteenth set of programmable switches to form a set of intraconnection matrix routing lines coupled to said logic cluster.
- 37. The programmable logic circuit of claim 36, wherein said set of intraconnection matrix routing lines function as short distance connections for the said plurality of logic cells of the said logic cluster through programmable means.
- 38. The programmable logic circuit of claim 36, the number of lines in each said set of intraconnection matrix routing lines is equal to approximately half the number of total number of input pins and output pins of the said plurality of cells in said logic cluster.
- 39. The programmable logic circuit of claim 36, the span for each line of said set of intraconnection matrix routing lines is equal to half the span of each line of said first set of bi-directionally programmable access lines.
- 40. The programmable logic circuit of claim 36, said cells of a said logic block are comprised of said plurality of cells of said plurality of logic clusters.
- 41. The programmable logic circuit of claim 36 further comprising a nineteenth set of programmable switches for selectively coupling a line of said set of intraconnection matrix of a first logic cluster to a line of the said set of intraconnection matrix of a second logic cluster, wherein said first logic cluster is adjacent to said second logic cluster.
- 42. A programmable logic circuit comprising:
a plurality of logic clusters, each of said logic clusters having a plurality of programmably interconnected cells for performing logic functions on logic signals; a set of intraconnection matrix routing lines coupling a set of said plurality of logic clusters; a plurality of logic blocks, each of said logic blocks having a plurality of programmably interconnected cells for performing logic functions on logic signals; a first set of bi-directionally programmable access lines coupling a first set of said plurality of logic blocks.
- 43. The programmable logic circuit of claim 42 further comprising a first level of interconnections coupling at least two of said first set of bi-directionally programmable access lines.
- 44. The programmable logic circuit of claim 43 further comprising a first programmable switch coupled to a bi-directionally programmable access line of said first set of bi-directionally programmable access lines of a first logic block for programmably conducting a signal corresponding to said first logic block to said first level of interconnections.
- 45. The programmable logic circuit of claim 44 further comprising a second level of interconnections coupling at least two of said first level of interconnections.
- 46. The programmable logic circuit of claim 45 further comprising a second programmable switch connectable to said bi-directionally programmable access line of said first set of bi-directionally programmable access lines of said first logic block for programmably conducting said signal corresponding to said first logic block to said second level of interconnections, wherein said first level of interconnections is capable of being bypassed by said signal.
- 47. The programmable logic circuit of claim 46 further comprising:
a third level of interconnections coupling at least two of said second level of interconnections.
- 48. The programmable logic circuit of claim 47 further comprising a third programmable switch connectable to said bi-directionally programmable access line of said first set of bi-directionally programmable access lines of said first logic block for programmably conducting said signal corresponding to said first logic block to said third level of interconnections, wherein said first level of interconnections and said second level of interconnections are capable of being bypassed by said signal.
- 49. The programmable logic circuit of claim 42 further comprising:
a fourth level of interconnections; a routing line coupled to said fourth level of interconnections; a fourth programmable switch connectable to said bi-directionally programmable access line of said first set of bi-directionally programmable access lines of said first logic block for programmably conducting said signal corresponding to said first logic block to said routing line.
- 50. The programmable logic circuit of claim 42 further comprising a fifth programmable switch connectable to said intraconnection matrix routing line of said set of intraconnection matrix routing lines of said first logic cluster for programmably conducting said signal corresponding to said intraconnection matrix routing line of said set of intraconnection matrix routing lines of said first logic cluster to a intraconnection matrix routing line of said set of intraconnection matrix routing lines of a second logic cluster, wherein said first logic cluster is adjacent to said second logic cluster.
- 51. The programmable logic circuit of claim 42 further comprising a fifth programmable switch connectable to said bi-directionally programmable access line of said first set of bi-directionally programmable access lines of said first logic block for programmably conducting said signal corresponding to said bi-directionally programmable access line of said first set of bi-directionally programmable access lines of said first logic block to a bi-directionally programmable access line of a first set of bi-directionally programmable access lines of a second logic block, wherein said first level of interconnections are capable of being bypassed and wherein said first logic block is adjacent to said second logic block.
- 52. The programmable logic circuit of claim 42 wherein said switches are comprised of bi-directionally programmable drivers.
- 53. The programmable logic circuit of claim 42 wherein said switches are comprised of bi-directionally programmable passgates.
- 54. The programmable logic circuit of claim 43 further comprising a sixth set of programmable switches for selectively coupling an adjacent set of first set of bi-directionally programmable access lines of the adjacent set of logic blocks to said first level of interconnections.
- 55. In a programmable logic circuit having a plurality of cells for performing logic functions on logic signals, a method of forming complex logic functions for programmably coupling a group of said cells by routing signals from one of said cells to another of said cells, said method comprising the steps of:
programmably interconnecting a plurality of said cells to form a first logic cluster, a second logic cluster, and a third logic cluster via a set of intraconnection matrix routing lines; programmably conducting a signal corresponding to a first set of intraconnection matrix routing lines of a first logic cluster to a first set of intraconnection matrix routing lines of said second logic cluster via a first set of bi-directionally programmable access lines; programmably interconnecting a plurality of said cells to form a first logic block, a second logic block, and a third logic block; programmably conducting a signal corresponding to a first set of bi-directionally programmable access lines of a first logic block to a first set of bi-directionally programmable access lines of said second logic block via a first level of interconnections.
- 56. The method of claim 55, wherein the span of each of the said first set of intraconnection matrix routing lines is a fraction of the span of each of the said first set of bi-directionally programmable access lines and the number of lines of the said set of intraconnection matrix routing lines is a fraction of the number of input and output pins of said cells in said logic cluster.
- 57. The method of claim 55, wherein the span of each of the said first set of bi-directionally programmable access lines is a fraction of the span of each of the said first level of interconnections lines and the number of lines of the said first level of interconnections lines is a fraction of the number of the said first set of bi-directionally programmable access lines over a logic block circuit area.
- 58. The method of claim 55 further comprising the step of:
programmably conducting said signal to a first set of bi-directionally programmable access lines of said third logic block via a second level of interconnections by conducting said signal through said first level of interconnections.
- 59. The method of claim 55 further comprising the step of:
programmably conducting said signal to a first set of bi-directionally programmable access lines of said third logic block via a second level of interconnections without conducting said signal through said first level of interconnections.
- 60. The method of claim 58, wherein the span of each of the said first level of interconnections lines is a fraction of the span of each of said second level of interconnections lines and the number of lines of the said second level of interconnections lines is a fraction of the number of the said first level of interconnections lines over total logic blocks circuit area.
- 61. The method of claim 55 further comprising the step of programmably conducting said signal to a first set of bi-directionally programmable access lines of a fourth logic block via a third level of interconnections by conducting said signal through said first level of interconnections or said second level of interconnections.
- 62. The method of claim 55 further comprising the step of programmably conducting said signal to a first set of bi-directionally programmable access lines of a fourth logic block via a third level of interconnections without conducting said signal through said first level of interconnections or said second level of interconnections.
- 63. The method of claim 62, wherein the span of each of the said second level of interconnections lines is a fraction of the span of each of the said third level of interconnections lines and the number of lines of the said third level of interconnections lines is a fraction of the number of the said second level of interconnections lines over a logic block circuit area.
- 64. The method of claim 55 further comprising the step of programmably conducting said signal to a routing line coupled to a fourth level of interconnections, wherein the span for each of the line and the number of lines of the said fourth level of interconnections are proportional to the said third level of interconnections.
- 65. The method of claim 55 further comprising the step of programmably conducting said signal directly to said second logic cluster and bypassing said first set of bi-directionally programmable access lines.
- 66. The method of claim 55 further comprising the step of programmably conducting said signal directly to said second logic block and bypassing said first level of interconnections.
- 67. The method of claim 55 further comprising the step of programmably conducting said signal to a first set of bi-directionally programmable access lines of a fifth logic block via a fifth level of interconnections via said fourth level of interconnections by conducting said signal through said first level of interconnections, said second level of interconnections, or said third level of interconnections.
- 68. The method of claim 55 further comprising the step of programmably conducting said signal to a first set of bi-directionally programmable access lines of a fifth logic block via a fifth level of interconnections via said fourth level of interconnections without conducting said signal through said first level of interconnections, said second level of interconnections, or said third level of interconnections.
- 69. The method of claim 68, wherein the span of each of the said fourth level of interconnections lines is a fraction of the span of each of the said fifth level of interconnections lines and the number of lines of the said fifth level of interconnections lines is a fraction of the number of the said fourth level of interconnections lines over a logic block circuit area.
- 70. The method of claim 55 further comprising the step of programmably conducting said signal to a first set of bi-directionally programmable access lines of a sixth logic block via a sixth level of interconnections through said fourth level of interconnections by conducting said signal through said first level of interconnections, said second level of interconnections, said third level of interconnections, or said fifth level of interconnections.
- 71. The method of claim 55 further comprising the step of programmably conducting said signal to a first set of bi-directionally programmable access lines of a sixth logic block via a sixth level of interconnections through said fourth level of interconnections without conducting said signal through said first level of interconnections, said second level of interconnections, said third level of interconnections, or said fifth level of interconnections.
- 72. The method of claim 71, wherein the span of each of the said fifth level of interconnections lines is a fraction of the span of each of the said sixth level of interconnections lines and the number of lines of the said sixth level of interconnections lines is a fraction of the number of the said fifth level of interconnections lines over a logic block circuit area.
- 73. The method of claim 55 further comprising the step of selectively coupling an adjacent set of said first set of bi-directionally programmable access lines of an adjacent set of said logic blocks to said first level of interconnections via a set of programmable switches.
- 74. The method of claim 55 further comprising the step of selectively coupling an adjacent set of said first set of bi-directionally programmable access lines of an adjacent set of said logic blocks to said second level of interconnections via a set of programmable switches.
- 75. The method of claim 55 further comprising the step of selectively coupling an adjacent set of said first set of bi-directionally programmable access lines of an adjacent set of said logic blocks to said third level of interconnections via a set of programmable switches.
- 76. The method of claim 55 further comprising the step of selectively coupling an adjacent set of said first set of bi-directionally programmable access lines of an adjacent set of said logic blocks to said fourth level of interconnections via a set of programmable switches.
- 77. The method of claim 55 further comprising the step of selectively coupling an adjacent set of said fourth level of interconnections to said fifth level of interconnections via a set of programmable switches.
- 78. The method of claim 55 further comprising the step of selectively coupling an adjacent set of said fourth level of interconnections to said sixth level of interconnections via a set of programmable switches.
- 79. The method of claim 55, wherein said switches are comprised of bi-directionally programmable drivers.
- 80. The method of claim 55, wherein said switches are comprised of bi-directionally programmable passgates.
- 81. A field programmable gate array comprising:
a plurality of cells for performing logic functions on signals input to said field programmable gate array; an intraconnection matrix for programmably interconnecting a plurality of said cells to form a logic cluster; a plurality of programmable switches connectable between two adjacent said intraconnection matrices to form logic cluster extensions; a plurality of block connectors together with said logic clusters, said intraconnection matrices, and said extensions to form a logic block; a plurality of programmable switches connectable between two adjacent said logic blocks to form logic block extensions; a first level of programmable interconnections for interconnecting a plurality of logic blocks to form a block cluster; a second level of programmable interconnections for interconnecting a plurality of block clusters to form a block sector; a first set of programmable switches connecting a plurality of logic blocks to said first level of programmable interconnections; a second set of programmable switches connecting a plurality of logic blocks to said second level of programmable interconnections;
- 82. The field programmable gate array of claim 81, wherein said logic cluster is comprised of a 2×2 matrix of cells.
- 83. The field programmable gate array of claim 82, wherein said logic block is comprised of a 2×2 matrix of logic clusters.
- 84. The field programmable gate array of claim 83, wherein said block cluster is comprised of a 2×2 matrix of logic blocks.
- 85. The field programmable gate array of claim 84, wherein said block sector is comprised of a 2×2 matrix of block clusters.
- 86. The field programmable gate array of claim 81, wherein said first level of interconnections is comprised of a first set of routing lines and a second set of routing lines perpendicular to said first set of routing lines.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part (CIP) application of Ser. No. 08/101,197; filed Aug. 3, 1993,-which is assigned to the assignee of the present invention.
Continuations (4)
|
Number |
Date |
Country |
Parent |
09482149 |
Jan 2000 |
US |
Child |
10117875 |
Apr 2002 |
US |
Parent |
08909928 |
Aug 1997 |
US |
Child |
09482149 |
Jan 2000 |
US |
Parent |
08534500 |
Sep 1995 |
US |
Child |
08909928 |
Aug 1997 |
US |
Parent |
08229923 |
Apr 1994 |
US |
Child |
08534500 |
Sep 1995 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
08101197 |
Aug 1993 |
US |
Child |
08229923 |
Apr 1994 |
US |