20070236251 | LEVEL-SHIFTING APPARATUS AND PANEL DISPLAY APPARATUS USING THE SAME | October, 2007 | Chang |
20090140769 | System-in-package | June, 2009 | Suzuki et al. |
20080224729 | INTEGRATED CIRCUITS WITH REDUCED LEAKAGE CURRENT | September, 2008 | Afghahi et al. |
20100237904 | High Performance Output Drivers and Anti-Reflection Circuits | September, 2010 | Shau |
20060208764 | Graphics Controller Integrated Circuit without Memory Interface | September, 2006 | Puar et al. |
20150194433 | GATE SUBSTANTIAL CONTACT BASED ONE-TIME PROGRAMMABLE DEVICE | July, 2015 | Ponoth et al. |
20020063583 | Single event upset immune logic family | May, 2002 | Eaton |
20080309371 | FACE-TO-FACE BONDED I/O CIRCUIT DIE AND FUNCTIONAL LOGIC CIRCUIT DIE SYSTEM | December, 2008 | Speers |
20080018357 | AUTOMATIC TERMINATION CIRCUIT | January, 2008 | Peterson |
20130194002 | RE-CONFIGURABLE MIXED-MODE INTEGRATED CIRCUIT ARCHITECTURE | August, 2013 | Nazarian |
20150280712 | DATA OUTPUT CIRCUIT OF SEMICONDUCTOR APPARATUS | October, 2015 | Jung |
[0001] This application claims the benefit of provisional application No. 60/026,915, filed Sep. 24, 1996. This application is also a continuation of application Ser. No. 09/677,156, filed Oct. 2, 2000, which was a continuation of application Ser. No. 09/201,416, filed Nov. 30, 1998, now U.S. Pat. No. 6,157,208, which was a continuation of application Ser. No. 08/766,512, filed Dec. 13, 1996, now U.S. Pat. No. 5,861,760, which was a continuation-in-part of application Ser. No. 08/605,445, filed Feb. 26, 1996, now U.S. Pat. No. 5,598,108, which was a continuation of application Ser. No. 08/331,964, filed Oct. 31, 1994, now U.S. Pat. No. 5,557,217, which was a continuation of application Ser. No. 08/123,435, filed Sep. 17, 1993, now U.S. Pat. No. 5,384,499, which was a continuation-in-part of application Ser. No. 08/043,146, filed Mar. 31, 1993, now U.S. Pat. No. 5,268,598, which was a continuation of application Ser. No. 07/957,091, filed Oct. 6, 1992, now abandoned, which was a continuation of application Ser. No. 07/691,640, filed Apr. 25, 1991, now U.S. Pat. No. 5,241,224.
[0002] This invention relates to user programmable logic devices. More particularly, the invention relates to a macrocell in which product terms can be allocated between an OR gate and registered logic, and in which product terms can be summed together with product terms from an adjacent macrocell.
[0003] User programmable logic devices provide flexibility in digital logic design by allowing a designer to implement logic functions through a sum-of-products architecture typically composed of an array of AND gates connected to an array of OR gates. The outputs from the AND gates are referred to as product terms. The output of each OR gate provides the sum of the input product terms.
[0004] Typically, a macrocell receives a number of product terms as inputs. Some of the product terms are input to the OR gate. The output of the OR gate then is typically fed to a register which stores the result. Some devices feature additional combinatorial logic associated with the register (registered logic). This logic typically allows inputs to the register to be inverted or combined with the output of the register or with the product terms not used by the OR gate.
[0005] In a typical macrocell, the number of product terms that can be ORed together is limited to the number of product terms that are input to the macrocell. Another type of conventional macrocell has the ability to share its OR function with a second macrocell, but in such a macrocell use of the OR function by the second macrocell precludes use of the remaining logic in the macrocell. Also, in a conventional macrocell having the ability to steer product terms to either an OR gate or to registered logic, use of the OR function must be sacrificed when product terms are steered to the registered logic.
[0006] In view of the foregoing, it is an object of this invention to provide a macrocell which supports summing of an arbitrary number of product terms by daisy chaining the OR gates of an arbitrary number of macrocells. It is a further object of this invention to provide a macrocell in which use of its OR function by another macrocell does not prevent the use of the remaining logic elements of the macrocell. It is another object of this invention to provide a macrocell in which product terms may be steered to the register logic without sacrificing use of the OR function.
[0007] The following are hereby incorporated by reference herein in their entireties: U.S. patent application Ser. No. 09/677,156, filed Oct. 2, 2000 (of which this is a continuation), and Pedersen U.S. Pat. No. 5,598,108 (also incorporated by reference in application Ser. No. 09/677,156).
[0008] This invention provides a macrocell with product term allocation and adjacent product term stealing. Programmable configuration switches provide product term allocation by directing input product terms to an OR gate or to the secondary inputs to a register. Adjacent product term stealing is accomplished by providing the output of the OR gate of each macrocell as an input to the OR gate of an adjacent macrocell. By using the output of the OR gate of the first macrocell, the adjacent macrocell steals the product terms input to the OR gate of the first macrocell for use in its own OR gate. An arbitrarily wide OR function can be implemented by daisy chaining the OR gates of adjacent macrocells. By the process of adjacent product term stealing, product terms are allocated between macrocells. Because the programmable configuration switches can direct individual input product terms to the secondary inputs to the register instead of the OR gate, the register and register accompanying logic can be used even when an adjacent macrocell steals the OR gate. The register and register accompanying logic provide output control for the macrocell. In one preferred embodiment, an EXCLUSIVE-OR gate with a plurality of selectable inputs allows the register to be implemented as a D or a T flip-flop.
[0009] The above and other objects and advantages of the invention will be apparent on consideration of the following detailed description, taken in conjunction with the accompanying FIGURE, which is a schematic diagram of an illustrative embodiment of the invention.
[0010] A preferred embodiment of the invention, illustrated in the FIGURE, has five product terms
[0011] Using programmable switch
[0012] Each product term
[0013] OR gate
[0014] Inputs
[0015] Multiplexer
[0016] The process by which product terms are directed to alternate destinations depending on the states of static architecture bits is called product term steering. Because macrocells are commonly used to implement a sum-of-products architecture, it is often desirable to daisy chain OR gates to obtain the sum of a large number of product terms. Sometimes not all the product terms in a macrocell are utilized in the OR function. By steering unused product terms to the input to XOR gate
[0017] Generally, the logic associated with XOR gate
[0018] When a macrocell receives an input from the OR gate of an adjacent macrocell, it utilizes the product terms directed to that OR gate. Using product terms from an adjacent macrocell can be referred to as adjacent product term stealing. Allocating some of a macrocell's product terms to an OR gate and the remaining product terms to registered logic can be referred to as product term allocation.
[0019] When not daisy chained to an adjacent macrocell via output
[0020] Multiplexer
[0021] XOR gate
[0022] The output of XOR gate
[0023] Register
[0024] Product term
[0025] Multiplexer
[0026] It will be understood that the foregoing is merely illustrative of the principles of this invention, and that various modifications can be made by those skilled in the art without departing from the scope and spirit of the invention.