Article ID: 000075490 Content Type: Troubleshooting Last Reviewed: 02/01/2023

Are there any known problems with the register settings contained in the ‘c3_reconfig.c’ file generated by the E-tile Hard IP Dynamic Reconfiguration Design Example for Intel® Stratix® 10 FPGA?

Environment

    Intel® Quartus® Prime Pro Edition
    CPRI
    Ethernet
    Reference Design Components
BUILT IN - ARTICLE INTRO SECOND COMPONENT

Critical Issue

Description

Are there any known problems with the register settings contained in the ‘c3_reconfig.c’ file generated by the E-tile Hard IP Dynamic Reconfiguration Design Example for Intel® Stratix® 10 FPGA operating in the “25G Ethernet to CPRI Protocol” , "10G/25G Ethernet Protocol" or the “CPRI Protocol” modes?

Yes. Due to a problem in the Intel® Quartus® Prime Pro Edition Software versions 20.3 and earlier, the ‘c3_reconfig.c’ file generated by the E-tile Hard IP Dynamic Reconfiguration Design Example  Intel® Stratix® 10 FPGA operating in the “25G Ethernet to CPRI Protocol”, "10G/25G Ethernet Protocol"  or “CPRI Protocol” modes contains incorrect register writes to transceiver register address 0x30E, bit [7]. These writes can be found in the following functions:

                        “25G Ethernet to CPRI Protocol”

                                •       c3_ehiplane_rcfg_25gptpfec_to_9p8gcpri

                                •       c3_ehiplane_rcfg_25gptpfec_to_4p9gcpri

                                •       c3_ehiplane_rcfg_25gptpfec_to_2p4gcpri

                                •       c3_ehiplane_rcfg_10gcpri_to_9p8gcpri

                        “10G/25G Ethernet Protocol”

                                •       c3_ehiplane_rcfg_25gptpfec_to_1gptp

                                •       c3_ehiplane_rcfg_10gptp_to_1gptp

                                •       c3_ehiplane_rcfg_25gptpnofec_to_1gptp

                        “CPRI Protocol”

                                •       c3_cpriphy_rcfg_grp_a_to_grp_b

                                •       c3_cpriphy_rcfg_grp_a_to_grp_c

 

Within each of these functions, the following register accesses are incorrect:

    // HIP OSC CLK SCG EN

    rdata0 = IORD(xcvr_base_addr, 0x30E);

    wdata = (rdata0 & 0xFFFFFF7F) | 0x80;

    IOWR(xcvr_base_addr, 0x30E, wdata);

Resolution

To work around this problem, perform the following steps:

  1. Navigate to the “/software/dynamic_reconfiguration_hardware/” directory.
  2. Open the ‘c3_reconfig.c’ file.
  3. Locate the functions cited in the description above.
  4. Comment out the following (3) sections of the code:

                // HIP OSC CLK SCG EN

                rdata0 = IORD(xcvr_base_addr, 0x30E);

                wdata = (rdata0 & 0xFFFFFF7F) | 0x80;

                IOWR(xcvr_base_addr, 0x30E, wdata);

  1. Save the ‘c3_reconfig.c’ file.
  2. Re-build the Nios software project to obtain a new .elf file.

Related Products

This article applies to 2 products

Intel® Stratix® 10 TX FPGA
Intel® Stratix® 10 MX FPGA

1