What’s wrong with this ring counter made using D Flip Flop

counterflipflop

I have created this ring counter using D Flip Flop in multisim(I am learning counters). It's not working maybe due to the switch provided on the top left for the preset pin of D Flip Flop. I have no idea how to correct it. Any help would be highly appreciated.
enter image description here

Best Answer

Hmm, you could add a NAND3 gate from the first 3 outputs to the first D flip flop input so you'll get the first '1' in to the counter when the first 3 outputs are all zeroes. Or you could play with the resets. Or make some other combinatorial logic arrangement, depending on what your application for the ring counter is.