[time-nuts] No State Of The Art Counter

Magnus Danielson magnus at rubidium.dyndns.org
Thu Jan 6 23:57:17 UTC 2011

On 01/07/2011 12:42 AM, Gerhard Hoffmann wrote:
> Am 07.01.2011 00:24, schrieb Magnus Danielson:
>> For a SERDES to be useable as a high frequency input, the Rx SERDES
>> needs to be able to use the reference clock as clock source rather
>> than doing clock recovery. While the SERDESes I have seen is able to
>> do that, one always want to check that detail before going further
>> into the design. For reference you typically use a SAW-oscillator
>> which in this case probably should have a VC input so you can lock it
>> up. Should not be too hard to find a suitable one.
> On The SP605 board, you can inject the clock via 1 or 2 SMAs, single
> ended or differential
>> I've considered this approach myself, but just not got around to cook
>> something up.
>> It's a bit of a design-challenge to do a parallel trigger detection
>> and event counter, but it is doable.
> Yes.
> If you look at the input signal as a 4 GB/s bit stream, you get it
> served as a 16 or 32 bit wide stream
> at 1/16 or 1/32 the rate. Recognizing the 0->1 and 1->0 transitions may
> need some pipeline stages
> and some work, but it is not really difficult.
> The time stamp is simply the serial number of the 16/32 bit word and the
> location of the bit that flips.

But one has to recall that a 0->1 transition can occur between the 
words, and one also has to recall to identify the first 0->1 transition 
in such a word with a bit-number indication.

Also, one has to count the number of 0->1 transitions in each word, such 
that the event counter can be accumulated with the contribution from 
each word.

A convenient approach is to use a tree structure to summaries and 
identify things hierarchically. The last bit of the previous word needs 
to be known.

For a 16-bit word, 16 rise detections is needed, and 15 early/late 
comparators & summers is needed. This architecture can be suitably 
pipe-lined to maintain full speed.

If one wants falling detections as well, then just invert the samples or 
let the rise-detections also do fall-detection. Goes into one LUT 
regardless (three-inputs rather than two inputs).


More information about the time-nuts mailing list