But this frequency counter is part of my ASIC design, so I wanted to design it using CMOS.
What do you mean exactly with "my ASIC design?" :?: (
ASIC normally means: an IC specifically designed for an application, this does NOT include "programmable chip that does what I program into it" like microcontroller, CPLD, FPGA etc).
In general, you're comparing input clock with a reference clock signal, and therefore reference clock must not only be accurate (small variation in frequency), but also very stable (low
jitter, read: small variation in exact duration of individual clock periods).
This jitter would be bigger problem when input clock frequency >> reference clock, and for that reason I'd pick a high frequency reference clock (and obtain gate signal as reference clock divided by a high number), so that you only have to worry about the reference clock's frequency stability. Nyquist isn't relevant in this context since you're not (that is: shouldn't be) using the reference clock
directly to 'sample' the input clock signal.
So even if you're measuring 3 MHz max it wouldn't hurt to pick faster logic with say, 10-50 MHz reference clock (only a small part of the logic needs to be as fast as the reference clock). And resolution would depend on # of bits (or digits) in the counter, not on what you use as reference clock.
the lowest frequency change to be detected is 500hz and the highest being 3Mhz signal. Now, that corresponds to 6000 (3Mhz / 500) states. Hence a 13 bit (2^13= 8192) counter
Makes sense, but I wonder how you plan to read counter value - a row of LEDs? Some external device? Display built into counter would seem more convenient, in that case it might be more useful to have a decimal counter (=groups of 4 bits representing digits 0-9 in the count value).
Btw why is this thread in "Analog Circuit Design" ??