Article ID: 000086834 Content Type: Troubleshooting Last Reviewed: 01/29/2018

Why doesn't the mmr_slave_readdatavalid signal de-assert when accessing the MMR ECC register?

Environment

  • Intel® Quartus® Prime Pro Edition
  • External Memory Interfaces Intel® Stratix® 10 FPGA IP
  • External Memory Interfaces Intel® Arria® 10 FPGA IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    Critical Issue

    Description

    When you access the Intel Stratix® 10 or Intel Arria® 10 MMR ECC register, the mmr_slave_readdatavalid signal doesn't de-assert after being asserted.

    Resolution

    Open the <IP_generated_directory>\synth\altera_emif_io_hmc_ecc_mmr.v file and add the lines indicated by // NEW CODE  (as shown below) for the  10'h080/10'h081/10'h082/10'h090/10'h091/10'h092/10'h093/10'h094 registers.

    10'h080 :
                    begin
                        reg_clr_intr            <= 1'b0;
                        reg_clr_mr_rdata        <= 1'b0;
                       
                        if (int_slave_write)
                        begin
                            reg_wrpath_pipeline_en <= slave_wr_data [     10] & slave_byte_enable [1];
                            reg_ecc_code_overwrite <= slave_wr_data [      9] & slave_byte_enable [1];
                            reg_enable_auto_corr   <= slave_wr_data [      8] & slave_byte_enable [1];
                            reg_enable_rmw         <= slave_wr_data [      2] & slave_byte_enable [0];
                            reg_enable_dm          <= slave_wr_data [      1] & slave_byte_enable [0];
                            reg_enable_ecc         <= slave_wr_data [      0] & slave_byte_enable [0];
                        end
                       
                        if (int_slave_read)
                        begin
                            int_slave_rd_data       <=  {
                                                            {(CFG_MMR_DATA_WIDTH - 11){1'b0}},
                                                            reg_wrpath_pipeline_en           ,
                                                            reg_ecc_code_overwrite           ,
                                                            reg_enable_auto_corr             ,
                                                            cfg_ecc_in_protocol              ,
                                                            cfg_data_rate                    ,
                                                            reg_enable_rmw                   ,
                                                            reg_enable_dm                    ,
                                                            reg_enable_ecc                  
                                                        };
                            int_slave_rd_data_valid <= 1'b1;
                        end
                        else // NEW CODE
                        begin // NEW CODE
                           int_slave_rd_data_valid <= 1'b0; // NEW CODE
                        end // NEW CODE


                    end

    This problem is scheduled to be fixed in a future release of the Intel Quartus® Prime software.

     

    Related Products

    This article applies to 2 products

    Intel® Stratix® 10 FPGAs and SoC FPGAs
    Intel® Arria® 10 FPGAs and SoC FPGAs