09-03-2020 04:20 PM
Hello, I am trying to do a Near-end PCS Loopback using the example code . When I run the code it never returns from the CheckData() function.
Status = CheckData();
if (Status != XST_SUCCESS) {
return XST_FAILURE;
}
I was looking on page 86 of UG576:
The RX elastic buffer must be enabled and RX_XCLK_SEL must be set to RXDES for
near-end PCS loopback to function properly. While in near-end PCS loopback, the RX
XCLK domain is clocked by the TX PMA parallel clock (TX XCLK). If the RXOUTCLK is used
to clock interconnect logic and RXOUTCLKSEL is set to RXOUTCLKPMA during normal
operation, one of these two items must be changed when placing the GTH transceiver
into near-end PCS loopback:
° Set RXOUTCLKSEL to select RXOUTCLKPCS, or
° Set RXCDRHOLD = 1'b1
How do I enable the RX elastic buffter and enable the RX_XCLK_SEL to RXDES? Also, how to I set RXCDRHOLD to 1?
I am getting Lane UP and Channel UP and gt_pll_lock is high.
Can anyone give me some help?
Last, when I put the Aurora IP in Normal mode I'm getting the gt_pll_lock to periodically go low. What could this be?
Thank you,
Joe
09-03-2020 04:44 PM