Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20641 Discussions

RapidIO II link training failed with mobiveil IP Core

SYiwe
Novice
595 Views

Hi, 

   RapidIO II in Arria10 FPGA failed to train a 4x  link with Mobiveil GRIO IP Core,when link_width=4,after power up and loading the sof,

FPGA: rx_is_lockedtodata=4'hF,four_lanes_aligned=1,  port_init=1,link_init=0;

Mobiveil: all four RX are locked to data,  and all four lane_sync=1, but four_lane_aligned is instable,and initialization state machine stall in DISCOVERY.

  Any suggestions? Regards.

0 Kudos
3 Replies
AminT_Intel
Employee
565 Views

Hello,

 

I am sorry I couldn't understand entirely the question. Could you please re-phrase it so I can help you further?

 

Thanks! 

0 Kudos
SYiwe
Novice
549 Views

Thank you, here's my update:

 In my design, a RapidIO II IP Core in A10 GX FPGA is used, trying to establish link with another chip(link partner).

The SRIO of link partner is composed of Mobiveil GRIO IP Core and SiliconCreation SerDes IP Core.

In 1x mode, link training is successful, and MAINTENANCE/SWRITE/DOORBELL transactions are verified.

In 4x mode, link training is failed. For FPGA, rx_is_lockedtodata=4'hF, four_lanes_aligned=1, two_lanes_aligned=1, port_initialized=1, link_initialized=0. For link partner, lane_sync[3:0]=4'hF, both four_lanes_aligned and two_lanes_aligned toggle between 0 and 1,  port_initialized=0, link_initialized=0.

That means, in 4x mode, link partener cannot be aligned steadily. According to RapidIO Specification v2.2 part6 chapter 4.12.4.3, if all four lanes recept /A/, a ||A|| is counted, and 4 consecutive ||A||s after lane_sync[3:0]=4'hF will result four_lanes_aligned=1. And the alignment state machine will detect a misaligned column, which will cause the lane alignment state machine goes to NOT_ALIGNED state.

Since the alignment of link partner is unstable, I'm trying to figure out why its four_lanes_aligned toggles. First I want to know that, whether the /A/s sent by FPGA's four lanes are fully synchronous or not, how can I verify that?  After port_initialized=1 but link_initialized=0, does FPGA still transmit /A/ in idle sequence? 

Regards.

 

0 Kudos
AminT_Intel
Employee
511 Views

Hello,

 

I apologize that I do not have enough information to answer your question because it is involving 3rd party IPs. I will leave this forum open for community to support you.

 

Thank you.

 

0 Kudos
Reply