QCX not activating with optimized UVM testbench (qsim only, no qopt -qcx license)

Hi,

I’m trying to use QCX (-qcx flag in qsim) to accelerate functional coverage closure on a UVM testbench running on Questa One Sim 2025.3.

My setup:

  • UVM 1.1d testbench with a Coverage collector class (uvm_subscriber) containing a functional covergroup connected to the Monitor via analysis port
  • Dut written in VHDL and compiled in DUT library
  • Tetbench top is called Top_TB, compiled in TB library
  • License available: QoneSim, msimhdlsim, msimhdlmix, svverification, msimcoverage
  • Note: -qcx in qopt fails with ICVS_LIMITED_FEATURES_KEY error, so I can only use -qcx in qsim

Current flow:

  1. vlog (TB files, no -cover flag yet)
  2. qopt -work TB -L DUT TB.Top_TB -o TB_opt (TB fully optimized)
  3. qsim TB.TB_opt -coverage -qcx …

Problem:
No QCX messages appear in the transcript after elaboration.
The covergroups ARE visible in the UCDB after simulation, but QCX shows no activity — no mapping messages, no acceleration.

Questions:

  1. Does QCX work with a fully optimized UVM testbench (TB_opt),
    or does it require the TB to be unoptimized to inspect
    dynamic class objects?
  2. Should I optimize only the DUT and run qsim on TB.Top_TB
    directly?
  3. Is -cover sbcfu required on vlog for QCX to map covergroups,
    or is -coverage on qsim sufficient?
  4. Are there any known limitations with QCX and uvm_subscriber
    based coverage collectors?

Any guidance would be greatly appreciated.

Thank you

This Siemens sponsored forum is not for tool related issues. Please refer to your tool documentation or contact your vendor support team for additional assistance.