Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUSRE34363 E
Publication typeGrant
Application numberUS 07/720,275
Publication dateAug 31, 1993
Filing dateJun 24, 1991
Priority dateMar 12, 1984
Publication number07720275, 720275, US RE34363 E, US RE34363E, US-E-RE34363, USRE34363 E, USRE34363E
InventorsRoss H. Freeman, deceased
Original AssigneeXilinx, Inc.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Configurable electrical circuit having configurable logic elements and configurable interconnects
US RE34363 E
Abstract
A configurable logic array comprises a plurality of configurable logic elements variably interconnected in response to control signals to perform a selected logic function. Each configurable logic element in the array is in itself capable of performing any one of a plurality of logic functions depending upon the control information placed in the configurable logic element. Each configurable logic element can have its function varied even after it is installed in a system by changing the control information placed in that element. Structure is provided for storing control information and providing access to the stored control information to allow each configurable logic element to be properly configured prior to the initiation of operation of the system of which the array is a part. Novel interconnection structures are provided to facilitate the configuring of each logic element.
Images(15)
Previous page
Next page
Claims(39)
I claim:
1. An interconnect structure for programmably interconnecting lines within an integrated circuit comprising:
at least three sets of interconnect lines including a first set, a second set, and a third set;
programmable means, not including said sets of interconnect lines, for connecting at least one of said lines in said first set to at least one of said lines in said second set, for connecting at least one of said lines in said first set to at least one of said lines in said third set, and for connecting at least one of said lines in said second set to at least one of said lines in said third set.
2. An array of interconnect structures, each said interconnect structure as in claim 1, and each interconnect structure in said array having its own selected number of interconnect lines and its own programmable means for connecting interconnect lines in its own first, second and third sets.
3. An interconnect structure as in claim 1 in which
said first set comprises two lines; and
said programmable means comprises
means for connecting each of said two lines in said first set to at least one line in said second set and
means for connecting each of said two lines in said first set to said at least one line in said third set.
4. An array of interconnect structures, each said interconnect structure as in claim 3, and each interconnect structure in said array having its own selected number of interconnect lines and its own programmable means for connecting interconnect lines in its own first, second and third sets.
5. An interconnect structure as in claim 3 in which
said second set comprises two lines, and
said third set comprises two lines; and
said programmable means comprises
means for connecting each of said two lines in said first set to each of said two lines in said second set,
means for connecting each of said two lines in said first set to each of said two lines in said third set, and
means for connecting each of said two lines in said second set to each of said two lines in said third set.
6. An array of interconnect structures, each said interconnect structure as in claim 5, and each interconnect structure in said array having its own selected number of interconnect lines and its own programmable means for connecting interconnect lines in its own first, second and third sets.
7. An interconnect structure as in claim 5 in which said at least three sets of interconnect lines includes a fourth set, and said interconnect structure further comprises:
programmable means for connecting at least one of said lines in said fourth set to at least one of said lines in said first, second and third sets.
8. An array of interconnect structures, each said interconnect structure as in claim 7, and each interconnect structure in said array having its own selected number of interconnect lines and its own programmable means for connecting interconnect lines in its own first, second, third and fourth sets.
9. An interconnect structure as in claim 7 in which said programmable means for connecting at least one of said lines in said first, second, third, and fourth sets comprises programmable means for connecting said two lines in said first set to each of said two lines in said second set, for connecting said two lines in said first set to each of said two lines in said third set, for connecting said two lines in said first set to each of two lines in said fourth set, for connecting said two lines in said second set to each of said two lines in said third set, for connecting said two lines in said second set to each of said two lines in said fourth set, and for connecting said two lines in said third set to each of said two lines in said fourth set.
10. An array of interconnect structures, each said interconnect structure as in claim 9, and each interconnect structure in said array having its own selected number of interconnect lines and its own programmable means for connecting.
11. A configurable system comprising:
one master configurable logic array;
a plurality of slave configurable logic arrays;
at least one memory;
said master configurable logic array having
means for retrieving data from said at least one memory,
means for first using said data for configuring itself, and
means for passing some of said data to said plurality of slave configurable logic arrays.
12. A configurable system as in claim 11 in which said means for retrieving data from said at least one memory includes
means for addressing said memory cells in said at least one memory, and
means for transferring selected data from said at least one memory to said master configurable logic array.
13. A configurable system as in claim 11 in which said plurality of slave configurable logic arrays include
means for being configured and
means for receiving and passing said data from said master configurable logic array to said plurality of slave configurable logic arrays whereby each of said slave configurable logic arrays is programmed according to said data in said at least one memory.
14. A configurable system as in claim 11 in which said means for passing some of said data to said plurality of slave configurable logic arrays comprises
means for passing said data through said plurality of slave configurable logic arrays sequentially by means of a shift register controlled by clock signals provided by said master configurable logic array.
15. A configurable system comprising:
a master configurable logic array;
a plurality of slave configurable logic arrays; and
a controller including
means for addressing said configurable logic arrays and
means for sending data to said configurable logic arrays; wherein said master configurable logic array includes
means for being configured by said data from said controller and
means for configuring said slave configurable logic arrays.
16. A configurable system as in claim 15 in which said slave configurable logic arrays include means for being configured and means for receiving and passing said data from said master configurable logic array.
17. A configurable system as in claim 15 in which said means for addressing further includes means for controlling sending said data from said means for sending data.
18. A configurable system as in claim 15 in which said means for configuring said slave configurable logic arrays comprises means for receiving data from said controller, means for passing some of said data to said slave configurable logic arrays and means for controlling the passing of said data to said slave configurable logic arrays.
19. A configurable system as in claim 15 in which said means for being configured of said master configurable logic array comprises means for receiving configuration control bits from said controller, and said means for configuring said slave configurable logic arrays comprises means for passing said data through said plurality of slave configurable logic arrays sequentially by means of a shift register as controlled by clock signals provided by said master configurable logic array.
20. A configurable system as in claim 11 wherein said memory is nonvolatile.
21. A programmable circuit comprising:
a plurality of configurable logic elements, each configurable logic element having a plurality of input leads and at least one output lead and having a programming means to cause said configurable logic element to perform a selected logic function;
a plurality of input/output ports;
a group of interconnect lines;
means for programmably connecting each of said input leads of each of said configurable logic elements to at least one of said interconnect lines;
means for programmably connecting said at least one output lead of each of said configurable logic elements to at least one of said interconnect lines;
means for programmably connecting each of said input/output ports to at least one of said interconnect lines; and
means for programmably connecting each one of said interconnect lines to at least one other of said interconnect lines;
whereby each of said input leads and each of said at least one output lead of each of said configurable logic elements can be connected directly or indirectly to each of said input/output ports and to each other, and whereby each of said configurable logic elements can be programmed to perform a selected one of a plurality of logic functions, and said configurable logic elements can be connected to each other and to said input/output ports in a selectable manner.
22. A programmable circuit as in claim 21 wherein said programming means of each of said configurable logic elements comprises logic element pass transistors.
23. A programmable circuit as in claim 22 wherein said programming means includes a plurality of memory cells and wherein each of said logic element pass transistors is controlled by a corresponding one of said plurality of memory cells.
24. A programmable circuit as in claim 23 in which said plurality of memory cells forms at least part of a shift register, control signals being loaded into said memory cells by being transferred through said shift register until each of said signals is properly located in said corresponding one of said memory cells.
25. A programmable circuit as in claim 23 in which said memory cells can be re-programmed.
26. A programmable circuit as in claim 21 in which each of said interconnect lines is capable of being connected directly or indirectly to one or more of the other of said interconnect lines, to one or more of said input/output ports, to one or more of said input leads and to one or more of said output leads, thereby allowing a user to connect said leads and lines together as desired.
27. A programmable .[.interconnect.]. circuit as in claim 21 wherein said means for programmably connecting each of said input leads of each of said configurable logic elements to at least one of said interconnect lines, said means for programmably connecting said at least one output lead of each of said configurable logic elements to at least one of said interconnect lines, said means for programmably connecting each of said input/output ports to at least one of said interconnect lines, and said means for programmably connecting each of said interconnect lines to at least one other of said interconnect lines comprise pass transistors.
28. A programmable circuit as in claim 27
wherein said means for programmably connecting further comprises memory means, said memory cells forming at least part of a shift register,
wherein each of said pass transistors is controlled by one of said memory cells, and
wherein said means for programmably connecting further comprises means for transferring said series of signals through said shift register until each of said signals is properly located in an associated one of said memory cells uniquely coupled to one of said pass transistors.
29. A programmable circuit as in claim 28 in which said means for programmably connecting includes means for changing the contents of said memory cells, thereby to reconfigure said programmable circuit. .Iadd.
30. A programmable circuit comprising:
a plurality of logic elements, each logic element having a plurality of input leads and at least one output lead, and having a programming means to cause said logic element to perform a selected logic function;
a plurality of input/output ports;
a group of interconnect lines;
means for programmably connecting each of said input leads of each of said logic elements to at least one of said interconnect lines;
means for programmably connecting said at least one output lead of each of said logic elements to at least one of said interconnect lines;
means for programmably connecting each of said input/output ports to at least one of said interconnect lines; and
means for programmably connecting each of said interconnect lines to at least one other of said interconnect lines;
whereby each of said logic elements can be programmed to perform a selected one of a plurality of logic functions, and said logic elements can be connected to each other and to said input/output ports in a selectable manner. .Iaddend. .Iadd.31. A programmable circuit as in claim 30 wherein programming means of each of said logic elements comprises transistors. .Iaddend. .Iadd.32. A programmable circuit as in claim 31 wherein said programming means includes a plurality of memory cells and wherein said transistors are controlled by said plurality of memory cells. .Iaddend. .Iadd.33. A programmable circuit as in claim 32 in which said plurality of memory cells forms at least part of a shift register, control signals being loaded into said memory cells by being transferred through said shift register until each of said signals is properly located in said corresponding one of said memory cells. .Iaddend. .Iadd.34. A programmable circuit as in claim 32 in which said memory cells can be re-programmed.
.Iaddend. .Iadd.35. A programmable circuit as in claim 30 in which each of said interconnect lines is capable of being connected directly or indirectly to one or more of the other of said interconnect lines, to one or more of said input/output ports, to one or more of said input leads and to one or more of said output leads, thereby allowing a user to connect said leads and lines together as desired. .Iaddend. .Iadd.36. A programmable circuit as in claim 30 wherein said means for programmably connecting comprise transistors. .Iaddend. .Iadd.37. A programmable circuit as in claim 36
wherein said means for programmably connecting further comprise memory cells, said memory cells forming at least part of a shift register,
wherein said transistors are controlled by said memory cells, and
wherein said means for programmably connecting further comprises means for transferring said series of signals through said shift register until each of said signals is properly located in an associated one of said memory cells. .Iaddend. .Iadd.38. A programmable circuit as in claim 37 in which said means for programmably connecting includes means for changing the contents of said memory cells, thereby to reconfigure said programmable circuit. .Iaddend. .Iadd.39. A programmable circuit comprising:
a plurality of logic elements, each logic element having a plurality of input leads and at least one output lead, and having a programming means to cause said logic element to perform a selected logic function;
a group of interconnect lines;
means for programmably connecting each of said input leads of each of said logic elements to at least one of said interconnect lines;
means for programmably connecting said at least one output lead of each of said logic elements to at least one of said interconnect lines; and
means for programmably connecting each of said interconnect lines to at least one other of said interconnect lines;
whereby each of said logic elements can be programmed to perform a selected one of a plurality of logic functions, and said logic elements can be
connected to each other in a selectable manner. .Iaddend. .Iadd.40. A programmable circuit as in claim 39 wherein said programming means of each of said configurable logic elements comprises transistors. .Iaddend. .Iadd.41. A programmable circuit as in claim 40 wherein said programming means includes a plurality of memory cells and wherein said transistors are controlled by said plurality of memory cells. .Iaddend. .Iadd.42. A programmable circuit as in claim 41 in which said plurality of memory cells forms at least part of a shift register, control signals being loaded into said memory cells by being transferred through said shift register until each of said signals is properly located in said corresponding one of said memory cells. .Iaddend. .Iadd.43. A programmable circuit as in claim 41 in which said memory cells can be re-programmed. .Iaddend. .Iadd.44. A programmable circuit as in claim 39 in which each of said interconnect lines is capable of being connected directly or indirectly to one or more of the other of said interconnect lines, to one or more of said input leads and to one or more of said output leads, thereby allowing a user to connect said leads and lines together as desired. .Iaddend. .Iadd.45. A programmable circuit as in claim 39 wherein said means for programmably connecting comprise transistors. .Iaddend. .Iadd.46. A programmable circuit as in claim 45
wherein said means for programmably connecting further comprise memory cells, said memory cells forming at least part of a shift register,
wherein said transistors are controlled by said memory cells, and
wherein said means for programmably connecting further comprises means for transferring said series of signals through said shift register until each of said signals is properly located in an associated one of said memory
cells. .Iaddend. .Iadd.47. A programmable circuit as in claim 46 in which said means for programmably connecting includes means for changing the contents of said memory cells, thereby to reconfigure said programmable circuit. .Iaddend. .Iadd.48. A programmable integrated circuit comprising:
a plurality of logic elements, each logic element having a plurality of input leads and at least one output lead;
a group of interconnect lines;
means for programmably connecting said input and output leads of said logic elements to each other through said interconnect lines; and
programming means responsive to electrical signals for causing said logic elements to perform a selected logic function, and causing said input and output leads of said logic elements to be connected together as desired. .Iaddend. .Iadd.49. A programmable circuit as in claim 48 wherein said programming means of each of said logic elements comprises transistors. .Iaddend. .Iadd.50. A programmable circuit as in claim 49 wherein said programming means includes a plurality of memory cells and wherein said transistors are controlled by said plurality of memory cells. .Iaddend. .Iadd.51. A programmable circuit as in claim 50 in which said plurality of memory cells forms at least part of a shift register, control signals being loaded into said memory cells by being transferred through said shift register until each of said signals is properly located in said corresponding one of said memory cells. .Iaddend. .Iadd.52. A programmable circuit as in claim 50 in which said memory cells can be re-programmed. .Iaddend. .Iadd.53. A programmable circuit as in claim 48 in which each of said interconnect lines is capable of being connected directly or indirectly to one or more of the other of said interconnect lines, to one or more of said input leads and to one or more of said output leads, thereby allowing a user to connect said leads and lines together as desired. .Iaddend. .Iadd.54. A programmable circuit as in claim 48 wherein said means for programmably connecting comprise transistors. .Iaddend. .Iadd.55. A programmable circuit as in claim 54
wherein said means for programmably connecting further comprise memory cells, said memory cells forming at least part of a shift register,
wherein said transistors are controlled by said memory cells, and
wherein said means for programmably connecting further comprises means for transferring said series of signals through said shift register until each of said signals is properly located in an associated one of said memory
cells. .Iaddend. .Iadd.56. A programmable circuit as in claim 55 in which said means for programmably connecting includes means for changing the contents of said memory cells, thereby to reconfigure said programmable circuit. .Iaddend. .Iadd.57. A configurable logic array chip comprising:
a plurality of storage cells for holding configuration information, said configuration information configuring said configurable logic array chip; and
means for causing said configuration information to be loaded into said storage cells from a device external to said configurable logic array chip. .Iaddend. .Iadd.58. A configurable logic array chip as in claim 57 in which said means for causing said configuration information to be loaded causes said configuration information to be loaded in response to said system being powered up. .Iaddend. .Iadd.59. A configurable logic array chip as in claim 57 in which said means for causing said configuration information to be loaded causes said configuration information to be loaded in response to said system being reset. .Iaddend. .Iadd.60. A system comprising:
said configurable logic array chip as in claim 57; and
said device external to said configurable logic array chip. .Iaddend. .Iadd.61. A system as in claim 60 in which said means for storing said configuration information comprises a nonvolatile memory device. .Iaddend. .Iadd.62. A system as in claim 61 further including means for loading said configuration information into said configurable logic array chip as a serial bit stream. .Iaddend. .Iadd.63. A system as in claim 61 further including means for loading said configuration information into said configurable logic array chip in parallel. .Iaddend. .Iadd.64. A system comprising a configurable logic array chip as in claim 57 and further comprising second means not part of said configurable logic array chip for causing said configuration information to be loaded into said storage cells. .Iaddend. .Iadd.65. A system as in claim 64 in which said second means comprises a microprocessor. .Iaddend. .Iadd.66. A system as in claim 65 further comprising said device external to said configurable logic array chip. .Iaddend. .Iadd.67. A system as in claim 66 in which said means for storing said configuration information comprises a nonvolatile memory. .Iaddend. .Iadd.68. A system as in claim 65 in which said microprocessor provides control, address, and data information to said configurable logic array chip. .Iaddend. .Iadd.69. A system comprising a first configurable logic array chip as in claim 57 and further comprising:
a second configurable logic array chip comprising means for holding information in storage cells, said information in said storage cells configuring said second configurable logic array chip; and
means for passing configuration information from said first configurable logic array chip to said second configurable logic array chip. .Iaddend.
.Iadd.70. A system as in claim 69 in which said means for passing comprises a shift register. .Iaddend. .Iadd.71. A system comprising:
a first configurable logic array chip;
means for loading configuration information into said first configurable logic array chip;
said first configurable logic array chip including means for loading configuration information into a second configurable logic array chip. .Iaddend. .Iadd.72. A system as in claim 71 in which said means for loading configuration information into said first configurable logic array chip is a microprocessor. .Iaddend. .Iadd.73. A system as in claim 72 in which said microprocessor has access to a storage device for holding said configuration information. .Iaddend. .Iadd.74. A system as in claim 71 in which said means for loading configuration information into said first configurable logic array chip is a third configurable logic array chip. .Iaddend. .Iadd.75. A system as in claim 71 further comprising said second configurable logic array chip connected so as to receive said configuration information from said first configurable logic array chip. .Iaddend. .Iadd.76. A system as in claim 73 in which said first and second configurable logic array chips include means for being configured by said configuration information. .Iaddend. .Iadd.77. In a system having a configurable logic array chip and means for loading configuration information into said configurable logic array chip, and means for operating said configurable logic array chip, a method for configuring said configurable logic array chip comprising the steps of:
connecting to said configurable logic array chip means for taking data from a supplier of configuration information;
disabling said means for operating said configurable logic array chip;
taking said information from said supplier of information; and
enabling said means for operating said configurable logic array chip. .Iaddend. .Iadd.78. A method for configuring as in claim 77 comprising the further step, performed between disabling and enabling said means for operating, of passing some of said information from said configurable logic array chip to another configurable logic array chip. .Iaddend. .Iadd.79. A method for configuring as in claim 77 in which said step of connecting a means for taking said information from said supplier of configuration information comprises connecting leads from said configurable logic array chip to means for controlling direction on a line such that initial direction of said line is established for allowing data to flow from said supplier of information to said configurable logic array
chip. .Iaddend. .Iadd.80. A method for configuring as in claim 77 in which said step of taking said information from said supplier of information comprises sequentially addressing said supplier of information with a counter which is part of said configurable logic array chip. .Iaddend. .Iadd.81. A configurable system comprising:
one master configurable logic array;
at least one slave configurable logic array;
at least one memory;
said master configurable logic array having
means for retrieving data from said at least one memory,
means for first using said data for configuring itself, and
means for passing some of said data to said at least one slave configurable logic array. .Iaddend. .Iadd.82. A configurable system as in claim 81 in which said means for retrieving data from said at least one memory includes
means for addressing memory cells in said at least one memory, and
means for transferring selected data from said at least one memory to said
master configurable logic array. .Iaddend. .Iadd.83. A configurable system as in claim 81 in which said at least one slave configurable logic array includes
means for being configured and
means for receiving and passing said data from said master configurable logic array to said at least one slave configurable logic array whereby each of said at least one slave configurable logic array is programmed according to said data in said at least one memory. .Iaddend. .Iadd.84. A configurable system as in claim 81 in which said means for passing some of said data to said at least one slave configurable logic array comprises
means for passing said data through said at least one slave configurable logic array sequentially by means of a shift register controlled by clock signals provided by said master configurable logic array. .Iaddend. .Iadd.85. A configurable system as in claim 81 wherein said memory is nonvolatile. .Iaddend. .Iadd.86. A configurable system comprising:
a master configurable logic array;
at least one slave configurable logic array; and a controller including
means for addressing said configurable logic arrays and
means for sending data to said configurable logic arrays;
wherein said master configurable logic array includes
means for being configured by said data from said controller and
means for configuring said at least one slave configurable logic array. .Iaddend. .Iadd.87. A configurable system as in claim 86 in which said at least one slave configurable logic array includes means for being configured and means for receiving and passing said data from said master
configurable logic array. .Iaddend. .Iadd.88. A configurable system as in claim 86 in which said means for addressing further includes means for controlling sending said data from said means for sensing data. .Iaddend. .Iadd.89. A configurable system as in claim 86 in which said means for configuring said at least one slave configurable logic array comprises means for receiving data from said controller, means for passing some of said data to said at least one slave configurable logic array, and means for controlling the passing of said data to said at least one slave configurable logic array. .Iaddend. .Iadd.90. A configurable system as in claim 86 in which said means for being configured of said master configurable logic array comprises means for receiving configuration control bits from said controller, and said means for configuring said at least one slave configurable logic array comprises means for passing said data through said at least one slave configurable logic array sequentially by means of a shift register as controlled by clock signals provided by said master configurable logic array. .Iaddend. .Iadd.91. An interconnect structure for programmably interconnecting lines within an integrated circuit comprising:
at least three sets of interconnect lines including a first set, a second set, and a third set;
programmable means for connecting at least one of said lines in said first set to at least one of said lines in said second set, for connecting at least one of said lines in said first set to at least one of said lines in said third set, and for connecting at least one of said lines in said second set to at least one of said lines in said third set, each pair of said lines being connectable by a single programmable means. .Iaddend. .Iadd.92. An interconnect structure for programmably interconnecting lines within an integrated circuit comprising:
at least three sets of interconnect lines including a first set, a second set, and a third set;
first programmable means for connecting at least one of said lines in said first set to at least one of said lines in said second set, second programmable means for connecting at least one of said lines in said first set to at least one of said lines in said third set, and third programmable means for connecting at least one of said lines in said second set to at least one of said lines in said third set, said first, second, and third programmable means being controllable independent of each other. .Iaddend. .Iadd.93. An interconnect structure for programmably interconnecting lines within an integrated circuit comprising:
at least three sets of interconnect lines including a first set, a second set, and a third set;
first programmable means for connecting at least one of said lines in said first set to at least one of said lines in said second set, second programmable means for connecting at least one of said lines in said first set to at least one of said lines in said third set, and third programmable means for connecting at least one of said lines in said second set to at least one of said lines in said third set, said first, second, and third programmable means being connected such that a signal can pass between any two of said at least one of said lines in said first, second, and third sets through only a single means for connecting. .Iaddend. .Iadd.94. An array of interconnect structures, each said interconnect structure as in claim 91, 92 or 93, and each interconnect structure in said array having its own selected number of interconnect lines and its own programmable means for connecting interconnect lines in its own first, second and third sets. .Iaddend. .Iadd.95. An interconnect structure as in claim 91, 92, or 93 in which said first set comprises two lines; and said programmable means comprises
means for connecting each of said two lines in said first set to at least one line in said second set and
means for connecting each of said two lines in said first set to said at least one line in said third set. .Iaddend. .Iadd.96. An array of interconnect structures, each said interconnect structure as in claim 95, and each interconnect structure in said array having its own selected number of interconnect lines and its own programmable means for connecting interconnect lines in its own first, second and third sets. .Iaddend. .Iadd.97. An interconnect structure as in claim 95 in which said second set comprises two lines, and said third set comprises two lines; and said programmable means comprises
means for connecting each of said two lines in said first set to each of said two lines in said second set,
means for connecting each of said two lines in said first set to each of said two lines in said third set, and
means for connecting each of said two lines in said second set to each of said two lines in said third set. .Iaddend. .Iadd.98. An array of interconnect structures, each said interconnect structure as in claim 97, and each interconnect structure in said array having its own selected number of interconnect lines and its own programmable means for connecting interconnect lines in its own first, second and third sets. .Iaddend. .Iadd.99. An interconnect structure as in claim 97 in which said at least three sets of interconnect lines includes a fourth set, and said interconnect structure further comprises:
programmable means for connecting at least one of said lines in said fourth set to at least one of said lines in said first, second and third sets. .Iaddend. .Iadd.100. An array of interconnect structures, each said interconnect structure as in claim 99, and each interconnect structure in said array having its own selected number of interconnect lines and its own programmable means for connecting interconnect lines in its own first, second, third and fourth sets. .Iaddend. .Iadd.101. An interconnect structure as in claim 99 in which said programmable means for connecting at least one of said lines in said first, second, third, and fourth sets comprises programmable means for connecting said two lines in said first set to each of said two lines in said second set, for connecting said two lines in said first set to each of said two lines in said third set, for connecting said two lines in said first set to each of two lines in said fourth set, for connecting said two lines in said second set to each of said two lines in said third set, for connecting said two lines in said second set to each of said two lines in said fourth set, and for connecting said two lines in said third set to each of said two lines in said fourth set. .Iaddend. .Iadd.102. An array of interconnect structures, each said interconnect structure as in claim 101, and each interconnect structure in said array having its own selected number of interconnect
lines and its own programmable means for connecting. .Iaddend. .Iadd.103. A programmable circuit comprising:
a plurality of logic elements, each logic element having a plurality of input leads for receiving input signals and at least one output lead, each said logic element being configurable to perform a selected logic function to said input signals, and providing said logic function as an output signal on said output lead;
a group of interconnect lines;
programming means responsive to electrical signals for connecting selected ones of said input and output leads of said logic elements to each other through said interconnect lines and causing said logic elements to perform a selected logic function. .Iaddend. .Iadd.104. Structure of claim 103 wherein said logic elements can be programmed to perform logic functions on said input signals asynchronously. .Iaddend. .Iadd.105. Structure of claim 103 wherein said logic elements can be programmed to provide said output signal on said interconnect lines asynchronously. .Iaddend.
Description

