Skip to main content
Lab Notes

Coverage

Real-Time Coverage Feedback During Simulation: Closing the Analysis Lag

Marcus Lin 6 min read
Real-time coverage feedback loop during RTL simulation showing reduced analysis lag

At 8:47 am on Thursday, a team reviewing a 26-hour PCIe link-training simulation found 18 link-state transitions with zero hits. The transitions existed in the specification and coverage group, but constrained-random stimulus had not reached the error-recovery branches. Engineers understood the gap by 9 am. The run had stopped offering a chance to address it at 2 am.

The Cost of Waiting for the Report

The conventional loop is straightforward: run the simulation, export the coverage database, inspect gaps, write tests, and submit another run. For a small block, the delay between completion and diagnosis can fit inside a working day.

Long regressions on complex blocks are different. A 24-hour run finishing at 6 am may leave engineers analyzing from 9 am to noon, writing targeted tests by 2 pm, and submitting the next run at 3 pm. Results arrive the following morning. That creates a two-calendar-day iteration. Near tape-out, with coverage at 85 percent and 40 uncovered bins spread across three protocol state machines, the schedule cost is material.

The simulator is not necessarily the bottleneck. Runtime reflects RTL complexity and the fidelity required from the test environment. The avoidable delay is the interval between useful coverage data becoming available and an engineer reading it. For a 26-hour run, that interval begins before completion and then includes analysis time.

What Incremental Analysis Is

Checkpoint analysis does not mean a dashboard continuously streaming live coverage while Xcelium, VCS, or QuestaSim is executing. Simulation and analysis compete for compute resources, so constant read-and-analyze activity could extend the run.

Instead, the Coverage Tracker reads a UCDb or UCIS coverage database at defined checkpoints. It analyzes the partial state, ranks important gaps, and can pass candidate stimulus to the remaining simulation window. Checkpoints may be tied to elapsed simulated time, transaction count such as 10,000 bus transactions, or an event marking completion of a major protocol phase. The database read runs beside the simulator and does not require changing the simulator itself.

Signals in a Partial Coverage Database

A snapshot at 30 percent completion is less complete than the final database, but it is more useful than waiting. At 30 percent of a run, bins with zero hits are especially informative. They are unlikely to reach 100 percent through natural constrained-random stimulus if the required path is structurally difficult.

Random stimulus usually closes easy bins early, then stalls on deep state-machine paths, multi-cycle protocol sequences, and compound error conditions. If a coverage group contains 12 bins and 4 remain at zero after 50,000 transactions, those bins are candidates for targeted intervention. The Coverage Tracker can rank them against the RTL structure. Simple ranges and flag combinations may close with more traffic; hard-to-reach states usually need directed sequences.

For a small ASIC team verifying an AXI block, this distinction changes the morning review. The engineer is not treating every uncovered bin as equally urgent. The Test Writer can work from the ranked gaps, while the Failure Explainer can add context when a sequence reaches an unexpected assertion or protocol state.

Putting Stimulus Back Into the Run

Mid-run action requires testbench support. Most existing UVM environments do not accept externally generated sequences during an active simulation without deliberate infrastructure.

A practical pattern is a directed-test queue, exposed through a file or socket. New sequences are appended while the run continues, and the testbench polls the queue before dispatching them to the design interface. With that path established, an agent can analyze a checkpoint, generate stimulus for a selected gap, and have the sequence exercised before completion.

Without a queue, checkpoint analysis still removes the post-run discovery delay. The team can know at 2 pm which gaps matter instead of finding them at 9 am the next morning. Adding the queue to an existing UVM testbench generally means a few hundred lines of infrastructure. Teams doing it for the first time may spend a day or two, after which the mechanism can be reused across blocks and runs.

Where the Method Stops Helping

Short simulations under 4 hours leave little time to respond to a checkpoint. The ordinary batch loop may finish quickly enough that incremental analysis does not change the schedule.

Fully deterministic directed-test runs have a different limitation. With predetermined stimulus, there are no constrained-random seeds to steer. A checkpoint shows progress along a fixed trajectory, but it cannot modify the trajectory in the same sense.

We are not saying checkpoint analysis eliminates overnight regressions or replaces upfront testplan design. We are saying that teams running 20- to 30-hour constrained-random regressions on complex blocks can surface gaps early enough to address them during the same simulation window. The result is a more complete picture from one run instead of a mandatory second iteration.

Reviewing a More Complete Morning Report

The PCIe team enabled checkpoints every 6 hours on its next overnight run. Four hours in, automated analysis identified 11 of the 18 uncovered link-state transition bins. Targeted sequences were generated and placed in the testbench queue. When the 26-hour run ended, 9 of those 11 bins were covered.

Engineers still reviewed the final coverage database and judged whether the remaining bins were meaningful. Coverage still required design knowledge. The difference was that the morning report described a substantially more complete model rather than presenting the first gap set for a new run.

For teams running several 20-plus-hour simulations each week on a complex block, the practical implication is specific: checkpoint analysis can move gap response into the active run, making a one-day iteration possible where the batch workflow required two.

ChipAgents

Compress your simulation-to-insight cycle

ChipAgents surfaces coverage gaps incrementally so your team acts on data the same day it runs.

Request Access