Intel® SoC FPGA Embedded Development Suite
Support for SoC FPGA Software Development, SoC FPGA HPS Architecture, HPS SoC Boot and Configuration, Operating Systems
444 Discussions

Using the DE10-GHRD for HPS not working

MF28
Beginner
944 Views

I want to use HPS-to-FPGA functionality. For this purpose I would have used the provided GHRD. Since I am using VHDL and not Verilog I would have wanted to use the project in VHDL.

For this (and also to get more insight in how to use it) instead of using the pre-compiled given GHRD quartus project I wanted to use to soc_system.qsys file with my very own project and rebuild everything from scratch.

This is, where all the problems start and I can not find a solution on it.

I have already experienced that a lot of steps in the given examples are not working properly in the newer Quartus versions (the tutorials are mostly in Quartus 16.1 which is not available anymore). 

Every problem mentioned also occurs with the original GHRD project!

The first problem:
I can not generate the HDL with the .qsys file with Quartus 21.1 as it throws countless errors.
Because of this I installed Quartus 18.1 as well (without doing anything different than before) and it works totally fine and I can generate everything with version 18.1.
This seemed weird, but I was okay with it since everything was working.

The next problem:
When I want to create the .h-file for later on programming I get an error in the NIOS II command shell. 
I navigate to my project path and would type in "sopc-create-header-files" and it throws these errors:
/mnt/c/intelFPGA_lite/18.1/quartus/sopc_builder/bin/sopc-create-header-files: line 6: $'\r': command not found
/mnt/c/intelFPGA_lite/18.1/quartus/sopc_builder/bin/sopc-create-header-files: line 8: $'\r': command not found
/mnt/c/intelFPGA_lite/18.1/quartus/sopc_builder/bin/sopc-create-header-files: line 13: $'\r': command not found
/mnt/c/intelFPGA_lite/18.1/quartus/sopc_builder/bin/sopc-create-header-files: line 16: cygpath: command not found
/mnt/c/intelFPGA_lite/18.1/quartus/sopc_builder/bin/sopc-create-header-files: line 17: $'}\r': command not found
/mnt/c/intelFPGA_lite/18.1/quartus/sopc_builder/bin/sopc-create-header-files: line 18: $'\r': command not found
/mnt/c/intelFPGA_lite/18.1/quartus/sopc_builder/bin/sopc-create-header-files: line 20: syntax error near unexpected token `$'{\r''
'mnt/c/intelFPGA_lite/18.1/quartus/sopc_builder/bin/sopc-create-header-files: line 20: `err() {


When using Quartus 21.1 NIOS II Command shell the error is different with:

sopc-create-header-files: Using SOPC design file ./soc_system.sopcinfo found in .
/mnt/c/intelFPGA_lite/21.1/quartus/sopc_builder/bin/sopc-create-header-files: line 185: 136 Segmentation fault (core dumped) sopcinfo2swinfo$windows_exe --input="$sopc_design_file" --output="$swinfo_tmp_fname" ${sopcinfo2swinfo_args[@]}
sopc-create-header-files: sopcinfo2swinfo.exe --input=./soc_system.sopcinfo --output=/tmp/sopc-create-header-files.125.tmp.swinfo failed


The last problem (right now):

Also in order to be able to compile your project the manual says that you have to execute the .tcl scripts for the RAM.
Also why are there two options for those scripts, which is the "correct" one? (I attached a screenshot)


I can execute hps_sdram_p0_parameters.tcl without a problem.
When executing hps_sdram_p0_pin_assignments.tcl however I get errors as well.

Error:Error (23031): Evaluation of Tcl script C:/Users/feind/Desktop/HPS Projekt/HPS to FPGA Examples/Version with Quartus 18.1/goldenHardware_ISP/soc_system/synthesis/submodules/hps_sdram_p0_pin_assignments.tcl unsuccessful
Error:Error: Quartus Prime Timing Analyzer was unsuccessful. 1 error, 0 warnings
Error: Error: Peak virtual memory: 4616 megabytes
Error: Error: Processing ended: Tue Apr 05 11:20:22 2022
Error: Error: Elapsed time: 00:00:02
Error: Error: Total CPU time (on all processors): 00:00:02
Error:------------------------------------------------
Error:ERROR: Can't run the Timing Analyzer (quartus_sta) -- Analysis and Synthesis (quartus_map) failed or was not run. Run Analysis and Synthesis (quartus_map) successfully before running the Timing Analyzer (create_timing_netlist -post_map).
Error: while executing
Error:"create_timing_netlist -post_map"
Error: invoked from within
Error:"if { ! [ timing_netlist_exist ] } {
Error: create_timing_netlist -post_map
Error:}"
Error: (file "C:/Users/feind/Desktop/HPS Projekt/HPS to FPGA Examples/Version with Quartus 18.1/goldenHardware_ISP/soc_system/synthesis/submodules/hps_sdram_p0_pin_..." line 174)
Error:------------------------------------------------
Error: while executing
Error:"exec $cmd -t [ info script ] $project_name "
Error: invoked from within
Error:"if { ![info exists quartus(nameofexecutable)] || ($quartus(nameofexecutable) != "quartus_sta" && $quartus(nameofexecutable) != "quartus_map") } {
Error: pos..."
Error: (file "C:/Users/feind/Desktop/HPS Projekt/HPS to FPGA Examples/Version with Quartus 18.1/goldenHardware_ISP/soc_system/synthesis/submodules/hps_sdram_p0_pin_..." line 110)
Error: invoked from within
Error:"_source {C:/Users/feind/Desktop/HPS Projekt/HPS to FPGA Examples/Version with Quartus 18.1/goldenHardware_ISP/soc_system/synthesis/submodules/hps_sdra..."
Error: ("uplevel" body line 1)
Error: invoked from within
Error:"uplevel 1 $cmd "
Error: (procedure "source" line 5)
Error: invoked from within
Error:"source "C:/Users/feind/Desktop/HPS Projekt/HPS to FPGA Examples/Version with Quartus 18.1/goldenHardware_ISP/soc_system/synthesis/submodules/hps_sdram..."




