so I have been tasked with making a counter that counts from 0-9 continuously and pauses when the input is 0. Of course this has to be done with T flip flops, but for the life of me I cannot figure out how to do it. We had no previous lectures or homework that can help us with this, and they expect us to do it somehow. Can someone help me please?

  • \$\begingroup\$ you can follow this one for asynchronous counter designs \$\endgroup\$
    – Virange
    Nov 30, 2015 at 9:38

1 Answer 1


You need four T flip flops. Also, provide clock input to all of them. (synchronous type) Now,say we have got 4 outputs say Q1(LSB) ,Q2,Q3 and Q4.

Provide inputs to each flipflop as follows,

T1 =1 ,T2 =Q1 ,T3 =Q2.Q1 and T4 = Q3.Q2.Q1

This will actually work as MOD-16 ( counts 0 TO 15 ) counter.

To make is a MOD-10 counter,

When the output is 1010 (count 10) you need to reset the counters,

SO take outputs Q4 and Q2 connect it to to a NAND gate so that when both are high ,the counters are reset to zero.

  • \$\begingroup\$ Note that this may not work reliably, depending on the propagation delay of the reset gate and the behavior of the flip-flops when reset. \$\endgroup\$ Nov 30, 2015 at 16:04
  • \$\begingroup\$ How come you use a nand gate? Would an AND gate work for this? \$\endgroup\$
    – Sam
    Nov 30, 2015 at 16:34
  • \$\begingroup\$ Also is this the correct way to do it? mshieh.com/Hardware/Tutorials/Modulo_Counter_SC/Images/… \$\endgroup\$
    – Sam
    Nov 30, 2015 at 17:09

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.