This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6657 PCIE SerDes alignment

Genius 5785 points

Hello,

The default value of RX_ALIGN in SERDES_CFGx on PCIE is 0 (Alignment disabled.). I think it's better for the robustness to set the bit to 1 (Comma alignment enabled.). Generally which is better? What is a demerit when alignment enabled/disabled?

Regards,
Kazu

  • Kazu

    It will depend on the system implementation. When comma alignment is enabled, the receiver examines the data stream for the positive or negative disparity comma characters (0011111xxx and 1100000xxx respectively). If a comma that straddles symbol boundaries is detected, the alignment will be corrected, but this will result in one symbol of corrupted data, as between 1 and 9 bits are removed from the data stream.

    So the default is to disable the alignment, but if needed, you can also enable the alignment depending on your requirement.

    Thanks

    David

  • Hello David,

    Thank you for your reply.

    When alignment is enabled.)
    Is a data symbol which follows a comma removed if the comma straddles symbol boundaries?

    When alignment is disabled.)
    How does PCIESS find and correct a data symbol if the data straddles symbol boundaries?

    Regards,
    Kazu

  • Kazu

    When alignment is disabled, symbol/character alignment is performed within the PCS. Attached is a link on the general implementation of PCS for PCIe system: .

    We recommend to disable the ALIGN bit, this prevents inadvertent realignment occuring if a bit error changes another symbol into a comma. Instead, we let PCS block handle the symbol alignment process.

    So the bottom line is that alignment is still done, but it is done at PCS level, not at PHY level.

    Thanks

    David