Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: code-word alignment location

> Una_Quinlan@xxxxxxxxxxxxxx writes:
> Because it could be near-impossible to align to 0/1 1/0 sync bits,
> without also having assistance from specific Types.  So to facilitate
> code alignment (locally and link partner), there will need to be some
> well-defined codewords to sync to.  Perhaps this could be handled in
> the IPG, by searching for

This is not the case.  The 64b/66b code aligns to the 0/1 sync bits
with no assumptions whatsoever about TYPE bytes.  Because the payload
is scrambled, the only location that has a consistent complementary
transition will be the frame sync bits.  The alignment algorithm looks
at a large number of frames (K) at a given phase alignment to see if the
arrival of complementary bits is consistent with the sync pattern.  If
it is not, the a cycle slip is made and the process is repeated.

A likely value for K is 64, and the worst case number of slips will be 
65.  This leads to a worst-case alignment time of 

    64 frames * 66 bits/frame * 65 attempts *(1/10.3125G) (secs/bit)
    = 26.6 microseconds.

An accelerated algorithm could decide to move on after receiving, say, four
frames in error, so such a system would lock in 

    8 frames * 66 bits/frame * 65 attempts *(1/10.3125G) (secs/bit)
	= 3.328 microseconds.

> Does anyone see a requirement for the PCS to define link-init
> codewords (eg break-link + handshake) ?

So, in summary, I don't think there is any need for any handshaking
or initialization sequence.

Best regards,
Rick Walker