cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Adventurer
Adventurer
583 Views
Registered: ‎10-03-2019

100G CMAC zcu111 - example design

I am trying to make the 100G CMAC RX design example to work on zcu111.

Connected the ref clock to USER_MGT_SI570 (156.25MHz) and the free running (init clock) to CLK_100 (100MHz).

I can not get the receiver up and running, the GT locks but then stat_rx_local_fault and stat_rx_internal_local_fault keep high.

I have tried to read statistics registers STAT_RX_BLOCK_LOCK_REG, STAT_RX_LANE_SYNC_ERR_REG, STAT_RX_LANE_SYNC_REG, STAT_RX_STATUS_REG, STAT_STATUS_REG1.

but I cannot get any meaningful information. All the values I read are 0x0C (defaulting to 0xfffff).

Could someone please provide some pointers?

Tags (2)
0 Kudos
Reply
9 Replies
Adventurer
Adventurer
521 Views
Registered: ‎10-03-2019

any pointers on that?

0 Kudos
Reply
Xilinx Employee
Xilinx Employee
515 Views
Registered: ‎04-16-2008

Some ideas to try:

- Enable internal near end PMA loopback and/or external see if that allows link up

- Assert and de-assert gt_reset_all and then gt_rx_reset to see if this allows link up

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
Xilinx Employee
Xilinx Employee
514 Views
Registered: ‎04-16-2008

Also be aware that some of the status registers are latching and require reading twice to get the latest status.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
Adventurer
Adventurer
505 Views
Registered: ‎10-03-2019

Thank you very much for your reply,

I have changed loopback modes, with not effect (even though that worked in the TX).

I have also persisted with reset, but I'll give it another go. 

0 Kudos
Reply
Adventurer
Adventurer
502 Views
Registered: ‎10-03-2019

I am doing reading more than once, the first I get 0x0c the second 0xfffff (which as I understand is the register defaulting to 1?)

0 Kudos
Reply
Adventurer
Adventurer
430 Views
Registered: ‎10-03-2019

@ejanney 

Could you please let me know if by gt_reset_all  you mean gtwiz_reset_all_in and by gt_rx_reset gt_wiz_reset_rx_datapath_in?

 

0 Kudos
Reply
Adventurer
Adventurer
364 Views
Registered: ‎10-03-2019

@ejanney 

Can I please ask if there is any other alternative?

Please bear in mind I am working with the generated example design.

 

0 Kudos
Reply
Xilinx Employee
Xilinx Employee
263 Views
Registered: ‎04-16-2008

Yes this is correct:

gt_reset_all  you mean gtwiz_reset_all_in and by gt_rx_reset gt_wiz_reset_rx_datapath_in

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
Adventurer
Adventurer
243 Views
Registered: ‎10-03-2019

@ejanney Thank you very much for your reply,

I have been experiencing problems due to the following:

The stat_rx_synced is mostly FFFEE resulting from stat_rx_mf_len_err being 00011.

Would you be able to provide some feedback?

0 Kudos
Reply