For silicium ideas

Synchronous decade counter

Synchronous decade counter


Experiment, have fun and learn.
What better than counting without a counter ?
In order to make a basic function (a decade counter) you need even more basic elements as : AND/OR Gates and J-K flip-flops.



What is a synchronous decade counter ?

A logical counter able to increment a 4 bits word at each clock tick from 0 to 9 in a loop.
The main component to make a counter is a J-K Flip Flop. Actually, one for each bit.
Otherwise, the decimal greatest number of a decade counter is 9 that is encoded by 1001 in binary code.
As a result, this counter will increment 4 bits from 0000 to 1001 so it requests 4 flip flops.

What is a J-K Flip Flop ?

The JK flip-flop is a universal flip-flop, because it can be configured to work as an SR flip-flop, a D flip-flop, or a T flip-flop.


Truth Table

    \[ \centering \begin{tabular}{|l|l|l|l|l|} \hline J & K & Clk & Comment & Q_{\rm {n}} \\ \hline 0 & 0 & \nearrow & Hold & Q_{\rm {n-1}} \\ \hline 0 & 1 & \nearrow & Reset & 0 \\ \hline 1 & 0 & \nearrow & Set & 1 \\ \hline 1 & 1 & \nearrow & Toggle & Q_{\rm {n-1}} \\ \hline \end{tabular} \]

If J and K are tight together the JK flipflops will behave as a T flip-flop. This is to say : hold or toggle the Q output.
The main advantage of this it doesn’t need any input signal, it works on its own.



    \[Q_{\rm {n}}=J{\overline {Q_{\rm {n-1}}}}+{\overline {K}}Q_{\rm {n-1}}}\]

Decade counting

Decade counter chonogram


There is two options to make a counter :
– Synchronously : the same clock is shared on each flip flop. Every flip-flop moves on the same top.
– Asynchronously : each flip flop output is linked to the next flip flop clock. Each flip-flop waits for its predecessor.

I choose the synchronous method to begin.

Synchronous up counter

Simple synchronous counter

Due to this 4 JK flip-flops synchronous mounting, two AND gates has to be added on FFB and FFC outputs.
They will properly drive the J and K state to hold or toggle Q state in order to count each number between 0 and 9 as requested.

Decade synchronous up counter

It is the same thing as before but two AND gates were added more one OR gate.
These gates are needed to be able to stop counting at 9 and loop back to 0.


Decade counter


Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.