Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16685 Discussions

Platform Designer fails QDR II elaboration

K_Crocker
Novice
634 Views

This behavior began recently with a mature project. During QSys Generation, the process fails while elaborating a QDR II instantiation claiming it can't find "sequencer/sequencer.elf". Here's the error log:

 

Info: pll0: "qdrii_1" instantiated altera_mem_if_qdrii_pll "pll0"
Info: p0: Generating clock pair generator
Info: p0: Generating qsys_fabric_qdrii_1_p0_altdqdqs
Info: p0: Generating qsys_fabric_qdrii_1_p0_altdqdqs_in
Info: p0: 
Info: p0: *****************************
Info: p0: 
Info: p0: Remember to run the qsys_fabric_qdrii_1_p0_pin_assignments.tcl
Info: p0: script after running Synthesis and before Fitting.
Info: p0: 
Info: p0: *****************************
Info: p0: 
Info: p0: "qdrii_1" instantiated altera_mem_if_qdrii_phy_core "p0"
Info: m0: "qdrii_1" instantiated altera_mem_if_qdrii_afi_mux "m0"
Error: s0: Error during execution of "{C:/intelfpga/18.1/quartus/../nios2eds/Nios II Command Shell.bat} make all 2>> stderr.txt": child process exited abnormally
Error: s0: Execution of command "{C:/intelfpga/18.1/quartus/../nios2eds/Nios II Command Shell.bat} make all 2>> stderr.txt" failed
Error: s0: ]2;Altera Nios II EDS 18.1 [gcc4]C:/intelfpga/18.1/quartus/bin64/uniphy_mcc -ac_code sequencer_mc/ac_rom.s -inst_code sequencer_mc/inst_rom.s -ac_rom ../qsys_fabric_qdrii_1_s0_AC_ROM.hex -inst_rom ../qsys_fabric_qdrii_1_s0_inst_ROM.hex -header sequencer/sequencer_auto.h -vheader ../sequencer_auto_h.sv -ac_rom_init sequencer/sequencer_auto_ac_init.c -inst_rom_init sequencer/sequencer_auto_inst_init.c -DQUARTER_RATE=0 -DHALF_RATE=1 -DFULL_RATE=0 -DNON_DES_CAL=0 -DGUARANTEED_READ_BRINGUP_TEST=0 -DMEM_ADDR_WIDTH=22 -DHARD_PHY=0
Error: s0: UniPHY Sequencer Microcode Compiler
Error: s0: Copyright (C) 2018  Intel Corporation. All rights reserved.
Error: s0: Info: Reading sequencer_mc/ac_rom.s ...
Error: s0: Info: Reading sequencer_mc/inst_rom.s ...
Error: s0: Info: Writing ../qsys_fabric_qdrii_1_s0_AC_ROM.hex ...
Error: s0: Info: Writing ../qsys_fabric_qdrii_1_s0_inst_ROM.hex ...
Error: s0: Info: Writing sequencer/sequencer_auto_ac_init.c ...
Error: s0: Info: Writing sequencer/sequencer_auto_inst_init.c ...
Error: s0: Info: Writing sequencer/sequencer_auto.h ...
Error: s0: Info: Writing sequencer/sequencer_auto.h ...
Error: s0: Info: Writing ../sequencer_auto_h.sv ...
Error: s0: Info: Microcode compilation successful
Error: s0: C:/intelfpga/18.1/quartus/../nios2eds/sdk2/bin/nios2-bsp hal sequencer_bsp .. --default_sections_mapping sequencer_mem --use_bootloader DONT_CHANGE
Error: s0: child process exited abnormally
Error: s0: Cannot find sequencer/sequencer.elf
Error: s0: An error occurred
    while executing
"error "An error occurred""
    (procedure "_error" line 8)
    invoked from within
"_error "Cannot find $seq_file""
    ("if" then script line 2)
    invoked from within
"if {[file exists $seq_file] == 0} {
		_error "Cannot find $seq_file"
	}"
    (procedure "alt_mem_if::util::seq_mem_size::get_max_memory_usage" line 14)
    invoked from within
"alt_mem_if::util::seq_mem_size::get_max_memory_usage [file join "sequencer" "sequencer.elf""
    invoked from within
"set calc_mem_size [alt_mem_if::util::seq_mem_size::get_max_memory_usage [file join "sequencer" "sequencer.elf"]]"
    ("if" then script line 2)
    invoked from within