This .[.application.]. is a .Iadd.reissue of U.S. Pat. No. 4,870,302 issued Sep. 26, 1989 on application Ser. No. 07/158,011, which was .Iaddend.a continuation of application Ser. No. 06/588,478, filed Mar. 12, 1984, .Iadd.now abandoned.Iaddend..

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to configurable electrical circuits and in particular, to a method and means for providing on-chip programming of each of a plurality of logic elements formed on a chip of semiconductor material to configure each logic element to carry out certain desired functions, and to configure interconnects between the logic elements.

2. Prior Art

Gate arrays are well known in the prior art. Typically a gate array is produced by interconnecting a plurality of active devices in a base array in any one of a number of ways to achieve a desired logic function. As gate arrays become more complex, the simulation of the logic to be achieved from a given interconnection of the active devices in the base array becomes more difficult and is typically carried out using a computer program. The layout of the actual interconnections for the active devices in the base array to yield a finished gate array is then derived using a computer aided design program of a type well known in the art. The process of designing such a structure is complex and reasonably expensive requiring the use of logic simulation and verification programs and semiconductor device layout programs. Accordingly, a need exists for an alternative approach which significantly simplifies the obtaining of a given logic function from a base array.

SUMMARY

In accordance with this invention, I provide a structure which I denote as a configurable logic array which allows changing the configuration of the finished integrated circuit from time-to-time (even when the integrated circuit is installed in a system) to provide any one of a plurality of logical functions from the same integrated circuit. In accordance with my invention, by providing a number of "configurable logical elements" (also referred to herein as "logic elements") in the base array, a new type of integrated circuit is achieved which is capable of being configured to provide any one of a plurality of logic functions depending upon the tasks which the system of which it is a part is called upon to perform. By "configurable logic element" I mean a combination of devices which are capable of being electrically interconnected by switches operated in response to control bits to perform any one of a plurality of logical functions.

A configurable logic array of my invention is comprised of a multiplicity of configurable logic elements each of which can include all the circuit elements necessary to provide one or more of the functions provided by an AND gate, flip flop, inverter, NOR gate, exclusive OR gate, and combinations of these functions to form more complex functions. In accordance with my invention, the particular function to be carried out by a configurable logic element is determined by control signals applied to the configurable logic element from control logic. Depending on the control signals, the configurable logic element of one embodiment of my invention can function as an AND gate, an OR gate, a NOR gate, a NAND gate or an exclusive OR gate or any one of a number of other logic elements without any change in physical structure. In accordance with my invention, structure is provided to allow any one of a plurality of functions to be performed by each configurable logic element. Selecting a desired function is done by providing control logic to store and generate control signals which control the configuration of each configurable logic element.

In one embodiment of my invention, the control signals are stored and transmitted by control logic formed integrally with and as part of the integrated circuit chip containing the configurable logic element. However, if desired the control information can be stored and/or generated outside this integrated circuit and transmitted through pins to the configurable logic element.

In general, in accordance with my invention, a given set of control signals is transmitted to one configurable logic element to control the configuration of that configurable logic element. The control logic is thus arranged to provide any one set of a plurality of sets of control bits to each configurable logic element on the chip. The actual set of control bits provided to each configurable logic element on the integrated circuit chip depends on the function to be carried out by the integrated circuit chip or by each configurable logic element on the chip. The configuration of each logic element on the chip is determined by the intended function of the total chip and by the intended function of that configurable logic element as part of the chip. Thus the resulting structure is known as a "Configurable Logic Array" or "CLA" and each logic element in the array is known as a "Configurable Logic Element" or "CLE".

In general, each integrated circuit chip has in addition to and associated with the control logic certain on-chip data routing circuitry including configurable interconnects. In one embodiment the on-chip data routing is achieved by using a memory to store the particular data used to configure the configurable logic elements and by then transferring the data from the memory to a novel combination of a dynamic shift register and static latch element within or associated with each configurable logic element on the chip.

The particular structure of this invention is versatile in that it can be implemented particularly easily using P channel, N channel, or CMOS technologies in the embodiment shown. Of course, structure incorporating the principles of this invention can, if desired, be implemented using any other appropriate semiconductor technology. The novel dynamic shift register-static latch element of this invention is particularly useful in that the structural "overhead" (i.e., access circuitry and routing circuitry) is kept to a minimum relative to the useful logic functions on the total chip. Of particular importance, no addressing, data selection, or decoding in each configurable logic element is necessary when this novel combination of a dynamic shift register and static latch element is used to implement the configurable logic array of my invention.

This invention will be more fully understood in conjunction with the following detailed description taken together with the drawings.

DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates some of the various logic functions capable of being provided by each logic element in a configurable logic array;

FIG. 2 illustrates the internal logic structure of one possible logic element capable of implementing a number of useful functions with two variables A, B and certain configuration control bits, C0 through C5;

FIG. 3A illustrates a 16 bit RAM select circuit wherein any one of sixteen possible input states is capable of being identified and 216 functions are capable of being implemented;

FIG. 3B illustrates a selection structure for selecting any one of sixteen bits capable of implementing 216 functions, for transmittal to an output lead;

FIG. 3C illustrates one possible Karnaugh plot for the structure of FIG. 3A;

FIG. 3D illustrates the logic gates represented by placing a binary one in the Karnaugh map of FIG. 3C at the intersections of the first and second rows and the first column.

FIG. 4A illustrates one embodiment of my configurable electrical circuit wherein a plurality of configurable logic elements (shown as nine logic elements) are formed on an integrated circuit chip together with an array of leads including leads from the logic elements and from input/output pads, and programmable interconnects formed between selected leads to yield desired logic functions;

FIG. 4B shows the key to the cross-connections between crossing conductive leads in FIG. .[.4B.]. .Iadd.4A.Iaddend.;

FIG. 5 represents a portion of the circuitry of a novel combination static and dynamic shift register appropriate for use with the configurable logic array of this invention;

FIGS. 6A through 6H represent wave forms of use in explaining the operation of the novel structure of FIG. 5;

FIG. 7A represents a schematic diagram of a configurable logic array showing nine of N configurable logic elements where N is a selected integer greater than 9 and selected interconnections between conductive leads;

FIGS. 7B-1 through 7B-7 are the key showing the types of interconnections made by the symbols shown in FIG. 7A;

FIG. 8A illustrates a system with a microprocessor controller and four configurable logic arrays;

FIG. 8B illustrates a combination of four configurable logic arrays together with a nonvolatile memory;

FIGS. 9A through 9G illustrate various topologies for forming interconnections such as those shown in FIGS. 7B-1 through 7B-7 between two or more leads in a configurable logic array;

FIGS. 10A and 10B show a circuit for implementing the bidirectional buffer/amplifier represented by an "X" in a box in FIGS. 4A and 4B; and

FIG. 11 shows a single board microcomputer using the Configurable Logic Array of this invention.

DETAILED DESCRIPTION

The following detailed description of this invention is meant to be illustrative only and not limiting. Other embodiments of this invention will be obvious to those skilled in the art in view of the following disclosure.

Turning now to FIG. 1, FIG. 1 illustrates certain logic functions capable of being integrated into a configurable logic element. The 28 functions shown in FIG. 1 are merely illustrative and other elements not shown can, if desired, be included in a configurable logic element. The following elements are shown:

______________________________________Element  Function______________________________________ 1       AND gate 2       NAND gate 3       AND gate with inverted input 4       NAND gate with inverted input 5       OR gate 6       NOR gate 7       exclusive OR gate 8       exclusive NOR gate 9       3 input AND gate10       3 input NAND gate11       3 input OR gate12       3 input NOR gate13       OR gate with one input comprising AND gate14       NOR gate with one input comprising AND gate15       AND gate with one input comprising OR gate16       NAND gate with one input comprising OR gate17       3 input AND gate with one input inverted18       3 input NAND gate with one inverted input19       3 input OR gate with one inverted input20       3 lead NOR gate with one inverted input21       one of two inputs multiplexer22       inverting one of two inputs multiplexer23       "D" flip-flop with reset24       Set-Reset latch25       "D" flip-flop with reset and inverted    output26       Set-reset latch with reset and inverted    output27       "D" flip-flop with set28       "D" flip-flop with set and inverted output______________________________________

Of course, other logic elements can also be implemented in accordance with this invention.

FIG. 2 illustrates the internal logic structure of one possible logic element which is capable of implementing all useful functions of the two variables A and B, with the functions being selected by configuration control signals C0, C0, C1, C1 . . . through C5, as shown in FIG. 2. For example, to implement an AND gate function using the structure shown in FIG. 2, the input leads labeled A and B are shunted past inverters 21 and 22, respectively, by high level signals on the C1 and C0 configuration control leads. Leads C1 and C0 are connected to well-known pass transistors 29c and 29d. (Throughout this specification a pass transistor will be represented by the symbol shown within the circles 29c and 29d). Low level signals are applied to the configuration control leads C0, C1, C4. Assuming that C0, C1 and all of the other leads are connected to N channel MOS pass transistors, the control signals, C2, C2, C3 and C3 are "don's cares". That is, these signals can be high or low without affecting the output signal. In addition, a high level signal on C5 is applied to enable AND gate 25. Thus AND gate 25 serves as a two input AND gate providing to NOR gate 26 the logical AND of input variables A and B. The signal from AND gate 25 is passed through NOR gate 26. NOR gate 26 converts the high level signal from gate 25 to a low level signal to turn off MOS transistor 29a (the source of which is grounded and the drain of which is connected to the output lead 28) and to turn on through NOR gate 27 N channel transistor 29b (the drain of which is connected to a power supply and the source of which is connected to both the output lead 28 and the drain of N channel transistor 29a). Thus the structure of FIG. 2 configured as described above is an AND gate. Other logic functions can also be produced by appropriate selection of the control signals to be supplied to the configuration control leads C0 through C5 to activate the appropriate pass transistors and gates within the structure.

