Since a flip flop is able to assume one of two stable states, either a 0 or 1, the binary numbering system will be your best friend, or your worst enemy, in knowing how many flip flops to allocate for counting. For each flip flop, 'n', that we add to a counter, we are able to increase the maximum number that the counter is able to count to, with the inclusion of zero, by a factor of two. We can see this as being a logical outcome because the addition of more flip flops, or "stages", means that our counter has essentially more memory to remember larger numbers.
To find the minimum number of flip flops needed to implement a counter that can count to a given "final count", we must use an inequality such as the following where 'n' is the number of flip flops needed:
How many flip flops would be needed to make a counter that could count up to the number 100?
To solve this problem, we must satisfy the above equation by either solving for 'n' or mentally incrementing 'n' until we get a number that is bigger than 100. Since a calculator may not be on hand to solve the resulting natural log required by the first method, incrementing would be the best solution. Counting up... 2, 4, 8, 16, 32, 64, and 128 thus gives us the answer that the smallest number of flip flops possible to accommodate the number 100 would be 7 since 2^7 is 128.
Although counters can be identified by their "final count", most of the time they are rather identified by a "modulo-n" or "mod-n" designation. The "modulo-n" designation of a counter can be found by just adding one to the "final count" value. Therefore, if you had a counter that that had a "final count" of 9 then its "modulo-n" equivalence would be modulo-10 or mod-10. Following with the "modulo-n" designation, the above equation would be modified as follows:
It is important to note that when we refer to "mod-n", the 'n' under consideration is actually the 'm' in the inequality. This can easily become confusing since the 'n' designation actually refers to the number of flip flops/stages needed for both inequalities while the variable 'n' for "mod-n" is actually 'm'. It would have been much more convenient to refer to a counter as being "mod-m" but literature sometimes uses "mod-n" instead for a generic counter.
How many flip flops would be needed to construct a mod-16 counter?
Using the second inequality above, we find that 2^4 = 16 and thus 4 flip flops would be needed. Similarly, since a mod-16 counter essentially means that the counter's final count is 15, we can use the first inequality to arrive at the same solution -- that 2^4 > 15.
How many flip flops would be needed to construct a mod-63 counter?
Using the second inequality above, we find that 2^6 > 63 and thus 6 flip flops would be needed. Similarly, a mod-63 counter means that its final count will be 62 and thus, again, 6 flip flops would be needed to satisfy the first inequality.