Forum Discussion
Tranceiver Enhanced PCS Basic mode questions
- 16 days ago
Hi MinzhiWang,
1) There is a Word Aligner block in Cyclone 10 GX, instead of Byte Ordering. Refer Table 29 in https://docs.altera.com/r/docs/683054/20.1/cyclone-10-gx-transceiver-phy-user-guide/standard-pcs-parameters.
2) Typically both Tx and Rx and connected to other side Rx and Tx respectively. Then, you send a know response. Else, use general purpose IOs to communicate the Rx readiness. This will be your own custom logic.
Hoep this clarifies.
Regards,
Altera Tech Support
Hello Ash,
Thanks for you reply.
After switching from Ehanced PCS to standard PCS, I know how to practice tranceiver on C10GX devices. I only have several simple questions need to discuss with you.
- I know and remember that Stratix II GX and Arrai GX devices has byte ordering block, however, I can't find this block on C10GX. How to find and enable this block on C10GX devices?
2. We didn't enable Byte Ordering Block in our Arria GX devices. So we can refer this function when use C10GX devices now. The only issue is that 32-bit wide parallel data width is used for our current project. In our previous project, it's 16-bit wide. In 16-bit case, there is only one possibility for re-alignment, which high byte swaps with lower byte. Now in 32-bit case, there are 3 possibilities, as following image
Because we don't use Byte Ordering Block, so we can use user code to correct this byte mis-ordering issue. Actually above diagram is not correct real case for byte ordering before we use SignalTap II to detect it. According to previous signaltap II image, we got the following correct byte re-ordering method:
3. You gave "Recommended initialization sequence:" above. I have one question about TX side. In our case, RX and TX are on different hardware boards. RX can't notice TX when RX is ready. So our issue is how to guarantee both sides are ready before TX sends user data?
Best Regard
Hi Minzhi,
For Cyclone 10 GX Enhanced PCS Basic mode, word alignment is typically achieved using the RX Synchronizer (word aligner) or the RX bitslip interface. A common approach is to transmit a known training/alignment pattern from the remote TX and allow the local RX to search for that pattern and adjust the word boundary until it is detected correctly. This is generally how serial links establish alignment before normal payload traffic begins.
Regarding the initialization sequence, a typical flow is:
- Wait for TX/RX PLL lock and RX ready/calibration completion.
- Remote TX continuously sends a known alignment pattern.
- Local RX uses the RX Synchronizer or RX bitslip to achieve word alignment.
- Once the alignment pattern is detected consistently, switch to normal data transmission.
Since your design uses a custom point-to-point link without a standard protocol, defining a unique training pattern during link bring-up is the recommended method for reliable synchronization and word-boundary alignment.
The TX normally has no visibility into the RX word-alignment status. A common approach is for the TX to continuously transmit a known training pattern after link initialization, while the RX performs word alignment using the RX Synchronizer or RX bitslip. Once the RX reliably detects the training pattern, it can either:
- Signal alignment completion through a separate sideband/control channel, or
- Begin transmitting a known response pattern back to the far-end TX.
After the TX receives the expected indication, both sides can transition to normal payload traffic.
Regards,
Altera Tech Support
- MinzhiWang21 days ago
Occasional Contributor
Hi Ash,
We are focus on Standard PCS now, instead of Enhanced PCS. So my questions are
- How to open/enable "Byte Ordering Block"?
- I just want to know how RX notice for-end TX after RX is ready?
Regard
- Ash_R_Altera16 days ago
Regular Contributor
Hi MinzhiWang,
1) There is a Word Aligner block in Cyclone 10 GX, instead of Byte Ordering. Refer Table 29 in https://docs.altera.com/r/docs/683054/20.1/cyclone-10-gx-transceiver-phy-user-guide/standard-pcs-parameters.
2) Typically both Tx and Rx and connected to other side Rx and Tx respectively. Then, you send a know response. Else, use general purpose IOs to communicate the Rx readiness. This will be your own custom logic.
Hoep this clarifies.
Regards,
Altera Tech Support