FIG. 3A illustrates a 16 bit RAM capable of producing one of sixteen output signals in response to any one of sixteen possible combinations of input signals. Thus input signals A and B control the X decoder to select any one of the four columns in the 16 bit RAM. Input signals C and D control the Y decoder to select any one of the four rows in the 16 bit RAM. The 16 bit RAM produces an output signal representative of the bit at the intersection of the selected row and column. There are 16 such intersections and thus sixteen such bits. There are 216 possible combinations of functions capable of being represented by the set of 16 bits present in the 16 bit RAM. Thus, if a NOR gate is to be simulated by the 16 bits in the RAM, the Karnaugh map for the RAM would be as shown in FIG. 3C. In FIG. 3C all bits are "0" except the bit at the intersection of the first row (representing A=0, B= 0) and the first column (representing C=0, D=0). Should a less frequently used function be desired to be generated by the 16 bit RAM, (for example, should a "1" output signal be desired for A=1, B=0, C=0 and D=0) then a binary "1" is stored at the intersection of the second row and the first column. Should a binary "1" be desired both when A=0, B=0, C=0 and D=0 and also when A=1, B=0, C=0 and D=0, then a binary "1" is stored at each of the intersections of the first column with the first row and the second row. The logic circuit represented by this loading of the RAM is as shown in FIG. 3D. Thus the RAM of FIG. 3A represents an elegant and simple implementations of any one of 216 logic functions.

FIG. 3B shows another structure for yielding any one of sixteen select bits in a 16-bit RAM. Each of registers 0-15 in the vertical column to the left labelled "16 Select Bits", contains a selected signal, either binary 1 or 0. By selecting the proper combination of A, B, C, and D, a particular bit stored in a particular one of the sixteen locations in the 16 Select Bits register is transmitted to the output lead. Thus, for example, to transmit the bit in the "1" register to the output lead, the signal A, B, C, D is applied to the leads so labeled. To transmit the signal labeled "15" in the sixteenth location in the 16 Select Bits register to the output lead, the signal A, B, C, and D is applied to the appropriate columns. Again, any one of 216 logic functions can be implemented using this structure.

FIG. 4A illustrates an embodiment of a configurable logic array of this invention containing nine configurable logical elements. As shown in FIG. 4A, nine logical elements are placed on an integrated circuit chip together with interconnects and variable switches for connecting various leads to other leads. Each of logic elements 40-1 through 40-9 represents a collection of circuitry such as that shown in FIG. 2 or some similar structure capable of being configured as described above with respect to FIG. 2 to perform any one of a number of logic functions. To program the circuitry.[.,.]. of a logic element such as shown in FIG. 2 selected signals are applied to input leads of the configurable logic element identified as configuration control input leads from a source such as the RAM of FIG. 3A or 3B described above thereby to generate a desired logical function in each of the logic elements. In FIG. 4A, no specific I/O pad has been identified as an input lead for applying the configuration control signals to the logic elements. However, any particular I/O pad can be selected for this purpose. The configuration control bits can be input into the configurable logic array of FIG. 4A either in series or in parallel depending upon design considerations. Input of configuration control bits is described later in conjunction with FIGS. 5, 8A, and 8B. In addition, another I/O pad will be used on input clock signals to clock the logic elements both for the shifting in of the configuration control signals to each configurable logic elements and for controlling the operation of each logic element during the functioning of the integrated circuit chip in its intended manner. The combination of logic elements 40-1 through 40-9 as configured by the configuration control bits plus the interconnect structure of FIG. 4A yields the desired logical output for the Configurable Logic Array. FIG. 4B illustrates the meaning of the interconnects symbols used in FIG. 4A.

To configure a logic element such as logic element 40-1 (FIG. 4A) a number of bits must be applied to the configuration control leads such as leads C0 through C5, as shown, for example, in FIG. 2. To do this, a shift register is utilized, in the preferred embodiment as part of each configurable logic element. FIG. 5 illustrates a novel shift register of use in this invention. The shift register of FIG. 5 is illustrated showing two basic storage cells. Each storage cell is capable of storing one bit of information. Of course, an actual shift register will contain as many storage cells as required to configure the logic element of which the shift register is a part, to its desired configuration. In operation, an input signal provided on one of the I/O pads shown in FIG. 4A is applied to input lead 58 of FIG. 5, which in FIG. 4A would be one of the logic element input lines. This input signal (shown in FIG. 6D) contains the pulses to be stored in the shift register as configuration control bits to configure the configurable logic element to perform a desired logic function or to configure an interconnection between leads in a manner to be described shortly. Thus the sequence of pulses applied to input lead 58 of FIG. 5 represents those pulses which when stored in the storage cells of the shift register will activate the configuration control bits in the proper manner to achieve the desired functional and/or interconnection result. For example, if the circuit of FIG. 2 is to be configured to form an AND gate, the pulses C0, C1, C2, C3, C4, and C5 would be represented by 1,1,X,X,0,1.

The sequence of pulses applied to input lead 58 of FIG. 5 is synchronized with clocking pulses φ1 and φ2 applied to leads 57 and 59 respectively. Thus in the first period of operation clocking pulse φ1 goes high (FIG. 6A), clocking pulse φ2 is low (FIG. 6B), the hold signal (FIG. 6C) is low during shifting thereby facilitating the passage of data through sequentially connected cells 5-1, 5-2 et al. of the shift register of FIG. 5. To shift the pattern 01010 into the shift register, the following operations occur: The input signal (FIG. 6D) on lead 58 (FIG. 5) is low during approximately the first half cycle of the clocking period t1. The output signal Q1 of inverter 51-1 goes to a high level in response to the low level input signal on lead 58 and φ1 high to enable PASS transistor 53-1. During the first clocking period t1, the clock signal φ1 goes low (FIG. 6A) and the clock signal φ2 shortly thereafter goes high (FIG. 6B) to enable PASS transistor 55-1. Consequently, the high level output signal Q1 is transmitted to the input lead of inverter 52-1 by enabled pass transistor 55-1 and thereby produces a low level output signal Q1 on the output lead of inverter 52-1. Thus at the end of period t1, the output signal Q1 (FIG. 6F) from inverter 52-1 is low level. The output signals Q2 and Q2 (FIGS. 6G, 6H) from inverters 51-2 and 52-2 in the second cell are still indeterminate because no known signal has yet propagated to the second storage cell 5-2 to change the signals of these inverters to a known state.

At the beginning of the second period (labeled "t2" in FIGS. 6A through 6H), φ1 goes high (FIGS. 6A through 6H) and φ2 is low (FIG. 6B) having gone low before period t1 ended. The input signal (FIG. 6D) now has risen to a high level representing a binary 1 and thus the output signal Q1 of inverter 51-1 has gone low. The output signal Q1 of inverter 52-1 remains low because pass transistor 55-1 is held off by the low level φ2 signal. Some time through the second period φ1 goes low followed a fraction of time later by φ2 going high. At this time, the output signal Q1 is transmitted through pass transistor 55-1 to inverter 52-1 thereby driving the output signal Q1 from inverter 52-1 to high level. Meanwhile, during period t2 the previous low level signal Q1 from inverter 52-1 has driven the output signal Q2 of inverter 51-2 to a high level when d1 was at a high level to enable PASS transistor 53-2. Also the change in φ2 from a low level to a high level in the second half of period t2 to enable PASS transistor 55-2 drives the output signal Q2 from inverter 52-2 to a low level. In this manner, the input signal on lead 58 (FIG. 6D) is transmitted through each of the cells 5-1, 5-2, 5-3 et al. in the shift register. Upon the transfer into the shift register of the desired information, the hold signal (FIG. 6C) is enabled (i.e., driven to a high level) thereby to connect the feedback leads 50-1, 50-2, and 50-3 et al. from the output leads of inverters of one stage to input leads of inverters of the same stage so as to hold the information then in each cell indefinitely. In operation, the signal stored in a given cell of FIG. 5 is connected to a configuration control portion of a logic element or to an interconnect pass device.

The signals Q1, Q1, Q2, Q2, etc., from the shift register of FIG. 5 are directly connected to the (configuration) control inputs of a logic element such as shown in FIG. 4A or the pass devices of the configurable interconnect (to be explained later in conjunction with FIG. 9A). When φ1 is low, φ2 and hold may be brought high, thus holding the data indefinitely. The entire shaft register may be set or cleared by setting or clearing the input with φ1 and φ2 both high and HOLD low. Enough set/reset time must be allowed for the signal to propagate the entire length of the shift register to clear the shift register in this manner. Naturally this time is dependent upon the length of the shift register.

The shift register operates in its dynamic phase by storing the information being shifted as charge on the gates of the pass transistors (not shown in FIG. 5 but shown in FIG. 2 and well-known) comprising inverters 51-1, 52-1, 51-2, 52-2 et al. of the shift register. These inverters are of well-known design and will not be described in detail. The use of the dynamic shift register is an important feature of the invention because each cell of a dynamic shift register uses six transistors and thus takes up very little area. Uniquely, the dynamic shift register is converted to a static latch by adding only one transistor to each cell. Thus the novel dynamic shift register-static latch can be easily fabricated as part of a configurable logic element without adding significant complexity to the circuit or consuming significant semiconductor area. Because of the "hold" signal, the dynamic shift register can be driven at a very low frequency because placing the shift register on hold automatically refreshes the data. Thus a separate refresh circuit is not needed.

It will be apparent from the above description that the novel, dynamic shift register static latch circuit is unique in that it does not need refreshing once it has been latched into a hold position. This is accomplished by use of the feedback circuit comprising lead 50-1 and pass transistor 54-1 in cell 5-1, for example.

FIG. 7A shows an additional configurable logic array containing a plurality of configurable logic elements. In particular, configurable logic elements 70-1, 70-2, 70-4 and 70-5 are shown in their entirety while configurable logic elements 70-3, 70-6 and 70-7 through 70-9 are shown partially. The complete interconnections of these last five logical elements are not shown. The structure shown in FIG. 7A is merely illustrative of the types of configurations and connections which can be implemented using the configurable logic array of this invention and does not depict an actual circuit configured to carry out an intended function.

As shown in FIG. 7A, given leads can be interconnected by any one of a plurality of different means (i.e., interconnection structures). The symbols representing the interconnections shown in FIG. 7A are illustrated in FIG. 7B. In particular, while the schematics depicting various interconnections are to some extent self-explanatory, the conventions used in these schematics are explained in FIGS. 9A through 9G.

FIG. 9A is the schematic of a circuit for making a number of different interconnections between two cross-over leads such as shown in FIG. 7B-3, horizontal lead 90-1 and vertical lead 90-2. Thus, in FIG. 9A, pass transistor 2, when activated into the conducting state, connects lead 90-3 to lead 90-1. Pass transistor 1, when conducting, connects lead 90-3 to lead 90-4. Pass transistor 4, when conducting, connects lead 90-4 to lead 90-2 and pass transistor 3, when conducting, connects lead 90-1 to lead 90-2. Pass transistors 6 and 5, when off, separate lead 90-2 from lead 90-3 and separate lead 90-1 from lead 90-4 respectively. Thus, should it be desired to connect vertical lead 90-2 to vertical lead 90-3, pass transistor 6 is activated. Likewise, should it be desired to connect horizontal lead 90-1 to horizontal lead 90-4, pass transistor 5 is activated. The terminology used to represent the possible connections between a plurality of leads can become quite complex. Thus, a simplified notation system as shown in FIGS. 9B to 9E has been adopted.

In FIG. 9B, a plurality of pass transistors 92-1 through 92-13 are shown. The convention adopted in FIG. 9B is to have a given pass transistor represented by a single short time. Thus, the line labelled 92-1 represents a pass transistor. Pass transistor 92-1 is drawn so that its two ends point to the ends of the leads 91-5 and 91-6 being interconnected by pass transistor 92-1. Thus, the right end 93a of pass transistor 92-1 is aimed to the end 94a of lead 91-5. The left end 93b of pass transistor 92-1 is aimed to the end 94b of lead 91-6. For simplicity and to avoid cluttering the drawing in FIG. 9B, the other ends of the transistors are not labelled. However, by visually aligning the line representing a given pass transistor with the ends of the leads 91-1 through 91-6 the particular two leads interconnected by that pass transistor can be determined. Thus, pass transistor 92-7 interconnects horizontal lead 91-4 with vertical lead 92-8. Pass transistor 92-13 interconnects horizontal lead 91-4 with horizontal lead 91-2. Pass transistor 92-12 interconnects lead 91-3 with lead 91-5. Similar connections can be made between the other pass transistors and the other leads.

The above description assumes that only two leads are to be interconnected. If more than two leads are to be interconnected, the structure of FIG. 9B can also be used for this purpose. Thus, lead 91-3 can be connected to lead 91-2 by turning on pass transistor 92-10. Simultaneously, lead 91-3 can be connected to lead 91-4 by turning on pass transistor 92-13. Alternatively, lead 91-3 could be connected to lead 91-4 by turning on pass transistor 92-11. Of course, this would also connect lead 91-4 through lead 91-3 and pass transistor 92-10 to lead 91-2. In addition, lead 91-6, for example, could be connected to the three leads 91-2, 91-3, 91-4 by turning on pass transistor 92-8. Clearly, a large number of permutations of interconnections can be made using this structure. In the case where all the pass transistors are turned on, all the leads 91-1 to 91-6 are interconnected. The resulting structure has a large capacitance which can actually be used in circuits as a component. Of course, all leads in FIG. 9B can be interconnected by turning on as few as five pass transistors. Note that in FIG. 9B leads 91-1 and 91-2 cannot be directly connected to each other nor can lead 91-4 be directly connected to lead 91-5 without involving another lead. However, this omission is not of importance because in an integrated circuit there is in general no need for two parallel leads to carry the same signal. Of course, two additional pass transistors could be added to the structure of FIG. 9B. FIG. 9B is considered to be merely a symbolic representation of intersecting leads and leads 91-1 and 91-2 are merely shown for convenience as being parallel but in fact can represent non-parallel leads on an integrated circuit.

With reference to FIGS. 9C and 9D two other possible interconnection representations are illustrated. In FIG. 9D leads 1 to 8 are shown coming together at a complicated intersection. Leads 1 and 8 are parallel horizontal to the left, leads 4 and 5 are parallel horizontal to the right, leads 2 and 3 are parallel vertical up and leads 6 and 7 are parallel vertical down. Looking for a moment at lead 6, the end 6a of lead 6 can be connected sensibly to the ends "a" of leads 1, 2, 3, 4, 5 and 8. It is not sensible to connect lead 6 to lead 7 because theoretically the two leads are going in one direction and only one lead is required to carry the necessary information in that direction. Since lead 6 has six possible connections and there are eight leads, a total of forty-eight possible connections are offered by the structure of FIG. 9D. Since a given pass transistor connects two ends, twenty-four pass transistors are required to make the required forty-eight connections. The particular pass transistors have their ends labelled in FIG. 9D to illustrate the leads which are connected by a given pass transistor. Thus, pass transistor 6-8 interconnects the end 6a of lead 6 to the end 8a of lead 8. Pass transistor 7-5 interconnects the end of lead 7 to the end of lead 5. Because of the complexity of the structure of FIG. 9D a slightly different convention (a line with numbers on both ends) has been adopted for representing the pass transistor than that which was described above in conjunction with FIG. 9B.

FIG. 9E illustrates types of interconnections possible using the method of this invention. The leads interconnected are illustrated by showing continuous lines or broken lines depending on whether a given lead is connected to another lead or left unconnected. These interconnections are self-explanatory.

FIG. 9F illustrates the connections that would be possible if the four pass transistors 1-6, 2-5, 3-8, 4-7 omitted from FIG. 9D were in fact included. The dashed lines show the interconnections possible by these omitted transistors. Thus, FIG. 9D shows only twenty pass transistors whereas twenty-four pass transistors are necessary to make all possible connections between the leads. FIG. 9G illustrates the way in which it is possible to interconnect leads 4 and 7 without the four transistor connections shown in FIG. 9F being present. Thus, to connect lead 4 to lead 7, lead 4 is connected directly to lead 8 by means of transistor 4-8 while lead 8 is connected to lead 7 by pass transistor 8-7.

FIG. 9C illustrates the configuration of FIG. 9D with the full twenty-four interconnection transistors shown rather than merely the twenty shown in FIG. 9D. As shown in FIG. 9C pass transistors 1-6, 7-4, 2-5 and 8-3 have been added to the transistors shown in FIG. 9D. For convenience and to avoid cluttering the drawing, the other pass transistors shown in FIG. 9D have not been numbered in FIG. 9C except for pass transistor 6-8.

Note that each of the interconnections shown above in FIGS. 9A through 9G requires only one gate in order to connect one lead to another except for the particular configuration illustrated in FIG. 9G wherein two gates are required. This means that the speed of circuits formed using the interconnections of this invention is greater than the speed of circuits using prior art interconnections.