"if { !$do_only_rw_mgr_mc && !($bfm_mode || $hps_mode)} {
		set calc_mem_size [alt_mem_if::util::seq_mem_size::get_max_memory_usage [file join "sequenc..."
    (procedure "generate_qsys_sequencer_sw" line 924)
    invoked from within
"generate_qsys_sequencer_sw $prepend_str $protocol $pre_compile_dir $fileset $inhdl_dir $rdimm $lrdimm 0 0  $nios_hex_file_name $ac_rom_init_file_name ..."
    invoked from within
"set seq_mem_size_list [generate_qsys_sequencer_sw $prepend_str $protocol $pre_compile_dir $fileset $inhdl_dir $rdimm $lrdimm 0 0  $nios_hex_file_name ..."
    ("if" else script line 2)
    invoked from within
"if {[::alt_mem_if::util::qini::qini_value alt_mem_if_seq_size_request 0] > 0} {
		set seq_mem_size [::alt_mem_if::util::qini::qini_value alt_mem_if_se..."
    (procedure "alt_mem_if::gen::uniphy_gen::generate_qsys_sequencer" line 238)
    invoked from within
"alt_mem_if::gen::uniphy_gen::generate_qsys_sequencer "${name}" $protocol $tmpdir $fileset {}"
    invoked from within
"set qsys_sequencer_files_list [alt_mem_if::gen::uniphy_gen::generate_qsys_sequencer "${name}" $protocol $tmpdir $fileset {}]"
    (procedure "alt_mem_if::gen::uniphy_gen::generate_sequencer_files" line 3)
    invoked from within
"alt_mem_if::gen::uniphy_gen::generate_sequencer_files $name "QDRII" $tmpdir QUARTUS_SYNTH"
    invoked from within
"foreach generated_file [alt_mem_if::gen::uniphy_gen::generate_sequencer_files $name "QDRII" $tmpdir QUARTUS_SYNTH] {
		set file_name [file tail $gener..."
    (procedure "generate_synth" line 8)
    invoked from within
"generate_synth qsys_fabric_qdrii_1_s0"
Info: s0: "qdrii_1" instantiated altera_mem_if_qdrii_qseq "s0"
Error: Generation stopped, 63 or more modules remaining
Info: qsys_fabric: Done "qsys_fabric" with 45 modules, 58 files
Error: qsys-generate failed with exit code 1: 20 Errors, 4 Warnings
Info: Finished: Create HDL design files for synthesis

 

I've tried de-installing and re-installing Quartus 18.1.0 to no avail. I've included a stripped down project to see if someone can replicate the issue. Steps to follow:

  1. Unzip to an empty directory.
  2. Open project "cxp_upr.qpf"
  3. Launch Platform Designer
  4. Open "qsys_fabric.qsys"
  5. Click "Generate..."

Many thanks in advance for your much valued assistance!

Labels (1)
0 Kudos
1 Solution
K_Crocker
Novice
612 Views

*************** Problem Solved ***************

The issue was traced to enabling WSL (Windows Subsystem for Linux). Apparently WSL interferes with the scripting used to compile the QDR II sequencer code. So, one can either upgrade to a more recent Quartus version or operate without WSL. The effect is reversible, but disabling WSL destroys any installed Linux distributions and Linux files that you've created.

View solution in original post

0 Kudos
3 Replies
K_Crocker
Novice
613 Views

*************** Problem Solved ***************

The issue was traced to enabling WSL (Windows Subsystem for Linux). Apparently WSL interferes with the scripting used to compile the QDR II sequencer code. So, one can either upgrade to a more recent Quartus version or operate without WSL. The effect is reversible, but disabling WSL destroys any installed Linux distributions and Linux files that you've created.

0 Kudos
SyafieqS
Employee
599 Views

Glad the issue is resolved.

Let me know if there is any other concern on this.


0 Kudos
K_Crocker
Novice
353 Views

Hello,

Unfortunately, this issue has returned. I'm attempting to upgrade some of my projects to Quartus 23.1std, which requires WSL 1 and Ubuntu 18.04 LTS to compile and run NIOS II programs. I know that NIOS II is being phased out in favor of NIOS V, but I'm not there yet. So, I'm again looking for a hot fix that will allow Quartus 23.1std, WSL 1 and Ubuntu 18.04 LTS to be installed while instantiating a QDR component inside QSYS.

Any help would be greatly appreciated!!

0 Kudos
Reply