Self Starting Counter

A counter is a device which stores the number of times a particular event or process has occurred (according to Wikipedia). As the name suggests, a counter is a device which is used for “counting” – mostly in relation to a clock signal.

A counter is said to be self-starting if it is possible to enter a counter loop irrespective of the initial state. It is known that all counters generate a sort of sequence of numbers (with each flip-flop representing one bit in a number). Now if the longest loop in the sequence (or the main loop) can be traversed from any state, only then is the counter said to be self-starting.

Self-starting counters are made so that “trap” states can be avoided. A trap state is a state that is accessed due to some error in the operation of the counter. Self-starting counters are made with certain modifications in the circuit so that if the counter goes into a trap state, it can automatically move out of it and come back into the main counting loop.

Examples:

Step-1:



The entire sequence makes up the main counting loop in this example. Irrespective of the state we start in, we are always going to stay in the main loop only. Hence this counter is self-starting.

Step-2:

In this example, the subsequence 010->011->100->101->110->010 forms the main counting loop. However, it can be seen that the main counting loop can be reached irrespective of the state we choose to start in. Hence this counter is self-starting.

Step-3:

In this example, the subsequence 01->10->11->01 is the main counting loop. It can be seen that if we start in state 00, we can never reach the main counting loop. Hence this loop is not self-starting.

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.