Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

Stratix 2 Gx

I want to implement 4 channel transceiver of data/ The problem is that I need that all the four channels would be aligned, I mean the data in all four channel will have a constant phase (but every time I power up the transceiver I will have the same phase). All the channels get the same clock, but the inside pll of every channel locks in a different time after power up, and it creates a random phase between the channels. Is there some way to solve this problem?

10 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    So I assume the 4 transceivers are in different Quads? Otherwise they could all use the same PLL. Regardless, other things that will affect phase are internal I/O delays, board trace skew, etc.

    Jake
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    No they are in the same quad, but still I get random phase in the output. The things that you mentioned will create a constant phase between the channels, my problem is the change in phase I get every time I power up the transmitter.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    If they are in the same Quad then they are using the same PLL. You may be getting variations in phase due to the phase compensation FIFO block. Are you bringing all of the transmit channels out of reset at the same time?

    Jake
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Yes I connected the same reset to all the transceiver. You think that the FIFO block is the reason? I can turn it off. But still if the FIFO is to blame, why I get phase that are not a full cycle (of the serial data- in my case 4.4 gbs) delay-sometimes I get just part of it (half for example)?

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Maybe we should clarify ...

    1 - What is the phase difference that you are observing?

    2 - Is the phase difference really random or is it constant between given channels?

    Jake
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I observe a phase difference of 3-5 bits (it is not constant, it is different every time I power up the transmitter).

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    If a (CMU) PLL output is shared amongst the RXs within a quad, that means to me the 4 RX Buffers will sample the incoming serial streams at the same instant but does it make sure the 4 deserializer outputs are aligned ?...

    If RXs are bonded, a common refclock feeds:

    1) the PFD of the RX CDRs (depending on LTR/LTD mode ? =>TB checked)

    2) the RX phase compensation FIFO wrclk

    but each RX provides its own serial and parallel recovered clock. I don't see any guarantee for each of the 4 deserializers will be clocked with the same parallel (low-speed) clock phase.

    A bit misalignment between incoming serial streams would rather focus my attention on the PCS word aligner.

    Are you using an alignment pattern ?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I believe we're discussing serializers rather than deserializers.

    Jake
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Ouups ! You're right Jake.

    I've been focusing on the "transceiver" terms and have flown over the "transmitter"...

    In that case, an explanation could come from the transmitter local clock divider block.

    In fact, each transmitter channel has its own local clock divider that generates the serial and parallel clock for its serializer when used in non-bonded mode only (is that your case shpavel ?).

    If you assume that the parallel clock results from division of the serial clock by a classic counter/divider (DIV4,5,8 or 10) instead of a PLL, one can suppose that at power up, the phase of the divided clock with respect to the serial clock can be any phase amongst the 4,5,8,or 10 possible phase states depending on the counter/divider initial state at power-up

    , thus explaining the bit-shift you observe.

    Normally, a global tx_digitalreset sequence should prevent such a situation to occur but the accurate scope of the reset is not clearly stated anywhere in the Transceiver Architecture chapter and no circuit implementation details are given about the TX local clock divider.

    More over, the GXB TX main application seems to be serialization of independent data streams for high-speed data transmission over backplanes rather than Gbit source synchronous data for a chip-to-chip transmission (but that's another story).

    Anyway, I would be interested in knowing the end of your story !

    Thanks.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You right the digital reset does not prevent the phase, as I remember it even does not change it - I mean the phase is changed only with power_down_gxb input .

    I will update you if I find something.