- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am running into a problem where Quartus quits unexpectedly in the Route stage of the compilation. I have seen other posts saying to delete the qdb folder, which I did and re-compiled, same results. The project I am trying to compile is quite simple, I just have generated an example design for the JESD204B ip and made a top level .vhdl wrapper. The error details are below:
Problem Details
Error:
Internal Error: Sub-system: PTI, File: /quartus/tsm/pti/pti_tdb_builder.cpp, Line: 1331
IC edge from src atom FALCONMESA_IO_IBUF:OUT (Id: 47268, with associated RE_GID: None) to dst atom NADDER_LCELL_COMB:DATAF (Id: 47331, with associated RE_GID: 4294967295) has zero delay when not expected and is not routed (edge from src 261198 i_clk_agilex_xcvr_clkref_0_p18~input|o to dst 261259 i_clk_agilex_xcvr_clkref_0_p18~input~FITTER_INSERTED|dataf)
Stack Trace:
Quartus 0x10c358: PTI_TDB_BUILDER::check_ic_edge_delay(int, CDB_ATOM_ITERM const*, CDB_ATOM_OTERM*, TDB_EDGE const*, TDB_NETLIST const*, TDB_CORNER*) + 0xa38 (tsm_pti)
Quartus 0x11a1c5: PTI_TDB_BUILDER::create_ic_edge(CDB_ATOM_ITERM*, TDB_NODE*, TDB_NODE*) + 0x215 (tsm_pti)
Quartus 0x11e65e: PTI_TDB_BUILDER::create_iterm_ic_edge(CDB_ATOM_ITERM*) + 0xee (tsm_pti)
Quartus 0x126118: PTI_TDB_BUILDER::build_or_update_tdb_netlist(std::vector<CDB_ATOM_NODE*, std::allocator<CDB_ATOM_NODE*> > const&, std::vector<CDB_ATOM_NODE*, std::allocator<CDB_ATOM_NODE*> > const&, std::vector<CDB_ATOM_OTERM*, std::allocator<CDB_ATOM_OTERM*> > const&, std::vector<CDB_ATOM_ITERM*, std::allocator<CDB_ATOM_ITERM*> > const&, bool) + 0x3b8 (tsm_pti)
Quartus 0x16d8e8: PTI_DELAY_ANNOTATOR::full_annotate_routing_and_cell(std::vector<CDB_ATOM_NODE*, std::allocator<CDB_ATOM_NODE*> > const&, PTI_ROUTING_ANNOTATOR&, PTI_CELL_ANNOTATOR&, bool) + 0x418 (tsm_pti)
Quartus 0x174848: PTI_DELAY_ANNOTATOR::build_multicorner(PTI_DELAY_ANNOTATOR::INVOKE_MODE, bool, std::vector<TDB_TIMING_MODEL, std::allocator<TDB_TIMING_MODEL> > const&, bool) + 0x8f8 (tsm_pti)
Quartus 0x11edfa: FITCC_TDC_UTILITY::initialize_dat(TDC_ACCESSORIES::INVOKE_MODE, std::vector<TDB_TIMING_MODEL, std::allocator<TDB_TIMING_MODEL> > const&, bool, bool, bool, QGL::FOREST<int, int>*, bool, bool) + 0x84a (fitter_fitcc)
Quartus 0x121a55: FITCC_TDC_UTILITY::setup_tdc_utility(TDC_ACCESSORIES::INVOKE_MODE, std::vector<TDB_TIMING_MODEL, std::allocator<TDB_TIMING_MODEL> >, bool, bool, bool, bool, bool, bool, bool, QGL::FOREST<int, int>*, bool, bool, bool) + 0x7a5 (fitter_fitcc)
Quartus 0x122627: FITCC_TDC_UTILITY::FITCC_TDC_UTILITY(FITCC_ENV const*, TDC_ACCESSORIES::INVOKE_MODE, std::vector<TDB_TIMING_MODEL, std::allocator<TDB_TIMING_MODEL> >, bool, bool, bool, bool, bool, bool, bool, QGL::FOREST<int, int>*, bool, bool, bool) + 0x257 (fitter_fitcc)
Quartus 0xccc97: FITCC_ENV::get_tdc_utility_or_create_if_necessary(FITCC_ENV::FITCC_TDC_UTILITY_REQUEST_TYPE, TDC_ACCESSORIES::INVOKE_MODE, std::vector<TDB_TIMING_MODEL, std::allocator<TDB_TIMING_MODEL> >, bool, bool, bool, bool, QGL::FOREST<int, int>*, bool, bool) + 0x817 (fitter_fitcc)
Quartus 0xf4361: FDRGN_EXPERT::do_post_route_ops(bool) + 0x7c1 (fitter_fdrgn)
Quartus 0xf519c: FDRGN_EXPERT::route() + 0x6ec (fitter_fdrgn)
Quartus 0x3bd9e: fit2_fit_route_auto + 0x10a (comp_fit2)
Quartus 0x50fb7: TclNRRunCallbacks + 0x47 (tcl8.6)
Quartus 0x287d6: fit2_fit_route + 0x2fb (comp_fit2)
Quartus 0x50fb7: TclNRRunCallbacks + 0x47 (tcl8.6)
Quartus 0x527df: TclEvalEx + 0x94f (tcl8.6)
Quartus 0xfa3a6: Tcl_FSEvalFileEx + 0x266 (tcl8.6)
Quartus 0xfa4be: Tcl_EvalFile + 0x2e (tcl8.6)
Quartus 0x2a8fc: qexe_evaluate_tcl_script(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0x3de (comp_qexe)
Quartus 0x2dd73: qexe_do_tcl(QEXE_FRAMEWORK*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool, bool) + 0x4c2 (comp_qexe)
Quartus 0x2ee7b: qexe_run_tcl_option(QEXE_FRAMEWORK*, char const*, std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, bool) + 0x66e (comp_qexe)
Quartus 0x6d1ec: QCU::DETAIL::intialise_qhd_and_run_qexe(QCU_FRAMEWORK&, FIO_PATH const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, bool) + 0x9c (comp_qcu)
Quartus 0x6d638: qcu_run_tcl_option(QCU_FRAMEWORK*, char const*, std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, bool) + 0x343 (comp_qcu)
Quartus 0x3421d: qexe_standard_main(QEXE_FRAMEWORK*, QEXE_OPTION_DEFINITION const**, int, char const**) + 0xba2 (comp_qexe)
Quartus 0x40ad6c: qfit2_main(int, char const**) + 0x8c (quartus_fit)
Quartus 0x4e546: msg_main_thread(void*) + 0x10 (ccl_msg)
Quartus 0x4f764: msg_thread_wrapper(void* (*)(void*), void*) + 0x8c (ccl_msg)
Quartus 0x1f568: mem_thread_wrapper(void* (*)(void*), void*) + 0x98 (ccl_mem)
Quartus 0x10f3a: err_thread_wrapper(void* (*)(void*), void*) + 0x1e (ccl_err)
Quartus 0xb7f5: thr_thread_wrapper + 0x15 (ccl_thr)
Quartus 0x4f684: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0xd8 (ccl_msg)
System 0x24083: __libc_start_main + 0xf3 (c)
Quartus 0x4062a9: _start + 0x29 (quartus_fit)
End-trace
Executable: quartus
Comment:
None
System Information
Platform: linux64
OS name: Ubuntu 20.04.6
OS version: 20
Quartus Prime Information
Address bits: 64
Version: 22.4.0
Build: 94
Edition: Pro Edition
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you attach the design in qar here?
Ill try to replicate and let you know any findings
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
From the error and design attached, it is dedicated for FM, which is Agilex 7, which only supported in QP23.1 Pro and onward.
22.4 does not support A7, thus can you migrate to 23.2?
By right this should be working.
I cannot replicate the error as mentioned.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have upgraded to 23.2 and still got the same results.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That is weird as I am not able to replicate the issue. Did you have enough resource for compiling Agilex 7 using Quartus Pro?
At least 40GB, for A7 should be more than that.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Also I found a similar KDB with your issue, can you take a look link below?
https://www.intel.la/content/www/xl/es/support/programmable/articles/000090986.html
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It looks like I have 200 GB available.
The article linked is regarding the pin_perst, which I do not have defined or connected to anything in this design, so I don't see how that would be a problem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have resolved this issue, the problem was a transceiver clock being routed to fabric logic. I remember getting an error message for this at one point but then cleared it somehow. I fixed it by routing a fabric clock to the fabric logic.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the update and glad that had been resolved.
Let me know if there is any other concern regarding this.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page