CIRCUIT AND METHOD FOR REDUCING THE EFFECTS OF METASTABILITY

Abstract: The invention provides for a meta-hardened circuit (100) that reduces the effects of metastability and includes a pulse generator (110) coupled to receive a first clock signal and generate in response thereto a second clock signal and an enable signal. A buffer (140), preferably tri-state, is coupled to receive a first data signal and the enable signal and generate in response thereto a second data signal. A bi-stable device (160), such as a flip-flop, is coupled to receive the second clock signal and the second data signal. The pulse generator (110) preferably includes a combining device (120) and a delay device (112). The buffer (140) preferably includes at least one tri-state inverter (144) and a keeper circuit (145). A method to reduce the metastability effects is also provided and includes the step of generating a delay between a second data input signal and a second clock signal that is greater than a delay between a first data input signal and a first clock signal. The step of generating preferably occurs in one clock cycle. The method also preferably includes generating an enable pulse by generating a second clock signal in response to a first clock signal and combining the first and second clock signals to generate the enable signal, and generating a second data input signal in response to a first data input signal, where generating the second data input signal includes receiving an enable signal. The method preferably includes the step of generating an output signal in response to the second data input signal and the second clock signal, the output signal having a reduced metastable effect.

Description: CIRCUIT AND METHOD FOR REDUCING THE EFFECTS OF METASTABILITY The present invention relates to a metastable circuit and method in particular for the synchronizing of asynchronous signals. Most digital systems have at least one asynchronous input. For example, a computer can have a power-on reset signal, an interrupt signal or a data signal being input at a frequency independent of the system clock. All such systems must synchronize the asynchronous input signal to the system clock before utilizing the input signal. One method of synchronizing the input signal to a system clock is to use a bi-stable latch or storage element. A flip-flop is one such bi-stable storage element. A conventional flip-flop requires that an input signal, usually a data signal, have a minimal setup time. Setup time is the amount of time the input signal must be stable before the system clock transitions to store the input signal in the flip-flop. The input signal must also remain for a minimal hold time, which is the required time for the output signal of the flip-flop to change state to the value of the input signal. However, since the input signal is asynchronous to the system clock, an event may occur where either the setup or hold time will be violated. This event causes the output signal of the flip-flop to be an unknown state. Further, the final transition of the flip-flop's output signal may be abnormally delayed. This phenomenon, known as "metastability." can cause errors in other circuits that are coupled to receive the synchronized input signal. Metastability occurs at a certain time window of the system clock transition. Referring to Fig. 1 , the graph shows a flip-flop propagation delay versus a data input timing. The left side of the graph, defined by line 10. shows the input data signal transition occurring well in advance of the setup time and clock transition. This condition causes an output 12 of a flip-flop to become stable after a normal propagation delay T p , as illustrated in Fig. 1. Metastability occurs in a time window T,. During time window T Λ , the input data signal transitions within a certain time before or after the transition of the system clock. As a result, output signal 12 is delayed for a time T^. If the input signal violates the hold time, output 12 may not follow the input signal, as shown at 14. For a further discussion. reference should be made to Hoang Nguyen, How to Detect Metastability Problems. ASIC & EDA. Feb. 1993. which is incorporated herein by reference. As designers push circuit frequencies to 200MIIz. one area of concern is how metastability will affect system reliability. The increasing frequencies have an adverse effect on the mean time between failures (MTBF) due to synchronization failures caused by flip-flop metastability. The MTBF increases exponentially with the clock and data rates. See the referenced article supra. Various circuit design methods have been used to improve the MTBF of the flip- flop. Such methods include reducing the load at the master transmission gate, or using different types of transmission gates. The improvement gained in the MTBF by using these methods is insignificant. Another method uses two clock cycles, which exacts a time penalty that is disadvantageous for high-speed systems. The present invention seeks to provide for a device and method of operation having advantages over known devices and methods. Summary of the Invention According to one aspect of the present invention there is provided a circuit comprising a pulse generator arranged to receive a first clock signal and to generate in response thereto a second clock signal and an enable signal, and a buffer arranged to receive a first data signal and the enable signal and to generate in response thereto a second data signal. According to another aspect of the present invention there is provided a circuit comprising a combiner circuit arranged to receive a clock signal and to generate an enable signal, and a buffer arranged to receive the enable signal and a data input signal, and output a second data input signal. According to yet another aspect of the present invention there is provided a circuit arranged to handle a first and second data input signal and generate a delay between first and second clock signals, and to the second data input signal and the second clock signal that is greater than a delay between the first data input signal and the first clock signal in one clock cycle. The present invention includes a meta-hardened circuit that reduces the effects of metastability. The meta-hardened circuit preferably includes a pulse generator coupled to receive a first clock signal and generate in response thereto a second clock signal and an enable signal. A buffer, preferably tri-state, is coupled to receive a first data signal and the enable signal and generate in response thereto a second data signal. A bi-stable device. such as a flip-flop, is coupled to receive the second clock signal and the second data signal. The pulse generator preferably includes a combining device, such as a N AND gate, coupled to receive the first and the second clock signals and to output the enable signal. The pulse generator preferably further includes a delay device, such as an inverter, coupled to receive the first clock signal and generate the second clock signai. The buffer preferably includes at least one tri-state inverter outputting the second data signal in response to receipt of the first data signal and the enable signal. The tri-state buffer further preferably includes a keeper circuit coupled to maintain the second data signal. According to a further aspect of the present invention there is provided a method of reducing metastable effects comprising the step of generating a delay between a second data input signal and a second clock signal that is greater than a delay between a first data input signal and a first clock signal. The method preferably includes the step of generating a delay between a second data input signal and a second clock signal that is greater than a delay between a first data input signal and a first clock signal. The step of generating preferably occurs in one clock cle. The method also preferably includes generating an enable pulse by generating a second clock signal in response to a first clock signal and combining the first and second clock signals to generate the enable signal. The method preferably further includes generating a second data input signai in response to a first data input signal, where generating the second data input signal includes receiving an enable signal. The method preferably includes the step of generating an output signal in response to the second data input signal and the second clock signal, the output signal having a reduced metastable effect. The invention can advantageously provide for a flip-flop circuit that reduces the effect of metastability while increasing the MTBF. Brief Description of the Drawings The invention is described further hereinafter, by way of example only, with reference to the accompanying drawings in which: Fig. 1 is a graph of flip-flop output propagation delay versus data input timing; Fig. 2 is a schematic diagram of a meta-hardened circuit embodying the present invention; Fig. 3 is a waveform diagram for a conventional flip-flop in a normal region; Fig. 4 is a waveform diagram of a meta-hardened flip-flop utilizing an embodiment of the present invention in a normal region; Fig. 5 is a waveform diagram for a conventional flip-flop in a metastable region; and Fig. 6 is a waveform diagram of a meta-hardened flip-flop embodying the present invention in a metastable region. Detailed Description of the Preferred Embodiment Fig. 2 shows a meta-hardened flip-flop 20 according an embodiment of the present invention. Meta-hardened flip-flop 20 includes a meta-hardened circuit 100 and a flip-flop 160. Although flip-flop 160 is a functionally conventional D-type flip-flop, other bi-stable latches or storage elements can be used. Meta-hardened circuit 100 includes a pulse generator 1 10 and a tri-state input buffer 140. Pulse generator 1 10 includes a delay circuit 1 12 coupled to a combiner circuit 120. Delay circuit 1 12 preferably includes three inverters 1 14 that are coupled to a node 1 15 which receives a first clock signal from a lead 1 16. A delayed inverted or second clock signal is generated by delay circuit 1 12 and output onto lead 1 18. As preferred and illustrated in FIGURE 2, combiner circuit 120 includes n-channel transistors 122, 124 and p-channel transistors 126, 128 coupled together to form a two- input logic NAND gate. Combiner circuit 120 is coupled to receive both the first clock signal and the delayed inverted or second clock signal via respective leads 1 16 and 1 18 as inputs to the NAND gate. Combiner circuit 120 provides an enable signal on a lead 134 which is a pulse having a width that corresponds to the time delay between the transition of the first clock signal and the delayed inverted or second clock signal. Lead 134 provides the enable signal to inverter 136, where it is inverted and output on a lead 138 to a node 139. Node 139 is coupled to inverters 136, 142 and tri-state input buffer 140 via lead 138. Combiner circuit 120 includes arithmetic or Boolean functions. Lead 1 18 provides the delayed inverted or second clock signal to an inverter 130. Inverter 130 inverts the second clock signal and outputs it to a node 131 as a flip-flop clock signal. Node 131 provides the flip-flop clock signal on a lead 132. Tri-state input buffer 140 includes a tri-state inverter circuit 144 coupled to a keeper circuit 145. Tri-state inverter circuit 144 preferably includes two tri-state inverters 146. Tri-state inverters 146 are coupled to receive a data input signal from a lead 148 via a node 149. and an inverted enable signal (pulse) and its complement on leads 138 and 150. respectively. An inverted or second data input signal that is output from tri-state inverter circuit is provided on a lead 152 to keeper circuit 145 and an inverter 154. Keeper circuit 145 preferably includes two long-channel length inverters 147. A first inverter 147 is coupled to receive the inverted data input signal via lead 152 and to provide an inverted output to a second inverter 147. Second inverter 147 outputs a delayed inverted data signal onto lead 152. which maintains a voltage of the inverted or second data input signal at node 152. Inverter 154 provides a delayed or flip-flop data signal on a lead 156 via a node 155. A data input D of flip-flop 160 is coupled to node 155 via lead 156 to receive the delayed or flip-flop data signal. A clock input CK of flip-flop 160 is coupled to node 131 via lead 132 to receive the flip-flop clock signal. A reset input RB of flip-flop 160 is coupled to receive a reset signal via a lead 162. The reset signal is asynchronous to the first clock signal and preferably is active low. Flip-flop 160 provides signals from outputs Q and QB on respective leads 164 and 166 in response to the second data, second clock and reset signals. Flip-flop 160 is illustrated as a D flip-flop with reset and positive edge triggered, such as a flip-flop designated as DFFRP available from a Symbios Logic Inc. standard cell library. Inverters 1 14, 130, 136. 142, 147 and 154 each include a p-channel and an n- channel transistor. Inverters 147 each include two p-channel and two n-channel transistors. Meta-hardened flip-flop 20 preferably is coupled to a 3.3 V power supply and to a ground. as known in the art. The operation of meta-hardened flip-flop 20 can best be explained with reference to Figs. 3-6. Referring to Fig. 3, the normal operation of a flip-flop without metastability protection will be explained. A data input signal D begins to transition from low to high at 5 ns. A clock signal CK begins to transition from low to high at 7 ns. An output signal Q begins to transition at about 7.3 ns in response to the data input and clock signals. A delay 300 of about .676 ns is realized. The normal operation of meta hardened flip-flop 20 that provides a normal output delay will be explained with reference to Fig. 4. A voltage at node 149, which corresponds to an input data signal, transitions from low to high at 5 ns. A voltage on lead 152 transitions from high to low which causes a delayed or flip-flop data signal voltage at node 155 to transition from low to high. A voltage at node 1 15 that corresponds to the first clock signal transitions from low to high at 6 ns. In response to the transition of node 1 15 voltage, a positive (enable) pulse voltage is generated at node 139 that has a pulse width of approximately 0.76 ns. The voltage at node 139 enables the tri-state inverter circuit 144 to enter a tri-state mode. In this mode, tri-state inverter circuit 144 will not allow a voltage on lead 152 from transitioning in response to a transition of the data input signal on lead 148. Keeper circuit 145 maintains the voltage on lead 152 low, which maintains the flip-flop data signal voltage at node 155 voltage high. Keeper circuit 145 functions to prevent the voltage on lead 152 from floating when tri-state inverter circuit 144 is in the tri-state mode. A flip-flop clock signal voltage at node 131, which is a delayed first clock signal of about .81 ns. transitions from low to high at approximately 6.64 ns. Flip-flop 160, in response to receiving the voltages at nodes 155 and 131. transitions the Q output on lead 164 from low to high at approximately 7.1 ns. Referring to Fig. 5 and Table 1 , a metastable state of a conventional D flip-flop will be explained. Table 1 records simulation values for a conventional D flip-flop. From the values of Table 1, the Q output of the flip-flop is in a metastable region when the setup time is less than or equal to 200 ps. Thus, the time window value tw equals 200 ns -84 ns = 1 16 ns. The simulated flip-flop of Table 1 had a simulated load of 0.1 1 pf. a Vdd of 3.3V. a clock period minus setup time of 9.8 ns, a data input frequenc y of 25 MHZ and a clock frequency of 100 MHZ. The MTBF is approximately 3.664 x 10 43 for the simulated flip-flop. Normal delay/ Setup time (ps) Propagation Delay (ns) Metastable delay 2000.00 0.676192 normal delay 200.00 0.764884 metastable delay 100.00 0.851794 metastable delay 86.00 1.380982 metastable delay 84.00 1.88551 1 metastable delay 84.929 1.979923 metastable delay 84.828 2.301044 metastable delay 84.82804 2.415904 metastable delay Table 1 Fig. 5 illustrates a metastable region for the flip-flop where the setup value is approximately 83 ps and the propagation delay time T pι is approximately 2.375 ns. The propagation delay time T pdc is calculated from when the clock signal CK reaches 1.65 V and the Q output reaches 2.8 V. The same parameters were used for simulating a meta-hardened flip-flop according to the present invention. Referring to Table 2 below, the normal propagation delay is increased to approximately 1.49 ns due to the delay of the first clock signal at node 131. However, the extended or propagation delay time T pdi for the meta-hardened flip-flop is approximately 1.53 ns versus the approximate 2.41 ns delay for the conventional flip-flop represented in FIGURE 5. The MTBF for the meta-hardened flip-flop of the present invention is approximately 4.896 x IO 67 , an increase of better than 10* times over the conventional flip-flop. The simulation recorded in Table 2 utilized a settling time (clock period - setup time) of 9.7075 ns. Normal delay/ Setup time (ps) Propagation Delay (ns) Metastable delay 2000.00 1.490523 normal delay 200.00 1.490523 normal delay 193.00 1.522691 metastable delay 191.600 1 .530775 metastable delay 191.46 1.530745 metastable delay 191 .4446 1.53 1733 metastable delay 191 .44446 1.531855 metastable delay K 191.444446 1.53185 1 metastable delay Table 2 Fig. 6 illustrates a metastable region for the meta-hardened flip-flop of the present invention. At approximately 4 94 ns, a voltage at node 149, representing the input data signal, transitions from low to high. At approximately 5 ns, a voltage at node 1 15 that 15 represents the first clock signal transitions from low to high. At approximately 5 ns also, the voltage at node 139, corresponding to the enable signal, transitions from low to high. At approximately 5.25 ns, a voltage representing the flip-flop data input signal at node 155 transitions from low to high. A voltage at node 131 that represents the flip-flop clock signal transitions from low to high at approximately 5.56 ns. The Q output of D flip- 20 flop 160 transitions from low to high at approximately 6 ns. The setup time for the input data signal is approximately 83 ps and the propagation delay time T d is approximately 1.44 ns. much less than the 2.41 ns delay experienced by the conventional D flip-flop of Fig. 5. The propagation delay time T d is calculated from when the clock signal CK reaches 1.65 V and the Q output reaches 2.8 V. 25 As shown in Fig. 6, meta-hardened circuit 100 provides to flip-flop 160 a data signal on lead 156 that has a setup time defined by 602. The setup time 602 is approximately twice the setup time 600 for the first data input signal. In other words, meta-hardened circuit 100 increases the setup time between data signal and clock inputs to a flip-flop. This increase is accomplished in only one clock cycle. 30 The present invention has numerous advantages. As shown in Table 2, the propagation delay converges to a value of approximately 1.5 ns, whereas the flip-flop without metastability protection converges to a value over 2.41 ns. This reduced delay lessens the effects of metastability. It should be appreciated that the invention is not restricted to the details of the foregoing embodiment. In particular, numerous variations and modifications of the embodiment described above may be effected without departing from the spirit and scope of the novel features of the invention. For example, a negative edge triggered flip-flop needs a NOR gate in place of the NAND gate of combiner circuit 120.

