vak: (Default)
[personal profile] vak
Вот что происходит с альтеровским софтом Quartus II при попытке синтезировать простую схему асинхронного счётчика, содержащую LUTs с обратными связями.

Internal Error: Sub-system: CUT, File: /quartus/db/cut/cut_cuda_unateness.cpp, Line: 744
node->oterm_depends_on_iterm(oterm, data_c)
Stack Trace:
0x6f5fe0: CUT_UNATENESS_VISITOR::visit_atom_cuda_io_ibuf(CDB_ATOM_CUDA_IO_IBUF*) (db_cut)
0x6ed734: cut_get_unateness(CDB_ATOM_NODE*, DB_INPUT_PORT_TYPE, DB_OUTPUT_PORT_TYPE) + 0x114 (db_cut)
0x6b9f9: TDB_UNATENESS tdb_get_unateness_for_node>DB_INPUT_PORT_TYPE, DB_OUTPUT_PORT_TYPE>(CDB_ATOM_NODE*, DB_INPUT_PORT_TYPE, DB_OUTPUT_PORT_TYPE) + 0x9 (tsm_tdb)
0xabbcd: void set_or_add_delay_with_unateness>DB_INPUT_PORT_TYPE, DB_OUTPUT_PORT_TYPE>(TDB_EDGE*, DB_INPUT_PORT_TYPE, DB_OUTPUT_PORT_TYPE, CDB_ATOM_NODE*, int, bool) + 0x5d (tsm_a2t)
0xb480a: A2T_RECURSIVE_VISITOR::create_edge_without_recursion(CDB_ATOM_NODE*, TDB_NODE*, DB_INPUT_PORT_TYPE, DB_OUTPUT_PORT_TYPE, unsigned short) + 0x14a (tsm_a2t)
0x4d9fb: A2T_CUDA_VISITOR::visit_atom_cuda_lcell_comb(CDB_ATOM_CUDA_LCELL_COMB*, CDB_ATOM_OTERM*, TDB_EDGE*) + 0x18b (tsm_a2t)
0xc1e5a: A2T_RECURSIVE_VISITOR::visit_atom(CDB_ATOM_NODE*, CDB_ATOM_OTERM*, TDB_EDGE*) + 0x2c8a (tsm_a2t)
0xc2f80: A2T_RECURSIVE_VISITOR::set_arguments_and_process_oterm(CDB_ATOM_OTERM*) + 0x330 (tsm_a2t)
0xc5154: A2T_RECURSIVE_VISITOR::build_or_update_tdb_netlist_for_atoms(std::vector>CDB_ATOM_NODE*, std::allocator>CDB_ATOM_NODE*> >&, TDB_NETLIST_ATOM_DELETOR*) + 0x764 (tsm_a2t)
0xa8736: A2T_VISITOR::call_build_tdb_netlist_for_all_atoms() + 0x276 (tsm_a2t)
0xf3576: sta_build_nodes_from_atoms(CDB_ATOM_NETLIST*, CMP_FACADE*, TDB_NETLIST*) + 0xd6 (tsm_sta)
0x29a4a9: sta_build_and_preprocess_tdb(CMP_FACADE*, CDB_ATOM_NETLIST*, bool) + 0x169 (tsm_sta)
0x76068: TDC_STA_ACCESSORIES::initialize_netlist(CMP_FACADE*, CDB_ATOM_NETLIST*, TDC_DEFAULT_CONSTRAINTS const&, e_tdc_accessories_usage_mode, bool) + 0x248 (tsm_tdc)
0x15a951: FITCC_TDC_UTILITY::setup_tdc_utility(TAPI_DELAY_ANNOTATOR::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) + 0x321 (fitter_fitcc)
0x15c989: FITCC_TDC_UTILITY::FITCC_TDC_UTILITY(FITCC_ENV const*, TAPI_DELAY_ANNOTATOR::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) + 0x359 (fitter_fitcc)
0xa831c: FITCC_ENV::get_tdc_utility_or_create_if_necessary(FITCC_ENV::FITCC_TDC_UTILITY_REQUEST_TYPE, TAPI_DELAY_ANNOTATOR::INVOKE_MODE, std::vector>TDB_TIMING_MODEL, std::allocator>TDB_TIMING_MODEL> >, bool, bool, bool, bool, QGL::FOREST>int, int>*, bool) + 0xcac (fitter_fitcc)
0xa8960: FITCC_ENV::get_tdc_utility_or_create_if_necessary(FITCC_ENV::FITCC_TDC_UTILITY_REQUEST_TYPE, TAPI_DELAY_ANNOTATOR::INVOKE_MODE, dat_timing_models, bool, bool, bool, bool, QGL::FOREST>int, int>*, bool) + 0x1f0 (fitter_fitcc)
0x3c06a4: FSAC_RP_UTIL_BODY::refresh_clock_atom_ids() + 0x164 (fitter_fsac)
0x3c0d31: FSAC_RP_UTIL::sweep_inverters_and_wire_luts_at_packable_boundaries() + 0x11 (fitter_fsac)
0x282da: FCUDA_EXPERT::fitter_preparation() const + 0x2d3c (fitter_fcuda)
0xba8ba: FITCC_EXPERT::fitter_preparation() const + 0x13a (fitter_fitcc)
0xbce98: FITCC_EXPERT::invoke_fitter() const + 0x5e8 (fitter_fitcc)
0x21c9a: fcuda_execute + 0x18e (fitter_fcuda)
0x2457e: fmain_start(CMP_FACADE*) + 0x4ae (fitter_fmain)
0x1f826: qfit_execute_fit(QCU_FRAMEWORK*, QFIT_FRAMEWORK*) + 0x1d6 (comp_qfit_legacy_flow)
0x1bda2: QFIT_FRAMEWORK::execute() + 0x282 (comp_qfit_legacy_flow)
0x23568: qfit_legacy_flow_run_legacy_fitter_flow + 0x218 (comp_qfit_legacy_flow)
0x4d671: TclInvokeStringCommand + 0x81 (tcl8.6)
0x51ec7: TclNRRunCallbacks + 0x47 (tcl8.6)
0x536e7: TclEvalEx + 0x947 (tcl8.6)
0xfb366: Tcl_FSEvalFileEx + 0x266 (tcl8.6)
0xfb47e: Tcl_EvalFile + 0x2e (tcl8.6)
0x11ebc: qexe_evaluate_tcl_script(std::string const&) + 0x382 (comp_qexe)
0x18dcf: qexe_do_tcl(QEXE_FRAMEWORK*, std::string const&, std::string const&, std::list>std::string, std::allocator>std::string> > const&, bool, bool) + 0x597 (comp_qexe)
0x19d7b: qexe_run_tcl_option(QEXE_FRAMEWORK*, char const*, std::list>std::string, std::allocator>std::string> >*, bool) + 0x57e (comp_qexe)
0x3e06a: qcu_run_tcl_option(QCU_FRAMEWORK*, char const*, std::list>std::string, std::allocator>std::string> >*, bool) + 0x1065 (comp_qcu)
0x1c586: qexe_standard_main(QEXE_FRAMEWORK*, QEXE_OPTION_DEFINITION const**, int, char const**) + 0x6b3 (comp_qexe)
0x3b75: qfit2_main(int, char const**) + 0xc5 (quartus_fit)
0x407e0: msg_main_thread(void*) + 0x10 (ccl_msg)
0x602c: thr_final_wrapper + 0xc (ccl_thr)
0x4089f: 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)
0x42c37: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0xa3 (ccl_msg)
0x203f1: __libc_start_main + 0xf1 (c.so.6)


End-trace

Это если поставить для таких ячеек параметр dont_touch="yes", иначе квартус их просто тихо выкидывает из схемы.
From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org


 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.