- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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...
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page