Skip to content

verify: Three tops pass under Questa but never complete under Verilator #210

Description

@DanielKellerM

Three testbenches pass under Questa but fail under Verilator, and are quarantined in jobs/jobs.json under _verify.tops_untested:

top verilator symptom
tb_idma_transpose_nd the ND response never fires once the first case drains
tb_idma_transpose_b2b the first geometry never completes, watchdog trip
tb_idma_mxrand transfer 1 never completes, even at NumXfers=1 and low StallPct

All three pass under Questa on current devel, at every data width. They were re-measured while landing #204: the failures are Verilator-specific, not defects in the design under test, and the quarantine reasons in jobs.json were rewritten to say so rather than blaming causes that had been disproved.

That leaves real coverage switched off in the public flow. tb_idma_mxrand in particular is the only randomised compute testbench with stall injection, and it was the test that found #190, so having it absent from the Verilator suite is the more costly of the three.

Worth determining whether the cause is shared. "Never completes" in all three suggests one Verilator-specific scheduling or timing difference rather than three unrelated bugs; a single fix may un-quarantine all of them.

Starting points:

  • all three drive the compute path, which the passing Verilator legs do not exercise in the same way
  • the time base was recently aligned across flows, so a residual timescale or --timing difference is worth ruling out first
  • comparing a Questa and a Verilator waveform of the first stalled transfer should localise it quickly

Not a release blocker; #204 and #203 both landed with Questa coverage of these tops.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions