Electronic – How to add reset functionality to a master-slave D-type flip-flop

digital-logicflipflopreset

I'm trying to implement a shift register and therefore need values to be stored on the downwards edge of the clock signal (otherwise the whole register just sets to the input), so I am using a master-slave D-type flip-flop to store each bit. The design also requires a control line that resets the value stored in each flip-flop to 0 (low voltage) regardless of the clock value. How would I implement this by editing the below circuit?

schematic

simulate this circuit – Schematic created using CircuitLab

Best Answer

An asynchronous reset can be implemented by adding a third input to the lower NAND gate in each of the cross-coupled pairs in your diagram. Connect them together and drive this input low to reset the output; otherwise, drive it high.

BTW, it would have been easier to talk about the individual components of your diagram if you had left the reference designators on them.