The present invention relates to the field of tri-state drivers, and more particularly to an eight transistor tri-state driver implementing cascade structures to reduce peak current consumption, layout area and slew rate.
A tri-state driver is a logic circuit having an output terminal which can be driven to any of three states. Current can be supplied into the output terminal in a first state, current can be drawn from the output terminal in a second state, or the output can assume an isolated (floating) condition in a third state. That is, a tri-state driver provides an inactive state (low or zero), an active state (high or one) and an intermediate, high-impedance state (Hi-Z).
Tri-state drivers may be used in various applications, such as avoiding bus contention. Bus contention may refer to the situation when two devices simultaneously drive a bus and the transmitted information becomes garbled and unreliable. Bus contention may be avoided by requiring the tri-state driver to be in an intermediate, high-impedance state at a particular time, such as when a control signal for a processing unit is switched from one logic level to another logic level. Other applications include being used for on-chip interconnects. For example, the tri-state driver may be in a high-impedance state when incoming signals are not changing thereby reducing power consumption.
One approach for obtaining tri-state operation is to drive the output terminal with a pair of complementary output transistors serially connected between a power supply node and ground, and to provide a logic circuit for separately controlling the gates of the complementary transistor pair. In response to one condition of a control signal, the tri-state driver applies the same polarity signals to the control electrodes of the output transistors, clamping the output terminal either to the power supply point or to ground depending upon the sense of the control signal. In response to another condition of the control signal, the tri-state driver supplies suitable complementary signals to the complementary transistors, to bias both of them off concurrently and thereby to isolate the output terminal. This approach offers low impedance symmetrical drive with low shunt capacity to the output and provides high speed operation.
Tri-state drivers may be devised with various designs. Two classic designs for tri-state drivers include the four transistor tri-state driver illustrated in
Referring to
Tri-state drivers 100, 200 have relatively high peak current consumption, use a relatively large layout area and have a relatively high slew rate (referring to the maximum rate of change of a signal). If a tri-state driver could be designed with a lower peak current consumption, a reduced slew rate, as well as a reduction in the amount of layout area used, then a more optimized tri-state driver could be used, such as for on-chip interconnects.
Therefore, there is a need in the art for an improved tri-state driver with a lower peak current consumption, a reduced slew rate, as well as a reduction in the amount of layout area.
The problems outlined above may at least in part be solved in some embodiments by having a tri-state driver implement multiple cascade structures where each cascade structure may refer to a pair of complementary transistors serially connected. Each cascade structure may include a p-conductivity type transistor serially connected to a n-conductivity type transistor. By implementing cascade structures in a tri-state driver, there is a lower peak current consumption, a reduced slew rate as well as a reduction in the amount of layout area used in comparison to the classic tri-state drivers. The peak current consumption and the slew rate are reduced at least in part due to the complementary structure of these cascade structures, which prevent charge sharing effects. Charge sharing may refer to having the charge at a node shared among multiple connected structures. Further, the layout area may be reduced by using a smaller number of transistors as well as by being able to use smaller sized transistors than the classic tri-state drivers.
In one embodiment of the present invention, a tri-state driver comprises a first cascade structure coupled to a data input signal. The tri-state driver further comprises a second cascade structure coupled to an enable signal. The tri-state drive additionally comprises a third cascade structure coupled to an inverse of a logic state of the enable signal, where the second and third cascade structures are coupled to the first cascade structure. The tri-state driver further comprises a fourth cascade structure coupled to the second and third cascade structures, where the fourth cascade structure is coupled to an output of the tri-state driver.
The foregoing has outlined rather generally the features and technical advantages of one or more embodiments of the present invention in order that the detailed description of the present invention that follows may be better understood. Additional features and advantages of the present invention will be described hereinafter which may form the subject of the claims of the present invention.
A better understanding of the present invention can be obtained when the following detailed description is considered in conjunction with the following drawings, in which:
The present invention comprises an eight transistor tri-state driver. In one embodiment of the present invention, the tri-state driver implements multiple cascade structures where each cascade structure may refer to a pair of complementary transistors serially connected. Each cascade structure may include a p-conductivity type transistor serially connected to a n-conductivity type transistor. By implementing cascade structures in a tri-state driver, there is a lower peak current consumption, a reduced slew rate as well as a reduction in the amount of layout area used in comparison to the classic tri-state drivers. The peak current consumption and the slew rate are reduced at least in part due to the complementary structure of these cascade structures, which prevent charge sharing effects. Charge sharing may refer to having the charge at a node shared among multiple connected structures. Further, the layout area may be reduced by using a smaller number of transistors as well as by being able to use smaller sized transistors than the classic tri-state drivers.
In the following description, numerous specific details are set forth to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without such specific details. In other instances, well-known circuits have been shown in block diagram form in order not to obscure the present invention in unnecessary detail. For the most part, details considering timing considerations and the like have been omitted inasmuch as such details are not necessary to obtain a complete understanding of the present invention and are within the skills of persons of ordinary skill in the relevant art.
As stated in the Background Information section, classic tri-state drivers, such as tri-state drivers 100, 200 (
Referring to
Referring to cascade structure 301 of
Referring to cascade structure 302 of
Referring to cascade structure 303 of
Referring to cascade structure 304 of
The operation of tri-state driver 300 will now be discussed in connection with
A brief description of the operation of cascade structure 301B, including the various logical states of the “hi” node, will now be discussed. Referring to
When the enable signal (designated as either “enable” or “EN”) is at a low logical state, transistor P2 is activated and transistor N2 is deactivated. When both the input data signal is at a low logical state (hence the inverse of the input data signal is at a high logical state) and the enable signal is at a low logical state, the logical state at the “hi” node is at the high logical state (designated as “1” in truth table 400). The logical state at the “hi” node is high since P2 is activated and N2 is deactivated thereby causing the “hi” node to pull up to the positive potential of VDD volts.
When the enable signal (designated as either “enable” or “EN”) is at a high logical state, transistor P2 is deactivated and transistor N2 is activated. When both the input data signal is at a low logical state (hence the inverse of the input data signal is at a high logical state) and the enable signal is at a high logical state, the logical state at the “hi” node is at the high logical state (designated as “1” in truth table 400). The logical state at the “hi” node is high since the logical state at the node connected to the source of transistor N2 is high (inverse of the input data signal is at a high logical state) thereby causing the signal from that node to flow through transistor N2 to the “hi” node. This is possible since transistor N2 is bidirectional.
When the input data signal (designated as “A”) is at a high logical state, then transistor P1 is deactivated and transistor N1 is activated. Further, when the input data signal is at a high logical state, the inverse of the input data signal (designated as a bar above “A”) is at a low logical state.
As discussed above, when the enable signal (designated as either “enable” or “EN”) is at a low logical state, transistor P2 is activated and transistor N2 is deactivated. When both the input data signal is at a high logical state (hence the inverse of the input data signal is at a low logical state) and the enable signal is at a low logical state, then the logical state at the “hi” node is at the high logical state (designated as “1” in truth table 400). The logical state at the “hi” node is high since P2 is activated and N2 is deactivated thereby causing the “hi” node to pull up to the positive potential of VDD volts.
As discussed above, when the enable signal (designated as either “enable” or “EN”) is at a high logical state, transistor P2 is deactivated and transistor N2 is activated. When both the input data signal is at a high logical state (hence the inverse of the input data signal is at a low logical state) and the enable signal is at a high logical state, then the logical state at the “hi” node is at the low logical state (designated as “0” in truth table 400). The logical state at the “hi” node is low since transistor N2 is activated and the node connected to the source of transistor N2 is low (the inverse of the input data signal is at a low logical state) which causes the current to flow down through transistor N2 towards cascade structure 301C.
A brief description of the operation of cascade structure 301C, including the various logical states of the “lo” node, will now be discussed. When the enable signal is at a low logical state, then the inverse of the enable signal (designated as a bar above the enable signal) is at a high logical state. When the inverse of the enable signal is at a high logical state, then transistor P3 is deactivated and transistor N3 is activated.
When both the input data signal is at a low logical state (hence the inverse of the input data signal is at a high logical state) and the enable signal is at a low logical state (hence the inverse of the enable signal is at a high logical state), then the logical state at the “lo” node is at the low logical state (designated as “0” in truth table 500). The logical state at the “lo” node is low since transistor P3 is deactivated and transistor N3 is activated thereby causing the “lo” node to pull down to ground.
Further, when both the input data signal is at a high logical state (hence the inverse of the input data signal is at a low logical state) and the enable signal is at a low logical state (hence the inverse of the enable signal is at a high logical state), then the logical state at the “lo” node is at the low logical state (designated as “0” in truth table 500). The logical state at the “lo” node is low since transistor P3 is deactivated and transistor N3 is activated thereby causing the “lo” node to pull down to ground.
When the enable signal is at a high logical state (hence the inverse of the enable signal is at a low logical state), then transistor P3 is activated and transistor N3 is deactivated.
When both the input data signal is at a low logical state (hence the inverse of the input data signal is at a high logical state) and the enable signal is at a high logical state (hence the inverse of the enable signal is at a low logical state), then the logical state at the “lo” node is at the high logical state (designated as “1” in truth table 500). The logical state at the “lo” node is high since transistor P3 is activated, the node connected to the source of transistor P3 is high (the inverse of the input data signal is at a high logical state), and transistor N3 is deactivated thereby causing the “lo” node to pull to a high logical state.
However, if both the input data signal is at a high logical state (hence the inverse of the input data signal is at a low logical state) and the enable signal is at a high logical state (hence the inverse of the enable signal is at a low logical state), then the logical state at the “lo” node is at the low logical state (designated as “0” in truth table 500). The logical state at the “lo” node is low since the node connected to the source of transistor P3 (which is activated) is low which causes the current to flow up through transistor P3 towards cascade structure 301B thereby pulling the “lo” node down towards ground.
Based on the logical states of the “hi” and “lo” nodes, the output of tri-state inverter 300 may be in one of three states: inactive state (low or zero), an active state (high or one) and an intermediate, high-impedance state (Hi-Z) as discussed below in connection with
Referring to
When the “hi” node is at a high logical state, then transistor P4 is deactivated. When the “hi” node is at a high logical state and the “lo” node is at a low logical state, then the output is at the high-impedance state (designated as “Z” in truth table 600). Tri-state driver 300 enters the high-impedance state when both transistors P4 and N4 are deactivated.
When the “lo” node is at a high logical state, transistor N4 is activated. When both the “hi” and “lo” nodes are at a high logical state, the output of tri-state driver is at a low logical state (designated as “0” in truth table 600). Since transistor P4 is deactivated and transistor N4 is activated, the output is pulled down to ground.
Referring to
Referring to
Although the tri-state driver is described in connection with several embodiments, it is not intended to be limited to the specific forms set forth herein, but on the contrary, it is intended to cover such alternatives, modifications and equivalents, as can be reasonably included within the spirit and scope of the invention as defined by the appended claims. It is noted that the headings are used only for organizational purposes and not meant to limit the scope of the description or claims.