Hello again,This will work -- and notice that it employs the constraint that I was talking about. You need to allow enough time for everything to propagate fully before you allow the next thing to happen. In this case, before you can use the counter value, you have to wait that 350 ns or so and that is the fastest that your logic that uses the counter output can run at. Let's call it 3 MHz for simplicity. This is the fastest that your "system clock" can run at. The counter itself can work with a faster input signal because nothing it being done with it's outputs while it is counting, but the counting signal (which, conceptually, isn't a clock but just an input signal to the system) is being gated by the 3 MHz system clock. It disables the input signal to the counter on one clock period and captures the counter's output value on the next.
Now, from an implementation standpoint, cheats and shortcuts can be taken, for instance having a sequencer that enables the gate for one second and, upon expiring, starts a delay that holds off capturing the counter output for the needed propagation time, as long as they observe the constraints where critical. In most systems, those constraints are critical at every clock cycle, placing that upper limit on achievable clock frequency.
So what do you think the maximum input clock signal would be. This would actually be the unknown frequency say at 50 percent duty cycle. The unrelated clock would gate that for 1 second, then latch the counters after 350ns.
For example, for a 20MHz input signal to be measured, the 1 second gate would allow 20 million clock pulses into the first FF of the first counter, then disable the input completely, then after 350ns activate the latches.
The counters are spec'd at 20MHz and let's say that is non variable. Actually it is variable, but I'd be willing to ignore that for now as even 10MHz would be good enough and that would mean just 10 million input clock cycles would be gated into the first FF.