I have taken another look and just want to summarize a few things:
1. The physical connection seems to work. PRBS31 works when used in the System Console and reaches BER of 0. I also tested to Inject Errors to verify the link is properly working
2. I have taken waveforms with the oscilloscope [image.png] to verify a proper transmission of the data. The 80-bit sequence here was [0x00AAAAAfff0000AAFF5500FFAAAAA000055FFAA]
- I have used two ways to send this data. 1. via the debug interface of the e-tile and also via my own implementation of tx_parallel_data. Both ways worked
3. I have changed the program so that no direct timing violation is recognized by the Quartus Timing Analayzer
4. I used a tcl script inside of the system console. There I was able to get a partial success. I send the sequence [0x1BC,0x2BC,0x3BC,0x4BC,0x5BC,0x6BC,0x7BC,0x8BC] and received [0x2BC,0x3BC, 0x3BC,0xBC,0x1BC,0x2BC,0x3BC,0xBC,0x1BC]
-> The mentioned data was read out by using following commands:
rcfg_etile $phy $channel 0x0001C 0x0 1
rcfg_etile $phy $channel 0x00018 0x4 1
rcfg_etile $phy $channel 0x0001A 0x0 1
rcfg_etile $phy $channel 0x0001A 0x0 1
rcfg_etile $phy $channel 0x0001A 0x0 1
rcfg_etile $phy $channel 0x0001A 0x0 1
rcfg_etile $phy $channel 0x0001A 0x0 1
rcfg_etile $phy $channel 0x0001A 0x0 1
rcfg_etile $phy $channel 0x0001A 0x0 1
rcfg_etile $phy $channel 0x0001A 0x0 1
5. I have added an EYE diagram measured by the System Console Toolkit
=> The general transmission seems to work more or less fine so far. The link should work.
Now the problem begins when I try to read it out via the FPGA Core Interface. I am using a FIFO which writes on rx_ready true and is then readout later. I also verified that the FIFOs are read out properly. I also tried using the Signal Tap Logic Analyzer to read out the data from rx_parallel_data (see attached image). But the receiving data seems completely random. I would assume there is some problem between the PMA and my FPGA core but I can't so where and I am also not sure how to properly debug this part.
I have already tried:
1. Enabling Deskew and adding the deskew bits
2. Reducing the transmission speed
3. Use TX channel bonding
4. Different reference clocks
But nothing has produced a useable result so far. I would be happy about any recommendation on how to proceed.