The symbology used in FIGS. 7B-1 through 7B-7 is identical to the symbology just explained in conjunction with FIGS. 9A through 9G. Thus, for example, FIG. 7B-7 illustrates on the left the symbol for a 20 transistor interchange and on the right the locations of the 20 transistors, and corresponds precisely to the interchange explained above in conjunction with FIG. 9D.

FIG. 7B-1 illustrates three transistors capable of making a T connection, a cross-connection, or a four-way connection but not a vertical only connection and therefore not a full interconnection. By full interconnection is meant the ability to connect each of the leads (in FIG. 7B-1, four leads) coming into a node to a given node or to each of the other leads coming into the node in any combination.

FIG. 7B-2 shows a one transistor interconnection to connect a row with a column. FIG. 7B-3 shows a six transistor full cross interconnection wherein any one of four leads coming into a node can be connected to any one of the other three leads. FIG. 7B-4 shows six leads coming into an intersection wherein ten pass transistors are used to interconnect any one of the six input leads to any one of the five other leads input to the node. FIG. 7B-5 illustrates a four-lead node where two horizontal continuous leads are interconnected with two separate vertical leads using five pass transistors.

FIG. 7B-6 illustrates a three-transistor interconnection wherein any one of three leads coming into a node can be interconnected with any one of the other two leads. FIG. 7B-7 illustrates the twenty-transistor interchange for interconnecting any one of eight input leads to any one of the other eight input leads except that lead parallel and adjacent to the lead being interconnected as illustrated in FIG. 9D and except for the four interconnections shown in FIG. 9F.

FIGS. 8A and 8B illustrate two possible systems capable of using the configurable logic arrays of this invention. In FIG. 8A, a microprocessor microcontroller produces address signals, control signals and data signals which are transmitted to a master configurable logic array. Also shown are N slave CLAs. As shown in FIG. 8A, the control bits to control each of the configurable logic elements in each slave configurable logic array are transmitted on the data leads from the microcontroller to the master configurable logic array. From the master configurable logic array, this data is transmitted in series to each one of N configurable logic arrays where N is a selected integer. The control bits for controlling the configuration of each configurable logic element in each of the configurable logic arrays are transmitted in series through slave configurable logic array 1, slave configurable logic array 2 through to the Nth configurable array. The data is stored in serial shift registers as described above in conjunction with FIG. 5. When the proper bits are located in the proper storage cells in each shift register, the hold signal shown in FIG. 6C is raised to a high level thereby locking each data bit into the proper location in the corresponding shift register thus configurating each configurable logic element in each configurable logic array. The data clock signals are applied on a separate lead to each configurable logic array, as shown, to clock in the control data.

The address arrow pointing to CLA (master) in FIG. 8A merely indicates that the microprocessor has the ability to select a particular master configurable logic array for receipt of data from the microprocessor. In FIG. 8B the master configurable logic array is capable of going into the nonvolatile memory with addresses to select particular data to be retrieved from the memory to be used to configure each of the slave configurable logic arrays. In FIG. 8A the microprocessor produces address signals which will go to off chip memory or to other circuitry (not shown).

In FIG. 8B the structure is similar to that shown in FIG. 8A except that a nonvolatile memory such as a ROM, EPROM or E2 PROM is used as the source for the configuration control bits to be transmitted into each of the configurable logic arrays. The structure of FIG. 8B is unique in that when power is turned on or when a reset signal is applied to the master CLA, the master CLA initiates the transfer of the information for controlling or configuring the Configurable Logic Array from the non-volatile memory to the master CLA and to the .[.salve.]. .Iadd.slave .Iaddend.CLAs 1 to N. In this sense, the structure of FIG. 8B is self-configuring in response to power on or a reset signal.

A single board microcomputer using a Configurable Logic Array of this invention is shown in FIG. 11. Configurable Logic Array 110 performs the chip decode functions, the latching functions and the various special logic that is necessary to implement a single board microcomputer. The CLA has an output lead ("DONE") which is low from the time the power is turned on until the single board microcomputer is fully functional.

The first event that occurs when power is turned on is that the Configurable Logic Array 110 forces the Z8002 CPU 111 into the reset state. Reset forces the outputs of the CPU to be tri-stated (i.e., to go to high impedance level) which makes it possible for the Configurable Logic Array to use the control lines from the CPU 111 while it is being configured. The Configurable Logic Array 110 through a set of address lines (LA1 -LA12) addresses the EPROMS 113 which are also used for the bootstrap of the Z8002 CPU 111. In addition, the EPROMS 113 have available in them configuration information for the CLA 110. The CLA 110 has signals which, during the self-loading time, are fixed so that particular bi-directional buffers 112 can be set in the correct direction for loading data from the EPROMS 113 to the Configurable Logic Array 110. Configurable Logic Array 110 then sequentially addresses locations in the EPROMS 113 which are read into the Configurable Logic Array 110 to configure the CLA 110. When array 110 is totally configured it then takes on its new functions and unlatches the DONE output which releases the reset line to the CPU 111. CPU 111 is then in control of the entire system. The decode used herein decodes the addresses from the CPU to create chip enables and chip selects for the various RAMS and EPROMS in the system and for the I/O devices as well.

The bi-directional selectable buffer 112 shown in FIG. 11 is illustrated in more detail in FIGS. 10A and 10B. FIG. 10A shows the bi-directional buffer as comprising an inverter 101 connected into a CMOS inverter comprising p-channel transistor 103 and n-channel transistor 104, the output lead of which is gated by pass transistor 108. In the other direction, inverter 102 feeds an input signal onto the gates of p-channel pass transistor 105 connected in series with n-channel transistor 106. The output from the node between the p- and n-channel transistors is controlled by pass transistor 107. The pass transistors 107 and 108 are activated by the Q, Q signals from the storage element which can comprise a standard flip-flop. Thus, the buffer passes a signal in one direction or the other on leads 109a or 109b, depending upon whether or not pass transistor 107 or pass transistor 108 is turned on.

FIG. 10B illustrates schematically the circuit of FIG. 10A. In FIG. 10B, the series connected p-channel and n-channel transistors 103 and 104 have been represented by inverter 103' and series connected p-channel pass transistor 105 and n-channel pass transistor 106 have been represented by .[.invertor.]. .Iadd.inverter .Iaddend.105'. Of course, in operation, the two circuits are identical.

With reference to FIGS. 4A and 4B directional amplifiers (shown by an X in a box) are used to amplify signals which have been attenuated by a number of pass transistors. This speeds up considerably the operation of the circuit. The delay of a signal increases approximately in proportion to the square of the number of pass transistors through which a signal must pass. The amplifier brings the signal voltage back to its normal level.

In view of the above description, it will be obvious to those skilled in the art that a configurable logic element in a Configurable Logic Array is capable of being reconfigured even after the Configurable Logic Array has been installed in a circuit. Indeed, this is one of the key advantages of the Configurable Logic Array of this invention. Thus, a Configurable Logic Array can be reconfigured to provide a new logical function as part of its normal operation in the system of which it is a part.

Another advantage of this invention is that the I/O pads can be used as either input or output pads and can be controlled by any internal signal using pass transistors.

