Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20641 Discussions

Quartus 18.1 Lite Platform Designer DDR3 Controller can't build when WSL is enabled

MoZdk
New Contributor I
1,175 Views

For a project with a DDR3 SDRAM Controller, I am using Quartus 18.1 Lite with Platform Designer on a Windows 10 PC.

After installing WSL (Windows Subsystem for Linux), an error occurs when I try to generate code in Platform Designer., even trough Quartus 18.1 should not depend on WSL. 

The immediate error is "Cannot find sequencer/sequencer.elf", where it appears that a Makefile fails to generate the file sequencer.elf.

When looking into the Quartus 18.1 scripts, is appears that the bash script:
    "c:/intelFPGA_lite/18.1/nios2eds/sdk2/bin/nios2-bsp"
is not run from a generated temporary Makefile, which has the line:
    C:/intelfpga_lite/18.1/quartus/../nios2eds/sdk2/bin/nios2-bsp hal sequencer_bsp .. --default_sections_mapping sequencer_mem --use_bootloader DONT_CHANGE

The Makefile is run through the script:
    c:/intelFPGA_lite/18.1/nios2eds/nios2_command_shell.sh
with the line:
    exec $@
where the argument $@ is:
    make all 2>> stderr.txt

So it appears, that somehow enable of WSL causes execution of the bash script "c:/intelFPGA_lite/18.1/nios2eds/sdk2/bin/nios2-bsp" to fail when it is called from the temporary Makefile.

The error and some script arguments are shown in the picture below.

Error in PD when building DDR3 Ctrl. code after installation of WSLError in PD when building DDR3 Ctrl. code after installation of WSL

If I disable WSL in Windows 10, then generation of code in Platform Designer works again.

Since WSL is mandatory for e.g. Quartus 21.3 Pro, which I also have to use, it effectively requires me to enable and disable WSL and then reboot my PC each time I go between Quartus 18.1 Lite and Quartus 21.3 Pro.

Note that another, and *maybe* related, problem with DDR3 controller and WSL has been reported in e.g. https://community.intel.com/t5/Intel-Quartus-Prime-Software/Uniphy-Platform-Designer-Error-quot-Cannot-find-sequencer/m-p/1329216#M71416

 

0 Kudos
3 Replies
EricMunYew_C_Intel
Moderator
967 Views

I’m glad that your question has been addressed, I now transition this thread to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you.


0 Kudos
materigoprecitec
Beginner
405 Views

@EricMunYew_C_Intel : I am not sure what you mean that the question has been addressed.

Nobody gave a solution for OPs post.

 

So anyone reading this thread, here is my workaround for the same issue that I have in quartus web 15.0

Here are some files that needed to be modified/created:

materigoprecitec_0-1692017788843.png

 

bash-cygwin.exe is a copy of bash.exe

nios2-bsp and nios2-newlib-gen have a modifed shebang which looks like this:

#!/bin/bash-cygwin

 

The fix is basically making sure, that the wsl bash is not called anymore.

Here is a look from process monitor, about the root cause: Normally the bash.exe from cygwin is called, but the shebang in the file somehow ends up calling the wsl bash.exe 

materigoprecitec_1-1692017920214.png

 

Cheers for all the folks out there who need to use an older quartus but also want to have wsl installed.

 

0 Kudos
Reply