Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
15332 Discussions

qaurtus_map Internal Error: Sub-system: VRF

WOver1
Beginner
1,011 Views

linux64 Red Hat6

Quartus Prime 17.0.0 Build: 595 Standard Edition  

 

When running quartus_map <myproject>.qpf --analysis_and_elaboration on my design it aborts with the following stack trace (ervery time). Is there a way to track this this down to which design file is causing this? From simulation point design compiles/elaborates and simulates fine (using Cadence toolchain)

 

Internal Error: Sub-system: VRFX, File: /quartus/synth/vrfx/verific/verilog/verivalue_elab.cpp, Line: 8139

Illegal attempt to take an element from a non-aggregate value

Stack Trace:

  0x12d86f: vrfx_cfg_is_on(char const*) (synth_vrfx)

  0x24f85a: VeriValue::TakeElement(unsigned int) + 0x1c (synth_vrfx)

  0x1f6601: VeriSelectedName::Evaluate(VeriConstraint*, VeriDataFlow*, VeriIdDef*) + 0x257 (synth_vrfx)

  0x23f002: VeriConditionalStatement::Elaborate(VeriDataFlow*) + 0x4dc (synth_vrfx)

  0x23d255: VeriSeqBlock::Elaborate(VeriDataFlow*) + 0xbb (synth_vrfx)

  0x23e54e: VeriFor::Elaborate(VeriDataFlow*) + 0x2f8 (synth_vrfx)

  0x23d255: VeriSeqBlock::Elaborate(VeriDataFlow*) + 0xbb (synth_vrfx)

  0x23eefa: VeriConditionalStatement::Elaborate(VeriDataFlow*) + 0x3d4 (synth_vrfx)

  0x23d255: VeriSeqBlock::Elaborate(VeriDataFlow*) + 0xbb (synth_vrfx)

  0x23ca2c: VeriEventControlStatement::Elaborate(VeriDataFlow*) + 0x518 (synth_vrfx)

  0x22d4d7: VeriAlwaysConstruct::Elaborate() + 0x95 (synth_vrfx)

  0x222659: VeriModule::Elaborate() + 0x67 (synth_vrfx)

  0x222386: VeriModule::Elaborate(Library*, Map*, Array*, unsigned int, VeriScope**, unsigned int, VeriConfiguration*, BASEX_ELABORATE_INFO*) + 0x58e (synth_vrfx)

  0x14f1a8: VRFX_VERIFIC_VERILOG_ELABORATOR::elaborate(BASEX_ELABORATE_INFO*) + 0x5f6 (synth_vrfx)

  0x145181: VRFX_ELABORATOR::elaborate(BASEX_ELABORATE_INFO*) + 0x71 (synth_vrfx)

  0x178897: SGN_FN_LIB::elaborate(BASEX_ELAB_INFO_CORE*) const + 0x157 (synth_sgn)

  0x18160e: SGN_FN_LIB::start_vrf_flow() const + 0xe (synth_sgn)

  0x181c64: SGN_FN_LIB::start(SGN_WRAPPER_INFO*) + 0x574 (synth_sgn)

  0x186530: SGN_EXTRACTOR::single_module_extraction(HDB_INSTANCE_NAME*, HDB_ENTITY*, SGN_WRAPPER_INFO*) const + 0xf0 (synth_sgn)

  0x18e318: SGN_EXTRACTOR::recursive_extraction(HDB_INSTANCE_NAME*, SGN_WRAPPER_INFO*, char const*) + 0x1f8 (synth_sgn)

  0x18f2d6: SGN_EXTRACTOR::recurse_into_newly_extracted_netlist(HDB_ENTITY*, HDB_INSTANCE_NAME*, unsigned long, SGN_WRAPPER_INFO*) + 0x546 (synth_sgn)

  0x18e3fc: SGN_EXTRACTOR::recursive_extraction(HDB_INSTANCE_NAME*, SGN_WRAPPER_INFO*, char const*) + 0x2dc (synth_sgn)

  0x18f2d6: SGN_EXTRACTOR::recurse_into_newly_extracted_netlist(HDB_ENTITY*, HDB_INSTANCE_NAME*, unsigned long, SGN_WRAPPER_INFO*) + 0x546 (synth_sgn)

  0x18e3fc: SGN_EXTRACTOR::recursive_extraction(HDB_INSTANCE_NAME*, SGN_WRAPPER_INFO*, char const*) + 0x2dc (synth_sgn)

  0x1945e3: SGN_EXTRACTOR::extract() + 0x3a3 (synth_sgn)

  0x19f1da: sgn_elaboration(CMP_FACADE*) + 0x13a (synth_sgn)

  0x1c502: qsyn_execute_sgn(CMP_FACADE*, std::vector<std::string, std::allocator<std::string> >&, std::string const&, THR_NAMED_PIPE*, THR_NAMED_PIPE*) + 0x2a2 (quartus_map)

  0x37d61: QSYN_FRAMEWORK::execute_core(THR_NAMED_PIPE*, THR_NAMED_PIPE*) + 0x231 (quartus_map)

  0x3bcec: QSYN_FRAMEWORK::execute() + 0xc4c (quartus_map)

  0x1c75b: qexe_standard_main(QEXE_FRAMEWORK*, QEXE_OPTION_DEFINITION const**, int, char const**) + 0x888 (comp_qexe)

  0x3025c: qsyn_main(int, char const**) + 0x13c (quartus_map)

  0x40720: msg_main_thread(void*) + 0x10 (ccl_msg)

   0x602c: thr_final_wrapper + 0xc (ccl_thr)

  0x407df: msg_thread_wrapper(void* (*)(void*), void*) + 0x62 (ccl_msg)

   0xa559: mem_thread_wrapper(void* (*)(void*), void*) + 0x99 (ccl_mem)

   0x8f92: err_thread_wrapper(void* (*)(void*), void*) + 0x27 (ccl_err)

   0x63f2: thr_thread_wrapper + 0x15 (ccl_thr)

  0x427e2: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0xa3 (ccl_msg)

  0x1ed5d: __libc_start_main + 0xfd (c.so.6)

 

 

End-trace

 

0 Kudos
2 Replies
AndyN
New Contributor I
134 Views

The (quite tedious) way to find it would be to comment out blocks of code until you find which module in your design is causing the issue. It sucks and it'll take you a while but it's a reliable way of finding the bug...

 

Andy

MLiph
Beginner
134 Views

That's exactly what you have to do. I had this same problem and was only able to isolate it by commenting out one thing at a time...

Reply