Claims: CLAIMS 1. A circuit (1 10) comprising: a pulse generator (40) arranged to receive a first clock signal and to generate in response thereto a second clock signal and an enable signal; and a buffer (140) arranged to receive a first data signal and the enable signal and to generate in response thereto a second data signal. 2. A circuit as claimed in Claim 1 , wherein a bi-stable storage element (160) is arranged to receive the second clock signal and the second data signal. 3. A circuit as claimed in Claim 2, wherein the bi-stable storage element ( 160) provides an output having reduced metastable effects in one clock cycle. 4. A circuit as claimed in Claim 2 or 3, wherein the bi-stable storage element comprises a flip-flop (160). 5. A circuit as claimed in Claim 1 , 2. 3 or 4. wherein the pulse generator (1 10) includes a combining circuit (120) coupled to receive the first and the second clock signals and to output the enable signal. 6. A circuit as claimed in Claim 5. wherein the combining circuit (120) comprises a NAND gate. 7. A circuit as claimed in Claim 1 , 2, 3, 4, 5 or 6, wherein the pulse generator (1 10) includes a delay circuit (1 12) coupled to receive the first clock signal and generate the second clock signal. 8. A circuit as claimed in Claim 7, wherein the delay circuit comprises an inverter. 9. A circuit as claimed in any one of the preceding claims, wherein the buffer (140) includes at least one tri-state inverter ( 144) arranged to outputting the second data signal in response to receipt of the first data signal and the enable signal. 10. A circuit as claimed in Claim 9, wherein the buffer includes at least two tri-state inverters arranged for outputting the second data signal in response to receipt of the first data signal and the enable signal. 1 1. A circuit as claimed in any one of the preceding claims, wherein the buffer (140) includes a keeper circuit (145) coupled to maintain a voltage of the second data signal. 1 . A circuit as claimed in any one of the preceding claims, wherein the circuit ( 100) is arranged to generate a delay between the second data input signal and the second clock signal that is greater than a delay between the first data input signal and the first clock signal. 13. A circuit (100) comprising: a combiner circuit (120) arranged to receive a clock signal and to generate an enable signal: and a buffer ( 140) arranged to receive the enable signal and a data input signal, and output a second data input signal. 14. A circuit as claimed in Claim 13, further comprising a delay circuit (1 12) coupled to receive the clock signal and coupled to provide a second clock signal to the combiner circuit (120). 15. A circuit as claimed in Claim 14, wherein a bi-stable element ( 160) is coupled to receive the second clock signal and the second data input signal. 16. A circuit arranged to handle a first and second data input signals and first and second clock signals and to generate a delay between the second data input signal and the second clock signal that is greater than a delay between the first data input signal and the first clock signal in one clock cycle. 17. A method of reducing metastable effects comprising the step of generating a delay between a second data input signal and a second clock signal that is greater than a delay between a first data input signal and a first clock signal. 18. A method as claimed in Claim 17, wherein the step of generating occurs in one clock cycle. 19. A method as claimed in Claim 17 or 18, wherein the step of generating includes generating an enable pulse. 20. A method as claimed in Claim 19, wherein the step of generating the enable pulse includes generating a second clock signal in response to a first clock signal. 21. A method as claimed in Claim 20, wherein the step of generating the enable pulse includes combining the first and second clock signals to generate the enable signal. 22. A method as claimed in Claim 17, wherein the step of generating includes the step of generating a second data input signal in response to a first data input signal. 23. A method as claimed in Claim 22, wherein the step of generating the second data input signal includes receiving an enable signal. 24. A method as claimed in any one of Claims 17 to 23, further comprising the step of generating an output signal in response to the second data input signal and the second clock signal, the output signal having a reduced metastable effect.

Inventors: NGUYEN HOANG, SCHULTZ RICHARD T, NGUYEN, HOANG, SCHULTZ, RICHARD, T.
Applicants: GILL DAVID ALAN, SYMBIOS LOGIC INC, GILL, DAVID, ALAN, SYMBIOS LOGIC INC.
Application year: 1997
Main classification: H03K3
IPC codes: H03K3