Claims
- 1. In a programmable logic device having a programmable interconnect array, a universal logic module having five input variables and an output, comprising:a first multiplexer having a first and a second data input coupled to a first one of the five input variables, a third and fourth data input coupled to an inverse of said first one of the five input variables, a first select input coupled to a second one of the five input variables, a second select input coupled to a third one of the five input variables, and an output; a second multiplexer having a first and a second data input coupled to said first one of the five input variables, a third data input coupled to a fourth one of the five input variables, a fourth data input coupled to an inverse of said fourth one of the five input variables, a first select input coupled to said second one of the five input variables, a second select input coupled to said third one of the five input variables, and an output; and a third multiplexer having a first data input coupled to said output of said first multiplexer, a second data input coupled to said output of said second multiplexer, a select input coupled to a fifth one of the five input variables, and an output coupled to the output of the universal logic module.
- 2. The universal logic module of claim 1 further comprising a second output coupled to said output of said second multiplexer, said second output for carrying a carry output signal when the universal logic module implements an adder function.
- 3. The universal logic module of claim 1, wherein said first and second multiplexers are 4:1 multiplexers each comprising eight pass gates arranged in four rows of two serially-coupled pass gates.
- 4. The universal logic module of claim 1, wherein said third multiplexer is a 2:1 multiplexer comprising two pass gates.
- 5. The universal logic module of claim 2 further comprising a fourth multiplexer coupled between said third input variable and its corresponding data input, for selectively coupling one of said third input variable and a carry input signal from another universal logic module to said corresponding data input.
- 6. The universal logic module of claim 2 further comprising a fourth multiplexer coupled between said fourth input variable and its corresponding data input, for selectively coupling one of said fourth input variable and a carry input signal from another universal logic module to said corresponding data input.
- 7. The universal logic module of claim 5, wherein said fourth multiplexer is a 2:1 multiplexer comprising two pass gates.
- 8. The universal logic module of claim 5, wherein said carry output signal couples to a carry input of a succeeding module directly.
- 9. The universal logic module of claim 5, wherein said carry output signal couples to the programmable interconnect array before coupling to a carry input of another universal logic module.
- 10. In a programmable logic device having a programmable interconnect array, a universal logic module having five input variables, a first output and a second output, comprising:a first 4:1 multiplexer having binary 0 and binary 3 data inputs coupled to a first one of the five input variables, binary 1 and binary 2 data inputs coupled to an inverse of said first one of the five input variables, a first select input coupled to a second one of the five input variables, a second select input coupled to a third one of the five input variables, and an output; a second 4:1 multiplexer having binary 1 and binary 2 data inputs coupled to said first one of the five input variable, binary 0 and binary 3 data inputs coupled to a true and complement of a fourth one of the five input variables, respectively, a first select input coupled to said second one of the five input variables, a second select input coupled to said third one of the five input variables, and an output; and a 2:1 multiplexer having a first data input coupled to said output of said first multiplexer, a second data input coupled to said output of said second multiplexer, a select input coupled to a fifth one of the five input variables, and an output coupled to the first output of the universal logic module, wherein said output of said second multiplexer provides a carry output at the second output of the universal logic module when the universal logic module implements an adder function.
- 11. In a programmable circuit having a programmable interconnect array, a first logic cell comprising:a dedicated carrier multiplexer coupled to receive an input variable and a carry input signal from a second logic cell; and a logic function circuit that is capable of performing Boolean functions of its input signals to generate a carry output signal, wherein the dedicated carrier multiplexer selectively couples the input variable and the carry input signal to an input of the logic function circuit.
- 12. The logic cell of claim 11, wherein said dedicated multiplexer is a 2:1 multiplexer comprising two pass gates.
- 13. The first logic cell of claim 11, wherein the logic function circuit couples the carry output signal to a carry input of a third logic cell directly.
- 14. The first logic cell of claim 11, wherein the logic function circuit couples the carry output signal to the programmable interconnect array before coupling the carry output signal to a carry input of a third logic cell.
- 15. A first logic cell in a programmable logic device, comprising:a function generator circuit capable of implementing a Boolean function of at least four input signals to generate an output signal that is provided to a programmable interconnect structure and a carry output signal that is provided to a second logic cell; a carry input line to receive a carry signal from a third logic cell in the programmable logic device; and a dedicated carry multiplexer coupled to the carry input line, wherein the dedicated carrier multiplexer can provide a signal on the carry input line to an input of the function generator circuit.
- 16. A dedicated carry multiplexer in a programmable circuit comprising:a first input coupled to receive a signal on a programmable interconnect; a second input coupled to receive a carry output of a first logic cell; and an output connectable to a logic function circuit capable of generating Boolean functions of its input signals to provide a carry output signal to a second logic cell and an output signal to the programmable interconnect.
- 17. The dedicated carry multiplexer of claim 16 wherein the logic function circuit generates any Boolean function of at least four input signals that provide three variables, and the logic function circuit is capable of performing ten different forms of three-variable functions on the four input signals.
- 18. A configurable electronic device comprising:a plurality of logic cells, at least one logic cell comprising an output and a plurality of inputs, wherein the at least one logic cell programmably performing logical operations; and an interconnect structure programmably connecting the outputs of one of the logic cells to inputs of another of the logic cells wherein the at least one logic cell further comprises: a carry input line; a selector with a first selectable input coupled to receive a direct carry output of a first adjacent logic cell and a second selectable input coupled to the interconnect structure; and a function generator capable of generating a plurality of Boolean functions of at least three inputs, wherein an output of the selector is coupled to an input of the function generator.
- 19. The configurable electronic device according to claim 18 wherein the function generator provides a carry output signal to a second adjacent logic cell without routing through the interconnect structure.
- 20. The configurable electronic device as recited in claim 18 wherein the function generator provides a carry output signal to the interconnect structure.
- 21. A dedicated carry multiplexer in a programmable logic device comprising:a first input connectable to a signal from a programmable interconnect; a second input connected to a carry output of a first logic cell; and an output connected to a logic function circuit capable of performing a plurality of Boolean functions of four inputs signals.
- 22. The dedicated carry multiplexer of claim 21 wherein the logic function circuit provides a carry output signal that is routed directly to a second logic cell.
- 23. A first logic cell in a programmable logic device, comprising:a carry input line coupled to receive a carry signal from a second logic cell in the programmable logic device; a function generator circuit that has first, second, third, and fourth inputs that are each coupled to receive one of four input signals from a programmable interconnect structure; and a dedicated carry multiplexer coupled to the carry input line, wherein the dedicated carrier multiplexer receives the carry signal from the carry input line.
- 24. The first logic cell of claim 23 wherein:the function generator circuit generates a carry output signal that is provided to a third logic cell in the programmable logic device.
- 25. The first logic cell of claim 23 wherein:the function generator circuit generates an output signal that is provided to the programmable interconnect structure.
- 26. A first logic cell in a programmable logic device, comprising:a carry input line coupled to receive a carry signal from a second logic cell in the programmable logic device; a function generator circuit that receives three input signals from a programmable interconnect structure and that generates a carry output signal; and a dedicated carry multiplexer coupled to the carry input line, wherein the dedicated carrier multiplexer receives the carry signal from the carry input line.
- 27. The first logic cell of claim 26:the function generator circuit is capable of performing all Boolean functions of three variables using ten canonical forms of three-variable logic functions.
- 28. The first logic cell of claim 26:the function generator circuit receives the carry signal from the dedicated carry multiplexer.
- 29. A first logic cell in a programmable logic device, comprising:a carry input line coupled to receive a carry signal from a second logic cell in the programmable logic device; a function generator circuit that receives input signals from a programmable interconnect structure; and a dedicated carry multiplexer coupled to the carry input line, wherein the dedicated carrier multiplexer receives the carry signal from the carry input line, and the first logic cell generates a carry output signal that is provided to the programmable interconnect structure.
- 30. The first logic cell of claim 29 wherein:the function generator circuit generates the carry output signal.
- 31. The first logic cell of claim 29 wherein:the function generator circuit receives four input signals from the programmable interconnect structure.
- 32. A first logic cell in a programmable logic device, comprising:a carry input line coupled to receive a carry signal from a second logic cell in the programmable logic device, wherein the first logic cell is coupled to only receive a carry signal from one other logic cell; a function generator circuit that receives input signals from a programmable interconnect structure; and a dedicated carry multiplexer coupled to the carry input line, wherein the dedicated carrier multiplexer receives the carry signal from the carry input line.
- 33. The first logic cell of claim 32 wherein:the function generator is capable of performing any Boolean function of three variables.
- 34. The first logic cell of claim 32 wherein:the function generator generates a carry output signal that is provided to a third logic cell, and the function generator generates a second output signal that is provided to the programmable interconnect structure.
- 35. A first logic cell in a programmable logic device, comprising:a carry input line coupled to receive a carry signal from a second logic cell in the programmable logic device; a first function generator circuit that receives input signals from a programmable interconnect structure; a second function generator circuit that receives input signals from the programmable interconnect structure; a first multiplexer that receives an output signal from the first function generator circuit and an output signal from the second function generator circuit; and a dedicated carry multiplexer coupled to the carry input line, wherein the dedicated carrier multiplexer receives the carry signal from the carry input line.
- 36. The first logic cell of claim 35 wherein:the second function generator circuit generates a carry output signal that is provided to a third logic cell.
- 37. The first logic cell of claim 35 wherein:the first multiplexer generates an output signal that is provided to the programmable interconnect structure.
- 38. A first logic cell in a programmable logic device, comprising:a carry input line coupled to receive a carry signal from a second logic cell in the programmable logic device; a function generator circuit that receives input signals from a programmable interconnect structure; and a dedicated carry multiplexer coupled to the carry input line, wherein the dedicated carrier multiplexer receives the carry signal from the carry input line, and the first logic cell generates a carry output signal that is only provided to a third logic cell.
- 39. The first logic cell of claim 38 wherein:the functional generator circuit is coupled to receive the carry input signal from the dedicated carry multiplexer and to generate the carry output signal.
Parent Case Info
This application is a continuation of U.S. reissue application Ser. No. 08/900,070, filed Jul. 24, 1997, now abandoned, which is a reissue of U.S. patent application Ser. No. 08/153,321, filed Nov. 12, 1993, now U.S. Pat. No. 5,436,574, which are incorporated by reference.
US Referenced Citations (11)
Non-Patent Literature Citations (3)
Entry |
Universal Logic Modules by Harold S. Stone, Chapter IV of Recent Developments in Switching Theory pp. 229-254, by Academic Press (1971).* |
“FLEX 8000 Programmable Logic Device Family,” product Data Sheet May 1993, ver. 2, Altera Corporation Altera Corporation 101 Innovation Drive San Jose, CA 95134 (1993). |
“FLEX Programmable Logic,” Product Information Bulletin Sep. 1992, ver. 1, Altera Corporation Altera Corporation 101 Innovation Drive San Jose, CA 95134 (1992). |
Divisions (1)
|
Number |
Date |
Country |
Parent |
08/153321 |
Nov 1993 |
US |
Child |
09/792342 |
|
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
08/900070 |
Jul 1997 |
US |
Child |
08/153321 |
|
US |
Reissues (1)
|
Number |
Date |
Country |
Parent |
08/153321 |
Nov 1993 |
US |
Child |
09/792342 |
|
US |