ContributionsMost RecentMost LikesSolutionsget_ports of entity-bound returns TOP level ports I have an SDC file to constraint instances set_global_assignment -name SDC_ENTITY_FILE cdc_handshake.sdc -entity cdc_handshake set ports [get_ports * -nocase] foreach_in_collection port $ports { set name [get_port_info -name $port] puts "$name" } returns all the ports of the TOP level, not the ports of the instance How to get the ports of the instance? Same results with get_clocks but get_cells correctly returns only cells of the instance. Re: Getting the PRE_FLOW_SCRIPT_FILE thing to work This behavior is so stupid, vivado has pre and post scripts for each step. Still not fixed in 2024, such a shame Altera's software is seriously the worst I've ever used. Re: Intel Questasim is very slow, e.g. cd .. Thanks! For me launching Questa takes seconds, it freezes for no reason, doing anything in the tcl console freezes the GUI for seconds. I contacted Intel 2years ago about it and as usual they were completely clueless. It's just crazy it is still not solved in 2024. Internal Error: Sub-system: VRFX2, File: /quartus/synth/vrfx2/vrfx2_ddm.cpp, Line: 6168 Quartus keeps crashing for no reason Problem Details Error: Internal Error: Sub-system: VRFX2, File: /quartus/synth/vrfx2/vrfx2_ddm.cpp, Line: 6168 uinst Stack Trace: Quartus 0x7d2d9e: VRFX_DDM::create_ddm_connections() + 0xa40 (synth_vrfx2) Quartus 0x7d41b0: VRFX_DDM::convert_netlist(VRFX2_TOPDOWN_MGR::ELAB_INST_ENTRY*) + 0x626 (synth_vrfx2) Quartus 0x7d5205: vrfx2_ddm_convert_all_netlists(BASEX_ELABORATE_INFO*, Netlist*) + 0xa52 (synth_vrfx2) Quartus 0x820225: new_verific::VRFX2_EXTRACTOR::extract_hierarchy(char const*, std::vector<BASEX_ENTITY*, std::allocator<BASEX_ENTITY*> > const&, BASEX_ELABORATE_INFO*, bool, bool, bool, bool, bool) + 0x1787 (synth_vrfx2) Quartus 0x10da19: QIS_RTL_STAGE::IMPL::elaborate_verific(QHD_PARTITION*, BASEX_ENTITY*, BASEX_ELAB_INFO_CORE&, std::vector<BASEX_ENTITY*, std::allocator<BASEX_ENTITY*> > const&, bool) + 0x305 (synth_qis) Quartus 0x14ee1d: QIS_RTL_STAGE::IMPL::elaborate_ddm_module(DDM_MODULE*, BASEX_ENTITY*, std::vector<BASEX_ENTITY*, std::allocator<BASEX_ENTITY*> > const&, std::vector<DDM_MODULE*, std::allocator<DDM_MODULE*> >&) + 0x10d (synth_qis) Quartus 0x14f77a: QIS_RTL_STAGE::IMPL::elaborate_ddm(DDM_MODULE*) + 0x11a (synth_qis) Quartus 0x152249: QIS_RTL_STAGE::IMPL::elaborate_ddm() + 0xd75 (synth_qis) Quartus 0x152278: QIS_RTL_STAGE::elaborate_ddm() + 0xc (synth_qis) Quartus 0x2a8a2: SCMD_ELABORATE::execute(Tcl_Interp*, DTCL_ARGS&) + 0x5aa (synth_scmd) Quartus 0xc7da: DTCL_COMMAND_PKG::eval_cmd(void*, Tcl_Interp*, int, Tcl_Obj* const*) + 0x148 (dni_dtcl) Quartus 0x4bb47: TclNRRunCallbacks + 0x67 (tcl8.6) Quartus 0x4cf29: TclEvalEx + 0x599 (tcl8.6) Quartus 0xf40fe: Tcl_FSEvalFileEx + 0x21e (tcl8.6) Quartus 0xf4246: Tcl_EvalFile + 0x26 (tcl8.6) Quartus 0x270b4: qexe_evaluate_tcl_script(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0x388 (comp_qexe) Quartus 0x29e08: 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) + 0x71b (comp_qexe) Quartus 0x2afc1: 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) + 0x8a5 (comp_qexe) Quartus 0x6fb73: 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) + 0x99 (comp_qcu) Quartus 0x6fe66: 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) + 0x286 (comp_qcu) Quartus 0x40703e: qsyn2_tcl_process_default_flow_option(ACF_VARIABLE_TYPE_ENUM, char const*) + 0x4b5 (quartus_syn) Quartus 0x2fbb6: qexe_standard_main(QEXE_FRAMEWORK*, QEXE_OPTION_DEFINITION const**, int, char const**) + 0x7dd (comp_qexe) Quartus 0x406a7c: qsyn2_main(int, char const**) + 0x123 (quartus_syn) Quartus 0x43980: msg_main_thread(void*) + 0x10 (ccl_msg) Quartus 0x44400: msg_thread_wrapper(void* (*)(void*), void*) + 0x8c (ccl_msg) Quartus 0x1ff9d: mem_thread_wrapper(void* (*)(void*), void*) + 0x9d (ccl_mem) Quartus 0xe178: err_thread_wrapper(void* (*)(void*), void*) + 0x1e (ccl_err) Quartus 0x44329: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0xd3 (ccl_msg) Quartus 0x406952: main + 0x26 (quartus_syn) System 0x3a7e5: __libc_start_main + 0xe5 (c) Quartus 0x406879: _start + 0x29 (quartus_syn) End-trace Executable: quartus Comment: None System Information Platform: linux64 OS name: AlmaLinux release OS version: 8 Quartus Prime Information Address bits: 64 Version: 23.4.0 Build: 79 Edition: Pro Edition Re: dcfifo full brokenWhy do you give me a random fifo document that doesn't even mention the dcfifo?Re: dcfifo full brokenCould you forward the document that explains dcfifo? And tell what's wrong? All the parameters seem correct. Modelsim and Quartus don't tell me anything about anything wrong. Thank you.Constraint file for async_fifo macro? Where is the constraint file for the async_fifo macro in quartus 23.4? I get a bunch of CDC timing... why isn't it loaded by default with the module? dcfifo full broken dcfifo #( .intended_device_family ("Agilex"), .lpm_numwords (32), .lpm_showahead ("ON"), .lpm_type ( "dcfifo"), .lpm_width ($bits(t_cmd_data)), .lpm_widthu (6), .add_usedw_msb_bit ("ON"), .read_aclr_synch ("ON"), .write_aclr_synch ("ON"), .rdsync_delaypipe (4), .wrsync_delaypipe (4) ) cmd_dcfifo_i ( full is set 2clocks after a write full when 29 words are in, whereas the depth is 32 Error(276001): Cannot synthesize dual-port RAM logic "..." Synthesis error: Error(276001): Cannot synthesize dual-port RAM logic "...timestamps" Code: (*ramstyle="logic"*)logic [15:0][63:0] timestamps [CHANNELS] /*synthesis ramstyle="logic"*/; How is that a dual-port RAM logic?! verilog attribute + synthesis attribute, I can't do more to stop the bull**bleep** from that stupid tool. Please advise. Re: 22.1 PRO: (*preserve_for_debug*) signals not preserved Quartus pro 23.1, we still have issues with preserve_for_debug... This will never ends... IPS case opened, I just comment here for tracking purpose.