cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jpbb
Participant
Participant
443 Views
Registered: ‎03-26-2018

Aurora 64b66b not working properly on xc7v

Hi ,

We have some problems with our aurora 64b66b link developed for our platform based on xc7vx690tff1930-1. we have a Tx simplex as shown in the picture:

Screenshot from 2020-10-21 13-54-44.png

The board is connected to an Alveo 200 board capturing the data.

When running we observe that the link is getting up (lane-up/channel up) and also that the tx_ready signal is periodically dropped as expected when using tx-simplex. 

(D8:usr_clk, D9 TREADY, D10 TVALID, D11 TLAST). In the test project, we just wait after getting txready back to 1 in order to send data.

0.png

 

Here are the problems which might be connected:

1. We sometimes loss some packets a 32bit packet as shown below.(in that case we miss 0000b80B and the entire raw is shifted to the left). This problem is not periodic but affect approximately 1/1000 frames.

missing.png

2. we can observe a long drop of txready (~13us). What can be the reason why it drops so long? whe looked at different signals PLL lock, channel-up, lane up but they are stable as expected..

1.png

 

Any help or information would be appreciated!!!

Cheers

JP

 

0 Kudos
2 Replies
karnanl
Xilinx Employee
Xilinx Employee
396 Views
Registered: ‎03-30-2016

Hello @jpbb 

 

Auto_link_recovery_Aurora.png

(Unfortunately) This is an expected behavior of Aurora 64B66B Simplex TX.
Aurora 64B66B Simplex TX is sending Channel Bonding sequence periodically as mentioned in PG074.
So, if s_axi_tx_tready is deasserted during CB sequence, you definitely need to hold/buffer your data.

# Usually I do not recommend users to customize Xilinx IP.
   But if this IP behavior does not match your system usecase, please try to decrease value of TOTAL_CB_COUNT parameter little by little (while doing HW verification), it will decrease the s_axi_tx_tready de-assertion period.

# TOTAL_CB_COUNT can be found in tx_ch_bond_code_gen_simplex.v module. (see below)
   Aurora_64B66B_tx_ch_bond_code_gen_simplex.png

Kind regards
Leo


------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
If starting with Versal take a look at our Versal Design Process Hub and our Versal Blogs
Versal Example Designs : LINK
>>------------------------------------------------------------------------------------------------
0 Kudos
jpbb
Participant
Participant
381 Views
Registered: ‎03-26-2018

Hi Leo!

Thanks for your answer...

We are not trying to decrease the tx_ready channel bonding frequency. We also tried to wait after such event to send our data but we still observe failures.

 

My concern is now to understand what are the reason why tx_ready can be low under more than 10uS. It would be great to understand the mechanism behind that.

Cheers

JP

 

0 Kudos