Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16621 Discussions

Internal Error: Sub-system: SGN, File: /quartus/synth/sgn/sgn_utility.cpp, Line: 4893

MajidFarhadi
Beginner
1,578 Views

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

0 Kudos
1 Solution
SyafieqS
Moderator
1,330 Views

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.



View solution in original post

0 Kudos
11 Replies
SyafieqS
Moderator
1,537 Views

Hi Majid,


This is internal error which is a valid bug from the tool.

Can you attach the project for me to replicate and investigate?

Need the design for further debug.


0 Kudos
MajidFarhadi
Beginner
1,526 Views

Hi SyafieqS,

Thanks for your reply.

 

The project is attached.

 

Sincerely,

Majid Farhadi

0 Kudos
SyafieqS
Moderator
1,506 Views

Hi Majid,


Thank you for the design. Yes I am able to see the issue. Let me forward this to the developer as this is a valid bug. Will keep you updated


0 Kudos
SyafieqS
Moderator
1,446 Views

Hi Majid,


I have forward this to the developer for further debugging.

Currently pending reply and will let you know once there is any findings



0 Kudos
SyafieqS
Moderator
1,398 Views

HI Majid,


Currently I am still pending from the developer. Might be taking sometimes and will get back to you once there is any update


0 Kudos
SyafieqS
Moderator
1,383 Views

Majid,


This might be taking sometimes as developer are still debugging this. I will let you know if there is update.



0 Kudos
SyafieqS
Moderator
1,359 Views

Hi Majid,


Update: Developer is still debugging it. They were able to reproduce the IE. 


The name that caused the IE is U2_MEMORY[0]. Function "SGN_UTILITY::new_parse_string_name()" somehow thinks the dimension of this name is 0, but I think the dimension should have been 1.


They are debugging this function to figure out what went wrong.


0 Kudos
SyafieqS
Moderator
1,339 Views

Hi Majid,


Apologize for the long delay in response as I am pending reply from engineering. Hopefully you are patient and still follow this long discussion.


0 Kudos
SyafieqS
Moderator
1,331 Views

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.



0 Kudos
MajidFarhadi
Beginner
1,284 Views

Hi SyafieqS,

Thanks for your and your team following up.

 

Your solution works well.

 

Sincerely,

Majid Farhadi

0 Kudos
SyafieqS
Moderator
1,313 Views

 As we do not receive any response from you on the previous question/reply/answer that we have provided. Please login to ‘https://supporttickets.intel.com’, 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.


p/s: If any answer from community or Intel support are helpful, please feel free to mark as solution, give Kudos and rate 10/10 survey



0 Kudos
Reply