While one embodiment of this invention has been described, other embodiments of this invention will be obvious in view of the above disclosure.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US3201574 *Oct 7, 1960Aug 17, 1965Rca CorpFlexible logic circuit
US3400379 *Jan 3, 1966Sep 3, 1968Ncr CoGeneralized logic circuitry
US3431433 *May 28, 1965Mar 4, 1969Perry Gerald HoraceDigital storage devices using field effect transistor bistable circuits
US3439185 *Jan 11, 1966Apr 15, 1969Rca CorpLogic circuits employing field-effect transistors
US3446990 *Dec 10, 1965May 27, 1969Stanford Research InstControllable logic circuits employing functionally identical gates
US3483400 *Jun 8, 1967Dec 9, 1969Sharp KkFlip-flop circuit
US3564514 *May 23, 1969Feb 16, 1971Honeywell IncProgrammable logic apparatus
US3576984 *Aug 9, 1968May 4, 1971Bunker RamoMultifunction logic network
US3619583 *Oct 11, 1968Nov 9, 1971Bell Telephone Labor IncMultiple function programmable arrays
US3667054 *Feb 10, 1971May 30, 1972Us NavyPulse train decoder with pulse width rejection
US3691401 *Mar 10, 1971Sep 12, 1972Honeywell Inf SystemsConvertible nand/nor gate
US3743948 *Dec 4, 1969Jul 3, 1973North American RockwellPulse train sorter
US3750115 *Apr 28, 1972Jul 31, 1973Gen ElectricRead mostly associative memory cell for universal logic
US3816725 *Apr 28, 1972Jun 11, 1974Gen ElectricMultiple level associative logic circuits
US3818252 *Dec 20, 1972Jun 18, 1974Hitachi LtdUniversal logical integrated circuit
US3818452 *Apr 28, 1972Jun 18, 1974Gen ElectricElectrically programmable logic circuits
US3838296 *Oct 29, 1973Sep 24, 1974Nat Semiconductor CorpEmitter coupled logic transistor circuit
US3849638 *Jul 18, 1973Nov 19, 1974Gen ElectricSegmented associative logic circuits
US3936812 *Dec 30, 1974Feb 3, 1976Ibm CorporationOutput signals
US3967251 *Apr 17, 1975Jun 29, 1976Xerox CorporationUser variable computer memory module
US3983543 *Jun 30, 1975Sep 28, 1976International Business Machines CorporationWrite buffer circuits incorporating complementary field effect transistors
US3987287 *Dec 30, 1974Oct 19, 1976International Business Machines CorporationHigh density logic array
US3990045 *Jun 24, 1974Nov 2, 1976International Business Machines CorporationArray logic fabrication for use in pattern recognition equipments and the like
US4020469 *Apr 9, 1975Apr 26, 1977Frank ManningProgrammable arrays
US4032894 *Jun 1, 1976Jun 28, 1977International Business Machines CorporationLogic array with enhanced flexibility
US4068214 *Dec 16, 1976Jan 10, 1978Massachusetts Institute Of TechnologyAsynchronous logic array
US4084152 *Apr 4, 1977Apr 11, 1978International Business Machines CorporationTime shared programmable logic array
US4091359 *Feb 15, 1977May 23, 1978Siemens AktiengesellschaftModular logic circuit utilizing charge-storage transistors
US4103182 *Sep 1, 1976Jul 25, 1978Hewlett-Packard CompanyProgrammable transfer gate array
US4107549 *May 10, 1977Aug 15, 1978Moufah Hussein TTernary logic circuits with CMOS integrated circuits
US4120043 *Apr 30, 1976Oct 10, 1978Burroughs CorporationMethod and apparatus for multi-function, stored logic Boolean function generation
US4123669 *Sep 8, 1977Oct 31, 1978International Business Machines CorporationLogical OR circuit for programmed logic arrays
US4124899 *May 23, 1977Nov 7, 1978Monolithic Memories, Inc.Programmable array logic circuit
US4125869 *Jul 11, 1975Nov 14, 1978National Semiconductor CorporationInterconnect logic
US4154978 *Dec 8, 1977May 15, 1979Operating Systems, Inc.Self-contained bidirectional amplifying repeater
US4157480 *Jul 22, 1977Jun 5, 1979National Research Development CorporationInverters and logic gates employing inverters
US4157589 *Sep 9, 1977Jun 5, 1979Gte Laboratories IncorporatedArithmetic logic apparatus
US4161662 *Nov 7, 1977Jul 17, 1979Motorola, Inc.Standardized digital logic chip
US4177452 *Jun 5, 1978Dec 4, 1979International Business Machines CorporationElectrically programmable logic array
US4195352 *Jul 8, 1977Mar 25, 1980Xerox CorporationSplit programmable logic array
US4207556 *Dec 5, 1977Jun 10, 1980Nippon Telegraph And Telephone Public CorporationProgrammable logic array arrangement
US4208728 *Dec 21, 1978Jun 17, 1980Bell Telephone Laboratories, IncorporatedProgramable logic array
US4233667 *Oct 23, 1978Nov 11, 1980International Business Machines CorporationDemand powered programmable logic array
US4237542 *Apr 28, 1978Dec 2, 1980International Business Machines CorporationProgrammable logic arrays
US4240094 *Mar 20, 1978Dec 16, 1980Harris CorporationLaser-configured logic array
US4244032 *Dec 16, 1977Jan 6, 1981Oliver Douglas EApparatus for programming a PROM by propagating data words from an address bus to the PROM data terminals
US4245324 *Dec 15, 1978Jan 13, 1981International Business Machines CorporationCompact programmable logic read array having multiple outputs
US4249246 *Feb 27, 1979Feb 3, 1981Nippon Electric Co., Ltd.Programmable logic array for generating EOR sums of input signals
US4268908 *Feb 26, 1979May 19, 1981International Business Machines CorporationModular macroprocessing system comprising a microprocessor and an extendable number of programmed logic arrays
US4281398 *Feb 12, 1980Jul 28, 1981Mostek CorporationBlock redundancy for memory array
US4284953 *Jun 13, 1979Aug 18, 1981Motorola, Inc.Character framing circuit
US4290121 *Jan 12, 1979Sep 15, 1981Texas Instruments IncorporatedVariable function programmed calculator
US4292548 *Jul 27, 1979Sep 29, 1981Instituto Venezolano De Investigaciones Cientificas (Ivic)Dynamically programmable logic circuits
US4293783 *Nov 1, 1978Oct 6, 1981Massachusetts Institute Of TechnologyStorage/logic array
US4295064 *Jun 30, 1978Oct 13, 1981International Business Machines CorporationLogic and array logic driving circuits
US4307379 *Aug 20, 1979Dec 22, 1981Raytheon CompanyIntegrated circuit component
US4331893 *Nov 28, 1979May 25, 1982Giddings & Lewis, Inc.Boolean logic processor without accumulator output feedback
US4336601 *Jul 5, 1979Jun 22, 1982Mamoru TanakaRewritable programmable logic array
US4348736 *Jul 22, 1980Sep 7, 1982International Business Machines Corp.Programmable logic array adder
US4348737 *Oct 9, 1979Sep 7, 1982International Business Machines CorporationMultiple-function programmable logic arrays
US4357678 *Dec 26, 1979Nov 2, 1982International Business Machines CorporationProgrammable sequential logic array mechanism
US4366393 *Mar 17, 1980Dec 28, 1982Nippon Electric Co., Ltd.Integrated logic circuit adapted to performance tests
US4380811 *Apr 14, 1981Apr 19, 1983International Business Machines Corp.Programmable logic array with self correction of faults
US4390970 *Dec 15, 1980Jun 28, 1983Texas Instruments IncorporatedRotating register utilizing field effect transistors
US4392198 *Jul 16, 1980Jul 5, 1983Matsushita Electric Industrial Company, LimitedMethod of producing microaddresses and a computer system for achieving the method
US4395646 *Nov 3, 1980Jul 26, 1983International Business Machines Corp.Logic performing cell for use in array structures
US4399516 *Feb 10, 1981Aug 16, 1983Bell Telephone Laboratories, IncorporatedStored-program control machine
US4409499 *Jun 14, 1982Oct 11, 1983Standard Microsystems CorporationHigh-speed merged plane logic function array
US4409680 *Aug 27, 1981Oct 11, 1983Ncr CorporationHigh speed write control for synchronous registers
US4414547 *Oct 16, 1981Nov 8, 1983General Instrument CorporationStorage logic array having two conductor data column
US4415818 *Jan 7, 1980Nov 15, 1983Nippon Telegraph & Telephone Corp.Programmable sequential logic circuit devices
US4415973 *Mar 16, 1981Nov 15, 1983International Computers LimitedArray processor with stand-by for replacing failed section
US4422072 *Jul 30, 1981Dec 20, 1983Signetics CorporationField programmable logic array circuit
US4433331 *Dec 14, 1981Feb 21, 1984Bell Telephone Laboratories, IncorporatedProgrammable logic array interconnection matrix
US4446382 *Feb 24, 1982May 1, 1984Moore Russell LArrangement to time separate bidirectional current flow
US4453096 *Apr 1, 1980Jun 5, 1984U.S. Philips CorporationMOS Transistor type integrated circuit for the execution of logical operations on a plurality of data signals
US4458163 *Jul 20, 1981Jul 3, 1984Texas Instruments IncorporatedProgrammable architecture logic
US4458297 *Nov 29, 1982Jul 3, 1984Mosaic Systems, Inc.Universal interconnection substrate
US4495629 *Jan 25, 1983Jan 22, 1985Storage Technology PartnersCMOS scannable latch
US4508977 *Jan 11, 1983Apr 2, 1985Burroughs CorporationRe-programmable PLA
US4513307 *May 5, 1982Apr 23, 1985Rockwell International CorporationCMOS/SOS transistor gate array apparatus
US4519050 *Jun 17, 1982May 21, 1985Intel CorporationRadiation shield for an integrated circuit memory with redundant elements
US4541067 *May 10, 1982Sep 10, 1985American Microsystems, Inc.Combinational logic structure using PASS transistors
US4541114 *May 5, 1983Sep 10, 1985Research Environmental/Institute of MichiganRouting techniques using serial neighborhood image analyzing system
US4551814 *Dec 12, 1983Nov 5, 1985Aerojet-General CorporationFunctionally redundant logic network architectures
US4551815 *Mar 15, 1984Nov 5, 1985Aerojet-General CorporationFunctionally redundant logic network architectures with logic selection means
US4558236 *Oct 17, 1983Dec 10, 1985Sanders Associates, Inc.Universal logic circuit
US4564773 *Aug 11, 1982Jan 14, 1986Fujitsu LimitedSemiconductor gate array device having an improved interconnection structure
US4575794 *Feb 22, 1982Mar 11, 1986International Business Machines Corp.Clocking mechanism for multiple overlapped dynamic programmable logic arrays used in a digital control unit
US4600846 *Oct 6, 1983Jul 15, 1986Sanders Associates, Inc.Universal logic circuit modules
US4622648 *May 8, 1985Nov 11, 1986American Microsystems, Inc.Combinational logic structure using PASS transistors
US4642487 *Sep 26, 1984Feb 10, 1987Xilinx, Inc.Special interconnect for configurable logic array
US4670749 *Apr 13, 1984Jun 2, 1987Zilog, Inc.Integrated circuit programmable cross-point connection technique
US4700187 *Dec 2, 1985Oct 13, 1987Concurrent Logic, Inc.Programmable, asynchronous logic cell and array
US4706217 *Mar 25, 1986Nov 10, 1987Kabushiki Kaisha ToshibaSequential logic circuit
US4717912 *Oct 7, 1982Jan 5, 1988Advanced Micro Devices, Inc.Apparatus for producing any one of a plurality of signals at a single output
US4727268 *Feb 24, 1986Feb 23, 1988Kabushiki Kaisha ToshibaLogic circuitry having two programmable interconnection arrays
US4742252 *Mar 29, 1985May 3, 1988Advanced Micro Devices, Inc.Multiple array customizable logic device
US4742383 *Dec 30, 1985May 3, 1988International Business Machines CorporationMulti-function FET masterslice cell
Non-Patent Citations
Reference
1Alan C. Folmsbee, "PROM Cell Made With An EPROM Process", IEEE Conference on IEDM, 1983, pp. 574-576.
2 *Alan C. Folmsbee, PROM Cell Made With An EPROM Process , IEEE Conference on IEDM, 1983, pp. 574 576.
3Altera, EP300 "Erasable Programmable Logic Device", Rev. 2.0, Undated.
4 *Altera, EP300 Erasable Programmable Logic Device , Rev. 2.0, Undated.
5Altera, EP600. "Erasable Programmable Logic Device", Rev. 1.0. Copyright 1984, 1985 Altera Corporation.
6 *Altera, EP600. Erasable Programmable Logic Device , Rev. 1.0. Copyright 1984, 1985 Altera Corporation.
7B. S. Raju et al., "Programmable Cellular Arrays", International Journal of Control, vol. 14, No. 6, Dec. 1971, pp. 1041-1061; London, G. B.
8 *B. S. Raju et al., Programmable Cellular Arrays , International Journal of Control, vol. 14, No. 6, Dec. 1971, pp. 1041 1061; London, G. B.
9C. Mead and L. Conway, "Introduction to VLSI-Systems", Addison-Wesley Pub., Reading, U.S., Oct. 1980, pp. 150-158.
10 *C. Mead and L. Conway, Introduction to VLSI Systems , Addison Wesley Pub., Reading, U.S., Oct. 1980, pp. 150 158.
11Gamblin et al., "Thin Film Universal Logic Block", IBM T.D.B., vol. 9, No. 6, Nov. 1966, pp. 662-664.
12 *Gamblin et al., Thin Film Universal Logic Block , IBM T.D.B., vol. 9, No. 6, Nov. 1966, pp. 662 664.
13Greer, D. L., "An Associative Logic Matrix" IEEE Journal of Solid-State Circuits, vol. SC-11, No. 5, Oct. 1976.
14 *Greer, D. L., An Associative Logic Matrix IEEE Journal of Solid State Circuits, vol. SC 11, No. 5, Oct. 1976.
15J. I Raffel, MIT Lincoln Laboratory, "On the Use of Nonvolatile Programmable Links for Restructurable VLSI", Proceedings of the Caltech Conference on VLSI, California Institute of Technology, Jan. 1979.
16 *J. I Raffel, MIT Lincoln Laboratory, On the Use of Nonvolatile Programmable Links for Restructurable VLSI , Proceedings of the Caltech Conference on VLSI, California Institute of Technology, Jan. 1979.
17K. J. Dean et al., "Non-Arithmetical Cellular Arrays", Proceedings of the Institution of Electrical Engineers, vol. 119, No. 7, Jul. 1972, pp. 785-789.
18 *K. J. Dean et al., Non Arithmetical Cellular Arrays , Proceedings of the Institution of Electrical Engineers, vol. 119, No. 7, Jul. 1972, pp. 785 789.
19Kye S. Hedlund and Lawrence Snyder, Department of Computer Sciences, Purdue University, "Wafer Scale Integration of Configurable, Highly Parallel (CHiP) Processors", IEEE Proceedings of the 1982 International Conference on Parallel Processing, Aug. 24-27, 1982.
20 *Kye S. Hedlund and Lawrence Snyder, Department of Computer Sciences, Purdue University, Wafer Scale Integration of Configurable, Highly Parallel (CHiP) Processors , IEEE Proceedings of the 1982 International Conference on Parallel Processing, Aug. 24 27, 1982.
21Lawrence Snyder, Department of Computer Sciences, Purdue University, "Overview of the CHiP Computer", Proceedings of the first International Conference on Very Large Scale Integration held at the University of Edinburgh 18-Aug. 1981.
22 *Lawrence Snyder, Department of Computer Sciences, Purdue University, Overview of the CHiP Computer , Proceedings of the first International Conference on Very Large Scale Integration held at the University of Edinburgh 18 Aug. 1981.
23Lawrence Snyder, Purdue University, "Introduction to the Configurable, Highly Parallel Computer", IEEE, Computer, vol. 15, No. 1, Jan. 1982, pp. 47-56.
24 *Lawrence Snyder, Purdue University, Introduction to the Configurable, Highly Parallel Computer , IEEE, Computer, vol. 15, No. 1, Jan. 1982, pp. 47 56.
25Machart et al., "General Function Circuit", IBM T.D.B., vol. 15, No. 1, Jun. 1972, p. 11.
26 *Machart et al., General Function Circuit , IBM T.D.B., vol. 15, No. 1, Jun. 1972, p. 11.
27Mead and Conway, "Introduction to VLSI Systems" copyright 1980 by Addison-Wesley Publishing Co., pp. 263-292.
28 *Mead and Conway, Introduction to VLSI Systems copyright 1980 by Addison Wesley Publishing Co., pp. 263 292.
29Patil, S. S. and Welch, T. A., "A Programmable Logic Approach for VLSI", IEEE Transactions on Computers, vol. C-28, No. 9, Sep. 1979.
30 *Patil, S. S. and Welch, T. A., A Programmable Logic Approach for VLSI , IEEE Transactions on Computers, vol. C 28, No. 9, Sep. 1979.
31R. D. Harrod and H. R. Moore, "Ungated Common I/O Buffer for Card Testing", IBM T.D.B., vol. 21, No. 6, Nov. 1978.
32 *R. D. Harrod and H. R. Moore, Ungated Common I/O Buffer for Card Testing , IBM T.D.B., vol. 21, No. 6, Nov. 1978.
33William Spaw, Alan C. Folmsbee, and George Canepa, "Nonvolatile Memories", IEEE Conference on ISSCC, Feb. 11, 1982.
34 *William Spaw, Alan C. Folmsbee, and George Canepa, Nonvolatile Memories , IEEE Conference on ISSCC, Feb. 11, 1982.
35Wood, R. A., "A High Density Programmable Logic Array Chip", IEEE Transactions on Computers, vol. C-28, No. 9, Sep. 1979.
36 *Wood, R. A., A High Density Programmable Logic Array Chip , IEEE Transactions on Computers, vol. C 28, No. 9, Sep. 1979.
37 *Wood, R. A., Hsieh, Yu Nian, Price, C. A., and Wang, P. P., An Electrically Alterable PLA for Fast Turnaround Time VLSI Development Hardware , IEEE Journal of Solid State Circuits, vol. SC 16, No. 5, Oct. 1981.
38Wood, R. A., Hsieh, Yu-Nian, Price, C. A., and Wang, P. P., "An Electrically Alterable PLA for Fast Turnaround-Time VLSI Development Hardware", IEEE Journal of Solid-State Circuits, vol. SC-16, No. 5, Oct. 1981.
39X. Chen and S. L. Hurst, "A Comparison of Universal-Logic-Module Realizations and Their Application in the Synthesis of Combinatorial and Sequantial Logic Networks", IEEE Transactions on Computers, C-31 No. 2, Feb. 1982.
40 *X. Chen and S. L. Hurst, A Comparison of Universal Logic Module Realizations and Their Application in the Synthesis of Combinatorial and Sequantial Logic Networks , IEEE Transactions on Computers, C 31 No. 2, Feb. 1982.
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US5336950 *Feb 8, 1993Aug 9, 1994National Semiconductor CorporationConfiguration features in a configurable logic array
US5357152 *Nov 10, 1992Oct 18, 1994Infinite Technology CorporationLogic system of logic networks with programmable selected functions and programmable operational controls
US5367208 *Jan 13, 1993Nov 22, 1994Actel CorporationReconfigurable programmable interconnect architecture
US5424589 *Feb 12, 1993Jun 13, 1995The Board Of Trustees Of The Leland Stanford Junior UniversityElectrically programmable inter-chip interconnect architecture
US5426379 *Jul 29, 1994Jun 20, 1995Xilinx, Inc.Field programmable gate array with built-in bitstream data expansion
US5430687 *Apr 1, 1994Jul 4, 1995Xilinx, Inc.Programmable logic device including a parallel input device for loading memory cells
US5450022 *Oct 7, 1994Sep 12, 1995Xilinx Inc.Structure and method for configuration of a field programmable gate array
US5453706 *Apr 1, 1994Sep 26, 1995Xilinx, Inc.Field programmable gate array providing contention free configuration and reconfiguration
US5457408 *Nov 23, 1994Oct 10, 1995At&T Corp.Method and apparatus for verifying whether a bitstream received by a field programmable gate array (FPGA) is intended for that FPGA
US5473267 *Feb 3, 1995Dec 5, 1995Sgs-Thomson Microelectronics LimitedProgrammable logic device with memory that can store routing data of logic data
US5488582 *Aug 25, 1994Jan 30, 1996Atmel CorporationNon-disruptive, randomly addressable memory system
US5504439 *Jun 6, 1995Apr 2, 1996Xilinx, Inc.I/O interface cell for use with optional pad
US5504440 *Jan 27, 1994Apr 2, 1996Dyna Logic CorporationHigh speed programmable logic architecture
US5510730 *Jun 21, 1995Apr 23, 1996Actel CorporationReconfigurable programmable interconnect architecture
US5519629 *May 1, 1995May 21, 1996Hewlett-Packard CompanyTileable gate array cell for programmable logic devices and gate array having tiled gate array cells
US5523706 *Mar 8, 1995Jun 4, 1996Altera CorporationHigh speed, low power macrocell
US5537057 *Feb 14, 1995Jul 16, 1996Altera CorporationProgrammable logic array device with grouped logic regions and three types of conductors
US5541530 *May 17, 1995Jul 30, 1996Altera CorporationProgrammable logic array integrated circuits with blocks of logic regions grouped into super-blocks
US5543730 *May 17, 1995Aug 6, 1996Altera CorporationTechniques for programming programmable logic array devices
US5543732 *May 17, 1995Aug 6, 1996Altera CorporationProgrammable logic array devices with interconnect lines of various lengths
US5550843 *Apr 1, 1994Aug 27, 1996Xilinx, Inc.Programmable scan chain testing structure and method
US5559450 *Jul 27, 1995Sep 24, 1996Lucent Technologies Inc.Field programmable gate array with multi-port RAM
US5561367 *Jul 23, 1992Oct 1, 1996Xilinx, Inc.Structure and method for testing wiring segments in an integrated circuit device
US5565793 *Aug 22, 1995Oct 15, 1996Altera CorporationProgrammable logic array integrated circuit devices with regions of enhanced interconnectivity
US5570039 *Jul 27, 1995Oct 29, 1996Lucent Technologies Inc.Programmable function unit as parallel multiplier cell
US5570040 *Mar 22, 1995Oct 29, 1996Altera CorporationProgrammable logic array integrated circuit incorporating a first-in first-out memory
US5572148 *Mar 22, 1995Nov 5, 1996Altera CorporationProgrammable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory
US5581198 *Feb 24, 1995Dec 3, 1996Xilinx, Inc.Shadow DRAM for programmable logic devices
US5590305 *Dec 15, 1995Dec 31, 1996Altera CorporationProgramming circuits and techniques for programming logic
US5594366 *Jun 19, 1995Jan 14, 1997Atmel CorporationProgrammable logic device with regional and universal signal routing
US5596766 *Feb 16, 1995Jan 21, 1997Infinite Technology CorporationConfigurable logic networks
US5598109 *Apr 2, 1996Jan 28, 1997Altera CorporationProgrammable logic array device with grouped logic regions and three types of conductors
US5614840 *May 17, 1995Mar 25, 1997Altera CorporationProgrammable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors
US5614844 *Jun 5, 1995Mar 25, 1997Dyna Logic CorporationHigh speed programmable logic architecture
US5617573 *May 23, 1994Apr 1, 1997Xilinx, Inc.State splitting for level reduction
US5627480 *Feb 8, 1996May 6, 1997Xilinx, Inc.Tristatable bidirectional buffer for tristate bus lines
US5631576 *Sep 1, 1995May 20, 1997Altera CorporationProgrammable logic array integrated circuit devices with flexible carry chains
US5631578 *Jun 2, 1995May 20, 1997International Business Machines CorporationProgrammable array interconnect network
US5633806 *Jun 21, 1995May 27, 1997Mitsubishi Denki Kabushiki KaishaSemiconductor integrated circuit and method of designing same
US5646544 *Jun 5, 1995Jul 8, 1997International Business Machines CorporationSystem and method for dynamically reconfiguring a programmable gate array
US5646546 *Jun 2, 1995Jul 8, 1997International Business Machines CorporationProgrammable logic cell having configurable gates and multiplexers
US5656950 *Oct 26, 1995Aug 12, 1997Xilinx, Inc.Interconnect lines including tri-directional buffer circuits
US5670895 *Oct 19, 1995Sep 23, 1997Altera CorporationRouting connections for programmable logic array integrated circuits
US5671432 *Jun 2, 1995Sep 23, 1997International Business Machines CorporationProgrammable array I/O-routing resource
US5672985 *Dec 18, 1995Sep 30, 1997Altera CorporationProgrammable logic array integrated circuits with carry and/or cascade rings
US5675589 *Apr 30, 1996Oct 7, 1997Xilinx, Inc.Programmable scan chain testing structure and method
US5677638 *Feb 2, 1996Oct 14, 1997Xilinx, Inc.High speed tristate bus with multiplexers for selecting bus driver
US5680061 *Nov 12, 1996Oct 21, 1997Altera CorporationTechniques for programming programmable logic array devices
US5682107 *Mar 19, 1996Oct 28, 1997Xilinx, Inc.FPGA architecture with repeatable tiles including routing matrices and logic matrices
US5684980 *Jul 23, 1996Nov 4, 1997Virtual Computer CorporationFPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions
US5689195 *May 17, 1995Nov 18, 1997Altera CorporationProgrammable logic array integrated circuit devices
US5691653 *Jan 16, 1996Nov 25, 1997Altera CorporationProduct term based programmable logic array devices with reduced control memory requirements
US5694058 *Mar 20, 1996Dec 2, 1997Altera CorporationProgrammable logic array integrated circuits with improved interconnection conductor utilization
US5703498 *Sep 6, 1996Dec 30, 1997International Business Machines CorporationProgrammable array clock/reset resource
US5705938 *Sep 5, 1995Jan 6, 1998Xilinx, Inc.Programmable switch for FPGA input/output signals
US5705939 *Oct 15, 1996Jan 6, 1998Altera CorporationProgrammable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors
US5717346 *Sep 6, 1996Feb 10, 1998International Business Machines CorporationLow skew multiplexer network and programmable array clock/reset application thereof
US5717901 *Nov 8, 1995Feb 10, 1998Altera CorporationVariable depth and width memory device
US5726484 *Mar 6, 1996Mar 10, 1998Xilinx, Inc.Multilayer amorphous silicon antifuse
US5726584 *Mar 18, 1996Mar 10, 1998Xilinx, Inc.Virtual high density programmable integrated circuit having addressable shared memory cells
US5737235 *Sep 6, 1995Apr 7, 1998Xilinx IncIn a field programmable integrated circuit chip
US5737631 *Apr 5, 1995Apr 7, 1998Xilinx IncReprogrammable instruction set accelerator
US5742179 *Dec 29, 1995Apr 21, 1998Dyna Logic CorporationHigh speed programmable logic architecture
US5744979 *Jun 3, 1996Apr 28, 1998Xilinx, Inc.Programmable integrated circuit
US5748009 *Sep 9, 1996May 5, 1998International Business Machines CorporationProgrammable logic cell
US5748979 *Jun 7, 1995May 5, 1998Xilinx IncReprogrammable instruction set accelerator using a plurality of programmable execution units and an instruction page table
US5752077 *May 15, 1995May 12, 1998Motorola, Inc.Data processing system having a multi-function input/output port with individual pull-up and pull-down control
US5754823 *Feb 23, 1995May 19, 1998Datalogic, Inc.Configurable I/O system using logic state arrays
US5760607 *Jul 7, 1997Jun 2, 1998Xilinx, Inc.System comprising field programmable gate array and intelligent memory
US5760611 *Oct 25, 1996Jun 2, 1998International Business Machines CorporationFunction generator for programmable gate array
US5764080 *Aug 24, 1995Jun 9, 1998Altera CorporationInput/output interface circuitry for programmable logic array integrated circuit devices
US5773993 *Sep 26, 1996Jun 30, 1998Xilinx, Inc.Configurable electronic device which is compatible with a configuration bitstream of a prior generation configurable electronic device
US5781032 *Sep 9, 1996Jul 14, 1998International Business Machines CorporationProgrammable inverter circuit used in a programmable logic cell
US5781756 *Apr 1, 1994Jul 14, 1998Xilinx, Inc.Programmable logic device with partially configurable memory cells and a method for configuration
US5787007 *Jan 30, 1996Jul 28, 1998Xilinx, Inc.Structure and method for loading RAM data within a programmable logic device
US5796267 *Feb 27, 1996Aug 18, 1998Altera CorporationTri-Statable input/output circuitry for programmable logic
US5805503 *Jan 3, 1996Sep 8, 1998Atmel CorporationNon-disruptive randomly addressable memory system
US5808479 *Jan 16, 1997Sep 15, 1998Dyna Logic CorporationHigh speed programmable logic architecture
US5815726 *Jun 7, 1995Sep 29, 1998Altera CorporationCoarse-grained look-up table architecture
US5818730 *Dec 5, 1996Oct 6, 1998Xilinx, Inc.FPGA one turn routing structure and method using minimum diffusion area
US5821772 *Aug 7, 1996Oct 13, 1998Xilinx, Inc.Programmable address decoder for programmable logic device
US5821773 *Sep 6, 1995Oct 13, 1998Altera CorporationFor a programmable logic device
US5828230 *Jan 9, 1997Oct 27, 1998Xilinx, Inc.FPGA two turn routing structure with lane changing and minimum diffusion area
US5835998 *Oct 9, 1996Nov 10, 1998Altera CorporationLogic cell for programmable logic devices
US5844422 *Nov 13, 1996Dec 1, 1998Xilinx, Inc.State saving and restoration in reprogrammable FPGAs
US5844854 *Dec 2, 1996Dec 1, 1998Altera CorporationProgrammable logic device with two dimensional memory addressing
US5847577 *Nov 1, 1996Dec 8, 1998Xilinx, Inc.DRAM memory cell for programmable logic devices
US5847580 *Oct 10, 1996Dec 8, 1998Xilinx, Inc.High speed bidirectional bus with multiplexers
US5850151 *Apr 7, 1997Dec 15, 1998Altera CorporationProgrammable logic array intergrated circuit devices
US5850152 *Apr 7, 1997Dec 15, 1998Altera CorporationProgrammable logic array integrated circuit devices
US5869979 *May 9, 1996Feb 9, 1999Altera CorporationTechnique for preconditioning I/Os during reconfiguration
US5870327 *Nov 3, 1997Feb 9, 1999Xilinx, Inc.Memory device
US5872463 *Sep 23, 1996Feb 16, 1999Altera CorporationRouting in programmable logic devices using shared distributed programmable logic connectors
US5880597 *Dec 2, 1996Mar 9, 1999Altera CorporationInterleaved interconnect for programmable logic array devices
US5883525 *Oct 3, 1997Mar 16, 1999Xilinx, Inc.FPGA architecture with repeatable titles including routing matrices and logic matrices
US5883526 *Apr 17, 1997Mar 16, 1999Altera CorporationHierarchical interconnect for programmable logic devices
US5889411 *Mar 14, 1997Mar 30, 1999Xilinx, Inc.FPGA having logic element carry chains capable of generating wide XOR functions
US5889413 *Nov 22, 1996Mar 30, 1999Xilinx, Inc.Lookup tables which double as shift registers
US5894565 *May 20, 1996Apr 13, 1999Atmel CorporationField programmable gate array with distributed RAM and increased cell utilization
US5907248 *Feb 9, 1998May 25, 1999Xilinx, Inc.FPGA interconnect structure with high-speed high fanout capability
US5909126 *Jun 28, 1996Jun 1, 1999Altera CorporationProgrammable logic array integrated circuit devices with interleaved logic array blocks
US5923614 *Apr 30, 1998Jul 13, 1999Xilinx, Inc.Structure and method for reading blocks of data from selectable points in a memory device
US5923868 *Oct 23, 1997Jul 13, 1999Cypress Semiconductor Corp.Methods for maximizing routability in a programmable interconnect matrix having less than full connectability
US5936424 *Oct 14, 1997Aug 10, 1999Xilinx, Inc.High speed bus with tree structure for selecting bus driver
US5936425 *Jun 11, 1998Aug 10, 1999Altera CorporationTri-statable input/output circuitry for programmable logic
US6172520Feb 12, 1999Jan 9, 2001Xilinx, Inc.FPGA system with user-programmable configuration ports and method for reconfiguring the FPGA
US6175530May 14, 1999Jan 16, 2001Xilinx, Inc.Method for detecting low power on an FPGA interface device
US6177808 *Apr 30, 1998Jan 23, 2001Compaq Computer CorporationIntegration of bidirectional switches with programmable logic
US6181159Aug 25, 1998Jan 30, 2001Altera CorporationIntegrated circuit incorporating a programmable cross-bar switch
US6181162Jan 6, 1998Jan 30, 2001Altera CorporationProgrammable logic device with highly routable interconnect
US6184705Dec 2, 1997Feb 6, 2001Altera CorporationTechniques for programming programmable logic array devices
US6184706Jan 5, 1998Feb 6, 2001Altera CorporationLogic device architecture and method of operation
US6184707Oct 7, 1998Feb 6, 2001Altera CorporationLook-up table based logic element with complete permutability of the inputs to the secondary signals
US6184710Aug 27, 1997Feb 6, 2001Altera CorporationProgrammable logic array devices with enhanced interconnectivity between adjacent logic regions
US6185724Dec 2, 1997Feb 6, 2001Xilinx, Inc.Template-based simulated annealing move-set that improves FPGA architectural feature utilization
US6188091Jul 16, 1998Feb 13, 2001Xilinx, Inc.FPGA one turn routing structure using minimum diffusion area
US6191608May 5, 1997Feb 20, 2001Altera CorporationTechniques for programming programmable logic array devices
US6191611Sep 25, 1998Feb 20, 2001Altera CorporationDriver circuitry for programmable logic devices with hierarchical interconnection resources
US6191614Aug 13, 1999Feb 20, 2001Xilinx, Inc.FPGA configuration circuit including bus-based CRC register
US6191998Dec 1, 1999Feb 20, 2001Altera CorporationProgrammable logic device memory array circuit having combinable single-port memory arrays
US6201406Apr 28, 2000Mar 13, 2001Xilinx, Inc.FPGA configurable by two types of bitstreams
US6201410Aug 13, 1999Mar 13, 2001Xilinx, Inc.Wide logic gate implemented in an FPGA configurable logic element
US6204687Aug 13, 1999Mar 20, 2001Xilinx, Inc.Method and structure for configuring FPGAS
US6204688Dec 9, 1998Mar 20, 2001Altera CorporationProgrammable logic array integrated circuit devices with interleaved logic array blocks
US6204689May 27, 1999Mar 20, 2001Xilinx, Inc.Input/output interconnect circuit for FPGAs
US6204690May 18, 2000Mar 20, 2001Xilinx, Inc.FPGA architecture with offset interconnect lines
US6208162Feb 19, 1998Mar 27, 2001Altera CorporationTechnique for preconditioning I/Os during reconfiguration
US6209118Jan 21, 1998Mar 27, 2001Micron Technology, Inc.Method for modifying an integrated circuit
US6218856Oct 11, 1996Apr 17, 2001Xilinx, Inc.High speed programmable logic architecture
US6218876Sep 8, 1999Apr 17, 2001Altera CorporationPhase-locked loop circuitry for programmable logic devices
US6219305Jul 14, 1998Apr 17, 2001Xilinx, Inc.Method and system for measuring signal propagation delays using ring oscillators
US6225823Mar 24, 2000May 1, 2001Altera CorporationInput/output circuitry for programmable logic devices
US6232845Jul 22, 1999May 15, 2001Xilinx, Inc.Circuit for measuring signal delays in synchronous memory elements
US6233205Jul 14, 1998May 15, 2001Xilinx, Inc.Built-in self test method for measuring clock to out delays
US6242767Nov 10, 1997Jun 5, 2001Lightspeed Semiconductor Corp.Asic routing architecture
US6242946Aug 5, 1999Jun 5, 2001Altera CorporationEmbedded memory block with FIFO mode for programmable logic device
US6242947May 19, 2000Jun 5, 2001Xilinx, Inc.PLD having a window pane architecture with segmented interconnect wiring between logic block arrays
US6243664Oct 27, 1998Jun 5, 2001Cypress Semiconductor CorporationMethods for maximizing routability in a programmable interconnect matrix having less than full connectability
US6255846Mar 6, 2000Jul 3, 2001Altera CorporationProgrammable logic devices with enhanced multiplexing capabilities
US6255848Aug 13, 1999Jul 3, 2001Xilinx, Inc.Method and structure for reading, modifying and writing selected configuration memory cells of an FPGA
US6259271Jun 15, 2000Jul 10, 2001Altera CorporationConfiguration memory integrated circuit
US6259272Jun 9, 1999Jul 10, 2001Altera CorporationProgrammable logic array integrated circuit architectures
US6262596Aug 13, 1999Jul 17, 2001Xilinx, Inc.Configuration bus interface circuit for FPGAS
US6262597Jul 24, 2000Jul 17, 2001Xilinx, Inc.FIFO in FPGA having logic elements that include cascadable shift registers
US6263400 *Mar 10, 2000Jul 17, 2001Altera CorporationMemory cells configurable as CAM or RAM in programmable logic devices
US6265895Mar 15, 2000Jul 24, 2001Altera CorporationProgrammable logic device incorporating a memory efficient interconnection device
US6271681Sep 14, 1999Aug 7, 2001Altera CorporationPCI-compatible programmable logic devices
US6278288May 19, 2000Aug 21, 2001Altera CorporationProgrammable logic device with enhanced multiplexing capabilities in interconnect resources
US6278291Jul 21, 2000Aug 21, 2001Altera CorporationProgrammable logic array devices with interconnect lines of various lengths
US6288568May 19, 2000Sep 11, 2001Xilinx, Inc.FPGA architecture with deep look-up table RAMs
US6288970Jun 30, 1998Sep 11, 2001Altera CorporationProgrammable logic device memory array circuit having combinable single-port memory arrays
US6289494Nov 12, 1997Sep 11, 2001Quickturn Design Systems, Inc.Optimized emulation and prototyping architecture
US6292021Aug 29, 2000Sep 18, 2001Atmel CorporationFPGA structure having main, column and sector reset lines
US6292022Jan 11, 2001Sep 18, 2001Xilinx, Inc.Interconnect structure for a programmable logic device
US6294928Apr 3, 1997Sep 25, 2001Altera CorporationProgrammable logic device with highly routable interconnect
US6297665May 19, 2000Oct 2, 2001Xilinx, Inc.FPGA architecture with dual-port deep look-up table RAMS
US6300794Jan 20, 2000Oct 9, 2001Altera CorporationProgrammable logic device with hierarchical interconnection resources
US6301695Jan 14, 1999Oct 9, 2001Xilinx, Inc.Methods to securely configure an FPGA using macro markers
US6305005Jan 14, 1999Oct 16, 2001Xilinx, Inc.Methods to securely configure an FPGA using encrypted macros
US6308311May 14, 1999Oct 23, 2001Xilinx, Inc.Method for reconfiguring a field programmable gate array from a host
US6320411Nov 19, 1999Nov 20, 2001Altera CorporationProgrammable logic array devices with enhanced interconnectivity between adjacent logic regions
US6320412Dec 20, 1999Nov 20, 2001Btr, Inc. C/O Corporate Trust Co.Architecture and interconnect for programmable logic circuits
US6323681Apr 10, 2000Nov 27, 2001Xilinx, Inc.Circuits and methods for operating a multiplexer array
US6323682May 19, 2000Nov 27, 2001Xilinx, Inc.FPGA architecture with wide function multiplexers
US6324676Jan 14, 1999Nov 27, 2001Xilinx, Inc.FPGA customizable to accept selected macros
US6326806 *Mar 29, 2000Dec 4, 2001Xilinx, Inc.FPGA-based communications access point and system for reconfiguration
US6335634May 22, 2000Jan 1, 2002Srinivas T. ReddyCircuitry and methods for internal interconnection of programmable logic devices
US6338106Jun 18, 1999Jan 8, 2002Pact GmbhI/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
US6340897Jan 11, 2000Jan 22, 2002Altera CorporationProgrammable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory
US6342792Mar 2, 2000Jan 29, 2002Altera CorporationLogic module circuitry for programmable logic devices
US6344989Sep 11, 2000Feb 5, 2002Altera CorporationProgrammable logic devices with improved content addressable memory capabilities
US6347061Jun 22, 2000Feb 12, 2002Altera CorporationProgrammable logic array device with random access memory configurable as product terms
US6351809May 14, 1999Feb 26, 2002Xilinx, Inc.Method of disguising a USB port connection
US6353551Nov 19, 1999Mar 5, 2002Altera CorporationStatic random access memory circuits
US6356514Mar 23, 2001Mar 12, 2002Xilinx, Inc.Built-in self test method for measuring clock to out delays
US6357037Jan 14, 1999Mar 12, 2002Xilinx, Inc.Methods to securely configure an FPGA to accept selected macros
US6362646Jan 30, 1998Mar 26, 2002Altera CorporationMethod and apparatus for reducing memory resources in a programmable logic device
US6366120Mar 2, 2000Apr 2, 2002Altera CorporationInterconnection resources for programmable logic integrated circuit devices
US6366121May 25, 2001Apr 2, 2002Altera CorporationProgrammable logic array integrated circuit architectures
US6369608Jan 18, 2001Apr 9, 2002Xillinx, Inc.Conditioning semiconductor-on-insulator transistors for programmable logic devices
US6381732Aug 7, 2001Apr 30, 2002Xilinx, Inc.FPGA customizable to accept selected macros
US6384625Mar 30, 2001May 7, 2002Altera CorporationProgrammable logic devices with enhanced multiplexing capabilities
US6384630Jan 12, 2001May 7, 2002Altera CorporationTechniques for programming programmable logic array devices
US6392438Oct 6, 2000May 21, 2002Altera CorporationProgrammable logic array integrated circuit devices
US6392954Dec 21, 2000May 21, 2002Altera CorporationDual port programmable logic device variable depth and width memory array
US6396303Jul 27, 1999May 28, 2002Xilinx, Inc.Expandable interconnect structure for FPGAS
US6396304Dec 9, 1999May 28, 2002Altera CorporationProgrammable logic array integrated circuits with blocks of logic regions grouped into super-blocks
US6404225Nov 2, 2000Jun 11, 2002Altera CorporationIntegrated circuit incorporating a programmable cross-bar switch
US6405299Aug 28, 1998Jun 11, 2002Pact GmbhInternal bus system for DFPS and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity
US6407576Mar 2, 2000Jun 18, 2002Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US6414514Jul 18, 2000Jul 2, 2002Altera CorporationLogic device architecture and method of operation
US6417690 *Jun 1, 1998Jul 9, 2002Btr, Inc.Floor plan for scalable multiple level tab oriented interconnect architecture
US6417694Sep 19, 2001Jul 9, 2002Altera CorporationProgrammable logic device with hierarchical interconnection resources
US6424567Jul 7, 1999Jul 23, 2002Philips Electronics North America CorporationFast reconfigurable programmable device
US6425068Oct 8, 1997Jul 23, 2002Pact GmbhUnit for processing numeric and logic operations for use in central processing units (cpus), multiprocessor systems, data-flow processors (dsps), systolic processors and field programmable gate arrays (epgas)
US6427156Jan 21, 1997Jul 30, 2002Xilinx, Inc.Configurable logic block with AND gate for efficient multiplication in FPGAS
US6429682May 25, 2001Aug 6, 2002Xilinx, Inc.Configuration bus interface circuit for FPGAs
US6446249May 12, 2000Sep 3, 2002Quickturn Design Systems, Inc.Emulation circuit with a hold time algorithm, logic and analyzer and shadow memory
US6448808Aug 15, 2001Sep 10, 2002Xilinx, Inc.Interconnect structure for a programmable logic device
US6452459Dec 14, 2000Sep 17, 2002Xilinx, Inc.Circuit for measuring signal delays of synchronous memory elements
US6453382Sep 2, 1999Sep 17, 2002Altera CorporationContent addressable memory encoded outputs
US6462578 *Jan 12, 2000Oct 8, 2002Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US6466520Feb 5, 1999Oct 15, 2002Xilinx, Inc.Built-in AC self test using pulse generators
US6467009Oct 14, 1998Oct 15, 2002Triscend CorporationConfigurable processor system unit
US6469553Mar 19, 2001Oct 22, 2002Altera CorporationPhase-locked loop circuitry for programmable logic devices
US6477643Jul 10, 2000Nov 5, 2002Pact GmbhProcess for automatic dynamic reloading of data flow processors (dfps) and units with two-or-three-dimensional programmable cell architectures (fpgas, dpgas, and the like)
US6480023Oct 13, 2000Nov 12, 2002Xilinx, Inc.Configurable logic block for PLD
US6480025Jan 8, 2001Nov 12, 2002Altera CorporationDriver circuitry for programmable logic devices with hierarchical interconnection resources
US6480027Mar 2, 2000Nov 12, 2002Altera CorporationDriver circuitry for programmable logic devices
US6480028Feb 1, 2002Nov 12, 2002Altera CorporationProgrammable logic device architectures with super-regions having logic regions and memory region
US6480937Feb 25, 1999Nov 12, 2002Pact Informationstechnologie GmbhMethod for hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)--
US6487618May 14, 1999Nov 26, 2002Xilinx, Inc.Method for resisting an FPGA interface device
US6492834Feb 1, 2001Dec 10, 2002Altera CorporationProgrammable logic device with highly routable interconnect
US6507216Jul 17, 2001Jan 14, 2003Altera CorporationEfficient arrangement of interconnection resources on programmable logic devices
US6507217Sep 13, 2001Jan 14, 2003Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US6512289May 9, 2000Jan 28, 2003Xilinx, Inc.Direct current regulation on integrated circuits under high current design conditions
US6513077Jul 25, 2001Jan 28, 2003Pact GmbhI/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US6518787Sep 21, 2000Feb 11, 2003Triscend CorporationInput/output architecture for efficient configuration of programmable input/output cells
US6525564Dec 14, 2001Feb 25, 2003Altera CorporationInterconnection resources for programmable logic integrated circuit devices
US6526520Mar 29, 2000Feb 25, 2003Pact GmbhMethod of self-synchronization of configurable elements of a programmable unit
US6542998Aug 6, 1999Apr 1, 2003Pact GmbhMethod of self-synchronization of configurable elements of a programmable module
US6556500Dec 26, 2001Apr 29, 2003Altera CorporationProgrammable logic array device with random access memory configurable as product terms
US6560665May 14, 1999May 6, 2003Xilinx Inc.Embedding firmware for a microprocessor with configuration data for a field programmable gate array
US6563367Aug 16, 2001May 13, 2003Altera CorporationInterconnection switch structures
US6566906Sep 18, 2001May 20, 2003Altera CorporationSpecialized programmable logic region with low-power mode
US6570404Mar 26, 1997May 27, 2003Altera CorporationHigh-performance programmable logic architecture
US6571381Feb 25, 1999May 27, 2003Pact Xpp Technologies AgMethod for deadlock-free configuration of dataflow processors and modules with a two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US6577160Jun 10, 2002Jun 10, 2003Altera CorporationProgrammable logic device with hierarchical interconnection resources
US6586966Sep 13, 2001Jul 1, 2003Altera CorporationData latch with low-power bypass mode
US6590826Jan 22, 2002Jul 8, 2003Xilinx, Inc.Self-addressing FIFO
US6594810Oct 4, 2001Jul 15, 2003M2000Reconfigurable integrated circuit with a scalable architecture
US6597196Apr 5, 2002Jul 22, 2003Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US6601228Sep 28, 2000Jul 29, 2003Micron Technology, Inc.Method for modifying an integrated circuit
US6603332Nov 9, 2001Aug 5, 2003Xilinx, Inc.Configurable logic block for PLD with logic gate for combining output with another configurable logic block
US6611477Apr 24, 2002Aug 26, 2003Xilinx, Inc.Built-in self test using pulse generators
US6613611Dec 22, 2000Sep 2, 2003Lightspeed Semiconductor CorporationASIC routing architecture with variable number of custom masks
US6614259Mar 21, 2001Sep 2, 2003Altera CorporationConfiguration memory integrated circuit
US6614261Jan 14, 2002Sep 2, 2003Altera CorpInterconnection and input/output resources for programable logic integrated circuit devices
US6624654May 16, 2002Sep 23, 2003Xilinx, Inc.Methods for implementing circuits in programmable logic devices to minimize the effects of single event upsets
US6624656Oct 15, 1999Sep 23, 2003Triscend CorporationInput/output circuit with user programmable functions
US6625793Sep 6, 2001Sep 23, 2003Quickturn Design Systems, Inc.Optimized emulation and prototyping architecture
US6630838Jan 23, 2001Oct 7, 2003Xilinx, Inc.Method for implementing dynamic burn-in testing using static test signals
US6631520May 14, 1999Oct 7, 2003Xilinx, Inc.Method and apparatus for changing execution code for a microcontroller on an FPGA interface device
US6636070Aug 15, 2002Oct 21, 2003Altera CorpDriver circuitry for programmable logic devices with hierarchical interconnection resources
US6646467May 17, 2002Nov 11, 2003Altera CorporationPCI-compatible programmable logic devices
US6654889Feb 19, 1999Nov 25, 2003Xilinx, Inc.Method and apparatus for protecting proprietary configuration data for programmable logic devices
US6657457Mar 15, 2000Dec 2, 2003Intel CorporationData transfer on reconfigurable chip
US6661253Aug 16, 2001Dec 9, 2003Altera CorporationPassgate structures for use in low-voltage applications
US6664807Jan 22, 2002Dec 16, 2003Xilinx, Inc.Repeater for buffering a signal on a long data line of a programmable logic device
US6670825Dec 13, 2002Dec 30, 2003Altera CorporationEfficient arrangement of interconnection resources on programmable logic devices
US6687788Jul 9, 2002Feb 3, 2004Pact Xpp Technologies AgMethod of hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs , etc.)
US6687884May 16, 2002Feb 3, 2004Xilinx, Inc.Testing for shorts between interconnect lines in a partially defective programmable logic device
US6690195Jan 15, 2002Feb 10, 2004Altera CorporationDriver circuitry for programmable logic devices
US6697957May 11, 2000Feb 24, 2004Quickturn Design Systems, Inc.Emulation circuit with a hold time algorithm, logic analyzer and shadow memory
US6697979Jun 21, 2000Feb 24, 2004Pact Xpp Technologies AgMethod of repairing integrated circuits
US6703861Oct 11, 2002Mar 9, 2004Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US6708191Jul 9, 2002Mar 16, 2004Xilinx, Inc.Configurable logic block with and gate for efficient multiplication in FPGAS
US6714042Mar 6, 2003Mar 30, 2004Altera CorporationSpecialized programmable logic region with low-power mode
US6717433Feb 28, 2002Apr 6, 2004Jean BarbierReconfigurable integrated circuit with integrated debugging facilities and scalable programmable interconnect
US6720793Sep 16, 2002Apr 13, 2004Xilinx, Inc.Quintuple modular redundancy for high reliability circuits implemented in programmable logic devices
US6721830Nov 26, 2002Apr 13, 2004Pact Xpp Technologies AgI/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US6721840Aug 18, 2000Apr 13, 2004Triscend CorporationMethod and system for interfacing an integrated circuit to synchronous dynamic memory and static memory
US6724810Nov 17, 2000Apr 20, 2004Xilinx, Inc.Method and apparatus for de-spreading spread spectrum signals
US6727727Nov 18, 2002Apr 27, 2004Altera CorporationInterconnection resources for programmable logic integrated circuit devices
US6728871Jun 9, 1999Apr 27, 2004Pact Xpp Technologies AgRuntime configurable arithmetic and logic cell
US6747482May 1, 2003Jun 8, 2004Btr. Inc.Architecture and interconnect scheme for programmable logic circuits
US6754686Oct 13, 2000Jun 22, 2004Xilinx, Inc.Literal sharing method for fast sum-of-products logic
US6754760Aug 21, 2000Jun 22, 2004Xilinx, Inc.Programmable interface for a configurable system bus
US6772405Jun 13, 2002Aug 3, 2004Xilinx, Inc.Insertable block tile for interconnecting to a device embedded in an integrated circuit
US6781407Jan 9, 2002Aug 24, 2004Xilinx, Inc.FPGA and embedded circuitry initialization and processing
US6798239Sep 28, 2001Sep 28, 2004Xilinx, Inc.Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
US6798242Apr 29, 2003Sep 28, 2004Altera CorporationProgrammable logic device with hierarchical interconnection resources
US6812731Feb 26, 2004Nov 2, 2004Xilinx, Inc.Quintuple modular redundancy for high reliability circuits implemented in programmable logic devices
US6813754Nov 5, 2002Nov 2, 2004Lattice Semiconductor CorporationPlacement processing for programmable logic devices
US6815981Feb 6, 2003Nov 9, 2004Altera CorporationProgrammable logic array integrated circuit devices
US6820248Feb 14, 2002Nov 16, 2004Xilinx, Inc.Method and apparatus for routing interconnects to devices with dissimilar pitches
US6835579Dec 9, 2002Dec 28, 2004Xilinx, IncMethod of monitoring internal voltage and controlling a parameter of an integrated circuit
US6839874Feb 28, 2002Jan 4, 2005Xilinx, Inc.Method and apparatus for testing an embedded device
US6842039Oct 21, 2002Jan 11, 2005Altera CorporationConfiguration shift register
US6859869Apr 12, 1999Feb 22, 2005Pact Xpp Technologies AgData processing system
US6870397Aug 6, 2003Mar 22, 2005Xilinx, Inc.Input/output circuit with user programmable functions
US6874107Jul 24, 2001Mar 29, 2005Xilinx, Inc.Integrated testing of serializer/deserializer in FPGA
US6879183Sep 27, 2002Apr 12, 2005Altera CorporationProgrammable logic device architectures with super-regions having logic regions and a memory region
US6882176Mar 7, 2003Apr 19, 2005Altera CorporationHigh-performance programmable logic architecture
US6885043Jan 18, 2002Apr 26, 2005Lightspeed Semiconductor CorporationASIC routing architecture
US6886092Nov 19, 2001Apr 26, 2005Xilinx, Inc.Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion
US6894533Jun 9, 2003May 17, 2005Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US6897680Mar 9, 2004May 24, 2005Altera CorporationInterconnection resources for programmable logic integrated circuit devices
US6920551Mar 19, 2004Jul 19, 2005Xilinx, Inc.Configurable processor system
US6934922Feb 27, 2002Aug 23, 2005Xilinx, Inc.Timing performance analysis
US6937062Feb 12, 2004Aug 30, 2005Altera CorporationSpecialized programmable logic region with low-power mode
US6957283 *Jul 25, 2001Oct 18, 2005Xilinx, Inc.Configurable communication integrated circuit
US6958624May 12, 2003Oct 25, 2005Altera CorporationData latch with low-power bypass mode
US6961919Mar 4, 2002Nov 1, 2005Xilinx, Inc.Method of designing integrated circuit having both configurable and fixed logic circuitry
US6968452Feb 24, 2003Nov 22, 2005Pact Xpp Technologies AgMethod of self-synchronization of configurable elements of a programmable unit
US6973405May 22, 2002Dec 6, 2005Xilinx, Inc.Programmable interactive verification agent
US6975139Mar 30, 2004Dec 13, 2005Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US6976160Feb 22, 2002Dec 13, 2005Xilinx, Inc.Method and system for controlling default values of flip-flops in PGA/ASIC-based designs
US6978427May 18, 2004Dec 20, 2005Xilinx, Inc.Literal sharing method for fast sum-of-products logic
US6983405Nov 16, 2001Jan 3, 2006Xilinx, Inc.,Method and apparatus for testing circuitry embedded within a field programmable gate array
US6989688Apr 21, 2004Jan 24, 2006Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US6989689May 24, 2004Jan 24, 2006Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US6990555Jan 24, 2004Jan 24, 2006Pact Xpp Technologies AgMethod of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US6996713Mar 29, 2002Feb 7, 2006Xilinx, Inc.Method and apparatus for protecting proprietary decryption keys for programmable logic devices
US6996758Nov 16, 2001Feb 7, 2006Xilinx, Inc.Apparatus for testing an interconnecting logic fabric
US6996796May 18, 2004Feb 7, 2006Xilinx, Inc.Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
US7000210Nov 5, 2002Feb 14, 2006Lattice Semiconductor CorporationAdaptive adjustment of constraints during PLD placement processing
US7003660Jun 13, 2001Feb 21, 2006Pact Xpp Technologies AgPipeline configuration unit protocols and communication
US7007121Feb 27, 2002Feb 28, 2006Xilinx, Inc.Method and apparatus for synchronized buses
US7009422Dec 5, 2001Mar 7, 2006Btr, Inc.Floor plan for scalable multiple level tab oriented interconnect architecture
US7010667 *Apr 5, 2002Mar 7, 2006Pact Xpp Technologies AgInternal bus system for DFPS and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity
US7017136Oct 23, 2003Mar 21, 2006Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US7035787Oct 30, 2001Apr 25, 2006Mentor Graphics CorporationEmulation components and system including distributed routing and configuration of emulation resources
US7036036Mar 4, 2003Apr 25, 2006Pact Xpp Technologies AgMethod of self-synchronization of configurable elements of a programmable module
US7058920Jun 11, 2003Jun 6, 2006Altera CorporationMethods for designing PLD architectures for flexible placement of IP function blocks
US7065684Apr 18, 2002Jun 20, 2006Xilinx, Inc.Circuits and methods for measuring signal propagation delays on integrated circuits
US7071732Dec 9, 2003Jul 4, 2006Xilinx, Inc.Scalable complex programmable logic device with segmented interconnect resources
US7076595May 18, 2001Jul 11, 2006Xilinx, Inc.Programmable logic device including programmable interface core and central processing unit
US7078933Sep 21, 2005Jul 18, 2006Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US7080300Feb 12, 2004Jul 18, 2006Xilinx, Inc.Testing a programmable logic device with embedded fixed logic using a scan chain
US7082592Jun 16, 2003Jul 25, 2006Altera CorporationMethod for programming programmable logic device having specialized functional blocks
US7085858Dec 16, 2004Aug 1, 2006Xilinx, Inc.Configuration in a configurable system on a chip
US7085973Jul 9, 2002Aug 1, 2006Xilinx, Inc.Testing address lines of a memory controller
US7088767Mar 1, 2002Aug 8, 2006Xilinx, Inc.Method and apparatus for operating a transceiver in different data rates
US7092865Sep 10, 2002Aug 15, 2006Xilinx, Inc.Method and apparatus for timing modeling
US7099426Sep 3, 2002Aug 29, 2006Xilinx, Inc.Flexible channel bonding and clock correction operations on a multi-block data path
US7107374Sep 5, 2001Sep 12, 2006Xilinx, Inc.Method for bus mastering for devices resident in configurable system logic
US7111110Dec 10, 2002Sep 19, 2006Altera CorporationVersatile RAM for programmable logic device
US7111217Feb 28, 2002Sep 19, 2006Xilinx, Inc.Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC)
US7111220Mar 1, 2002Sep 19, 2006Xilinx, Inc.Network physical layer with embedded multi-standard CRC generator
US7112992Dec 8, 2004Sep 26, 2006Altera CorporationConfiguration shift register
US7119574Aug 8, 2003Oct 10, 2006Altera CorporationPassage structures for use in low-voltage applications
US7119576Jun 18, 2004Oct 10, 2006Altera CorporationDevices and methods with programmable logic and digital signal processing regions
US7123052Mar 22, 2005Oct 17, 2006Altera CorporationInterconnection resources for programmable logic integrated circuit devices
US7126375Jan 4, 2006Oct 24, 2006Btr, Inc.Floor plan for scalable multiple level tab oriented interconnect architecture
US7130788Oct 30, 2001Oct 31, 2006Mentor Graphics CorporationEmulation components and system including distributed event monitoring, and testing of an IC design under emulation
US7134025May 14, 2002Nov 7, 2006Xilinx, Inc.Methods and circuits for preventing the overwriting of memory frames in programmable logic devices
US7139848Dec 8, 2000Nov 21, 2006Xilinx, Inc.DMA protocol extension for packet-based transfer
US7142012May 10, 2006Nov 28, 2006Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US7148722Oct 10, 2003Dec 12, 2006Altera CorporationPCI-compatible programmable logic devices
US7162644Mar 29, 2002Jan 9, 2007Xilinx, Inc.Methods and circuits for protecting proprietary configuration data for programmable logic devices
US7174443Jan 31, 2000Feb 6, 2007Pact Xpp Technologies AgRun-time reconfiguration method for programmable units
US7187709Mar 1, 2002Mar 6, 2007Xilinx, Inc.High speed configurable transceiver architecture
US7194600Feb 17, 2005Mar 20, 2007Xilinx, Inc.Method and apparatus for processing data with a programmable gate array using fixed and programmable processors
US7200235May 17, 2002Apr 3, 2007Xilinx, Inc.Error-checking and correcting decryption-key memory for programmable logic devices
US7203714 *Mar 9, 2000Apr 10, 2007Fujitsu LimitedLogic circuit
US7210129Sep 28, 2001Apr 24, 2007Pact Xpp Technologies AgMethod for translating programs for reconfigurable architectures
US7219237May 17, 2002May 15, 2007Xilinx, Inc.Read- and write-access control circuits for decryption-key memories on programmable logic devices
US7222325Jul 3, 2003May 22, 2007Laberge Paul AMethod for modifying an integrated circuit
US7237087May 28, 2002Jun 26, 2007Pact Xpp Technologies AgReconfigurable multidimensional array processor allowing runtime reconfiguration of selected individual array cells
US7243175Mar 2, 2004Jul 10, 2007Pact Xpp Technologies AgI/O and memory bus system for DFPs and units with two-or multi-dimensional programmable cell architectures
US7254794Jun 3, 2005Aug 7, 2007Xilinx, Inc.Timing performance analysis
US7256614Sep 1, 2005Aug 14, 2007Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US7266632Jun 14, 2006Sep 4, 2007Xilinx, Inc.Programmable logic device including programmable interface core and central processing unit
US7266725Sep 28, 2001Sep 4, 2007Pact Xpp Technologies AgMethod for debugging reconfigurable architectures
US7275196Nov 23, 2005Sep 25, 2007M2000 S.A.Runtime reconfiguration of reconfigurable circuits
US7292065Aug 3, 2004Nov 6, 2007Altera CorporationEnhanced passgate structures for reducing leakage current
US7305633Dec 17, 2003Dec 4, 2007Mentor Graphics CorporationDistributed configuration of integrated circuits in an emulation system
US7317332Nov 7, 2005Jan 8, 2008Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US7330912Dec 16, 2004Feb 12, 2008Xilinx, Inc.Configuration in a configurable system on a chip
US7337249Jun 20, 2007Feb 26, 2008Pact Xpp Technologies AgI/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US7346644Aug 17, 2006Mar 18, 2008Altera CorporationDevices and methods with programmable logic and digital signal processing regions
US7356620Jun 10, 2003Apr 8, 2008Altera CorporationApparatus and methods for communicating with programmable logic devices
US7366306May 17, 2002Apr 29, 2008Xilinx, Inc.Programmable logic device that supports secure and non-secure modes of decryption-key access
US7373668May 17, 2002May 13, 2008Xilinx, Inc.Methods and circuits for protecting proprietary configuration data for programmable logic devices
US7379855Sep 30, 2002May 27, 2008Xilinx, Inc.Method and apparatus for timing modeling
US7386654 *Oct 15, 2004Jun 10, 2008Intel CorporationNon-volatile configuration data storage for a configurable memory
US7389429May 17, 2002Jun 17, 2008Xilinx, Inc.Self-erasing memory for protecting decryption keys and proprietary configuration data
US7394284Sep 8, 2003Jul 1, 2008Pact Xpp Technologies AgReconfigurable sequencer structure
US7406557Jun 14, 2006Jul 29, 2008Xilinx, Inc.Programmable logic device including programmable interface core and central processing unit
US7409664Dec 9, 2005Aug 5, 2008Actel CorporationArchitecture and interconnect scheme for programmable logic circuits
US7417457Jun 26, 2007Aug 26, 2008Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US7420392Jul 23, 2004Sep 2, 2008Xilinx, Inc.Programmable gate array and embedded circuitry initialization and processing
US7421014Sep 11, 2003Sep 2, 2008Xilinx, Inc.Channel bonding of a plurality of multi-gigabit transceivers
US7423453Jan 20, 2006Sep 9, 2008Advantage Logic, Inc.Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric
US7434191Sep 18, 2002Oct 7, 2008Pact Xpp Technologies AgRouter
US7444531Mar 5, 2002Oct 28, 2008Pact Xpp Technologies AgMethods and devices for treating and processing data
US7460529Jul 29, 2004Dec 2, 2008Advantage Logic, Inc.Interconnection fabric using switching networks in hierarchy
US7478261Sep 13, 2005Jan 13, 2009M2000Reconfigurable circuit with redundant reconfigurable cluster(s)
US7480763Aug 28, 2006Jan 20, 2009Altera CorporationVersatile RAM for a programmable logic device
US7480825Sep 3, 2002Jan 20, 2009Pact Xpp Technologies AgMethod for debugging reconfigurable architectures
US7486109Mar 31, 2004Feb 3, 2009Kitakyushu Foundation For The Advancement Of Industry, Science And TechnologyProgrammable logic device
US7492188Jul 30, 2007Feb 17, 2009Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US7526689Jun 29, 2006Apr 28, 2009Xilinx, Inc.Testing address lines of a memory controller
US7529998Aug 17, 2007May 5, 2009M2000 Sa.Runtime reconfiguration of reconfigurable circuits
US7539848Sep 30, 2005May 26, 2009Xilinx, Inc.Configurable logic fabric including two fixed logic processors with individual interface to receive availability signal from custom operation code configured processor
US7552415May 18, 2004Jun 23, 2009Xilinx, Inc.Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
US7557608Aug 1, 2006Jul 7, 2009Altera CorporationPassgate structures for use in low-voltage applications
US7557613Jul 16, 2008Jul 7, 2009Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US7565525Mar 1, 2004Jul 21, 2009Pact Xpp Technologies AgRuntime configurable arithmetic and logic cell
US7574533Feb 27, 2008Aug 11, 2009Altera CorporationApparatus and methods for communicating with programmable logic devices
US7577822Sep 9, 2002Aug 18, 2009Pact Xpp Technologies AgParallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
US7581076Mar 5, 2002Aug 25, 2009Pact Xpp Technologies AgMethods and devices for treating and/or processing data
US7584447Aug 12, 2005Sep 1, 2009Altera CorporationPLD architecture for flexible placement of IP function blocks
US7595659Oct 8, 2001Sep 29, 2009Pact Xpp Technologies AgLogic cell array and bus system
US7602214Apr 7, 2008Oct 13, 2009Pact Xpp Technologies AgReconfigurable sequencer structure
US7629812Aug 3, 2007Dec 8, 2009Dsm Solutions, Inc.Switching circuits and methods for programmable logic devices
US7646218Jun 24, 2008Jan 12, 2010Actel CorporationArchitecture and interconnect scheme for programmable logic circuits
US7650438Feb 27, 2008Jan 19, 2010Altera CorporationApparatus and methods for communicating with programmable logic devices
US7650448Jan 10, 2008Jan 19, 2010Pact Xpp Technologies AgI/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US7657861Jul 23, 2003Feb 2, 2010Pact Xpp Technologies AgMethod and device for processing data
US7657877Jun 20, 2002Feb 2, 2010Pact Xpp Technologies AgMethod for processing data
US7698358Dec 24, 2003Apr 13, 2010Altera CorporationProgrammable logic device with specialized functional block
US7710148Jun 2, 2008May 4, 2010Suvolta, Inc.Programmable switch circuit and method, method of manufacture, and devices and systems including the same
US7768302May 26, 2009Aug 3, 2010Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US7768314Mar 28, 2005Aug 3, 2010National University Corporation Okayama UniversityIntegrated circuit with multidimensional switch topology
US7782087Aug 14, 2009Aug 24, 2010Martin VorbachReconfigurable sequencer structure
US7786749May 19, 2009Aug 31, 2010Sillcon Storage Technology, Inc.Programmable integrated circuit having built in test circuit
US7800405Jun 15, 2009Sep 21, 2010Altera CorporationPassgate structures for use in low-voltage applications
US7814137Jan 9, 2007Oct 12, 2010Altera CorporationCombined interpolation and decimation filter for programmable logic device
US7816947Mar 31, 2008Oct 19, 2010Man WangMethod and apparatus for providing a non-volatile programmable transistor
US7822799Jun 26, 2006Oct 26, 2010Altera CorporationAdder-rounder circuitry for specialized processing block in programmable logic device
US7822881Oct 7, 2005Oct 26, 2010Martin VorbachProcess for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
US7822968Feb 10, 2009Oct 26, 2010Martin VorbachCircuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs
US7836117Jul 18, 2006Nov 16, 2010Altera CorporationSpecialized processing block for programmable logic device
US7839167Jan 20, 2009Nov 23, 2010Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US7840842Aug 3, 2007Nov 23, 2010Martin VorbachMethod for debugging reconfigurable architectures
US7844796Aug 30, 2004Nov 30, 2010Martin VorbachData processing device and method
US7863932Jun 4, 2010Jan 4, 2011Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US7865541Jan 22, 2007Jan 4, 2011Altera CorporationConfiguring floating point operations in a programmable logic device
US7899962Dec 3, 2009Mar 1, 2011Martin VorbachI/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US7928763Jul 14, 2010Apr 19, 2011Martin VorbachMulti-core processing system
US7930336Dec 5, 2006Apr 19, 2011Altera CorporationLarge multiplier for programmable logic device
US7948267Feb 9, 2010May 24, 2011Altera CorporationEfficient rounding circuits and methods in configurable integrated circuit devices
US7949699Aug 30, 2007May 24, 2011Altera CorporationImplementation of decimation filter in integrated circuit device using ram-based data storage
US7986163Nov 29, 2010Jul 26, 2011Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US7996827Aug 16, 2002Aug 9, 2011Martin VorbachMethod for the translation of programs for reconfigurable architectures
US7999570Jun 24, 2009Aug 16, 2011Advantage Logic, Inc.Enhanced permutable switching network with multicasting signals for interconnection fabric
US8010826Nov 11, 2009Aug 30, 2011Meta SystemsReconfigurable circuit with redundant reconfigurable cluster(s)
US8041759Jun 5, 2006Oct 18, 2011Altera CorporationSpecialized processing block for programmable logic device
US8058899Feb 13, 2009Nov 15, 2011Martin VorbachLogic cell array and bus system
US8069373Jan 15, 2009Nov 29, 2011Martin VorbachMethod for debugging reconfigurable architectures
US8099618Oct 23, 2008Jan 17, 2012Martin VorbachMethods and devices for treating and processing data
US8127061Feb 18, 2003Feb 28, 2012Martin VorbachBus systems and reconfiguration methods
US8145881Oct 24, 2008Mar 27, 2012Martin VorbachData processing device and method
US8156284Jul 24, 2003Apr 10, 2012Martin VorbachData processing method and device
US8156312Jun 19, 2007Apr 10, 2012Martin VorbachProcessor chip for reconfigurable data processing, for processing numeric and logic operations and including function and interconnection control units
US8190787Dec 3, 2009May 29, 2012Altera CorporationApparatus and methods for communicating with programmable devices
US8195856Jul 21, 2010Jun 5, 2012Martin VorbachI/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US8201129May 13, 2009Jun 12, 2012Altera CorporationPLD architecture for flexible placement of IP function blocks
US8209653Oct 7, 2008Jun 26, 2012Martin VorbachRouter
US8230411Jun 13, 2000Jul 24, 2012Martin VorbachMethod for interleaving a program over a plurality of cells
US8242807Jun 21, 2011Aug 14, 2012Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US8244789Mar 14, 2008Aug 14, 2012Altera CorporationNormalization of floating point operations in a programmable integrated circuit device
US8250503Jan 17, 2007Aug 21, 2012Martin VorbachHardware definition method including determining whether to implement a function as hardware or software
US8255448Oct 2, 2008Aug 28, 2012Altera CorporationImplementing division in a programmable integrated circuit device
US8266198Jun 5, 2006Sep 11, 2012Altera CorporationSpecialized processing block for programmable logic device
US8266199Jun 5, 2006Sep 11, 2012Altera CorporationSpecialized processing block for programmable logic device
US8281108Jan 20, 2003Oct 2, 2012Martin VorbachReconfigurable general purpose processor having time restricted configurations
US8281265Nov 19, 2009Oct 2, 2012Martin VorbachMethod and device for processing data
US8289047Nov 10, 2010Oct 16, 2012Actel CorporationArchitecture and interconnect scheme for programmable logic circuits
US8301681Jun 5, 2006Oct 30, 2012Altera CorporationSpecialized processing block for programmable logic device
US8301872May 4, 2005Oct 30, 2012Martin VorbachPipeline configuration protocol and configuration unit communication
US8307023Oct 10, 2008Nov 6, 2012Altera CorporationDSP block for implementing large multiplier on a programmable integrated circuit device
US8312200Jul 21, 2010Nov 13, 2012Martin VorbachProcessor chip including a plurality of cache elements connected to a plurality of processor cores
US8312301Sep 30, 2009Nov 13, 2012Martin VorbachMethods and devices for treating and processing data
US8364738Mar 2, 2010Jan 29, 2013Altera CorporationProgrammable logic device with specialized functional block
US8386550Sep 20, 2006Feb 26, 2013Altera CorporationMethod for configuring a finite impulse response filter in a programmable logic device
US8386553Mar 6, 2007Feb 26, 2013Altera CorporationLarge multiplier for programmable logic device
US8395415Jul 8, 2011Mar 12, 2013Advantage Logic, Inc.Enhanced permutable switching network with multicasting signals for interconnection fabric
US8396914Sep 11, 2009Mar 12, 2013Altera CorporationMatrix decomposition in an integrated circuit device
US8407525Oct 24, 2011Mar 26, 2013Pact Xpp Technologies AgMethod for debugging reconfigurable architectures
US8407649May 10, 2012Mar 26, 2013Altera CorporationPLD architecture for flexible placement of IP function blocks
US8412756Sep 11, 2009Apr 2, 2013Altera CorporationMulti-operand floating point operations in a programmable integrated circuit device
US8429385Sep 19, 2002Apr 23, 2013Martin VorbachDevice including a field having function cells and information providing cells controlled by the function cells
US8458243Mar 3, 2010Jun 4, 2013Altera CorporationDigital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8468192Mar 3, 2009Jun 18, 2013Altera CorporationImplementing multipliers in a programmable integrated circuit device
US8468329Jun 8, 2012Jun 18, 2013Martin VorbachPipeline configuration protocol and configuration unit communication
US8471593Nov 4, 2011Jun 25, 2013Martin VorbachLogic cell array and bus system
US8484265Mar 4, 2010Jul 9, 2013Altera CorporationAngular range reduction in an integrated circuit device
US8510354Mar 12, 2010Aug 13, 2013Altera CorporationCalculation of trigonometric functions in an integrated circuit device
US8539014Mar 25, 2010Sep 17, 2013Altera CorporationSolving linear matrices in an integrated circuit device
US8539016Feb 9, 2010Sep 17, 2013Altera CorporationQR decomposition in an integrated circuit device
US8543634Mar 30, 2012Sep 24, 2013Altera CorporationSpecialized processing block for programmable integrated circuit device
US8549055Mar 3, 2010Oct 1, 2013Altera CorporationModular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8554959May 1, 2012Oct 8, 2013Altera CorporationApparatus and methods for communicating with programmable devices
US8577951Aug 19, 2010Nov 5, 2013Altera CorporationMatrix operations in an integrated circuit device
US8589463Jun 25, 2010Nov 19, 2013Altera CorporationCalculation of trigonometric functions in an integrated circuit device
US8589465May 8, 2013Nov 19, 2013Altera CorporationDigital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8601044Mar 2, 2010Dec 3, 2013Altera CorporationDiscrete Fourier Transform in an integrated circuit device
US8620977Aug 7, 2013Dec 31, 2013Altera CorporationModular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8620980Jan 26, 2010Dec 31, 2013Altera CorporationProgrammable device with specialized multiplier blocks
US8626815Mar 3, 2009Jan 7, 2014Altera CorporationConfiguring a programmable integrated circuit device to perform matrix multiplication
US8645449Mar 3, 2009Feb 4, 2014Altera CorporationCombined floating point adder and subtractor
US8645450Mar 2, 2007Feb 4, 2014Altera CorporationMultiplier-accumulator circuitry and methods
US8645451Mar 10, 2011Feb 4, 2014Altera CorporationDouble-clocked specialized processing block in an integrated circuit device
US8650236Aug 4, 2009Feb 11, 2014Altera CorporationHigh-rate interpolation or decimation filter in integrated circuit device
US8686475Feb 9, 2011Apr 1, 2014Pact Xpp Technologies AgReconfigurable elements
US8686549Sep 30, 2009Apr 1, 2014Martin VorbachReconfigurable elements
US8698519Jul 17, 2012Apr 15, 2014Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US8706790Mar 3, 2009Apr 22, 2014Altera CorporationImplementing mixed-precision floating-point operations in a programmable integrated circuit device
US8719458Sep 12, 2013May 6, 2014Altera CorporationApparatus and methods for communicating with programmable devices
US8726250Mar 10, 2010May 13, 2014Pact Xpp Technologies AgConfigurable logic integrated circuit having a multidimensional structure of configurable elements
US8732225Oct 11, 2013May 20, 2014Altera CorporationDigital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8732646Mar 20, 2013May 20, 2014Altera CorporationPLD architecture for flexible placement of IP function blocks
US8751551Nov 21, 2013Jun 10, 2014Altera CorporationModular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8762443Nov 15, 2011Jun 24, 2014Altera CorporationMatrix operations in an integrated circuit device
USRE37195Jan 6, 2000May 29, 2001Xilinx, Inc.Programmable switch for FPGA input/output signals
USRE38651 *Jun 12, 1998Nov 9, 2004Altera CorporationVariable depth and width memory device
USRE40423May 15, 2001Jul 8, 2008Xilinx, Inc.Multiport RAM with programmable data port configuration
USRE44365Oct 21, 2010Jul 9, 2013Martin VorbachMethod of self-synchronization of configurable elements of a programmable module
USRE44383Apr 24, 2008Jul 16, 2013Martin VorbachMethod of self-synchronization of configurable elements of a programmable module
EP0756383A2Jul 17, 1996Jan 29, 1997AT&T IPM Corp.Field programmable gate array with multi-port RAM
EP1643507A2Jul 27, 1998Apr 5, 2006Altera CorporationStatic random access memory circuits
EP2104108A1Aug 8, 2007Sep 23, 2009Nantero, Inc.Nonvolatile resistive memories, latch circuits, and operation circuits having scalable two-terminal nanotube switches
EP2104109A1Aug 8, 2007Sep 23, 2009Nantero, Inc.Nonvolatile resistive memories, latch circuits, and operation circuits having scalable two-terminal nanotube switches
WO1994011949A1 *Nov 8, 1993May 26, 1994Infinite Technology CorpProgrammable logic networks
WO1995030952A1 *May 2, 1995Nov 16, 1995Atmel CorpProgrammable logic device with regional and universal signal routing
WO1996042140A1 *Jun 7, 1996Dec 27, 1996Advanced Micro Devices IncField programmable gate array (fpga) with interconnect encoding
WO1997003444A1 *Jul 10, 1996Jan 30, 1997Xilinx IncSystem comprising field programmable gate array and intelligent memory
WO1997037431A1 *Mar 29, 1996Oct 9, 1997Dyna Logic CorpHigh speed programmable logic architecture
Classifications
U.S. Classification326/38, 326/41, 340/14.31
International ClassificationH03K19/177, H03K19/173
Cooperative ClassificationH03K19/17736, H03K19/17752, H03K19/1736, H03K19/17728, H03K19/17704, H03K19/17748
European ClassificationH03K19/177H1, H03K19/177F, H03K19/177D2, H03K19/177H, H03K19/177B, H03K19/173C1A