Hello All,
I'm trying to use the SRIO module in the keystone 667x devices. The target platform is a custom design where a TMS320C6671 DSP is connected using 4 SRIO lanes with a Xilinx artix FPGA. Because I'm not familiar with serial rapid IO connections I wanted first to write some codes and test them on the TMDSEVM6678L EVM (the SRIO module is the same in the 6671 and 6678 DSP).
First thing we did was a connection between the TX and RX on SRIO lane 0 on the AMC edge connector (on the evaluation module).
Using this hardware I wanted to realize a physical external loopback on lane 0.
Question 1.
First of all I want to ask if the idea with connecting the RX and TX differential pairs from the SERDES0 is reasonable? And also if such a connection allows to build and test correct SRIO application code?
I'm already trying to build and run a working code on this hardware (EVM with tx rx connection).
First thing that is done is enabling the SRIO blocks. Then is the PLL configuration. I'm getting the PLL lock and then I enable the TX and RX for channel 0 to run in normal operation mode. The default configuration is 4x x1 port so after setting the BOOTCOMPLETE bit I'm checking the SP0_ERR_STAT and LANE0_STAT0 also the SRIO_SERDES_STS register. There are two different behaviors I observed:
1. While configuring the PLL and trying to run some reasonable speeds I got the Port OK bit (SP0_ERR_STAT) together with the RX_SYNC bit (LANE0_STAT0) only if I set the lowest multiplier and quarter rate. But once I read those values () I observe that the port OK bit and rx sync bit are getting 0 after short time.
2. In case of bypassing the PLL (value 11(b) in the CLKBYP field in the serdes macro configuration register) once achieved PORT_OK stays forever. (from this observation I assume that some part of the configuration is OK)
Question 2.
In this case I want to ask if this situation point to some wrong register configuration of the SerDes, Tx, Rx (In this case if there are some recommended values for such a solution) or the whole concept is wrong (Question 1)?