|Publication number||US4631420 A|
|Application number||US 06/578,445|
|Publication date||Dec 23, 1986|
|Filing date||Feb 9, 1984|
|Priority date||Feb 9, 1984|
|Publication number||06578445, 578445, US 4631420 A, US 4631420A, US-A-4631420, US4631420 A, US4631420A|
|Inventors||Ernest E. Hollis, Joseph H. Born|
|Original Assignee||Sanders Associates, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (8), Referenced by (20), Classifications (11), Legal Events (9)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention is directed to flip-flops, particularly those of the type employed in dynamic synchronous circuits.
One of the basic elements of many digital systems is the D-type flip-flop. The D-type flip-flop is often used as a synchronous device; the value of its output depends on the value that its input had at the occurrence of the most recent clock signal. In some systems, however, it is desired to be able to reset the D-type flip-flop asynchronously, too; i.e., to reset the flip-flop at a time that is independent of the clock signal. Typically, a reset input terminal is provided, and pulsing the terminal resets the flip-flop.
If the flip-flop is a dynamic circuit--i.e., if it must be refreshed periodically--retention of a given state usually depends on capacitances in the circuit that are able to maintain the necessary charge until the next refresh of the circuit. In some circumstances, however, it is desirable for a dynamic circuit to have the additional capability of being reset in a static manner. For instance, if a synchronous circuit is to be initialized so that all of its flip-flops are reset before the clocking operations begin, the capacitances in the flip-flops will not in general be great enough to maintain the reset condition until synchronous operation starts. Accordingly, additional circuitry is required to provide the static-reset feature, i.e., to keep the flip-flops reset indefinitely. But such additional circuitry can slow the flip-flop considerably.
It is accordingly an object of the present invention to afford the static-reset feature with a minimum of additional circuitry and thereby minimize the reduction in speed that the addition of a static-reset feature causes.
The foregoing and related objects are achieved in a flip-flop that includes first and second transmission gates. The output port of the first transmission gate is electrically connected to an input terminal of a NAND gate, which will be referred to as the "state gate." The first transmission gate receives as its input the D input to the flip-flop. It also receives a clock input, which switches the first transmission gate between an enabled state, in which it forwards the D input to the state-gate input terminal, and a disabled state, in which it holds at the state-gate input terminal the value that the D input had when the transmission gate was previously disabled.
A second transmission gate receives the output of the state gate and is clocked in such a relationship with the clocking of the first transmission gate that the D input values reflected in the output of the second transmission gate are only those that are present at the times when the first transmission gate is disabled. The output port of the second transmission gate is adapted for connection to a capacitive load, typically an inverter, whose output is the Q output of the flip-flop.
In this simple circuit, the flip-flop can be reset asynchronously by applying a false signal to another, reset input port of the state gate. To maintain the reset condition statically, a latch gate can be provided that receives as one input the output of the state gate. The latch gate applies its output as another, latch input to the state gate. The latch gate thereby provides a feedback path, and this feedback path is controlled by an enable signal fed to another terminal of the latch gate.
When the latch and reset inputs to the state gate are true, the state gate simply presents an output that reflects the value of the signal held at its remaining, or data, input terminal by the first transmission gate, and the second transmission gate forwards only signals that reflect the values that the output of the first transmission gate has when that gate is disabled. In this mode, therefore, the circuit performs synchronously in the normal manner of a D-type flip-flop.
When a false signal is applied to the reset input terminal of the state gate, the state gate goes to its reset state independently of the timing of the clock signals at the transmission gate and independently of the value of the D input. That is, the flip-flop is reset asynchronously. In order to maintain the reset condition statically after the signal at the reset terminal of the state gate returns to true, an enable signal is held at the enable input terminal of the latch gate, enabling it to apply a false signal to the latch input terminal of the state gate when the flip-flop is reset. The reset condition can thereby be held indefinitely.
An alternative means for statically resetting the flip-flop is to employ, instead of the latch gate, a reset gate whose output is the input to the state-gate reset port. In this arrangement, the state gate has no latch input port. The reset gate receives as an input the reset signal used for asynchronously resetting the flip-flop, and it forwards this signal to the state gate to reset the flip-flop in the normal manner. For static resetting, a signal at the other input port of the reset gate is kept at an enable level for the duration of the static reset. This signal, too, is forwarded by the reset gate, which thereby holds the flip-flop reset until the enable signal is removed.
These and further features and advantages of the present invention can be appreciated by reference to the accompanying drawings, in which:
FIG. 1 is a schematic diagram of one embodiment of the flip-flop of the present invention;
FIG. 2 is a timing diagram showing the relationships of various of the signals applied to the circuit of FIG. 1; and
FIG. 3 is a schematic diagram of another embodiment of the present invention.
One embodiment of the present invention is illustrated in FIG. 1, which shows a D-type flip-flop 10 implemented in a complementary-symmetry metal-oxide-semiconductor (CMOS) circuit. The circuit includes a transmission gate 12 that receives the D input of the flip-flop on line 14 and receives the clock signal CLK1 and its complement on lines 16a and 16b, respectively. The flip-flop delivers the Q output and its complement on lines 42 and 44, respectively.
When CLK1 is at its true level, the transmission gate 12 assumes its enabled, or transparent, state, in which the value of the signal on the input line 14 appears on the output line 18. In the other state of CLK1, transmission gate 12 is in its disabled, or hold, state, in which the transmission-gate output retains on line 18 the signal value that it had when it switched to its disabled condition. The value is retained because the high output impedance of the gate 12 when the gate is disabled tends to hold charge on the input capacitance of a NAND gate 20, referred to below as the "state gate," to which the output line 18 of the transmission gate 12 is electrically connected.
In addition to its data input on line 18, NAND gate 20 receives a reset input on line 22. For convenience and clarity, it will be assumed that the circuit is implemented in positive logic: a high voltage is a logical true and a low voltage is a logical false. As the discussion accompanying FIG. 2 will indicate, a low value on line 22 causes the flip-flop 10 to reset; i.e., its Q value goes false.
The third input to NAND gate 20 is the signal on an output line 24 of another NAND gate, "latch gate" 26. A feedback line 28 provides, as an input to the latch gate 26, the signal on the output line 30 of the state gate 20. The other input to the latch gate 26 is the signal on an enable line 32. The function of the latch gate 26 is to latch the flip-flop in its reset state when the signal voltage on the enable line 32 is high.
A second transmission gate 34 receives as its input the output of the state gate 20 on line 30. The second transmission gate is clocked by a second clock signal CLK2 and its complement on lines 36a and 36b, respectively. In ordinary synchronous operation, CLK2 may simply be the inverse of CLK1, but the two clock signals are named separately because CLK2 will typically differ somewhat from the inverse of CLK1 during an asynchronous resetting operation, as will be described below. Furthermore, even in strictly synchronous operation, it may be desired to improve the speed of the circuit by allowing some overlap between the two clock signals. The purposes of the second transmission gate 34 are to prevent premature transmission of the output to the next circuit stage and to prevent the output of the flip-flop 10 from being affected by any value of the D input other than that present at the time that the first transmission gate is disabled, i.e., other than the D value that coincides with the trailing edge of the CLK1 signal. A small overlap that is less than the signal propagation time between the two transmission gates is consistent with those purposes.
The output line 38 of the second transmission gate 34 is connected to the input terminal of an inverter 40, whose output is on the line 42 that carries the Q output of the flip-flop 10. Line 44, which carries the Q-complement output of the flip-flop 10, receives the output of the second transmission gate 34. In some specific situations, the complement output line 44 may be connected to line 30 rather than to line 38. This eliminates the propagation delay of the second transmission gate 34. Although the resultant signal on line 44 in such an instance would not strictly be the complement of the Q output--i.e., it would be a transparent-latch output rather than a flip-flop output--the difference may be acceptable in some circumstances.
Description of the operation of the circuit of FIG. 1 will be carried out in connection with the timing diagram of FIG. 2, which depicts signals at various points in the circuit. The circuit will typically be implemented as a high-speed device, in which the propagation delays within the circuit are significant fractions of a clock period. As a result, these delays cannot be ignored for most design purposes. FIG. 2 omits these propagation delays for the sake of simplicity, but it should be kept in mind that the signals depicted in FIG. 2 are actually shifted somewhat in practical versions of the device.
FIG. 2 shows that CLK1 consists of a train of periodically occurring pulses. The trailing edges of these pulses represent the clock times of the circuit, and the only values of the D input that have an effect on the output state of the flip-flop 10 in synchronous operation are the ones that occur at these clock times; in general, the D input may change state between clock times, but the output on line 38 of the second transmission gate 34 does not change until the next clock time in the absence of a reset pulse.
During synchronous operation, the reset and latch inputs on lines 22 and 24, respectively, are usually high, so the output on line 30 of the state gate 20 is usually the complement of the signal on line 18. This result is shown in FIG. 2 from the beginning of the diagram through t2.
In the portion of the diagram prior to t1, CLK1 starts out at a low value, so the first transmission gate 12 is disabled. During this time, while CLK1 is low, the D input goes from a low value to a high value, but the signal on line 18 does not respond to this change in value until CLK1 goes high a half cycle before t1. When CLK1 does go high, the first transmission gate 12 is enabled, so the subsequent high-to-low transition of the D input results in an immediate similar transition of the signal on line 18. (Again, propagation delays have been omitted from the diagram for the sake of simplicity; in a practical circuit, there is some propagation delay between the high-to-low transition of the D input and the high-to-low transition of the signal on line 18.)
Since the reset signal is high and the enable signal low during this period, the state-gate output, which is labeled "line 30" in FIG. 2, is simply the complement of the signal on line 18 in this initial portion of the diagram. Thus, there is a negative pulse in the portion of the line 30 signal that precedes t1. The Q output does not respond to this pulse, however, because CLK2 goes low, and thus disables the second transmission gate 34, before the high-to-low transition on line 30 has propagated to that transmission gate.
At t1, CLK1 goes low, disabling the first transmission gate 12. As was mentioned above, the only values of the D input that affect the Q output are those that coincide with the trailing edges of CLK1, and the D input has a low value at t1 in the illustrated example. This value is held on line 18 for a half clock cycle after t1, even though the D input changes its value in the interim. The complement of this signal appears in the state-gate output on line 30, and the high value of CLK2 enables the second transmission gate 34 to permit the line 30 signal to propagate by way of line 38 to the output inverter 40, which presents the complement of the line 38 signal on line 42. CLK1 goes high a half cycle after t1, and the first transmission gate 12 thereby permits the current value of the D input to propagate onto line 18 so that its complement appears on line 30. However, CLK2 goes low when CLK1 goes high, and the second transmission gate 34 thus does not permit the Q output to respond to these interim values of the D input.
In summary, the first transmission gate is disabled at each clock time and remains disabled for a half cycle thereafter to hold the value that the D input had at the clock time. During this first half cycle, the second transmission gate allows the resultant signals through so that the output is indicative of the value that the D input had at that clock time. A half cycle after the clock time, the first transmission gate 12 opens to let new D values through, but the second transmission gate closes to hold the output until the next clock time. This is why the only values of the D input to which the Q output responds are those that coincide with clock times.
At t2, the value of the D input is high, and the Q output goes high at t2 in response to this value of the D input. Ordinarily, the high Q-output value would remain at least until the next clock time, t3. However, the flip-flop 10 is reset between t2 and t3 in the FIG. 2 example because the reset line 22 goes low to cause the state-gate output on line 30 to go high. The timing circuitry (not shown) is arranged so that a low-going reset signal causes the CLK2 signal to go high, as FIG. 2 indicates, and the signal on line 30 can thus propagate through the now-enabled second transmission gate 34 to the input port of the output inverter 40, which accordingly goes low.
When the reset signal, which typically is momentary, again goes high, the state-gate output goes low in response, but the Q output remains low--i.e., the flip-flop 10 remains reset--because the CLK2 signal goes low in response to the low-to-high transition of the reset signal, disabling the second transmission gate 34 and preventing the change in the line 30 signal from propagating to the output.
Ordinarily, this reset state might change at the next clock time, t3, when the transmission gate 34 would again be enabled. This normal operation is indicated in dashed lines in FIG. 2. However, the solid lines in FIG. 2 depict a situation in which clocking stops before t3. The reason for depicting a stopped clock is to demonstrate the difference between a simple reset with a low enable signal, which is shown between t2 and t3, and a reset with a high enable signal, which is shown farther to the right.
A break in the diagram is depicted by a first set of broken lines 43, which represent a fairly long period of time so that the diagram resumes at about t100. (The "t100 " indicates a long period of time later; it is not meant to suggest that the clock has started again.) Although the Q output begins at a low state before this long interval, and although none of the other signals depicted in FIG. 2 changes during this time, the Q output returns to a high state during time interval 43 because that time interval is long enough to permit the charge on the gate capacitance of the inverter 40 to leak off. The signal on line 38 thus goes low and the Q output goes high.
Between time interval 43 and a further time interval depicted by broken lines 45, two pulses occur in the D input. Since the CLK1 signal remains at a high level, both pulses propagate through to line 18. The reset signal is high and the enable signal is low during the first pulse, so its complement appears on line 30. Since CLK2 is low, however, the disabled second transmission gate 34 prevents this pulse from appearing in the Q output.
Between these two pulses in the D input, a pulse occurs on the reset line 22, and the enable signal goes high in the middle of the reset pulse and stays high. The high-to-low transition in the reset signal causes the state-gate output on line 30 to go high. It also causes the CLK2 signal to go high, and this high CLK2 signal enables the second transmission gate 34, which thereby permits the line 30 signal to propagate to the inverter 40, causing a low value on the Q output to indicate the reset state.
Since the state gate output on line 30 is high because of the low reset signal, the latch-gate output on line 24 goes low when the signal on the enable line 32 goes high. This latches the state gate 20 in its high-output state. Consequently, when the reset signal subsequently goes high again, the signal on the state-gate output line 30 remains high.
The clocking circuitry (not shown) is arranged so that the CLK2 signal remains high so long as the enable signal does. Thus, the high signal on the state-gate output line 30 is permitted to propagate through to the input port of the output inverter 40, causing the Q output to remain low--i.e., causing the flip-flop 10 to remain reset.
The second pulse in the D input, although permitted by the first transmission gate 12 to propagate through to line 18, does not affect the Q output, because, once the state-gate output is high, the high enable signal keeps it high regardless of the values of the other inputs to the state gate 20.
Unlike the first interval 43, the second interval 45 does not result in a change of the Q output. This is because the duration of the Q output when the enable line is high does not depend on the length of time that the second transmission gate 34 can keep a charge on the gate capacitance of the output inverter 40. While the enable signal stays high, the output of the state gate 20 remains high, and the Q output on line 42 remains low because the second transmission gate 34 is enabled. Thus, the circuit of FIG. 1 has provision for a static reset: the reset state can be held indefinitely if the enable signal remains at a high value.
An alternate version of the circuit of the present invention is depicted in FIG. 3, in which corresponding reference numerals refer to elements whose operation is essentially the same as that of correspondingly numbered elements in FIG. 1. Comparison of the circuits of FIGS. 1 and 3 reveals that there are two basic differences between the circuits. First, the circuit of FIG. 3 does not include the latch gate 26 employed in the FIG. 1 circuit to provide feedback to latch a reset condition. As a result, the state gate 20 in the FIG. 3 circuit has only two input lines. Another result is that the FIG. 3 circuit is slightly faster than that of FIG. 1 because the state gate 20 drives only the second transmission gate 34 in the FIG. 3 arrangement.
The other difference is that the reset input line to the state gate 20 in FIG. 3 receives the output of an AND gate 46. AND gate 46 receives as inputs signals on two input lines 50 and 52. The functions of these signals are similar but not exactly the same as those of the signals on lines 22 and 32, respectively, of FIG. 1.
Specifically, the signal on line 52 of FIG. 3 is normally high, and the signal on line 50 can go low to reset the flip-flop asynchronously. Thus, the flip-flop of FIG. 3 operates in a manner essentially the same as that of the flip-flop of FIG. 1 during synchronous operation, whether or not the flip-flop is additionally reset asynchronously.
The difference in operation occurs when the flip-flop is to be reset statically. In order to reset the FIG. 3 flip-flop statically, a low static-reset signal is placed on input line 52 to the AND gate 46. The signal on line 52 is held so long as the reset condition is to be held. An advantage of the circuit of FIG. 3 is that a single gate 46 can be used to provide the static-reset function to all of the flip-flops in a given circuit. Thus, one gate per flip-flop is saved.
In summary, by following the teachings of the present invention, it is possible to provide a dynamic D-type flip-flop with an asynchronous-reset feature as well as a static-reset feature in a circuit containing as few as two transmission gates, one two-input NAND gate, and an inverter per flip-flop plus a common gate for the static-reset feature. Furthermore, the circuit is provided in an arrangement having a minimum of internal capacitive loading. These features are particularly important in high-speed complementary-symmetry metal-oxide-semiconductor circuits, contributing significantly to the speed of the circuit and keeping its power requirements to a minimum.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US3739193 *||Jan 11, 1971||Jun 12, 1973||Rca Corp||Logic circuit|
|US3812384 *||May 17, 1973||May 21, 1974||Rca Corp||Set-reset flip-flop|
|US3993916 *||May 21, 1975||Nov 23, 1976||Bell Telephone Laboratories, Incorporated||Functionally static type semiconductor shift register with half dynamic-half static stages|
|US4114052 *||May 27, 1977||Sep 12, 1978||Tokyo Shibaura Electric Co., Ltd.||Presettable dynamic delay flip-flop circuit|
|US4181862 *||Sep 12, 1977||Jan 1, 1980||Rca Corporation||High speed resettable dynamic counter|
|US4492927 *||Sep 30, 1982||Jan 8, 1985||Mostek Corporation||Offset voltage compensation circuit|
|US4495628 *||Jun 17, 1982||Jan 22, 1985||Storage Technology Partners||CMOS LSI and VLSI chips having internal delay testing capability|
|JPS5579524A *||Title not available|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US4985641 *||Feb 24, 1989||Jan 15, 1991||Mitsubishi Denki Kabushiki Kaisha||Semiconductor integrated circuit device having selectable operational functions|
|US5498988 *||Nov 25, 1994||Mar 12, 1996||Motorola, Inc.||Low power flip-flop circuit and method thereof|
|US5546035 *||Feb 17, 1995||Aug 13, 1996||Nec Corporation||Latch circuit having a logical operation function|
|US5929675 *||Jul 2, 1997||Jul 27, 1999||Lg Semicon Co., Ltd.||Power applying circuit with initial reset pulse for semiconductor memory|
|US6288932 *||Jun 1, 2000||Sep 11, 2001||Sun Microsystems, Inc.||Dynamic flop with power down mode|
|US6424195||May 16, 2001||Jul 23, 2002||Sun Microsystems, Inc.||Dynamic flop with power down mode|
|US6573774 *||Mar 25, 2002||Jun 3, 2003||Aeroflex Utmc Microelectronic Systems, Inc.||Error correcting latch|
|US6654893||Jun 1, 2000||Nov 25, 2003||Sun Microsystems, Inc.||System and method of operating a dynamic flip-flop in power down mode with shut-off circuit|
|US6831496||Nov 19, 2002||Dec 14, 2004||Aeroflex Utmc Microelectronic Systems, Inc.||Error correcting latch|
|US7071749||Jun 15, 2004||Jul 4, 2006||Aeroflex Colorado Springs Inc.||Error correcting latch|
|US7414872 *||Sep 12, 2006||Aug 19, 2008||Jinn-Shyan Wang||Segmented search line circuit device for content addressable memory|
|US8395431||Jun 13, 2007||Mar 12, 2013||Kabushiki Kaisha Toshiba||Semiconductor integrated circuit device|
|US8471595||Jan 19, 2012||Jun 25, 2013||International Business Machines Corporation||Selectable dynamic/static latch with embedded logic|
|US8558595||Feb 14, 2013||Oct 15, 2013||Kabushiki Kaisha Toshiba||Semiconductor integrated circuit device|
|US20030179030 *||Nov 19, 2002||Sep 25, 2003||Gardner Harry N.||Error correcting latch|
|US20040227551 *||Jun 15, 2004||Nov 18, 2004||Gardner Harry N.||Error correcting latch|
|US20070290734 *||Jun 13, 2007||Dec 20, 2007||Kabushiki Kaisha Toshiba||Semiconductor integrated circuit device|
|US20080062804 *||Sep 12, 2006||Mar 13, 2008||Jinn-Shyan Wang||Segmented search line circuit device for content addressable memory|
|EP0552046A2 *||Jan 15, 1993||Jul 21, 1993||Sony Corporation||Complementary logic circuit|
|EP0552046A3 *||Jan 15, 1993||Apr 27, 1994||Sony Corp||Title not available|
|U.S. Classification||327/201, 327/198|
|International Classification||G11C11/402, H03K3/037, H03K3/356|
|Cooperative Classification||H03K3/037, G11C11/4023, H03K3/35606|
|European Classification||H03K3/037, G11C11/402A, H03K3/356D4B|
|Feb 9, 1984||AS||Assignment|
Owner name: SANDERS ASSOCIATES, INC. DANIEL WEBSTER HIGHWAY SO
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:HOLLIS, ERNEST E.;BORN, JOSEPH H.;REEL/FRAME:004229/0505;SIGNING DATES FROM 19831222 TO 19840103
|Mar 5, 1990||FPAY||Fee payment|
Year of fee payment: 4
|May 25, 1994||FPAY||Fee payment|
Year of fee payment: 8
|Jul 14, 1998||REMI||Maintenance fee reminder mailed|
|Nov 16, 1998||AS||Assignment|
Owner name: LOCKHEED SANDERS, INC., MARYLAND
Free format text: CHANGE OF NAME;ASSIGNOR:SANDERS ASSOCIATES, INC.;REEL/FRAME:009570/0883
Effective date: 19900109
|Dec 20, 1998||LAPS||Lapse for failure to pay maintenance fees|
|Mar 2, 1999||FP||Expired due to failure to pay maintenance fee|
Effective date: 19981223
|May 25, 2000||AS||Assignment|
Owner name: LOCKHEED CORPORATION, MARYLAND
Free format text: MERGER;ASSIGNOR:LOCKHEED SANDERS, INC.;REEL/FRAME:010859/0486
Effective date: 19960125
|Jun 12, 2000||AS||Assignment|
Owner name: LOCKHEED MARTIN CORPORATION, MARYLAND
Free format text: MERGER;ASSIGNOR:LOCKHEED CORPORATION;REEL/FRAME:010871/0442
Effective date: 19960128