I have no idea what those problems really mean and why they appear. I have done everything exactly as stated in every single tutorial I was able to find.

Also the Windows Path Variables should all be set correctly.

I have uninstalled and reinstalled everything several times.

How can it be that it seemed to be working fine in Quartus 16.1 but not with Quartus 18.1 and really not working with Quartus 21.1?

Is there a GHRD Version with VHDL as Top Entity? 
Is there a GHRD Version with a newer Quartus Version that I am not aware of?


Notes:

16 GB RAM 
Windows 11
Quartus 21.1 and Quartus 18.1 are installed
WSL with Ubuntu is installed
Everything according to tutorials should be installed

0 Kudos
5 Replies
aikeu
Employee
888 Views

Hi MF28,


Can check again the path variable is there for your Quartus18.1?


Thanks.

Regards,

Aik Eu


0 Kudos
aikeu
Employee
884 Views

Hi MF28,

 

Check the QSYS_ROOTDIR is pointing to which quartus version

example as below:

Path_example.JPG

 

Thanks.

Regards,

Aik Eu

0 Kudos
aikeu
Employee
872 Views

Hi MF28,


Any follow up on the previous comments?


Thanks.

Regards,

Aik Eu


0 Kudos
MF28
Beginner
862 Views

Hello Aik Eu!
Sorry for the late answers.

It is still not working with Quartus 21.1. However after reinstalling everything from Quartus 18.1 again and re-typing / re-generating the entire code without changing anything it suddenly worked. The Qsys Root Dir was fine but somehow it seemed to be missing some file which was not installed properly I guess.

BR
MF28

0 Kudos
aikeu
Employee
858 Views

Hi MF28,


Good to hear that the issue resolved on your side.

I will close this thread for now. Do raise another thread if there is further question.


Thanks.

Regards,

Aik Eu


0 Kudos
Reply