Showing results for 
Search instead for 
Did you mean: 

We are getting CRC errors with JESD204C IP

We are using JESD204C IP with E-Tile transceiver to interface Stratix 10 TX Signal Integrity Development Kit with TI ADC12DJ5200RF EVM for interoperability test report for Intel. We are observing CRC errors at 17.16Gbps line rate. The errors are observed with Byte ramp data being sent from ADC and not observing when Short transport pattern is sent from ADC. Errors are not occurring at 9.9Gbps line rate either with byte ramp or short transport pattern. We are looking for PMA tuning framework that helps to tune equalization for the required data and line rate.

We believe that PMA adoption needs to be tuned for the specific data pattern/line rate. Let us know if there is any other better solution for this problem.


Our understand about PMA tuning:

Based on the E-Tile Transceiver PHY User Guide (UG-20056 page 73, 74) , we understood that there are GS1, GS2, RF_B0, RF_B1 parameters to be tuned and with a defined range for each parameter. It would be a total of ~70 combinations to sweep and find the optimum setting for the required setup/line rate/data pattern.


It would be better to have an automation framework for this to run over all the combinations and log the eyescan results (or any other way to measure link strength) for each combination and set the optimum values. This framework can be used for any setup in future. Could you please help us provide the automation frame work for PMA tuning or any other better solution to this problem.


More details based on the testing done:

Hardware: Intel Stratix 10 TX Signal Integrity Development Kit (Rev B), TI ADC12DJ5200RF EVM

Quartus version: 19.2 Prime Pro

JESD204C IP Version: 1.0.0 (Using E-Tile)

Line rate: 17.16Gbps

JESD204C MODE: JMODE 31 (Refer page 62, 69, 72 & 73 in the ADC12DJ5200RF datasheet)

Ref project - Example design generated from IP and updated for above config (Attached source code '')


Test process:

1. Send short transport test pattern from ADC - No CRC errors and data is good. (Attached an image 'Short transport test pattern.PNG' explains short transport test pattern)

2. Send Byte ramp pattern from ADC, where the octet stream increments from 0x00 to 0xFF and repeats - CRC errors observed.

Below are the further debug steps performed for Byte Ramp data from ADC

a. Executed sequence [ reset; xcvr_lpbk 0; load_adaptation_PMA_configuration 0] from main.tcl (Attached main.tcl) from system console that does default PMA tuning - CRC errors observed

b. Executed sequence [reset, xcvr_lpbk 0, tune_vod 7, test_nrz_sweep] which set max values for PMA parameters - CRC errors observed

3. Performed an external loopback using FMC (not FMC+) card with Byte ramp data being generated from FPGA's Tx IP. (Refer transport layer parameters of Project - BER errors observed but no CRC or Data error (Attached an image 'BER_errorcount.JPG' that shows BER error count with test performed in EMIF tool kit)

a. Tried the sequences [ reset; xcvr_lpbk 0; load_adaptation_PMA_configuration 0] and [reset, xcvr_lpbk 0, tune_vod 7, test_nrz_sweep] - BER errors still observed


From above results, we believe that PMA tuning is needed for byte ramp data (though the default tuning worked for Short transport data) at higher line rates.

0 Kudos
1 Reply



My apologies but currently, there is no automation framework available for PMA tuning for Stratix 10 E-tile transceivers. This is because PMA tuning has a number of dependencies such as temperature, data type (different data types, idle character with stressed pattern produces creates different level of ISI), crosstalk between channels, noise coupling through PDN, reset and data release sequence.

Hence, thats why Stratix 10 offer Receiver adaptation but still recommend certain level of manual PMA tuning to determine the most optimum equalization value for both Tx and RX side. Typically, if the channel only has ISI with minimal crosstalk and PDN noise coupling, receiver equalization tuning (automated through adaptation) should be able to determine the automated settings.


Hence, you will need to perform PMA tuning as recommended in our user guide.

We will take this feedback to consider how to create a more automated framework.