Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12744 Discussions

Issue after upgrading a Nios V/g core from version 1.0.0 to 4.0.0

Benitez__Domingo
New Contributor I
1,733 Views

Hi,

I have developed a Quartus project based on the Nios V/g processor for the Terasic DE0-Nano board using Quartus Prime Standard Edition 23.1. The board is connected to a PC via the USB interface. In this case, Nios V/g 1.0.0 was integrated into the SoC. The QSYS and QPF projects were compiled successfully with warnings, and the SOF file was generated.

A BSP project was generated using the SOPCINFO file, and a RISC-V assembler file was compiled, linked, and an ELF file was downloaded after the SOF file configured the board. The available tools in the Nios V Command Shell 23.1 were used.
A simple message was successfully displayed on a Nios V Command Shell 23.1 terminal.

The same project was duplicated and opened using Quartus Prime Standard Edition 24.1. In this case, Nios V/g 4.0.0 was integrated into the SoC after automatic IP upgrading. The QSYS and QPF projects were also compiled successfully with warnings, and the SOF file was generated.
BSP and ELF files were generated using the tools available in the Nios V Command Shell 24.1 in the same way as applied for the 23.1 project.
However, after configuring the FPGA and downloading the ELF file, the message was not displayed on a Nios V Command Shell 24.1 terminal; the program hangs.

Could you please provide any hints on how to solve this problem when using Quartus Prime Standard version 24.1 and Nios V/g 4.0.0?

Regards.
Domingo.

P.D. There is no issue when upgrading Nios V/m cores from Quartus 23.1 to 24.1.

 

0 Kudos
1 Solution
Benitez__Domingo
New Contributor I
1,263 Views

Hi,

Thank you very much for your suggestions. I checked them all, but I was not successful.

However, this issue could be fixed as follows.

The "Branch Prediction" option of the Nios V/g 4.0.0 IP was enabled (24.1std).

This option is unavailable for the Nios V/g 1.0.0 IP (23.1std).

I used the software debugger (OpenOCD and riscv32-unknown-elf-gdb) and noted that branches were never taken.

My program has some branches that are taken and output messages on the display.

After unchecking the "Branch Prediction" checkbox, the issue was solved, and the program ran correctly.

Perhaps the issue lies in the branch prediction module of the Nios V/g 4.0.0 IP.

Regards.
Domingo.

View solution in original post

0 Kudos
8 Replies
EstebanV_Altera
Employee
1,348 Views

Hello,

 

Here some suggestions you can check.

- Verify using "System Console" that your NIOSV does not have any reset/clock issue. Navigate to "System Explorer", then unroll the drop-down menu "device"-><device>-> look for warnings or issues in the view.

- Try using the juart-terminal with - d <#> -i <#> switches (looking for other <#>)

- Using the programmer, you can slowdown the JTAG clocking.  In the Quartus Programmer, go to "Hardware Setup.." and reduce the frequency in "Hardware Frequency"

- Have you try generating a .hex file for your program and using it in the CPU RAM?

- Please verify after doing the "Automatic Upgrade" that nothing was disconnected in your "Platform Designer Project" (this could happen)

 

 

Just to clarify, are you seeing any printing in the "juart-terminal" at all? Or the CPU starts to execute and then stalls?

 

Thanks,

~E.V

0 Kudos
Benitez__Domingo
New Contributor I
1,264 Views

Hi,

Thank you very much for your suggestions. I checked them all, but I was not successful.

However, this issue could be fixed as follows.

The "Branch Prediction" option of the Nios V/g 4.0.0 IP was enabled (24.1std).

This option is unavailable for the Nios V/g 1.0.0 IP (23.1std).

I used the software debugger (OpenOCD and riscv32-unknown-elf-gdb) and noted that branches were never taken.

My program has some branches that are taken and output messages on the display.

After unchecking the "Branch Prediction" checkbox, the issue was solved, and the program ran correctly.

Perhaps the issue lies in the branch prediction module of the Nios V/g 4.0.0 IP.

Regards.
Domingo.

0 Kudos
EstebanV_Altera
Employee
1,193 Views

Thanks for finding this out

0 Kudos
EstebanV_Altera
Employee
1,164 Views

@Benitez__Domingo  is there any way you could provide sample code for your issue? We would like to investigate this further internally. Your case might help us to do this.

 

Thanks!

~E.V.

0 Kudos
Benitez__Domingo
New Contributor I
1,155 Views

Hi,

Sure. You could send me an email to my address.

Regards.

Domingo.

0 Kudos
EstebanV_Altera
Employee
1,126 Views

Hello Domingo,

 

I have no access to email addresses in the forum. Are you able to share in the forum? 

 

Please let me know, if not, we can figure a way out

 

~E.V.

0 Kudos
Benitez__Domingo
New Contributor I
1,109 Views

Hi Esteban,

This is my email address: domingo [dot] benitez [at] ulpgc [dot] es

Regards.

Domingo.

0 Kudos
BoonBengT_Altera
Moderator
753 Views

Hi @Benitez__Domingo,


Greetings, as solution has been marked and with no further clarification/updates on the matter, hence would assume challenge are overcome


Please login to ‘ https://supporttickets.intel.com/s/?language=en_US’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions. For new queries, please feel free to open a new thread and we will be right with you. Pleasure having you here.


Best Wishes

BB


0 Kudos
Reply