enter image description here

I've been looking at the circuit for the D flip flop with asynchronous reset and I do understand how the overall circuit works, but I can't understand what the point of connecting the wire in the red rectangle to the reset is.

The output will get reset if reset is set to 0 regardless of this connection.

Please correct me If I'm wrong.

  • \$\begingroup\$ If that signal doesn't exist what happens to \$R\$ upon reset? \$\endgroup\$
    – Aaron
    Jul 9, 2020 at 20:09
  • \$\begingroup\$ Have you tried making a truth table? Some things to notice should be that some outputs are tied to the inputs. Just try different inputs and the logic laws and see what your outputs do. \$\endgroup\$
    – Aaron
    Jul 9, 2020 at 20:11
  • \$\begingroup\$ Why doe the value of R matter though the reset is gonna set the output of the nand gate it's connected to to 1 regardless of the value of R \$\endgroup\$
    – Sora
    Jul 9, 2020 at 20:15

1 Answer 1


The wire in red is to make sure that the D input is overridden with a logic 0. This makes sure both sides of the master FF are reset at the same time. This also overrides the state of the clock input.

Now S and R will clear the slave latch so it is in the proper state. S is forced to '1' and R is forced to '0' at the same instant, thus Q is forced to '0' and Q\ is forced to '1' at the same instant. Q and Q\ can NEVER have the same state at the same time.

Since the rising edge of clock is used to load in the value at the D input which briefly causes both master R-S latches to toggle states (They are cross-wired so the value of D is sampled and locked into the latches in nanoseconds, or even picoseconds), both master R-S latches must be cleared at the same instant or a glitch could appear at R and S that briefly makes the slave latch put out glitches.

The operation of the reset pin should be clean and glitch free at the Q and Q\ outputs. If Q is set to 1 then a reset should clear it to 0 and Q\ becomes 1 with almost no skewing.

That is another reason for the extra reset connection. Data is supposed to be loaded in with almost no skewing in time between Q and Q\ changing states, so RESET has to work the same way, or downstream logic could be confused. These flip-flops are often used to sync data from a asynchronous source by using 2 in series with a common clock, so internally created glitches would never be tolerated. This could cause havoc and miss-counts in ripple-carry counters where many FF's are daisy-chained in a row.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.