The present invention relates to a logic circuit design and, more particularly, to a logic circuit design for combinatorial and asynchronous logic circuits.
A large body of research has been performed to develop and improve traditional Complementary Metal Oxide Semiconductor (CMOS) techniques for the production of integrated circuits (ICs). The object of this research is to develop a faster, lower power, and reduced area alternative to standard CMOS logic circuits (see A. P. Chandrakasan, S. Sheng, R. W. Brodersen, “Low-Power CMOS Digital Design”, IEEE Journal of Solid-State Circuits, vol. 27, no. 4, pp. 473-484, April 1992, and in A. P. Chandrakasan, R. W. Brodersen, “Minimizing Power Consumption in Digital CMOS Circuits”, Proceedings of the IEEE, vol. 83, no. 4, pp. 498-523, April 1995.) This research has resulted in the development of many logic design techniques during the last two decades. One popular alternative to CMOS is pass-transistor logic (PTL).
Formal methods for deriving pass-transistor logic are known for Negative-channel Metal Oxide Semiconductor (NMOS) transistors. The logic circuits resulting from these known methods yield an NMOS PTL logic circuit having a set of control signals applied to the gates of NMOS transistors, and a set of data signals applied to the sources of the n-transistors. Many PTL circuit implementations have been proposed in the literature (see also W. Al-Assadi, A. P. Jayasumana and Y. K. Malaiya, “Pass-transistor logic design”, International Journal of Electronics, 1991, vol. 70, no. 4, pp. 739-749, K. Yano, Y. Sasaki, K. Rikino, K. Seki. “Top-Down Pass-Transistor Logic Design”, IEEE Journal of Solid-State Circuits, vol. 31, no. 6, pp. 792-803, June 1996, R. Zimmermann, W. Fichtner, “Low-Power Logic Styles: CMOS Versus Pass-Transistor Logic”, IEEE Journal of Solid-State Circuits, vol. 32, no. 7, pp. 1079-1090, June 1997, and K. Bernstein, L. M. Carrig, C. M. Durham and P. A. Hansen, “High Speed CMOS Design Styles”, Kluwer Academic Press, 1998, and K. Bernstein, L. M. Carrig, C. M. Durham and P. A. Hansen, “High Speed CMOS Design Styles”, Kluwer Academic Press, 1998).
Some of the main advantages of PTL over standard CMOS design are: high speed due to the small node capacitances; low power dissipation as a result of the reduced number of transistors; and lower interconnection effects due to a small area.
Most PTL implementations, however, have two basic problems. First, the threshold drop across the single-channel pass transistors results in reduced current drive and hence slower operation at reduced supply voltages. This drop is particularly important for low power design since it is desirable to operate at the lowest possible voltage level. Second, since the input voltage for a high logic level at the regenerative inverters is not VDD, the PMOS device in the inverter is not fully turned off, and hence direct-path static power dissipation can be significant.
There are many PTL techniques that attempt to solve the problems mentioned above. Some of them are: Transmission Gate CMOS (TG), Complementary Pass-transistor Logic (CPL), and Double Pass-transistor Logic (DPL). TG uses transmission gate logic to realize complex logic functions using a small number of complementary transistors. TG solves the problem of low logic level swing by using PMOS as well as NMOS transistors. CPL features complementary inputs/outputs using NMOS pass-transistor logic with CMOS output inverters. CPL's most important feature is the small stack height and the internal node low swing, which contribute to lowering the power consumption. The CPL technique suffers from static power consumption due to the low swing at the gates of the output inverters. To lower the power consumption of CPL circuits, latched complementary pass-transistor logic (LCPL) and swing restored pass-transistor logic (SRPL) circuit styles are used. These styles contain PMOS restoration transistors or cross-coupled inverters respectively. DPL uses complementary transistors to keep full swing operation and reduce the DC power consumption, eliminating the need for restoration circuitry. One disadvantage of DPL is the large area required by the presence of PMOS transistors.
An additional problem of existing PTL is the top-down logic design complexity, which prevents the pass-transistors from capturing a major role in real logic large-scale integration technology (LSI). One of the main reasons for this is that no simple and universal cell library is available for PTL based design. Not all variations of input values to a basic PTL cell produce well-defined logic values. This creates difficulties in the development of automatic design systems for PTL logic, and in the verification of PTL logic circuit performance.
Asynchronous logic design has been established as a competitive alternative to synchronous circuits thanks to the potential for high-speed, low-power, reduced electromagnetic interference, and timing modularity (see J. Sparso and S. Furber (eds.), Principles of asynchronous circuit design—A systems perspective, Kluwer Academic Publishers, 2001). Asynchronous logic has been developed in the last decade to deal with the challenges posed by the progress of very large-scale integration (VLSI) technologies, together with the increasing number of gates on chip, high density, and GHz operation frequencies. These problems are expected to appear in future high-performance technologies operating at the 10 GHz barrier, due to the increased influence of interconnect on signal delay, uncertainty in the delay of a given gate, and on-chip parameter variations. These factors create difficulties in the design of fast digital systems controlled by a single general clock, due to considerations of delay skew between distant logic blocks, as well as the complexity of design of structures controlled by multiple clocks.
Asynchronous design provides digital systems based on self-timed circuits, which demand no control of a general clock, along with fast communication protocols in which speed depends only on the self delay of the logic gates. The absence of a general clock contributes to low power operation, by eliminating the concentrated power consumption of certain chip areas where numerous transactions occur with arrival of each clock signal.
However, these desirable characteristics usually come at a cost of either silicon area, or speed, or power, and cannot be achieved all at once. Furthermore, asynchronous circuits are typically more complicated than their synchronous counterparts. Although many researchers have sought efficient asynchronous circuit implementations, the disadvantages of current asynchronous logic techniques have not yet been overcome.
There is thus a widely recognized need for, and it would be highly advantageous to have, a digital logic circuit devoid of the above limitations.
According to a first aspect of the present invention there is provided a complementary logic circuit containing a first logic input, a second logic input, a first dedicated logic terminal, a second dedicated logic terminal, a first logic block, and a second logic block. The first logic block consists of a network of p-type transistors for implementing a predetermined logic function. The p-type transistor network has an outer diffusion connection, a first network gate connection, and an inner diffusion connection. The outer diffusion connection of the p-type transistor network is connected to the first dedicated logic terminal, and the first network gate connection of the p-type transistor network is connected to the first logic input. The second logic block consists of a network of n-type transistors which implements a logic function complementary to the logic function implemented by the first logic block. The n-type transistor network has an outer diffusion connection, a first network gate connection, and an inner diffusion connection. The outer diffusion connection of the n-type transistor network is connected to the second dedicated logic terminal, and the first network gate connection of the n-type transistor network is connected to the second logic input. The inner diffusion connections of the p-type network and of the n-type network are connected together to form a common diffusion logic terminal.
Preferably, the first and second logic inputs are connected to form a first common logic input.
Preferably, each of the logic terminals is separately configurable to serve as a logic input.
Preferably, each of the logic terminals is separately configurable to serve as a logic output.
Preferably, the logic circuit further contains a third logic input connected to a second network gate connection of the p-type transistor network.
Preferably, the logic circuit further contains a fourth logic input connected to a second network gate connection of the n-type transistor network.
Preferably, the third and fourth logic inputs are connected to form a second common logic input.
Preferably, the p-type transistor network comprises a single p-type transistor.
Preferably, the n-type transistor network comprises a single n-type transistor.
Preferably, the network of p-type transistors comprises one of a group of networks comprising: a network of p-type field effect transistors (FET), a network of p-type p-well complementary metal-oxide semiconductor (CMOS) transistors, a network of p-type n-well complementary metal-oxide semiconductor (CMOS) transistors, a network of p-type twin-well complementary metal-oxide semiconductor (CMOS) transistors, a network of p-type silicon on insulator (SOI) transistors, and a network of p-type silicon on sapphire (SOS) transistors.
Preferably, the network of n-type transistors comprises one of a group of networks comprising: a network of n-type FETs, a network of n-type p-well CMOS transistors, a network of n-type n-well CMOS transistors, a network of n-type twin-well CMOS transistors, a network of n-type SOI transistors, and a network of n-type SOS transistors.
Preferably, the logic circuit comprises one of a group of the following logic circuits: an OR gate, an inverted OR (NOR) gate, an AND gate, a multiplexer gate, an inverter gate, and an exclusive OR (XOR) gate.
Preferably, the logic circuit is operable to implement a ((NOT A) OR B) logic operation upon logic inputs A and B.
Preferably, the logic circuit is operable to implement a ((NOT A) AND B) logic operation upon logic inputs A and B.
According to a second aspect of the present invention there is provided a logic circuit consisting of interconnected logic elements. Each of the logic elements contains a first logic input, a second logic input, a first dedicated logic terminal, a second dedicated logic terminal, a p-type transistor having an outer diffusion connection, a gate connection, and an inner diffusion connection, and an n-type transistor having an outer diffusion connection, a gate connection, and an inner diffusion connection. The outer diffusion connection of the p-type transistor is connected to the first dedicated logic terminal, and the gate connection of the p-type transistor is connected to the first logic input. The outer diffusion connection of the n-type transistor is connected to the second dedicated logic terminal, and the gate connection of the n-type transistor network is connected to the second logic input. The inner diffusion connections of the p-type and the n-type transistors are connected together to form a common diffusion logic terminal.
Preferably, for each of logic elements the first and second logic inputs are connected to form a common logic input.
Preferably, for each of logic elements each of the logic terminals is separately configurable to serve as a logic input.
Preferably, for each of logic elements each of the logic terminals is separately configurable to serve as a logic output.
Preferably, the type of the p-type transistors comprises one of a group of transistor types comprising: p-type FET transistors, p-type p-well CMOS transistors, p-type n-well CMOS transistors, p-type twin-well CMOS transistors, p-type SOI transistors, and p-type SOS transistors.
Preferably, the type of n-type transistors comprises one of a group of transistor types comprising: n-type FET transistors, n-type p-well CMOS transistors, n-type n-well CMOS transistors, n-type twin-well CMOS transistors, n-type SOI transistors, and n-type SOS transistors.
Preferably, the logic circuit is one of a group of logic circuits including: an OR gate, an inverted OR (NOR) gate, an AND gate, a multiplexer gate, an inverter gate, and an exclusive OR (XOR) gate.
Preferably, the logic circuit is operable to implement a ((NOT A) OR B) logic operation upon logic inputs A and B.
Preferably, the logic circuit is operable to implement a ((NOT A) AND B) logic operation upon logic inputs A and B.
Preferably, the logic circuit further contains at least one stabilizing buffer element.
Preferably, the logic circuit further contains at least one inverter.
Preferably, the logic circuit comprises a C-element.
Preferably, the logic circuit comprises a latch.
Preferably, the logic circuit is one of a group of logic circuits including: an SR latch, a D latch, a T latch, and a toggle flip-flop (TFF).
Preferably, the logic circuit comprises a bundle data filter controller.
Preferably, the logic circuit comprises a one to two decoder.
Preferably, the logic circuit is one of a group of logic circuits including: a carry-lookahead adder (CLA), a ripple adder, a combined ripple-CLA adder, a ripple comparator, a multiplier, and a counter.
According to a third aspect of the present invention there is provided a logic circuit, consisting of interconnected logic elements. Each of the logic elements contains a first logic input, a second logic input, a first dedicated logic terminal, a second dedicated logic terminal, a first logic block, and a second logic block. The first logic block consists of a network of p-type transistors for implementing a predetermined logic function. The p-type transistor network has an outer diffusion connection, a first network gate connection, and an inner diffusion connection. The outer diffusion connection of the p-type transistor network is connected to the first dedicated logic terminal, and the first network gate connection of the p-type transistor network is connected to the first logic input. The second logic block consists of a network of n-type transistors which implements a logic function complementary to the logic function implemented by the first logic block. The n-type transistor network has an outer diffusion connection, a first network gate connection, and an inner diffusion connection. The outer diffusion connection of the n-type transistor network is connected to the second dedicated logic terminal, and the first network gate connection of the n-type transistor network is connected to the second logic input. The inner diffusion connections of the p-type network and of the n-type network are connected together to form a common diffusion logic terminal.
Preferably, for each of the logic elements the first and second logic inputs are connected to form a first common logic input.
Preferably, for each of the logic elements each of the logic terminals is separately configurable to serve as a logic input.
Preferably, for each of the logic elements each of the logic terminals is separately configurable to serve as a logic output.
Preferably, the logic circuit further contains a third logic input connected to a second network gate connection of the p-type transistor network.
Preferably, the logic circuit further contains a fourth logic input connected to a second network gate connection of the n-type transistor network.
Preferably, the third and fourth logic inputs are connected to form a second common logic input.
Preferably, the p-type transistor network comprises a single p-type transistor.
Preferably, the n-type transistor network comprises a single n-type transistor.
Preferably, the network of p-type transistors comprises one of a group of networks comprising: a network of p-type field effect transistors (FET), a network of p-type p-well complementary metal-oxide semiconductor (CMOS) transistors, a network of p-type n-well complementary metal-oxide semiconductor (CMOS) transistors, a network of p-type twin-well complementary metal-oxide semiconductor (CMOS) transistors, a network of p-type silicon on insulator (SOI) transistors, and a network of p-type silicon on sapphire (SOS) transistors.
Preferably, the network of n-type transistors comprises one of a group of networks comprising: a network of n-type FETs, a network of n-type p-well CMOS transistors, a network of n-type n-well CMOS transistors, a network of n-type twin-well CMOS transistors, a network of n-type SOI transistors, and a network of n-type SOS transistors.
Preferably, the logic circuit further contains at least one buffer element.
Preferably, the logic circuit further contains at least one inverter.
According to a fourth aspect of the present invention there is provided a method for designing a logic circuit for performing a given logic function. The logic circuit to be constructed from interconnected logic elements. Each of the logic elements contains a first logic input, a second logic input, a first dedicated logic terminal, a second dedicated logic terminal, a p-type transistor having an outer diffusion connection, a gate connection, and an inner diffusion connection, and an n-type transistor having an outer diffusion connection, a gate connection, and an inner diffusion connection. The outer diffusion connection of the p-type transistor is connected to the first dedicated logic terminal, and the gate connection of the p-type transistor is connected to the first logic input. The outer diffusion connection of the n-type transistor is connected to the second dedicated logic terminal, and the gate connection of the n-type transistor network is connected to the second logic input. The inner diffusion connections of the p-type and the n-type transistors are connected together to form a common diffusion logic terminal. The method is performed by setting a synthesized function equal to the given logic function, and performing a synthesis recursion cycle. The synthesis recursion cycle consists of the following steps: if the synthesized function comprises a single non-inverted logic variable, providing a logic circuit design comprising an input terminal for the non-inverted logic variable and discontinuing the synthesis recursion cycle; if the synthesized function comprises a high logic signal, providing a logic circuit design comprising a connection to a high logic level, and discontinuing the synthesis recursion cycle; if the synthesized function comprises a low logic signal, providing a logic circuit design comprising a connection to a low logic level, and discontinuing the synthesis recursion cycle; and if the synthesized function comprises either an inverted single variable or a multi-variable function, performing the following sequence of steps. The sequence of steps is: extracting a first logic function, and a second logic function from a Shannon expansion of the synthesized function for a selected logic variable; setting the synthesized function to the first logic function; performing a synthesis recursion cycle to obtain a circuit design for a first sub-circuit; setting the synthesized function to the second logic function; performing a synthesis recursion cycle to obtain a circuit design for a second sub-circuit; providing a logic circuit design comprising a logic element having an input terminal for the selected logic variable at a common terminal of a logic element, an output of the first sub-circuit connected to the first dedicated logic terminal of the logic element, an output of the second sub-circuit connected to the second dedicated logic terminal of the logic element, and a circuit output at the common diffusion logic terminal of the logic element; and discontinuing the synthesis recursion cycle.
Preferably, extracting a first logic function, and a second logic function from a Shannon expansion of the synthesized function for a selected logic variable consists of: extracting the first logic function from the synthesized function by setting the selected variable to a logic high in the synthesized function; and extracting the second logic function from the synthesized function by setting the selected variable to a logic low in the synthesized function.
Preferably, the method contains the further step of adding a buffer to the circuit design to provide stabilization for a logic signal.
Preferably, the method contains the further step of adding an inverter to the circuit design to provide stabilization for a logic signal.
According to a fifth aspect of the present invention there is provided a method for providing a logic circuit. Each of the logic elements contains a first logic input, a second logic input, a first dedicated logic terminal, a second dedicated logic terminal, a p-type transistor having an outer diffusion connection, a gate connection, and an inner diffusion connection, and an n-type transistor having an outer diffusion connection, a gate connection, and an inner diffusion connection. The outer diffusion connection of the p-type transistor is connected to the first dedicated logic terminal, and the gate connection of the p-type transistor is connected to the first logic input. The outer diffusion connection of the n-type transistor is connected to the second dedicated logic terminal, and the gate connection of the n-type transistor network is connected to the second logic input. The inner diffusion connections of the p-type and the n-type transistors are connected together to form a common diffusion logic terminal. First a logic circuit design is obtained by setting a synthesized function equal to the required logic function, and performing a synthesis recursion cycle. The synthesis recursion cycle consists of the following steps: if the synthesized function comprises a single non-inverted logic variable, providing a logic circuit design comprising an input terminal for the non-inverted logic variable and discontinuing the synthesis recursion cycle; if the synthesized function comprises a high logic signal, providing a logic circuit design comprising a connection to a high logic level, and discontinuing the synthesis recursion cycle; if the synthesized function comprises a low logic signal, providing a logic circuit design comprising a connection to a low logic level, and discontinuing the synthesis recursion cycle; and if the synthesized function comprises either an inverted single variable or a multi-variable function, performing the following sequence of steps. The sequence of steps is: extracting a first logic function, and a second logic function from a Shannon expansion of the synthesized function for a selected logic variable; setting the synthesized function to the first logic function; performing a synthesis recursion cycle to obtain a circuit design for a first sub-circuit; setting the synthesized function to the second logic function; performing a synthesis recursion cycle to obtain a circuit design for a second sub-circuit; providing a logic circuit design comprising a logic element having an input terminal for the selected logic variable at a common terminal of a logic element, an output of the first sub-circuit connected to the first dedicated logic terminal of the logic element, an output of the second sub-circuit connected to the second dedicated logic terminal of the logic element, and a circuit output at the common diffusion logic terminal of the logic element; and discontinuing the synthesis recursion cycle. After obtaining the logic circuit design, the logic elements are connected in accordance with the obtained design.
Preferably, extracting a first logic function, and a second logic function from a Shannon expansion of the synthesized function for a selected logic variable consists of: extracting the first logic function from the synthesized function by setting the selected variable to a logic high in the synthesized function; and extracting the second logic function from the synthesized function by setting the selected variable to a logic low in the synthesized function.
Preferably, the method contains the further step of adding a buffer to the circuit design to provide stabilization for a logic signal.
Preferably, the method contains the further step of adding an inverter to the circuit design to provide stabilization for a logic signal.
The present invention successfully addresses the shortcomings of the presently known configurations by providing a fast and versatile logic circuit, with reduced area and power requirements, and capable of implementing a wide variety of logic functions.
Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Although methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present invention, suitable methods and materials are described below. In case of conflict, the patent specification, including definitions, will control. In addition, the materials, methods, and examples are illustrative only and not intended to be limiting.
Implementation of the method and system of the present invention involves performing or completing selected tasks or steps manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of preferred embodiments of the method and system of the present invention, several selected steps could be implemented by hardware or by software on any operating system of any firmware or a combination thereof. For example, as hardware, selected steps of the invention could be implemented as a chip or a circuit. As software, selected steps of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In any case, selected steps of the method and system of the invention could be described as being performed by a data processor, such as a computing platform for executing a plurality of instructions.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
The invention is herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice.
In the drawings:
a-10e are simplified circuit diagrams of GDI based latches, according to a preferred embodiment of the present invention.
a, 18b, and 18c show GDI XOR, AND, and OR gates respectively, according to a preferred embodiment of the present invention, and their prior-art equivalents in CMOS, TG, and NMOS Pass-Gate (N-PG) technologies.
a-19f shows power and delay results for GDI OR and AND gates according to a preferred embodiment of the present invention, and for prior-art CMOS, and PTL gates.
a-20f shows implemented GDI cells and cell layouts for basic functions for a regular p-well process, according to a preferred embodiment of the present invention.
a-33e shows five prior-art CMOS C-element circuits.
a-34c shows three GDI implementations of the C-element, according to a preferred embodiment of the present invention.
a and 35b show implementations of a three-input C-element for prior-art CMOS and GDI architectures respectively, according to a preferred embodiment of the present invention.
a, 37b shows GDI SR-latch circuits, according to preferred embodiments of the present invention.
a and 43b show prior-art implementations of a Bundled-Data Filter Controller.
a-48c shows three simulated circuits based on different combinations of ORN and DRN subnets, designed according to a preferred embodiment of the present invention.
The rapid development of digital applications has created a demand for faster logic circuits, having compact implementation and low power dissipation. Traditional CMOS methods, and other technologies, such as PTL, have been unable to satisfy this demand. The present invention is of a low area, power-efficient logic circuit design, referred to below as gate-diffusion input (GDI), which can be used to implement a wide variety of logic functions.
The principles and operation of a logic circuit according to the present invention may be better understood with reference to the drawings and accompanying descriptions.
Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting.
Reference is now made to
Logic circuit 100 contains P logic block 110, N logic block 120, first and second logic inputs, 130 and 140, and three logic terminals: first and second dedicated logic terminals, 150 and 160, and common diffusion logic terminal 170. The first and second dedicated logic terminals, 150 and 160, and the common diffusion logic terminal 170 can each serve as either a logic signal input terminal or a logic signal output terminal, depending upon the specific logic circuit implementation. The preferred embodiments and examples given below illustrate several logic circuit terminal configurations.
The P logic block 110 contains a network of p-type transistors 180 which are interconnected to implement a given logic function. The P logic block 110 has three logic connections: an outer diffusion connection 181 (at an outer diffusion node of one of the p-type transistors), a gate connection 182 (at the gate of one of the p-type transistors), and an inner diffusion connection 183 (at the second inner diffusion node of one of the p-type transistors). Outer diffusion connection 181 connects to the first dedicated logic terminal 150, and gate terminal 182 connects to the first logic input 130. The N logic block 120 contains a network of n-type transistors 190 which implement the complementary logic function, and is structured similarly to the P logic block 110. The inner diffusion nodes of the P and N logic blocks, 183 and 193, are connected together to form the common diffusion logic terminal 170.
The p-type and n-type transistors may be field effect transistors (FET), CMOS transistors (p-well, n-well, or twin-well), SOI transistors, SOS transistors, or the like. Note that the customary distinction between the source and drain of the transistor can not be made with the GDI structure, since for any given transistor the relative voltages between the transistor diffusion nodes changes depending upon the logic input and output voltages. This is in contrast with the standard complementary CMOS structure in which the source or drain is tied to a constant voltage. Thus, for GDI logic circuits one of the two transistor diffusion nodes (not the gate) is arbitrarily selected to serve for the inner diffusion connection, and the other to serve for the outer diffusion connection. Not all GDI cell topologies can be implemented in standard p-well or n-well CMOS technology, due to interference of bulk effects under certain input/output conditions. GDI logic circuits are therefore preferably implemented in either twin-well CMOS or silicon-on-insulator/silicon-on-sapphire (SOI/SOS) technologies, which do not suffer from these limitations.
In the preferred embodiment of the GDI logic circuit, the common logic terminals are connected together to form a common logic input 196. Thus a logic signal at the common logic input 196 is applied to both the P and N logic blocks, 110 and 120. In one configuration known as a double-gate-input GDI circuit (GDI*), the logic input terminals, 130 and 140, are not connected, and each logic block has an independent logic input. The GDI* circuit is discussed in greater detail below (see
A dual-transistor embodiment of the GDI logic circuit is designated herein as the GDI logic cell. Reference is now made to
Table 1 shows six logic functions which can be implemented with a single GDI logic cell. The most general case is the multiplexer (MUX), where logic signal A is applied to the common input 230. Signal A selects one of the dedicated logic terminals, 240 or 250, and the logic cell outputs the selected logic signal at the common diffusion logic terminal 260. Other configurations listed in the table implement OR, AND, and inverter logic gates. The logic cell also implements the F1 function (ĀB) and the F2 function (Ā+B). Both the F1 and F2 functions are complete logic families, which can be used to realize any possible logic function.
Many of the logic circuits presented below are based on the F1 and F2 functions. The reasons for this are as follows. First, as mentioned, both F1 and F2 are complete logic families. Additionally, F1 is the only GDI function that can be used for higher level circuit design that can be realized in a standard n-well CMOS process. In the F1 function implementation, the bulks of all NMOS transistors are constantly and equally biased, since the N terminal (first dedicated logic terminal) is tied low for all logic input levels. In the other configurations listed in Table 1 the N terminal is either tied high (OR gate), or varies according to the logic input levels (F2, AND, and MUX). Similarly, F2 can be realized in p-well CMOS. Finally, when the N input is driven at a high logic level and the P input is at low logic level, the diodes between NMOS and PMOS bulks to the logic circuit output are directly polarized, and the two dedicated logic terminals are shorted together. Being driven in such a way causes static power dissipation and an output voltage Vout˜0.5VDD. Utilizing the OR, AND and MUX implementations, in standard CMOS with VBS=0 configuration, as building blocks for more complex logic circuits is therefore problematic. The polarization effect can be reduced if the design is performed in floating-bulk SOI technologies, in which case floating-bulk effects have to be considered.
The GDI cell 200 differs significantly from the standard CMOS inverter, which it resembles structurally. Dedicated logic inputs 240 and 250 serve as logic signal inputs, not for applying pull-up and pull-down voltages as in the CMOS case. By extending the complementary structure to a three input structure, a much more versatile logic cell is obtained. A simple change of the input configuration of the GDI cell 200 corresponds to different Boolean functions. Most of these functions are complex (6-12 transistors) in CMOS, as well as in standard PTL implementations, but require only 2 transistors as a GDI logic circuit. Additionally, the bulks of transistors 210 and 220 may be connected to dedicated logic terminals 240 and 250 respectively, so that the transistors 210 and 220 can be arbitrarily biased. This is in contrast with a CMOS inverter, which cannot be biased.
The GDI cell structure provides advantages over both CMOS and PTL logic circuits in design complexity, transistor count and power dissipation. An operational analysis of the GDI logic cell is now presented, in which GDI circuit transient behavior, swing restoration, and switching characteristics are analyzed.
One of the common problems of PTL design methods is the low swing of output signals because of the threshold drop across the single-channel pass transistors. In existing PTL techniques additional buffering circuitry is used to overcome this problem. The following analysis of the low swing performance of the GDI cell is based on the F1 function, and can be easily extended for other GDI functions. Table 2 presents a full set of logic states and the related functionality modes for the F1 function.
As can be seen from Table 2, G=0, P=0 is the only state where low swing occurs in the output value. In this case the voltage level of F1 is VTp (instead of the expected 0V), because of the poor high-to-low transition characteristics of PMOS pass-transistors (see W. Al-Assadi, A. P.Jayasumana and Y. K.Malaiya, “Pass-transistor logic design”, International Journal of Electronics, 1991, vol. 70, no. 4, pp. 739-749, contents of which are hereby incorporated by reference). The only case (from amongst all the possible transitions) where the effect occurs is the transition from G=0, P=VDD to G=0, P=0.
Note that in approximately half of the cases (for P=1) the GDI cell operates as a regular CMOS inverter, which is widely used as a digital buffer for logic level restoration. In some of these cases, when VDD is high and there is no swing drop from the previous stages, the GDI cell functions as an inverter buffer and recovers the voltage swing. Although this creates a self swing-restoration effect in certain cases, the GDI logic circuit embodiments shown below assume worst-case swing effects, and contain additional circuitry for swing restoration.
The exact transient analysis for basic GDI cell, in most cases, is similar to a standard CMOS inverter. CMOS transient analysis is widely presented in the literature. The classic analysis is based on the Shockley model, where the drain current ID is expressed as follows:
where K is a drivability factor, VTH is a threshold voltage, W is a channel width and L is a channel length.
In contrast with the CMOS inverter analysis (see V. Adler, E. G. Friedman, “Delay and Power Expressions for a CMOS Inverter Driving a Resistive-Capacitive Load”, Analog Integrated Circuits and Signal Processing, 14, 1997, pp. 29-39, contents of which are hereby incorporated by reference), where VGS is used as an input voltage, in most GDI circuits the voltage input variable to the Shockley model is VDS, the drain-source voltage. The following analysis presents the aspects in which GDI differs from CMOS.
Reference is now made to
where C is the output capacitance, VS is the voltage across the capacitance CL. IC is the current charging the capacitor, which is equal to ID, the drain current through the N-channel device.
The expression for VS as a function of time is:
In the saturation region:
where, in the case of GDI cells linked through diffusion inputs, the capacitance C includes both diffusion and well capacitances of the driven cell.
The integral form of (3) is:
The same expression can be written as:
a, b and c in (6) are constants of the process or the given circuit. The final expression for the transient response in the saturation region is:
where t is time in saturation region, and k1 is a constant of integration and is calculated for initial conditions (t=0, VS=0). The solution of (7) is obtained numerically (e.g. in MATLAB) for specific values of a, b, and c.
After entering the sub-threshold region, VS continues rising while the output capacitance is charged by ID according to (1):
In the sub-threshold region:
where T is the temperature in degrees Kelvin, k is Boltzmann's constant, q is the charge of an electron, and A is a constant:
The expression for the response in the sub-threshold region is:
where k2 is a constant of integration defined by the initial conditions, A is calculated in (10), and VT is the threshold voltage.
The analysis of propagation delay of a basic GDI cell given by equations (2-7) can be refined by taking into account the effect of the diode between the NMOS source and body. This diode is forward biased during the transient (see
IBS=I0(l(q[V
where IBS is the diode current, I0 is the reverse current, and n is a factor between 1 and 2. The IBS current should be added to equation (2) to derive an improved propagation delay, indicating a faster transient operation of GDI cell.
The swing restoration performance of GDI circuits is calculated taking into account the area (power) and circuit frequency (delay) constraints. The simplest method of swing restoration is to add a buffer stage after every GDI cell. The addition of a buffer stage prevents the voltage drop, but requires greater GDI circuit area and increases circuit delay and power dissipation, making such a simplified method highly inefficient. Various buffering techniques are presented in the literature.
Given a clocked logic circuit with known Tcycle and Tsetup, buffering of cascaded GDI cells is optimal if the following effects are taken into consideration:
1. Successive Swing Restoration—When cascading GDI cells, each cell contributes a voltage drop in the output, that is equal to Vdrop. Assuming 0.3 VDD as a maximal allowed voltage drop of the whole cascade, the number of linked GDI cells between two buffers is limited by:
As shown in
Equation (15) applies to the sub-threshold region only, namely for Vs<VDD.
According to (15), remaining in the sub-threshold region for (t+k2) assures a significant decrease of Vdrop, and as a result an increase in the number of linked cells, N1. Successive swing restoration can thus be achieved with fewer buffers.
Interconnection effects can cause a drop in signal potential level, particularly over long interconnects. Where maintaining signal levels is essential, expression (15) may be extended to take into account the interconnection drop IR (where R is the interconnect resistance and I is the current through the interconnect).
Accordingly, suppose the VDD voltage is applied to the drain input of the NMOS transistor through a long wire. For a wire with given width, W, and length, L, the resistance of the interconnect wire is given by:
where ρsquare is a metal sheet resistance per square.
The current flowing through the wire Iwire and causing the voltage drop is given by:
Vdrain is determined by the equalization between the wire and NMOS transistor currents as follows:
where ID(Vdrain) is found from (1) according to the operation region of the transistor. Equation (18) can be solved numerically, and its contribution to the final voltage drop expression is given by:
V′drop=Vdrop+(VDD−Vdrain) (19)
where Vdrop is given by (15).
Operation in the sub-threshold region increases delay. The above method is therefore primarily suitable for low-frequency design.
Scaling, namely VDD reduction and threshold non-scalability, influences the number of required buffers for GDI circuit architecture according to (14). As a result, in order to remain with the same technology and VT when operating with lower supply voltages additional buffers may be required. The direct impact of adding buffers is primarily on circuit area and the number of gates.
Finally, the following points are noted concerning the buffer insertion topology in GDI. Buffer insertion need be considered only when linking GDI cells through diffusion inputs. No buffers are needed before gate inputs of GDI cells. Due to this feature, the “mixed path” topology can be used as an efficient method for buffer insertion. The number of buffers may be reduced by alternately involving diffusion and gate inputs in a given signal path. The circuit designer can trade off between buffer insertion, and delay, area and power consumption, to achieve efficient swing restoration.
2. Impacts of process variation on swing restoration—In every VLSI process there are variations in parameters such as threshold tracking, and ID0. The process dependence of VTH and ID0 influences the value of Vdrop and the swing restoration in GDI. This effect can be best described by defining a sensitivity of Vdrop to the mentioned parameter variations as follows:
where V′drop is given by (19).
3. Maximal cascade delay constraint—The signal path in a cascade of GDI cells can be represented by a single-branch RC tree.
A resistance Rii is defined as the resistance of the path between the input and the output (for an RC tree without side branches). Rkk is the resistance between the input and node k. Ck is the capacitance at node k.
The following times are defined in order to derive bounds for the delay of the RC tree:
The maximal delay of the RC tree can be derived numerically from the bounds on the time of equations (22) and (23), and is given by the following equation:
t≦TD−TR−TD ln[1−vi(t)] (24)
The number of stages N2 in a GDI cascade can be found for a maximal total delay time Tdelay, while using the condition:
Tcycle−Tsetup≧Tdelay (25)
Notice that (25) can be checked only after a value for N2 has been assumed and a suitable RC tree has been built.
In order to obtain satisfactory performance the number of stages between buffers should be limited to satisfy both the successive swing restoration and the maximal delay requirements. The maximal number of stages in cascade between two buffers is therefore the minimal value between N1 (given by (14)) and N2.
A comparison was also made between the switching characteristics of GDI vs. CMOS. Due to the complexity of logic functions that can be implemented in GDI cell by using only two transistors, the GDI cell's switching characteristics were compared to a CMOS gate whose logic function is of the same order of complexity. While the GDI cell's structural characteristics are close to a standard CMOS inverter, the gate with equivalent functional complexity in CMOS is a NAND gate. A comparison of switching characteristics was therefore performed between the GDI cell and a CMOS NAND gate. The switching behavior of the inverter can be generalized by examining the parasitic capacitances and resistances associated with the inverter. This comparison can be used as a base for delay estimation in early stages of circuit design.
Reference is now made to
tPHL=Rn·Ctot=Rn·(Cout+Cload) (26)
where Ctot is the total capacitance on the output of the inverter, that is the sum of the output capacitance of the inverter, any capacitance of interconnecting lines, and the input capacitance of the following gate(s).
Reference is now made to
The first term in (27) represents the intrinsic switching time of the series connection of N MOSFETs, while the second term represents the RC delay caused by Rn charging Cinn.
For Cinn equal to 3/2·Cox, and assuming two serial n-MOS transistors, the propagation delay of the NAND gate is:
tPHL=1.52·Rn·Cout+2·Rn·Cload (28)
The ratio of the delay of a CMOS NAND to the delay of a GDI cell is
and is approximated by:
The delay ratio is bounded above by 2 for a high load, and is bounded below at 1.52 for a low load.
Note, that this ratio improves if the effect of the body-source diode in GDI cell is considered (14), and if the delay formula in (7) is refined by including a bulk-source conduction current in (13).
For the analysis of fan-out bounds, the dual-transistor GDI cell is compared to CMOS gates with equivalent functional complexity. This approach allows definition of fan-out bounds using the logic-effort concept of I. Sutherland, B. Sproull and D. Harris, “Logical Effort—Designing Fast CMOS Circuits”, Morgan Kaufmann Publishers, p. 7, contents of which are hereby incorporated by reference. The relationship between the logic effort, fan-out, and effort delay of a logic gate is given by:
f=g·h (30)
where f is the effort delay, g is the logic effort, and h represents the fan-out of the gate. For a desired delay, reducing the logic effort results in an improved fan-out by the same ratio.
Values of logic effort are given by Sutherland for the inputs of various static CMOS gates normalized relative to the logic effort of an inverter. While a GDI cell's logic effort is close to a standard inverter, the equivalent logic functions in CMOS are NAND, NOR or MUX, depending upon the GDI cell input configuration (see Table 1). Using Sutherland's logic effort values, the fan-out improvement factor for a GDI cell over CMOS are as follows: 4/3 for F1 and F2 vs. CMOS NAND; 5/3 for F1 and F2 vs. CMOS NOR; 2 for GDI MUX vs. CMOS MUX.
The above fan-out improvement values are correct for the gate input of a GDI cell, for which the GDI cell characteristics are similar to those of the CMOS inverter. If the diffusion input is considered, an additional factor is applied to represent the capacitance ratio between the gate and diffusion inputs, and the factors given above are multiplied by CGate/CDiff. Both capacitance parameters are defined by the design technology.
GDI cell fan-in analysis is based on the structural similarity of GDI and complementary CMOS logic gates. As shown below, an (n+2)-input GDI cell can be implemented by the extension of any n-input CMOS structure. While the stack of serial MOSFET devices and in CMOS gate fan-in are limited by body-effect considerations, the addition of the diffusion inputs (i.e. the dedicated logic terminals) for a GDI gate with the same structure results in improved fan-in, given by:
Fan-inGDI=Fan-inCMOIS+2 (31)
Note that for the F1 and F2 functions, where only one additional dedicated diffusion input is used, the fan-in increases by 1 relative to CMOS.
In summary, the GDI logic cell shows improvement over comparable CMOS logic in terms of delay, number of transistors, area, and power consumption. GDI logic circuits, however, have certain drawbacks, which are primarily related to input connections to MOSFET wells. Firstly, GDI logic circuits may experience a threshold drop, and, in some cases, an increased diffusion input capacitance. Both effects exist in PTL techniques as well, and were considered in the simulations and analysis presented herein. Secondly, there is a relative increase of circuit area due to separated MOSFET wells (comparisons based on actual logic gate layouts are presented below). However, these drawbacks are compensated for by the advantages of GDI circuits.
The GDI cell shown in
Reference is now made to
In the GDI* latch an inverter is used to obtain in-circuit swing restoration. Table 3 shows the performance of the GDI* latch.
Reference is now made to
Reference is now made to
Three GDI D latches are shown
Reference is now made to
Reference is now made to
The preferred embodiments of
Table 1 lists the various logic functions which can be provided by a single GDI cell. The GDI cell is an extension of a single-input CMOS inverter structure a triple-input logic structure. The two additional inputs of the GDI cell are provided by the first and second dedicated logic terminals, which in the CMOS cell do not serve as logic terminals but instead are tied to a fixed voltage.
Reference is now made to
GDI circuit implementations can be represented by the following logic expression:
Out=
where F(x1 . . . xn) is the logic function of the n-MOS block (not of the whole original n-input CMOS structure). An example of such an extension can be seen in
The expression in equation (32) can be used to implement a Shannon expansion (see E. Shannon, W. Weaver, “The Mathematical Theory of Information”, University of Illinois Press, Urbana-Champaign, Ill., 1969, contents of which are hereby incorporated by reference). A function Z with inputs {x1, . . . , xn} can be expanded as:
Z(x1 . . . xn)=H(x2 . . . xn)x1+J(x2 . . . xn)
where the functions H and J are:
H=Z|x
Shannon expansion is a very useful technique for precomputation-based low-power design of sequential logic circuits due to its multiplexing properties (see M. Alidina, J. Monteiro, S. Devadas, A. Ghosh, and M. Papaefthymiou, “Precomputation-Based Sequential Logic Optimization for Low Power”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 2, no. 4, pp. 426-435, December 1994), contents of which are hereby incorporated by reference. In multiplexer-based precomputation, input X1 can be used as an enable line for the H and J functions, and as the select line of a multiplexer which chooses between the data of the H and J functions. For a given value of X1 only one of the H or J blocks will operate, significantly reducing the power dissipation of the circuit.
Reference is now made to
The GDI logic circuits (i.e. GDI cell, GDI* cell, multi-transistor GDI circuit, and extended GDI circuit) described above can serve as building blocks for more complex logic circuits. The applicability of the Shannon expansion (33 and 34) to any logic function, allows a GDI implementation of any digital circuit, thereby achieving a low power implementation of the logic function. Due to their special properties, GDI logic circuits can be used for design of low-power combinatorial circuits. In the preferred embodiment two or more GDI logic circuits are interconnected to form a higher order GDI logic circuit. Several embodiments of higher order logic circuits composed of interconnected GDI logic cells are given below, along with performance data.
A preferred embodiment of a method for the design of combinatorial logic circuits consisting of interlinked GDI cells is now presented. The combinatorial circuit design combines two approaches: (1) Shannon expansion and (2) combinational logic pre-computation, where transitions of logic values are prevented from propagating through the circuit if the final result does not change as a result of those transitions. GDI logic circuits can be realized using only the standard GDI cell. This is in contrast to PTL-based logic, which has no simple and universal cell library available. The development of circuit synthesis tools for PTL is consequently problematic.
The preferred embodiment for the design of GDI logic circuits is based on Shannon expansion (27), where any function F can be written as follows:
As shown above, the output function of a GDI cell (where A, B and C are inputs to G, P and N respectively) is:
Out=AC+ĀB (36)
The similarity of form between equations (35) and (36), makes the standard GDI cell suitable for implementation of any logic function, which can be written by Shannon expansion. Thus:
If A=x1, C=F(1,x1 . . . xn),B=F(0,x1 . . . xn) then (37)
Out=F(x1 . . . xn)=x1F(1,x2 . . . xn)+
Reference is now made to
Given a function F with n variables:
The algorithm of
As an example, if F(x1,x2,x3)=XOR(x1,x2,x3), the above procedure returns:
NG(G(NG(0,x3,1),x2,NG(1,x3,0)),x1,G(NG(1,x3,0),x2,NG(0,x3,1)))
where ‘G’ stands for GDI and ‘NG’ for an inverted GDI cell that is inserted post-process in order to maintain signal integrity. This approach can be used in combination with existing cell library-based synthesis tools to achieve an optimized design.
Reference is now made to
In step 1500 a logic function having at least one logic variable is received. The logic function to be synthesized, F, is set equal to the received logic function in step 1510. The synthesis recursion cycle begins at step 1515. In step 1520 the synthesized function is checked to determine if it is a non-inverted single logic variable X. If so, a connection for a logic input is provided in step 1525. The synthesis recursion cycle is then discontinued.
In step 1530 the synthesized function is checked to determine if it is a high logic level. If so, a logic design consisting of a connection to a high logic level is provided in step 1535. The synthesis recursion cycle is then discontinued.
In step 1540 the synthesized function is checked to determine if it is a low logic level. If so, a logic design consisting of a connection to a low logic level is provided in step 1545. The synthesis recursion cycle is then discontinued.
If the logic function being synthesized is not equal to either a high, low, or non-inverted logic variable, a Shannon expansion of F is performed to reduce the number of logic variables by one. In step 1550 a first logic function H, a second logic function J are extracted from a Shannon expansion of the synthesized function for a selected logic variable Xn. A recursion cycle is then performed for each of the extracted functions, to obtain a circuit design for functions H and J.
The recursion cycle for function H involves setting the synthesized function to H in step 1560, and entering a new recursion cycle at step 1515. When the recursion ends, a sub-circuit design of interconnected GDI cells is provided for function H.
Next a recursion cycle for function J is performed. In step 1570 the synthesized function is set to Z, and a new recursion cycle is entered at step 1515. When the recursion ends, a sub-circuit design of interconnected GDI cells is provided for function J.
In step 1580 the sub-circuit designs obtained for functions H and J are combined using a GDI cell. A final logic circuit design is provided consisting of a logic element with the selected logic variable at the common logic terminal G, the output of the first sub-circuit connected to the first dedicated logic terminal P, and the output of the second sub-circuit connected to a second dedicated logic terminal N. The logic circuit output is at the logic element common diffusion terminal. The synthesis recursion cycle then ends.
The Shannon expansion of the logic function being synthesized is performed in step 1550. Reference is now made to
In the preferred embodiment, the circuit design method includes the further step of inserting buffers into the logic circuit design. An analysis was presented above to determine the maximum number of GDI cells which can be cascaded without requiring a buffer to stabilize signal levels. Equations (14) and (25) are used to calculate the values of N1 and N2, and the maximal number of stages which can be cascaded between two buffers equals the minimal value between N1 and N2. N1 and N2 depend on process parameters, frequency demand, and output loads. For example, given a 0.35 um technology process (with VTH=0.5V), a frequency demand of 40 MHz, and a load capacitance of 100 fF, the maximal number of stages is dictated by equation (14), where N1 is calculated with Vdrop=VTH. The resulting value indicates that a buffer is required after every two cascaded GDI cells. In the preferred embodiment, buffer elements are inserted between GDI cells to prevent the occurrence of chains that exceed a specified length. The buffer elements may consist of one or more inverters.
Reference is now made to
One advantage of the abovedescribed methods is the ability to calculate the maximal number of transistors needed for implementation of an n-input function, before the actual logic circuit design. The maximal number of transistors is calculated as:
M=2·2n−1=2·N=2n (38)
where M is the maximal number of transistors that are needed to implement the function, N is the maximal count of GDI cells and n is the number of variables in the given function. Knowledge of the maximal number of GDI cells required firmly determines the final maximal area of the circuit.
Using the Shannon expansion in regular logic circuits results in reduced power dissipation but requires significant area overhead. The area overhead is caused by the additional precomputation circuitry that is required. The Shannon-based GDI design does not require a special precomputation circuitry because of the MUX-like nature of the GDI cell, so that most area overhead is eliminated.
Reference is now made to the following examples, which together with the above descriptions illustrate the invention in a non-limiting fashion.
Simulations were performed to determine the relative performance of five GDI logic gates to other logic gate technologies. Five sets of comparisons were carried out on various logic gates, MUX, OR, AND, F1, and F2. Reference is now made to
Measurements were performed on test circuits that were placed between two blocks, which contain circuits similar to the device under test (DUT). The measured power is that of the DUT, including the power consumed by driving the next stage, thus accounting for the input power consumption, and not just the power directly consumed from supply. This configuration gives more realistic environment conditions for test circuit, instead of the ideal input transitions of simulator's voltage sources.
The fact that no GDI cell contains a full VDD to Gnd supply, implies that the only power consumed is through the inputs, as GDI cells are fed only by the previous circuits. A similar phenomenon is partially observed in most PTL circuits, but in PTL the power consumption from the source is caused by CMOS buffers, which are included in every regular PTL. Yet, in real circuits and simulations, current flow from the sources can be measured in GDI. The current flow is caused by buffers that are connected between cascaded cells. Hence, a fair comparison between the techniques was performed for measurements carried out from series of cells with buffers and not from a single cell. The GDI and TG test circuits contain two basic cells with one output buffer. The N-PG test circuit contains two buffers, one after each cell. The CMOS test circuit has no buffers.
For each technique, measurements of average power, maximal delay and number of transistors were performed. The results of the logic gate comparisons for GDI, CMOS, TG, and N-PG using the circuit topologies shown in
A
A
A
Amongst all the design techniques, GDI has the minimal number of transistors. Each GDI gate was implemented using only 2 transistors. The worst case, with respect to transistor count, is for the CMOS MUX gate (multiplexers are the well-known domain of pass-transistor logic). In this sense, the PTL techniques are inferior comparatively to GDI.
Results are given for power dissipation in different gates. The MUX gate has the largest power consumption of all the logic gates, because of its complicated implementation (particularly in CMOS) and the presence of an additional input. On the other hand, the AND gate's power dissipation is the minimal amongst all the gates. Most of GDI logic gates prove to be the most power efficient in comparison with the four other design techniques (only for the F2 gate is there an advantage of N-PG over the GDI gate).
The best performance with respect to circuit delay was measured in the GDI and TG circuits. The advantage of the TG technique in some circuits can be explained by the fact that one n-MOS and one p-MOS transistor are conducting at the same time for each logic state in a TG gate. Note that the results for CMOS delays compared to GDI are in most cases bounded according to (29), as expected. Circuits implemented in N-PG are the slowest, because of the need for additional buffer circuitry in each gate.
In summary, amongst the presented design techniques, GDI proves to have the best performance values and the lowest transistor count. Even in the cases where the power or delay parameters of some GDI gates are inferior, relative to TG or N-PG, the power-delay products and transistor count of GDI are lower. Only the TG design method is a viable alternative to GDI if a high frequency operation is of concern.
A fair comparison of the properties of the different logic techniques mentioned above involves measuring delay and power consumption under different load conditions of the cell. Parametric simulations for power and delay measurement for GDI circuits under differing load conditions were performed.
In order to cover a wide range of possible circuits, design methods and properties comparisons for several digital combinatorial circuits were implemented using various methods (GDI, PTL and CMOS), design techniques, and technology processes. Table 5 contains an exemplary list of high-level circuits implemented to compare design methods and processes.
Since the full GDI library is implementable in a regular p-well CMOS process, only the function F1 and its expansions were implemented.
Comparative results were obtained for several high-level circuits, such as the Carry-Lookahead Adder (CLA). The CLA structure is well known and widely used due to its high-speed operation while calculating the carries in parallel. The carry of the i-th stage, Ci may be expressed as:
Ci=Gi+Pi·Ci−1 (39)
where
Gi=Ai·Bi generate signal (40)
Pi=Ai+Bi propagate signal (41)
Expanding this yields
Ci=Gi+PiGi−1+PiPi−1Gi−2+ . . . +Pi . . . P1C0 (42)
The sum Si is generated by
S=Ci−1⊕Ai⊕Bi (43)
or Ci−1⊕Pi(if Pi=Ai⊕Bi)
For four stages of lookahead, the appropriate terms are
C0=G0+P0CI (44)
C1=G1+P1G0+P1P0CI (45)
C2=G2+P2G1+P2P1G0+P2P1P0CI (46)
C3=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0CI (47)
Every basic unit includes two inputs of comparison data from previous units. The logic implementation of each unit is based on following expressions:
Dout=Din+ĀB
Cout=Cin+A
The basic multiplier cell is shown in
1. Generating a bit of the correct partial product in response to the input signals.
2. Adding the generated bit to the cumulative sum propagated from the row above.
The cell consists of two components—an AND gate to generate the partial product bit, and an adder to add this bit to the previous sum.
Simulation results were used to make performance comparisons of some of the higher order digital circuits mentioned above. All given measurements were carried out on a representative pattern of possible input transitions, with the worst case assumption used to find a maximal delay of the circuit, and the power dissipation was calculated as an average over the pattern.
Results are now presented for an eight-bit CLA adder. An eight-bit adder was realized in a 1.6 μm CMOS process. Two chips were designed, and their layouts are shown in
As can be seen, the GDI Adder proves to be the most power efficient circuit. Power dissipation in GDI is less than in CMOS and in TG, yet the delay of TG is less than that of GDI. The CMOS circuit has the highest delay, 44.9% more than GDI. In spite of the inferior speed of GDI relative to TG, the power-delay product of GDI is less than both TG and CMOS. Because of the use of limited GDI cell library in p-well CMOS process, the number of transistors and area of CMOS and GDI circuits are close, but much less than in the TG Adder implementation.
A comparison of an eight-bit comparator circuit was performed for GDI vs. CMOS and N-PG technologies. The implementation of the eight-bit comparator was carried out in the same 1.6 μm CMOS process described above, at VDD=5V, fCLK=100 MHz, and 27° C. The layout of an eight-bit comparator chip containing the three circuits that were tested is given in
The results of the power, delay and power-delay product of GDI are best among the compared circuits, while N-PG has the worst performance results. Here, as well as in the Adder circuit, the limited GDI library was used because of process constraints. As a result, the final area of GDI comparator is greater than CMOS and N-PG, while the number of transistors in all 3 circuits is the same.
A comparison between GDI and CMOS performance was also made for a four-bit multiplier. The multiplier was implemented in 0.5 μm CMOS technology, with a 3.3V supply, at 50 MHz and 27° C. In order to achieve a robust measure of the power-delay product, simulations were run on CMOS and GDI circuits that were parametric in their size. Running a simulation with and area parameter of α=2 indicates that the transistors widths are twice the widths for α=1. Spectre simulations were done on schematic circuits, while changing the area parameter, α, from 1 to 8.
An 8-bit Adder designed in GDI and CMOS (see
Several sets of measurements and tests were applied to test chips, using the EXCELL 100+ testing system of IMS. In order to demonstrate the influence of scaling on a given GDI circuit, the measurements were performed with various supply voltages.
Operational tests were performed on both circuits to check for proper operation, while using two scripts, which generated patterns of input values. The first set of values was generated according to a binary order of input numbers. The second set included over 20,000 random transitions, which were used for delay and power measurements.
The maximal delay of both circuits was measured by increasing the frequency of input signal, and checking the results of the increase. The frequency at which the first error appears defines the delay of the circuit. Table 10 presents the delays measured for GDI and CMOS adders for various voltage supply levels.
Note that for the given implementation and the output load, defined by the testing system, both circuits were designed to have equal delays.
For the dynamic power measurements a set of measurements at low frequencies were performed for various supply voltages, so as to enable eliminating the influence of the circuitry in the output pads which causes high additional power dissipation. The low frequency results represent the static power dissipation of the test chip. Power measurements at high frequencies were performed and the static power values were subtracted from the high frequency results to achieve the dynamic power at the given frequency.
The final results for dynamic power dissipation are shown in Table 11.
The values in parentheses are normalized by frequencies of measurements.
Dynamic power measurements were performed for various frequencies, respectively to the voltage supply level. For a 5V supply, the measurements were performed at 12.5 MHz; for a 4.5V supply at 10 MHz; and for other supply voltages at 4 MHz.
Due to the equal delay values in both circuits (see Table 10), the normalized power-delay product has about the same values as those of power measurements. For power and power-delay product, improvements in the range of 11% to 45% were measured.
There is a difference between the simulations and measured data. The difference is caused by the fact that in all the presented circuits the simulations were performed while placing the DUT in the environment of logic circuits designed in the same technique, while in the test chip measurements the single DUT has been connected directly to output pads, causing a significantly higher load capacitance. Still, in both measured and simulated results the relative advantage of GDI is preserved.
GDI implementations were also analyzed for the class of asynchronous circuits. The results presented above show that combinational GDI circuits are fast and low power relative to CMOS and PTL implementations. C-elements and SR latches are compared with a variety of CMOS state holding circuits. A bundled-data controller and two qDI combinational logic circuits (a XOR gate and a full adder) demonstrate that systems employing GDI components outperform standard CMOS implementations in area, power, and speed. Furthermore, GDI components provide some enhanced hazard tolerance. All designs were validated and compared using SpectreS simulations.
C-elements are frequently used in asynchronous design. The C-element changes its output only when both inputs are identical. The output of the C-element as a function of its inputs, a and b, and the present output ĉ is:
c=ĉ·(a+b)+a·b (55)
The GDI C-element was compared to the five CMOS C-element circuits shown in
The dynamic GDI C-element (
The static GDI C-element (
The paths from input to output in either of the abovedescribed GDI circuits always pass through one NMOS and one PMOS transistors. In contrast, CMOS C-elements contain pull-up paths that traverse two PMOS transistors in series. This difference contributes to the lower delay of the dynamic GDI C-element.
While the A input in both GDI circuits drives transistor gates, the B input does not drive any gates of the GDI cells; rather, it is only gated to the output through pass transistors. The signal path to the output is double-controlled, by the other input (A) and by the output (C). This double-control reduces the probability of output hazards. This advantage is extremely useful in asynchronous design, where the C-element is often assumed an atomic, hazard free building block (see J. Sparso and S. Furber (eds.), Principles of asynchronous circuit design—A systems perspective, Kluwer Academic Publishers, 2001). However, due to transmission through two pass transistors, the B signal degrades by at least one VT. In addition, the signal needs to drive not only the load, but also the feedback inverter. Consequently, the BC path becomes critical in the C-element. Finally, the B signal presents an increased load on the previous stage (which sources B).
This problem may be solved by buffer insertion. The buffered GDI C-element is presented in
One of the common disadvantages of pass gate logic is the static current due to VT drop, causing static power dissipation (as discussed by Al-Assadi et al.). However, the GDI C-elements presented in
GDI and CMOS three-input C-elements are shown in
A C-element can be replaced by an SR latch when the inputs are mutually exclusive, as shown in
The mutual exclusivity of the SR inputs contributes to the fact that no VT drop is observed in the circuit. The drop can occur only when 0 is applied to the diffusion input of one of the GDI cells in the F1-SR latch, or when 1 is applied to one of the GDI cells in the F2 circuit. In each case, thanks to mutual exclusion, the second GDI is biased as a simple inverter, and restores the voltage swing.
C-elements in common applications, such as Muller pipelines (see
To compare GDI and CMOS C-elements, all GDI and CMOS circuits were designed for a 0.35 μm technology with 3.3V supply. The circuits were simulated with the SpectreS simulator using BSIM3v3 MOSFET models with parasitic parameters. Comparisons were performed in terms of average power consumption, maximal delay and number of transistors of the circuit.
The shorting “x” transistors (see
For the C-element shown in
In terms of maximal delay, the dynamic GDI C-element is the fastest circuit, showing up to 89% maximal delay decrease compared to standard CMOS techniques, and a 63% improvement compared to the symmetric C-element, which is the fastest technique among CMOS circuits.
Dynamic and SR-based GDI circuits are the most area efficient (requiring up to 33% fewer transistors than CMOS). Buffered GDI, on the other hand, requires the highest number of transistors amongst the GDI circuits (12 transistors).
In summary, CMOS C-elements are preferred over GDI for some static circuits, but in other cases the dynamic GDI C-element or the GDI SR latch may offer a superior solution.
Simulations results for C-elements with inverted input A are presented in
Concerning average power, GDI offers up to 85% improvement in power dissipation compared to CMOS. This is consistent with the size reduction in SR-based circuits by elimination of the input inverter.
As for maximal delay, SR-F1, SR-F2 and the dynamic GDI demonstrate the shortest delay among all circuits. In total the delay improvement in GDI is in the 22%-82% range compared to CMOS.
Note that the inverted input GDI C-element is slower than the non-inverted input one. This is due to the fact that while in the non-inverted GDI each path through the pass-transistors contains one NMOS and one PMOS transistors, in the inverted input GDI one of the paths goes through two PMOS transistors.
As explained above, inverted-input CMOS circuits are bigger than non-inverted ones, and the opposite is true for the SR-based GDI circuits. Other GDI circuits have the same size in both cases.
Comparisons between GDI and CMOS implementations of Bundled-Data
Controllers were also made, in order to demonstrate the relative advantages of GDI over CMOS in a complex asynchronous circuit.
a shows a CMOS-based Bundled-Data Controller. For the GDI circuit (
RC delay units with time constant of 0.1 ns were inserted between each Request and its corresponding Acknowledge signals, to emulate a reasonable environment.
Simulation results are shown in
Results are now presented for GDI qDI combinational logic circuits. The qDI combinational logic circuit is implemented in CMOS and GDI, according to the DR-ST design methodology (see I. David, R. Ginosar, and M. Yoeli, “An Efficient Implementation of Boolean Functions as Self-Timed Circuits,” IEEE Trans. Computers, pp. 2-11, January 1992, contents of which are hereby incorporated by reference). The n-input, m-output DR-ST circuit comprises four interconnected subnets (see
A simple XOR gate is used as an example. The CMOS and GDI implementations of the ORN and DRN subnets of the XOR DR-ST gate are presented in
Three different combinations of subnet implementations are shown in
Simulation results are shown in
A more complex DR-ST combinational logic circuit is now presented. CMOS and Hybrid circuits of a full adder are designed and compared. The ORN and DRN subnets are presented in
Reference is now made to
Many of the abovedescribed preferred embodiments are described in A. Morgenshtein, A. Fish, I. A. Wagner, “Gate-Diffusion Input (GDI)—A Novel Power Efficient Method for Digital Circuits: A Detailed Methodology,” 14th IEEE International ASIC/SOC Conference, USA, September 2001, A. Morgenshtein, A. Fish, I. A. Wagner, “Gate-Diffusion Input (GDI)—A Technique for Low Power Design of Digital Circuits: Analysis and Characterization,” ISCAS'02, USA, May 2002, A. Morgenshtein, A. Fish, I. A. Wagner, “Gate-Diffusion Input (GDI)—A Power Efficient Method for Digital Combinatorial Circuits,” IEEE Transactions on VLSI Systems, vol. 10, no. 5, October 2002, and A. Morgenshtein, M. Moreinis and R. Ginosar, “Asynchronous Gate-Diffusion-Input (GDI) Circuits” to be published in IEEE Transactions on TVLSI Systems, which are all hereby incorporated by reference. Contents of any books and articles given above are hereby incorporated by reference.
The GDI logic technique described above provides a low-power alternative to existing logic circuit techniques. GDI is suitable for design of fast, low power circuits, using reduced number of transistors, while improving logic level swing and static power characteristics, and allowing simple top-down design by using a small cell library. GDI is suitable for implementation of a wide spectrum of logic circuits, using a variety of transistor technologies. GDI logic circuit performance is testable, so that automatic design and verification tools for GDI circuits can be readily developed. Accurate simulations of designed logic circuits can be performed prior to manufacture. GDI logic and logic circuit design methodology are therefore a promising new approach to logic circuit design.
It is expected that during the life of this patent many relevant logic circuits, logic gates, logic cells, transistors, and transistor technologies will be developed and the scope of the terms logic circuit, logic gate, logic cell, transistor, and transistor technology is intended to include all such new technologies a priori.
As used herein the term “about” refers to ±10%.
It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination.
Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims. All publications, patents and patent applications mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual publication, patent or patent application was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention.
This application is a continuation of U.S. patent application Ser. No. 11/826,281 filed on Jul. 13, 2007 now U.S. Pat. No. 7,716,625 which is a divisional of U.S. patent application Ser. No. 10/648,474 filed on Aug. 27, 2003, now U.S. Pat. No. 7,345,511 issued on Mar. 18, 2008, which claims the benefit of U.S. Provisional Patent Application No. 60/406,751 filed on Aug. 29, 2002. The contents of the above Applications are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
3986042 | Padgett et al. | Oct 1976 | A |
5412599 | Daniele et al. | May 1995 | A |
5917758 | Keeth | Jun 1999 | A |
6084437 | Sako | Jul 2000 | A |
6124736 | Yamashita et al. | Sep 2000 | A |
6185719 | Sako | Feb 2001 | B1 |
6486708 | Yamashita et al. | Nov 2002 | B2 |
6591402 | Chandra et al. | Jul 2003 | B1 |
7305650 | Jensen | Dec 2007 | B1 |
7345511 | Morgenshtein et al. | Mar 2008 | B2 |
20040130349 | Morgenshtein et al. | Jul 2004 | A1 |
20070261015 | Morgenshtein et al. | Nov 2007 | A1 |
20100231263 | Fish et al. | Sep 2010 | A1 |
Number | Date | Country |
---|---|---|
WO 2006087698 | Aug 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20100194439 A1 | Aug 2010 | US |
Number | Date | Country | |
---|---|---|---|
60406751 | Aug 2002 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10648474 | Aug 2003 | US |
Child | 11826281 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11826281 | Jul 2007 | US |
Child | 12758072 | US |