ContributionsMost RecentMost LikesSolutionsRe: Nios V/c issue: no valid Nios V instance Hi Sue, Thank you very much for your quick reply. Regards. Domingo. Nios V/c issue: no valid Nios V instance Hi, I have synthesised a Nios V/c (3.0.0)-based SoC on a DE0-Nano board, which was successfully configured using the quartus_pgm command via a Nios V-shell terminal in Quartus Prime Standard 24.1. However, when the niosv-download command is executed after generating BSP and ELF files, the following message appears on the display: ... There are no devices with valid Nios V instance(s) ERROR: Failed to generate OpenOCD config file. ... However, if the same Quartus project is compiled with the Nios V/c (3.0.0) core replaced by a multicycle Nios V/m (26.0.0) core, this error does not appear, and the program runs successfully. Could you please provide any hints on how to fix this error for the Nios V/c IP ? Regards, Domingo. SolvedRe: Issue after upgrading a Nios V/g core from version 1.0.0 to 4.0.0 Hi Esteban, This is my email address: domingo [dot] benitez [at] ulpgc [dot] es Regards. Domingo. Re: Issue after upgrading a Nios V/g core from version 1.0.0 to 4.0.0 Hi, Sure. You could send me an email to my address. Regards. Domingo. Re: Issue after upgrading a Nios V/g core from version 1.0.0 to 4.0.0 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. Issue after upgrading a Nios V/g core from version 1.0.0 to 4.0.0 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. SolvedRe: Issue after upgrading my Nios V SoC project from 23.1std to 24.1std Hello, This issue was fixed. There is no issue when all files (SOPCINFO, SOF, BSP, ELF) were generated by the same Quartus Prime version, 23.1std or 24.1std. Use cases: --> Using Nios V Command Shell 23.1std - NO-issue: all files were generated with the same 23.1 or 24.1 version. - FAIL: SOF files generated with 23.1 and SOPCINFO+BSP+ELF files generated with 24.1std. - FAIL: SOF files generated with 24.1 and SOPCINFO+BSP+ELF files generated with 23.1std. --> Using Nios V Command Shell 24.1std - NO-issue: all files were generated with the same 24.1std or 23.1 version. - FAIL: SOF files generated with 24.1 and SOPCINFO+BSP+ELF files generated with 23.1std. - FAIL: SOF files generated with 23.1 and SOPCINFO+BSP+ELF files generated with 24.1std. I have run both Quartus Prime Standard versions 23.1 and 24.1 on the same computer using Windows 10. The DE0-Nano board is connected to the computer via a USB interface. Regards, Domingo. Re: Issue after upgrading my Nios V SoC project from 23.1std to 24.1std Hello, I tryed both options for generating BSP and ELF files: 23.1 std and 24.1 std. In both cases, the output message is displayed only when the .sof file was obtained with 23.1std. When the .sof file was generated with 24.1std, the output message is not displayed for BSP and ELF files generated by both, 23.1std and 24.1std. Regards, Domingo. Issue after upgrading my Nios V SoC project from 23.1std to 24.1std I developed a Nios V/m-based SoC for a Terasic De0-Nano board using Quartus Prime Standard 23.1. The provided .sof file was used to configure the FPGA via the Nios V Command Shell in Quartus 23.1 standard. A simple 'Hello World' C program was compiled, linked, and downloaded into the main memory. Finally, the message was displayed on a Nios V Command Shell terminal for Quartus 23.1 using the juart-terminal.exe program. This software project can also be compiled and linked using Nios V Command Shell for Quartus 24.1 standard. However, if the .sof file from Quartus Prime Standard 23.1 is used to configure the FPGA running Nios V Command Shell for Quartus 24.1 standard, the 'Hello World' message is displayed. Additionally, when I configure the FPGA using the .sof file provided by Quartus Prime Standard 24.1 after an IP upgrade and hardware compilation, juart-terminal.exe hangs, and the message does not appear on the display. It was also found that this error occurs when the 24.1std version of the .sof file and the 'niosv-download.exe' program are used to configure the FPGA and main memory, respectively. The following error occurred while searching for sources of errors when the 24.1std version of the .sof file and the 'niosv-download.exe' program were used to configure the FPGA and main memory, respectively: ----- INFO: Found gdb port 50972 INFO: Starting gdb. Running "riscv32-unknown-elf-gdb -batch -ex set non-stop on -ex set arch riscv:rv32 -ex set remotetimeout 60 -ex target extended-remote localhost:50972 -ex load build/app0.elf -ex set $mstatus &= ~(0x00000088) -ex continue&". The target architecture is set to "riscv:rv32". warning: No executable has been specified and target does not support determining executable automatically. Try using the "file" command. warning: No executable has been specified and target does not support determining executable automatically. Try using the "file" command. Program received signal SIGINT, Interrupt. 0x00005474 in ?? () Loading section .exceptions, size 0x29c lma 0x0 Load failed [Inferior 1 (Remote target) detached] ---- However, when the 23.1 std version of the .sof file and the 24.1 std "niosv-download.exe" program were used to configure the FPGA and the main memory, respectively, the following messages were displayed: ----- INFO: Found gdb port 51185 INFO: Starting gdb. Running "riscv32-unknown-elf-gdb -batch -ex set non-stop on -ex set arch riscv:rv32 -ex set remotetimeout 60 -ex target extended-remote localhost:51185 -ex load build/app0.elf -ex set $mstatus &= ~(0x00000088) -ex continue&". The target architecture is set to "riscv:rv32". warning: No executable has been specified and target does not support determining executable automatically. Try using the "file" command. warning: No executable has been specified and target does not support determining executable automatically. Try using the "file" command. Program received signal SIGINT, Interrupt. 0x09000004 in ?? () Loading section .exceptions, size 0x29c lma 0x0 Loading section .text, size 0x6660 lma 0x29c Loading section .rodata, size 0x128 lma 0x68fc Loading section .rwdata, size 0x1ba8 lma 0x85cc Loading section .entry, size 0x20 lma 0x9000000 Start address 0x000002d0, load size 34284 Transfer rate: 44 KB/sec, 6856 bytes/write. [Inferior 1 (Remote target) detached] ----- In this case, everything is fine and the 'Hello World' message is displayed correctly. Could you please provide any hints on how to solve this problem when using Quartus Prime Standard version 24.1? Regards. Domingo. SolvedRe: How is Nios V's MHARTID csr register assigned a determined value? Hi, Since I am trying to implement a Nios V/m multiprocessor on a Cyclone IV-based board and Quartus Prime Pro 24.1 cannot be used for Cyclone IV devices, I have to wait for the next Quartus Prime Standard version. When will a new Quartus Prime Standard version be available? Regards Domingo