Device Family: Stratix® V E, Stratix® V GS, Stratix® V GT, Stratix® V GX

Type: Answers

Area: EMIF, Intellectual Property

IP Product: Stratix V GX Advanced Systems Development Kit

Why do I get an error when selecting a rank of 4 with 4 chip selects for a DDR3 LRDIMM?


For Stratix V DDR3 memory controllers, when selecting the LRDIMM memory format with the "Number of ranks per slot" set to 4 and the "Number of chip selects per device/DIMM" set to 4, you will see the following error:

Error: LRDIMM: can't read "cfg_write_ddr3_lrdimm_table(44)": no such element in array
    while executing
"set generated_cfg_odt_chip  ()"
    ("if" then script line 2)
    invoked from within
"if {} {
                        set generated_cfg_odt_chip  ()
                } else {
    ("if" then script line 2)
    invoked from within
"if {[regexp {^DDR2$} ] == 1 && ([array names cfg_write_ddr2_table ] != "") && } {
                set generated_cfg_odt_chip $..."
    (procedure "_compute_odt_chip" line 63)
    invoked from within
"_compute_odt_chip 1"
    invoked from within
"set_parameter_value CFG_WRITE_ODT_CHIP [_compute_odt_chip 1]"
    ("if" then script line 125)
    invoked from within
"if {[string compare -nocase [get_parameter_value NEXTGEN] "true"] == 0} {

        if {[regexp {^DDR1$} ] == 1} {
            set_parameter_value CFG_TYPE 0..."
    (procedure "_derive_parameters" line 209)
    invoked from within
    (procedure "alt_mem_if::gui::ddrx_controller::validate_component" line 5)
    invoked from within
    (procedure "ip_validate" line 11)
    invoked from within

The error occurs because a quad-rank (rank of 4) LRDIMM does not use 4 chip selects.


The workaround is to select a quad-rank LRDIMM preset in the Preset Editor of the Megawizard. The preset will specify the correct number of address and chip select signals. This issue will be fixed in a future release of the Quartus® II software.