I have a pseudo random counter that looks like below. Briefly
what it does is to generate a "random" number every time the
system is clocked. I say "random" and not random because the
register values in the counter follows the same pattern every
time, if you start from 0. If the feedback to the first register
is done correctly throe the three XNOR logical blocks, the next
number that appears in the register will not be similar to any
other you can generate. Meaning that if you have 12 bits, you
get 2e12 different combination's. With one exception, the very
last clock is not correct, so it has to be skipped. So what you
end up with using a counter like this is 4095 pseudo random
numbers reaching from 0 to 4094 in binary. What I want to do is
to calculate how many clock cycles it took to reach any of the
values that can be in the 12 bit register. This can be done with
a lookup table. Or with logical block working like a transform
from the scrambled numbers to the binary order [00 0000 0000],
[00 0000 0001], [00