Forum Discussion
NIOS V Sysnthesis Fails with Quartus 25.1 Lite
Hi,
I used Quartus 23.1 Lite for a couple of months and have now switched to Quartus 25.1 Lite. Since the version update my NIOS V Plattform Designer Projects do not synthesize any longer.
Synthesis fails with:
Info (12128): Elaborating entity "niosv" for hierarchy "niosv:u0"
Info (12128): Elaborating entity "niosv_intel_niosv_m_0" for hierarchy "niosv:u0|niosv_intel_niosv_m_0:intel_niosv_m_0"
Info (12128): Elaborating entity "niosv_intel_niosv_m_0_hart" for hierarchy "niosv:u0|niosv_intel_niosv_m_0:intel_niosv_m_0|niosv_intel_niosv_m_0_hart:hart"
Error (10835): SystemVerilog error at riscv.pkg.sv(149): no support for unions
Error (10835): SystemVerilog error at riscv.pkg.sv(333): no support for unions
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1163): encoded value for element "MXL32" has width 32, which does not match the width of the enumeration's base type (2)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1164): encoded value for element "MXL64" has width 32, which does not match the width of the enumeration's base type (2)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1165): encoded value for element "MXL128" has width 32, which does not match the width of the enumeration's base type (2)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1167): encoded value for element "MXL_RESERVED" has width 32, which does not match the width of the enumeration's base type (2)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1233): encoded value for element "INSTRUCTION_MISALIGNED" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1234): encoded value for element "INSTRUCTION_ACCESS_FAULT" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1235): encoded value for element "ILLEGAL_INSTRUCTION" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1236): encoded value for element "BREAKPOINT" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1237): encoded value for element "LOAD_ADDRESS_MISALIGNED" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1238): encoded value for element "LOAD_ACCESS_FAULT" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1239): encoded value for element "STORE_AMO_ADDRESS_MISALIGNED" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1240): encoded value for element "STORE_AMO_ACCESS_FAULT" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1241): encoded value for element "USER_ECALL" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1242): encoded value for element "SUPERVISOR_ECALL" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1243): encoded value for element "MACHINE_ECALL" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1244): encoded value for element "INSTRUCTION_PAGE_FAULT" has width 32, which does not match the width of the enumeration's base type (5)
Error (10355): SystemVerilog Enumeration Type Declaration error at riscv.pkg.sv(1245): encoded value for element "LOAD_PAGE_FAULT" has width 32, which does not match the width of the enumeration's base type (5)
Error (12152): Can't elaborate user hierarchy "niosv:u0|niosv_intel_niosv_m_0:intel_niosv_m_0|niosv_intel_niosv_m_0_hart:hart"
Info (144001): Generated suppressed messages file /home/simon/Documents/QuartusPrime/MAX10_InternalFlash_Ticket/output_files/MAX10_InternalFlash_Ticket.map.smsg
Error: Quartus Prime Analysis & Synthesis was unsuccessful. 20 errors, 30 warnings
Error: Peak virtual memory: 369 megabytes
Error: Processing ended: Mon Nov 10 09:24:51 2025
Error: Elapsed time: 00:00:39
Error: Total CPU time (on all processors): 00:01:41
Error (293001): Quartus Prime Full Compilation was unsuccessful. 22 errors, 30 warnings
I am using the DE10-Lite Board with the Golden Top example Design and add a very basic Nios V to it.
//=======================================================
// Structural coding
//=======================================================
niosv u0 (
.clk_clk (MAX10_CLK1_50), // clk.clk
.reset_reset_n (1'b1) // reset.reset_n
);
Any idead how I can fix that Issue?
Best regards
Simon
8 Replies
- lburton
New Contributor
Any resolution to this? I just updated to 25.1 also and am getting the same errors. Everything was rebuilt under 25.1.
- LiangYuG_Altera
Contributor
Hi all,
Rather than Adding QSYS into project, please add QIP into the project. From 25.1std, the tool supports QIP only due to a change in Quartus compiler.
The tool also prompts with message below.
You may find a qip file located in the same folder of qsys system top level hdl file under project directory liking this.
*Copied from ERROR building simple NIOSV Compact project | Altera Community
Regards,
Liang Yu- Broddo
Occasional Contributor
LiangYuG_Altera Yes, this sorted the problem out for me. The project builds fine now.
Can I ask if you know what the motivation for this change was? QIP files are generated output, it doesn't make a lot of sense to add what is essentially a temporary file as project member. The QSYS file is the source of truth of the design. In previous versions, Quartus would create the QIP file in the db directory (another temporary folder) during synthesis. As it no longer does this, one can end up accidentally including an outdated QIP file into the project (which I have just experienced and spent a while debugging until I realized the mistake).
- sstrell
Super Contributor
Assuming you are just bringing the old .qsys file into 25.1, have you tried manually regenerating the system first before compiling in Quartus? Did you get a warning/error about updating the Nios V IP for the newer version of the tool? If not (or if you did and you didn't update the IP), you should still try deleting the Nios V and then re-adding it to your system and then regenerating the system.
- SimonT
New Contributor
The .qsys file was created completly from scratch with Platfrom Designer 25.1.
There are some standard warnings, but nothing unexpected.
Warning: niosv.intel_niosv_m_0: Properties (associatedClock) have been set on interface reset - in composed mode these are ignored
Warning: niosv.intel_niosv_m_0: Properties (associatedClock,associatedReset) have been set on interface instruction_manager - in composed mode these are ignored
Warning: niosv.intel_niosv_m_0: Properties (associatedClock,associatedReset) have been set on interface data_manager - in composed mode these are ignored
Warning: niosv.intel_niosv_m_0: Properties (associatedClock) have been set on interface reset - in composed mode these are ignored
Warning: niosv.intel_niosv_m_0: Properties (associatedClock,associatedReset) have been set on interface instruction_manager - in composed mode these are ignored
Warning: niosv.intel_niosv_m_0: Properties (associatedClock,associatedReset) have been set on interface data_manager - in composed mode these are ignored- tehjingy_Altera
Regular Contributor
- LiangYuG_Altera
Contributor
Hi Broddo,
Your concern is valid, but rest assure that the change is necessary for better Nios V experience.
Can I ask if you know what the motivation for this change was?
The main motivation is to align the Nios V processor between Quartus Pro & Standard.
The only caveat is that we are relying on our customer to use QIP file in their project to complete the whole process.
Regards,
Liang Yu