Metastable-immune flip-flop arrangement

Abstract: A D-Type flip-flop arrangement includes first and second latches (30, 46). Circuitry (44) interposed between the latches blocks any metastable condition that may occur in the first latch from propagating into the second latch. Additionally, the arrangement minimizes the likelihood that the first latch will enter a metastable condition and, if it does, resolves the condition extremely rapidly.

Description: The invention relates to a flipflop arrangement comprising a first latch having a data input and an output, the first latch being switchable between an enabled state and a disabled state, the first latch being arranged for, in response to initiation of the enabled state, capturing input data signals received at the data input and for upon capturing providing for the duration the enabled state an output signal having at least a pre-specified magnitude at the output, the first latch providing an output signal having less than the pre-specified magnitude at the output during the disabled state; a second latch having a data input coupled to the output of the first latch; detection means for controlling the second latch dependent on whether the first latch has captured the input signals. Various types of flip-flop arrangements are known in the digital signal processing art. One of these types, commonly referred to as a clocked data-(or D-) type flip-flop, includes two interconnected latches and is utilized in a number of applications of practical importance. Such a clocked flip-flop arrangement typically includes a first latch to which input data signals and clock signals are applied. In turn, the output of the first latch is applied to a second latch that provides the output signals of the arrangement. In operation, ambiguous signals sometimes occur at the input of the clocked flip-flop arrangement. Such signals can cause the first latch to go through a so-called metastable state. This state differs from the prescribed output digital states that the first latch is designed to provide. If such a metastable state occurs, non-prescribed signals are supplied to the second latch. In response thereto, the second latch may provide erroneous or ambiguous signals that can deleteriously affect the operation of associated circuitry connected to the output of the second latch. Accordingly, workers in the art have directed efforts aimed at trying to resolve the aforestated metastability problem in clocked flip-flop arrangements. It was recognized that these efforts, if successful, would contribute significantly to meeting stringent modern-day demands for realizing ever more reliable and dependable digital circuitry. In Patentschrift No 142 113 from the Deutsche Demokratische Republik a flipflop circuit of this type is described in which the first latch is implemented using interconnected logic gates. Inside this first latch signals are available which make it possible to determine in the disabled state whether the output signals would exhibit the metastable state if the first latch were switched into the enabled state. If this is the case, switching from the disabled state to the enabled state is not performed immediately upon receiving the input clock signal, but delayed until it is certain that the output signals will be stable. While this solution solves the metastability problem for a first latch built form individual logic gates, in which internal signals are available, it is not applicable to latches in which no internal signals are available, and no valid logic output signal is available in the disabled state. Yet the use of such latches is desirable because of their low transistor count and their speed. It is an object of the invention to resolve the metastability problem using only the output signal available in the enabled state. The flipflop arrangement according to the invention is characterized, in that the detection means are coupled between the output of the first latch and the data input of the second latch, and control the second latch on a detection of the output signal of the first latch having at least the pre-specified magnitude, signifying said capture; the flipflop arrangement comprises enabling means for switching the first latch from the disabled state into the enabled state in response to an input clock signal, and for switching the first latch into the disabled state in response to a reset signal received from the detection means, which are operative to provide the reset signal upon said detection. An enabling clock signal applied to the first latch via the clock latch circuit persists until the first latch has passed through any metastable condition that may occur. In turn, the detector does not propagate a signal representative of the data signal to the second latch until the first latch has passed through the metastable condition. Only after the first latch attains one of its prescribed digital representations is its output effective to cause the detector to provide a signal to the second latch. At the same time, the detector also supplies a signal to the clock latch circuit to reset it to its non-enabling state, thus preparing the arrangement for the start of another clock cycle. Further, in accordance with this invention, the flip-flop arrangement is designed to minimize the likelihood that the first latch will enter a metastable state. Moreover, the first latch is characterized by the capability to resolve extremely rapidly any metastable state that does occur therein. Brief Description of the Drawings A complete understanding of the present invention and of the above and other features and advantages thereof may be gained from a consideration of the following detailed description presented hereinbelow in connection with the accompanying drawing, in which: FIG. 1 is a block diagram representation of a priorly known flip-flop arrangement; FIG. 2 is a block diagram representation of a specific illustrative flip-flop arrangement of the type depicted in FIG. 1 but modified in accordance with the principles of the present invention; FIG. 3 shows a specific illustrative input circuit of the type that may be included in the FIG. 2 arrangement; FIG. 4 depicts a specific illustrative circuit of the type that may function as latch No. 1 in the FIG. 2 arrangement; FIG. 5 is a diagram of a specific illustrative detector circuit of the type that may be included in the FIG. 2 arrangement; FIG. 6 shows a specific illustrative clock latch circuit of the type that may be included in the FIG. 2 arrangement; and FIG. 7 depicts a specific illustrative circuit of the type that may function as latch No. 2 in the FIG. 2 arrangement. Detailed Description The known digital arrangement depicted in FIG. 1 is commonly referred to as a clocked D-type flip-flop. As shown, the arrangement includes two latches 10 and 12, a source 14 of clock signals, and an input circuit 16. Data signals are applied to input terminal 18, and output signals appear at terminals 20 and 22 of the arrangement. In one mode of operation of the known FIG. 1 arrangement, asynchronous data signals appearing at the input terminal 18 are applied to the latch 10 via the input circuit 16. Clock or reference signals from the source 14 are also applied to the latch 10. Illustratively, the leading edge of each positive- (or negative-) going clock signal enables the latch 10 to respond to the data signal applied thereto by the input circuit 16. In turn, a signal representative of the state of the latch 10 is applied to the latch 12 which responds thereto by providing a differential or two-rail output signal at the terminals 20 and 22. Associated circuitry (not shown) comprising part of an overall digital system is connected to the output terminals 20 and 22. Ideally, each of the latches 10 and 12 shown in FIG. 1 provides an output signal indicative of either one or the other of two prescribed binary representations. Proper operation of the overall system of which the depicted FIG. 1 arrangement constitutes a part depends on these output representations consistently indicating only one or the other of the two prescribed signal conditions. Any other output condition appearing at the terminals 20 and 22 can cause the system to operate in an ambiguous or erroneous manner. In actual operation, the known FIG. 1 arrangement can experience what is commonly referred to as a metastable condition. Such a condition arises, for example, if an enabling clock signal is applied to the latch 10 by the source 14 at a time when the input data signal applied to the latch 10 is in transition between the levels representative of the two prescribed binary values respectively assigned to indicate 0 and 1 data signals. When the latch 10 of FIG. 1 goes into a metastable condition, it provides an aberrant signal to the latch 12. This signal differs from the two prescribed binary signal values that the latch 12 is designed to receive. As a consequence, the latch 12 can itself be thus triggered into a metastable condition, thereby providing non-prescribed signal representations at the output terminals 20 and 22. In accordance with the principles of the present invention, the aforedescribed metastable condition is effectively blocked from appearing at the output terminals of a clocked flip-flop arrangement. In further accord with the invention, the time during which metastability of such an arrangement can occur is minimized. Furthermore, the inventive arrangement is designed such that, if metastability does occur, recovery therefrom takes place extremely rapidly. A specific illustrative flip-flop arrangement made in accordance with the principles of the present invention is shown in block diagram form in FIG. 2. Each block (except clock signal source 24) includes within it in parentheses a notation of one of FIGS. 3 through 7. FIGS. 3 through 7 constitute detailed specific illustrative circuit diagrams for the respective noted blocks. Input circuit 26 in FIG. 2 is designed to provide an interface between input data line 28 and latch No. 1 which is designated by reference numeral 30. By way of example, binary data signals applied to input terminal 32 are of the so-called single-rail type. Such signals, which exist on a single line at either a HIGH or a LOW voltage level, are, for example, of the type provided by conventional transistor-transistor-logic (TTL) circuitry. Illustratively, a HIGH TTL signal level is greater than about +2 volts and a LOW TTL level is less than approximately +0.8 volts. The input circuit 26 of FIG. 2 responds to the aforespecified input signal levels applied thereto by providing so-called differential (or two-rail) output signals I and I′ on respective output lines 29 and 31. For one signal level (for example, a HIGH level) applied to input terminal 32, the output signal level appearing on the line 29 of the circuit 26 is, for example, HIGH and the output signal level on the line 31 is LOW. For the other input signal level (a LOW level), the output signal levels on the lines 29 and 31 are LOW and HIGH, respectively. An important characteristic of the input circuit 26 (FIG. 2) is the manner in which its outputs I and I′ change in response to a level change on input data line 28. When an input level change occurs, I goes, for example, from HIGH to LOW at the same time that I′ goes from LOW to HIGH. In this way, the interval of uncertainty during which the latch 30 "sees" other than prescribed binary signal levels at its inputs is minimized. Thus, the length of time during which metastability can be triggered to occur in the latch 30 is also minimized. Advantageously, the input circuit 26 of FIG. 2 is also designed to exhibit a relatively high input impedance. (A particular input circuit exhibiting an input impedance of about 100,000 ohms is shown in detail in FIG. 3 and will be described below.) Such an impedance imposes a relatively small load on the input data line 28. A particular illustrative diagram for the input circuit 26 of FIG. 2 is shown in detail in FIG. 3 within dash-line block 26. The FIG. 3 circuit includes the previously specified input data line 28, input terminal 32, and output lines 29 and 31. Bipolar pnp input transistor Q1 shown in FIG. 3 provides the aforementioned high input impedance of the circuit 26. Bipolar npn transistor Q2, Schottky-diode-clamped bipolar npn transistor Q3, and bipolar npn transistors Q4 and Q5 connected as diodes supply a differential signal to a differential pair comprising Schottky-diode-clamped bipolar npn transistors Q6 and Q9. Bipolar npn transistors Q7 and Q8 are matched and form a current mirror, Q10 keeps the collector of Q7 from going below one base-to-emitter voltage drop, and Q11 prevents signal fluctuations from occurring on the bases of Q7 and Q8. Resistors R1, R2 and R3 are each the same value as resistors R4 and R5 shown in FIG. 4. Each of these resistors has, for example, a value of about 5,000 ohms. Terminal 34, which is shown in FIG. 3 and also in each of FIGS. 4 through 7, is connected to a positive direct-current power supply voltage referred to herein as V cc . In each of the circuits of FIGS. 3 through 7, this voltage has a value of about +5 volts. Further, the notations V be , V sat and V sch will be respectively employed herein to specify a transistor base-to-emitter voltage drop (typically about 0.7 volts), a conducting (saturated) transistor collector-to-emitter voltage drop (typically about 0.3 volts) and the forward voltage drop across a Schottky diode (about 0.4 volts). In the FIG. 3 circuit, a HIGH representation on one of the output lines I and I′ is indicated by a voltage level equal to V cc . A LOW representation on the other line is indicated by a voltage level equal to 3V be -V sat . As indicated in FIG. 2, the differential output I,I′ of the circuit 26 is applied to the latch 30 via lines 29,31. Another input is supplied to the latch 30. This additional input is applied to the latch 30 from clock latch 36 via line 38. In response to input data and clock signals, the latch 30 of FIG. 2 provides a differential output L1 and L1′ on lines 40 and 42, respectively. In turn, this output is applied to detector circuit 44. FIG. 4 depicts within dash-line block 30 a specific illustrative circuit diagram of the latch 30. The FIG. 4 circuit shows the lines 29 and 31 emanating from the input circuit 26, the line 38 emanating from the clock latch 36 and output lines L1 and L1′. The latch portion of the circuit 30 shown in FIG. 4 comprises Schottky-diode-clamped bipolar npn transistors Q13 and Q14. As shown, the collector of Q13 is tied directly to the base of Q14, and the collector of Q14 is tied directly to the base of Q13. This is an advantageous high-speed configuration because it provides the shortest possible latch interconnections. Schottky-diode-clamped bipolar npn transistors Q12 and Q15 in FIG. 4 are common-emitter output devices that supply the differential outputs L1 and L1′. Schottky diodes D1 and D2 block current from flowing into the bases of Q13 and Q14 from the input circuit 26 when the clock signal applied to the line 38 is LOW. Bipolar npn transistor Q16, diode-connected bipolar npn transistor Q17 and resistor R6 function to limit the rise of the line 38 when the clock signal goes HIGH, thereby to increase the speed of operation of the depicted latch. The FIG. 4 circuit is designed to minimize the capacitances and resistances connected to the bases of Q13 and Q14. This insures that the recovery time of the latch 30 from metastability will be relatively rapid. Additionally, it is advantageous to maximize the transconductance of the transistors Q13 and Q14. This will further speed up the recovery from metastability. One effective way of increasing the transconductance of Q13 and Q14 is to fabricate them in a standard double-base layout configuration. In FIG. 4, the clock signal on line 38 is designed to be either HIGH (about 2V be or more) or LOW (V sat ). When the clock signal goes LOW, the latch 30 is enabled to respond to differential data signals appearing on input lines 29 and 31. Due to the action of the clock latch 36 (FIGS. 2 and 6), the clock line 38 will remain LOW at least until the detector circuit 44 (FIGS. 2 and 5) senses that the output of the latch 30 has attained one of its prescribed binary states. When the clock signal applied to the input line 38 of the latch 30 of FIG. 4 is HIGH, the output representations L1 and L1′ on the lines 40 and 42 are 3V be -V sch and approximately 4V be -V sch . These output signal representations, together with the clock line 38 being HIGH, are ineffective to cause the detector circuit 44 (FIGS. 2 and 5) to provide a switching signal to latch No. 2 (which is designated by reference numeral 46 in FIG. 2 and is shown in detail in FIG. 7). Nor, under these conditions, does the detector circuit 44 provide a reset signal to the clock latch 36. When the clock signal applied to the input line 38 of the latch 30 of FIG. 4 goes LOW, the latch 30 may enter a metastable state. During the existence of the metastable state, the difference between the voltage levels on the output lines L1 and L1′ will always be less than a threshold value V be . In response to this lower-than-threshold difference and to the clock line being LOW, the detector circuit 44 cannot provide a switching signal to the latch 46 via lines 45 and 47. Nor can it provide a reset signal via lines 48 and 50 (FIG. 2) to the clock latch 36. As a result, the clock latch 36 continues to provide a LOW or enabling clock signal on line 38 to the latch 30 until the latch 30 resolves its metastable condition. When the clock-enabled latch 30 of FIG. 4 comes out of its metastable state and attains one of its two prescribed output representations, the signal levels L1 and L1′ on the lines 40 and 42 will be 2V sat and 2V sat +V be . At that time, due to the fact that the difference between these levels equals the threshold value V be and because the clock line 38 is still LOW, the detector circuit 44 provides a differential switching signal to the latch 46 and resets the clock latch 36. Significantly, these switching and reset signals are provided by the circuit 44 only after the latch 30 has unequivocally exited from any metastable state in which it may have been. The diagram of a specific asynchronous detector circuit is shown in FIG. 5 within dash-line box 44. As in FIG. 2, the input lines in FIG. 5 are designated by reference numerals 40 and 42, the output lines that apply switching signals to the latch 46 are designated 45 and 47, and the output lines that apply reset signals to the clock latch 36 are designated 48 and 50. Schottky-diode-clamped bipolar npn transistors Q18 and Q19 in FIG. 5 comprise a difference detector similar to the detector disclosed in a commonly assigned copending application, Serial No. 167,599, filed on March 14,1988. Schottky diodes D3 through D5 and diode-connected bipolar npn transistors Q20 and Q21 serve to clamp the high swing of the outputs of the detector circuit 44, thereby to speed up its operation. Quiescently, that is, until the signal level on clock line 38 (FIG. 4) is LOW and the difference between the levels applied to input lines 40 and 42 of FIG 5 reaches V be , the differential outputs appearing on the lines 45 and 47 of the detector circuit 44 are ineffective to supply signals to the latch 46 to switch it from whichever of its set and reset states it is in. Under such quiescent conditions, the signal levels on the output lines 45 and 47 of the circuit 44 are 2V be +2V sat and 2V be +2V sch . When the threshold value V be is reached, and assuming that the clock line 38 is LOW, the output signal levels provided by the detector circuit 44 change. Specifically, the levels on the output lines 45 and 47 go to the values 3V sat and 2V be +2V sat . The 3V sat output signal level is effective to set or reset the latch 46 and to reset the clock latch 36. In practice, signal propagation paths in the herein-described arrangement are advantageously proportioned to cause the latch 46 to switch in response to a switching signal from the detector circuit 44 before the clock latch 36 is reset. The detector circuit 44 of FIG. 5 thus serves to supply signals to the latch 46 only when an enabling signal appears on the clock line 38 (FIG. 4) and the output of the latch 30 has attained one of its prescribed binary states. In that way, any signal representations indicative of a metastable condition in the latch 30 are effectively blocked by the detector circuit 44 from propagating into and through the latch 46 to appear on output lines 54 and 56 (FIG. 2). A circuit diagram of a conventional clock latch suitable for use as the clock latch 36 of FIG. 2 is shown in detail in FIG. 6. In response to the application to input terminal 58 of FIG. 6 of a HIGH clock signal from the source 24 (FIG. 2), the clock line 38 of FIG. 6 goes LOW, thereby supplying an enabling signal to the latch 30. The line 38 will remain LOW until the clock latch is subsequently reset by one of the outputs from the detector circuit 44 going LOW (to 3V sat ). The latch portion of the clock latch 36 is thus released. But if the clock signal applied to the input terminal 58 is still HIGH at the time of reset, the signal on the clock line 38 will remain LOW. But, since the latch has been released, once the input at the terminal 58 goes LOW, the clock signal on the line 38 will go HIGH and the latch 30 will no longer be enabled to respond to input data signal representations. FIG. 7 shows a specific illustrative circuit diagram of a conventional latch suitable for use as the latch 46 of FIG. 2. In FIG. 7, the lines 45 and 47 emanate from the output of the detector circuit 44. The lines 54 and 56 constitute the output of the latch 46 and, as shown in FIG. 2, also constitute the output of the overall metastable-immune flip-flop arrangement described herein. When the input line 45 of FIG. 7 goes LOW (to 3V sat ), the depicted latch 46 is switched to its set state or remains set if it is already in that state. In its set condition, the output line 54 is HIGH and the output line 56 is LOW. Similarly, a low-going signal on the input line 47 causes the latch 46 to switch to its reset state or to remain reset if it is already in that state. In its reset condition, the output line 54 is LOW and the output line 56 is HIGH.

