Internal Error: Sub-system: SGN, File: /quartus/synth/sgn/sgn_utility.cpp, Line: 4893
Hi Intel community,
I'm encountering the following error in the analysis & synthesis phase of the compilation process:
Problem Details
Error:
Internal Error: Sub-system: SGN, File: /quartus/synth/sgn/sgn_utility.cpp, Line: 4893
dimension == 0
Stack Trace:
0x29664: SGN_UTILITY::convert_group_string_name + 0x1e4 (synth_sgn)
0x125970: SGN_NAME_MAKER::process_group_name + 0x3d0 (synth_sgn)
0x126cb4: SGN_NAME_MAKER::process_original_netlist_name + 0x134 (synth_sgn)
0x123597: SGN_NAME_MAKER::generate_hier_name + 0x87 (synth_sgn)
0x1280f5: SGN_NAME_MAKER::start + 0x55 (synth_sgn)
0xa9092: SGN_EXTRACTOR::create_names + 0x52 (synth_sgn)
0xaeec3: SGN_EXTRACTOR::post_process_user_hierarchies + 0x113 (synth_sgn)
0xaf18a: SGN_EXTRACTOR::post_processing + 0x6a (synth_sgn)
0xab0b0: SGN_EXTRACTOR::extract + 0x260 (synth_sgn)
0x129de: sgn_qic_full + 0x1be (synth_sgn)
0x4310: qsyn_execute_sgn + 0x140 (quartus_map)
0x13286: QSYN_FRAMEWORK::execute_core + 0x136 (quartus_map)
0x12b66: QSYN_FRAMEWORK::execute + 0x476 (quartus_map)
0x11524: qexe_do_normal + 0x1d4 (comp_qexe)
0x16630: qexe_run + 0x3a0 (comp_qexe)
0x17641: qexe_standard_main + 0xc1 (comp_qexe)
0x1b0a8: qsyn_main + 0x558 (quartus_map)
0x13638: msg_main_thread + 0x18 (CCL_MSG)
0x1494e: msg_thread_wrapper + 0x6e (CCL_MSG)
0x18520: mem_thread_wrapper + 0x70 (ccl_mem)
0x12df1: msg_exe_main + 0xa1 (CCL_MSG)
0x2a488: __scrt_common_main_seh + 0x11c (quartus_map)
0x17033: BaseThreadInitThunk + 0x13 (KERNEL32)
0x526a0: RtlUserThreadStart + 0x20 (ntdll)
End-trace
Executable: quartus
Comment:
None
System Information
Platform: windows64
OS name: Windows 10
OS version: 10.0
Quartus Prime Information
Address bits: 64
Version: 21.1.0
Build: 842
Edition: Lite Edition
How can I resolve this problem?
Sincerely,
Majid Farhadi
Hi Majid,
Update:
The Internal Error comes from the fact that we don't support dimension built in group names.
For a wire defined like "wire [7:0] \U2_MEMORY[0]" in your Top_Module.v file, its group name is "U2_MEMORY[0]". The "[0]" at the end of the name will make Quartus think that it has a group name of dimension 1. Since only dimension 0 (i.e. no built in dimension in group names) is supported, this triggers the IE.
The workaround is to remove those built in dimensions in group name, for example, changing the name to "\U2_MEMORY_0".
Let me know if the workaround is not feasible.