Skip to content
← All illustrative studies

Illustrative engineering study

Finding the gaps in a reset verification plan

An illustrative peripheral verification study that connects reset scenarios to checkers, coverage and integration assumptions.

Design verification · 5 min read

Developer reviewing code at a desktop workstation
Representative stock photograph: developer reviewing code at a desktop workstation. Not a project result or an image of an Avecas facility.

Illustrative study: a hypothetical engineering scenario, not a completed client project. No client results or measured outcomes are claimed.

The verification challenge

Consider a hypothetical peripheral with software-visible registers, an interrupt output and a transaction interface. Normal read and write tests pass, but the product must also recover from resets during activity. The review asks what happens to an accepted transaction, a partially completed operation and an interrupt that is pending when reset arrives.

The example is deliberately about verification planning. It does not assert that a real design has a defect or that a particular simulation campaign has been completed. The same method can be adapted to a timer, serial controller or data mover, but each block’s actual specification determines the legal behaviour.

Separate the kinds of reset

A power-on reset, a software-requested reset and a subsystem reset may have different effects. Build a matrix of reset sources against registers, queues, interrupt state and externally visible outputs. Identify retained state and values that are unspecified until initialization. If a reset is only legal after a quiesce handshake, that prerequisite belongs in the plan.

Review assertion and release separately. Clarify which clock must be running, how long reset remains active and when software may access the block afterward. Reset-domain crossing and clock-domain crossing checks are distinct activities; a testbench that exercises reset does not replace structural or implementation analysis.

Build checkers before increasing stimulus

A test can toggle reset repeatedly without detecting a lost transaction. Define what the scoreboard does with work that was accepted before reset and what the specification says should happen next. If reset cancels work, flush only the affected expectations and verify the cancellation’s visible consequences. If work must survive, preserve those expectations and check completion.

Register-model predictions also need an explicit reset treatment. A retained register should not be predicted to its power-on value during a warm reset. Interrupt checkers should distinguish a cleared pending condition from an output that remains asserted because its underlying event is still active. Independent checking turns reset activity into evidence.

Target difficult intersections

Useful scenarios combine reset with a meaningful state: FIFO full, transaction stalled, interrupt pending, configuration changing or an error response in progress. Exercise different offsets relative to clock edges within the limitations of the verification environment. For each scenario, define a bounded recovery sequence and the first operation that must succeed afterward.

Use functional coverage to track the specified intersections. Avoid creating a huge cross-product that cannot be interpreted or closed. A missing bin may represent a test gap, an unreachable state or a specification conflict; it needs investigation, not automatic exclusion. Keep the reason and reviewer for every justified exclusion.

Debug from the first divergence

When a failure appears, identify the earliest difference between the contract and the observed behaviour. A late timeout may be caused by a dropped request much earlier. Save the seed, configuration, build revision, relevant waveform interval and checker message. Reduce the sequence while preserving the behaviour that triggers the failure.

Classify whether the issue belongs to the design, the testbench, an assumption or the integration environment. A testbench bug should be repaired and its affected results rerun. A specification change should update both the checker and the tests. Closing a ticket without reconciling those artifacts leaves the same misunderstanding available to return later.

An example review worksheet

Create one row for each meaningful reset scenario and include the starting state, reset source, expected retained state, expected canceled work and first legal operation afterward. For example, a pending interrupt combined with a partially filled receive queue may have a different outcome under a peripheral reset than under a whole-system reset. Ask the specification owner to confirm the expected behaviour before the test author encodes it.

Add columns for the checker, stimulus method and observed evidence. This keeps a scenario from being marked complete merely because a test name exists. If the scenario is not legal, record the system mechanism that prevents it and decide where that mechanism is verified. An assumption such as software never does this should be connected to a real interface contract or enforcement mechanism.

Finally, ask whether the scenario leaves any outstanding transaction in another block. Reset correctness is often a relationship between components. A local scoreboard can be internally consistent while the upstream system waits for a response that will never arrive. Use the worksheet to identify which scenarios need subsystem tests and which can be resolved at block level. This gives the integration team a specific plan instead of a vague request to test reset again.

Review readiness as a set of evidence

A proposed handoff contains the reset matrix, requirement-linked test plan, checker descriptions, coverage review and unresolved integration assumptions. It should distinguish simulated behaviour from formal or structural analysis. A single green dashboard cannot convey the limitations of all those methods.

The review ends with an agreed list of supported reset sequences and responsibilities for system integration. Firmware and platform teams need to know when access is legal, what state survives and how to recover from an interrupted operation. This makes the verification package useful beyond the team that wrote the tests.

THE WORKFLOW

From the first question to a usable handoff.

  1. 01

    Map reset effects

    List each reset source and its effect on registers, outstanding work, outputs and retained state.

  2. 02

    Define independent checks

    Describe the expected fate of transactions and interrupts. Make reset handling explicit in scoreboards and register models.

  3. 03

    Exercise state intersections

    Combine reset with full queues, stalls, configuration changes and errors. Record reproducible failures and justified exclusions.

  4. 04

    Review recovery and handoff

    Demonstrate the agreed first operation after reset. Share assumptions with firmware and system integration owners.

What to bring. What to review.

Starting inputs

  • Reset architecture and register descriptions
  • Interface specification and interrupt behaviour
  • Existing tests, checker design and known issues

Proposed review package

  • Reset-effects matrix and scenario plan
  • Checker updates and coverage review
  • Reproducible failure records and recovery assumptions

Questions before you begin.

Does this study claim verification closure?

No. It describes an illustrative plan. Closure would require actual results, reviewed exclusions and approval against the project’s requirements.

Can random reset injection replace directed tests?

Random injection explores combinations, while directed tests target specific requirements and corner cases. Both require meaningful checkers; neither is sufficient merely because it runs many times.

Who needs to review reset behaviour?

The design, verification, firmware and system integration owners should review their interfaces. Physical implementation or reset-domain specialists may also need to review release and distribution assumptions.

Further technical reading

External documentation provides technical context. It is not evidence of a completed Avecas project or a commercial partnership.

APPLY THE THINKING

Bring your actual design question.

Share your current inputs, interfaces and the decision you need to make. We can use them to define a focused engineering scope and its review evidence.

KEEP EXPLORING

Connected engineering questions.

YOUR NEXT CHAPTER STARTS HERE

What will you
build next?

Bring us your engineering challenge.
Let’s define the path from idea to implementation.

Start a conversation