Claims: A flipflop arrangement comprising a first latch (30) having a data input (29,31) and an output (40,42), the first latch (30) being switchable between an enabled state and a disabled state, the first latch (30) being arranged for, in response to initiation of the enabled state, capturing input data signals received at the data input (29,31) and for upon capturing providing for the remaining duration of the enabled state an output signal having at least a pre-specified magnitude at the output (40,42), the first latch (30) providing an output signal having less than the pre-specified magnitude at the output during the disabled state; a second latch (46) having a data input (45,47) coupled to the output (40,42) of the first latch (30); detection means (44) for controlling the second latch (46) dependent on whether the first latch (30) has captured the input signals, characterized, in that the detection means (44) are coupled between the output (40,42) of the first latch (30) and the data input (45,47) of the second latch (46), and control the second latch (46) on a detection of the output signal of the first latch (44) having at least the pre-specified magnitude, signifying said capture ; the flipflop arrangement comprises enabling means (36) for switching the first latch (30) from the disabled state into the enabled state in response to an input clock signal, and for switching the first latch (30) into the disabled state in response to a reset signal received from the detection means (44), which are operative to provide the reset signal upon said detection. Flipflop arrangement according to Claim 1, wherein the detection means (44) comprise an asynchronous difference detector. Flipflop arrangement according to Claim 2, wherein the output signal is applied from the first latch (30) to the difference detector (44) in a two rail digital representation. Flip flop arrangement according to any one of the Claims 1 to 3 wherein the enabling means (36) comprise a clock latch settable by the input clock signal, and resettable by the detection means upon said detection, the enabling means being arranged for providing an enabling signal to the first latch after it is set until it is reset. Flip flop arrangement according to Claim 4, wherein signal propagation paths in said arrangement are proportioned to cause said second latch to switch in response to a switching signal from said detection means before said clock latch is reset.

Inventors: DIKE CHARLES EDGAR, DIKE, CHARLES EDGAR
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 1990
Main classification: H03K3
IPC codes: H03K3