AI IN VERIFICATION | METHODOLOGY
In short: AI-assisted verification uses machine learning and large language models to speed up the slow, repetitive parts of chip verification.
- What it does well: picks which tests to run, steers random stimulus toward coverage holes, groups failures by root cause, drafts testbench code and assertions.
- What changed in 2026: Siemens, Cadence, and Synopsys all moved from single AI features to agents that plan, run, and debug on their own.
- The catch: in public tests, AI-written assertions compile over 90% of the time but are actually correct less than half the time.
- The rule: the model suggests. A deterministic checker you trust decides.
Your value as a verification engineer is moving toward building and owning that checker.
Introduction and why this matters now
Verification already takes the biggest share of an SoC schedule. Designs keep growing faster than teams do.
And more bugs are escaping, not fewer. The 2024 Wilson Research Group and Siemens EDA study surveyed 597 projects:
- Only 14% reached first-silicon success.
- That is the lowest number in about two decades of the survey.
Meanwhile, a big part of a verification engineer’s day is mechanical, not clever:
- Sorting hundreds of failures
- Guessing which tests to rerun
- Hand-writing coverage bins
- Wiring up the same agent boilerplate for the fifth protocol this year
Those are exactly the tasks where pattern learning helps.
What changed since the first version of this guide:
- 2024 to 2025: AI came as single features. A test ranker here, a failure bucketer there.
- February 2026: Siemens launched the Questa One Agentic Toolkit.
- June 2026: Cadence announced an autonomous verification agent at COMPUTEX.
- July 2026: Synopsys demoed an agent running a full verification cycle at DAC.
- 2026 overall: startups like ChipAgents raised more than $130 million in Series A money on the same idea.
The honest framing has not changed. AI is an assistant that shortens the boring parts, not an oracle that signs off your chip.
What has changed is how much it can do between check-ins. That makes the checker matter more, not less.
Real industry motivation
Before: a nightly regression of several thousand tests finishes near sunrise. A developer who pushed a change at noon waits a full day to learn it broke something.
After: the team ranks tests by how likely they are to fail or add coverage for that change. The top set runs in an hour. Feedback arrives before lunch. The full run still happens nightly as a safety net.
Nothing about correctness changed. The feedback loop shrank from a day to an hour. Repeat that on every commit and you have the practical case for AI in verification.
What is being reported in public, and how to read it:
| Source | What was reported | How to read it |
|---|---|---|
| Renesas, quoted by Synopsys (VSO.ai) | Up to 10x fewer functional coverage holes, up to 30% higher IP verification productivity | Named customer, but “up to” is the best case |
| Cadence customers, DVCon India 2025 | Triage effort down 70%; turnaround per bug down 4x | Triage is the most mature, most checkable use |
| Cadence, June 2026 | 40x faster RTL validation; five weeks of work in under a day | Vendor claim, no named design or baseline |
| Synopsys, DAC July 2026 | RTL validated up to 50x faster, 20% more coverage | Vendor claim, wide release planned for late 2026 |
My take: ask for the denominator.
Treat every vendor number the way you treat a coverage number. 95% of what? 50x faster than which flow, on which design?
A coverage report without its covergroups tells you little. An “up to 50x” without a baseline tells you less. This one habit makes you the most useful person in any tool evaluation.
Basic explanation and analogy
There are two kinds of AI at work here:
- Machine learning finds patterns in past data: regression history, coverage, failure logs. It learns things like “tests like these hit new coverage” or “failures with this log line belong together.”
- Large language models turn text into code or summaries: a spec paragraph into an assertion, a log into a bug summary.
Neither proves anything. Both make an educated guess that your existing, trusted checkers confirm.
The 8th standard analogy: the librarian.
A librarian has watched thousands of students. She knows that students who borrow one book usually need two others. She knows which returned books tend to have the same torn page.
She does not read every book each time. She spots patterns and points you to likely answers faster. She can still be wrong, so you check the book before trusting her hint.
AI in verification is that librarian: fast pattern spotting over your project history, always followed by a check.
The court analogy, for the agent era.
In volleyball, the setter reads the block and decides where the ball goes next. A great setter makes the whole team faster.
But the setter never decides whether the ball landed in. The referee does, from a fixed rule, every single time.
- The AI agent is the setter. It sets up the next test, the next fix, the next run.
- Your scoreboard, assertions, and coverage database are the referee.
Let the setter call the lines too, and you win a few points you should have lost. Right up until the match that matters.
Architecture of an AI-assisted flow
Every safe AI-assisted flow has the same three parts:
- Data in
- A model that suggests
- A deterministic checker that confirms
The checker keeps the model’s uncertainty out of signoff.
Read the last box carefully:
- Coverage is measured by the coverage database, not the model.
- Correctness is judged by the scoreboard and assertions, not the model.
- Test selection is backed by a periodic full regression.
The model only suggests. The trusted layer always decides.
The dotted line is what is new in 2026. In an agent flow, the checker’s result goes straight back to the model, which tries again without waiting for you.
- The good: the agent fixes its own compile errors and closes its own coverage holes.
- The risk: an agent rewarded for “tests pass” can make tests pass the wrong way, like loosening a check or narrowing a constraint.
It helps to think of AI use in levels:
| Level | What the AI does | Who closes the loop | Example |
|---|---|---|---|
| 1. Suggest | Ranks, clusters, summarizes | Engineer acts on every suggestion | Failure bucketing, risky-module ranking |
| 2. Draft | Writes code or properties | Engineer reviews before commit | Assertion drafts, sequence drafts, Tcl scripts |
| 3. Act with a checker | Runs tools and retries on failure | Checker first, then engineer review | Coverage-gap agents, lint auto-fix |
| 4. Autonomous loop | Plans, runs, debugs end to end | Checker plus audit of every change | Vendor agents announced in 2026 |
The higher the level, the more you must protect the checker from being edited by the thing it checks.
Internal working: data, model, checker
Data layer. Turns project artifacts into features:
- Which files changed
- Which tests hit which coverage
- Which log lines came with which root causes
- For agents: the spec text and the existing test code
Model layer. Learns a mapping from those features to a useful guess: a failure chance per test, a cluster per failure, a draft sequence for a hole.
Checker layer. Deterministic and AI-free. It confirms the suggestion helped, or catches that it was wrong.
The design principle: every model error must be recoverable.
| If the AI gets this wrong | It is caught by |
|---|---|
| Test ranking | The periodic full run |
| Stimulus bias | The coverage database showing the gap is still open |
| Failure cluster | The engineer opening one representative |
| Generated assertion | A cover property plus a formal or simulation check |
Choose every AI use so its worst case is a small waste, never a missed bug.
A learning that is easy to miss: data quality beats model choice.
If your regression system does not record seeds, commit IDs, and the first failing message cleanly, no model will help you.
Teams that get real value from AI usually spent a few weeks first making their logs boring and consistent. Unglamorous work. Very useful skill.
RTL and verification perspective
From the RTL side, AI does not change the design. It changes where review effort goes.
- A bug-prediction model trained on past defects flags the modules most likely to hold bugs.
- Tools that compare RTL revisions by meaning, not by text, show which of fifty changed lines actually change behavior.
- Both give you a ranking, not a verdict. A bug is still confirmed only by finding it or proving it absent.
From the verification side, intuition calls become data-driven:
- Which tests to run after a change
- Which constraints to bias
- Which failures share a cause
Siemens’ 2026 toolkit, for example, ships separate agents for lint, CDC, verification planning, and debug. It runs from AI coding tools many engineers already use, like GitHub Copilot, Cursor, and Claude Code.
The skill shift: you move up a level, from making each call to reviewing the model’s calls and owning the checkers behind them.
If you are early in your career, this is good news. Reviewing well needs the same basics as writing well. You cannot judge a generated scoreboard if you have never built one.
UVM architecture for AI-assisted flows
The UVM environment barely changes. What changes is what reads its outputs.
- The coverage collector still feeds the coverage database. Now a feedback loop also reads it to steer the next stimulus.
- The monitor and scoreboard still judge correctness. Their verdicts stay the ground truth the model can never override.
Building the environment these hooks attach to? Start from the typical UVM testbench architecture and the build-a-UVM-environment series.

flowchart LR
SEQ["Sequence (steered)"] --> DRV["Driver"] --> DUT["DUT"]
DUT --> MON["Monitor"] --> SB["Scoreboard (ground truth)"]
MON --> COV["Coverage DB (ground truth)"]
COV --> POL["Steering policy (model)"]
POL --> SEQ
The loop from coverage back to the sequence is the only new edge.
- Everything the model touches sits upstream of the sequence.
- Everything that judges correctness stays downstream and AI-free.
Can an LLM write the UVM environment itself? A 2025 research framework called UVM² tried, with three agents for test planning, code writing, and coverage-gap filling.
- Designs: 10 open blocks of about 400 to 1,600 lines, like AES, SHA256, SPI, and UART
- Coverage: about 87% code and 90% functional
- Time: under 2 hours on average, against an estimated 27 hours for experienced engineers
- Success rate: 69% on the first try, 87% after two repair rounds
My reading: LLMs are already good at the template-like parts of UVM, such as interfaces, agents, and configs. The scoreboard and reference model are still where your judgment carries the project. And these designs are much smaller than a real subsystem.
SystemVerilog implementation of coverage feedback
Honesty note: the code below is written from my reading of SystemVerilog and standard coverage-feedback practice, not captured from a tool run. Compile and run it in your simulator before relying on it.
Before you let a model or agent steer, understand the loop by hand. If you can write it, you can review what any agent does with it.
// BAD: blind randomization forever. Reaches easy bins fast, // then wastes thousands of seeds never closing the tail. task body(); repeat (200) begin txn t = txn::type_id::create("t"); start_item(t); assert(t.randomize()); finish_item(t); end endtask// GOOD: read coverage and bias toward rare modes once the
// easy bins are full, closing the tail with far fewer seeds.
task body();
real cov;
repeat (200) begin
txn t = txn::type_id::create("t");
start_item(t);
cov = $get_coverage();
if (cov > 90.0) assert(t.randomize() with { mode inside {RARE_A, RARE_B}; });
else assert(t.randomize());
finish_item(t);
end
endtask// BEST: keep a share of mainline randomization so steering
// never starves the common cases, and let a learned policy
// (not a fixed threshold) pick the bias from run history.
task body();
real cov; int pick;
repeat (200) begin
txn t = txn::type_id::create("t");
start_item(t);
cov = $get_coverage();
pick = $urandom_range(0,9);
if (cov > 90.0 && pick < 7) // 70% steered, 30% mainline
assert(t.randomize() with { mode inside {RARE_A, RARE_B}; });
else
assert(t.randomize());
finish_item(t);
end
endtask
- What it does: samples coverage and steers stimulus to rare modes once easy bins fill. The best version keeps mainline coverage alive.
- Why it exists: the last ten percent of coverage is where blind random stalls.
- How AI improves it: a learned policy picks the bias and mainline ratio from many past runs, better than a fixed threshold. Tools like Synopsys VSO.ai and Cadence Verisium do a much more refined version across a whole regression.
- Common mistake: steering so hard you stop hitting common cases.
If an agent writes the steering, diff its constraint changes like RTL changes.
- Agent adds
mode inside {RARE_A}to close a hole: fine. - Agent quietly deletes a constraint that kept stimulus legal: a testbench bug that looks like progress.
Assertions and generated properties
LLMs can draft assertions from a spec paragraph. That removes boilerplate.
The danger: a generated assertion that compiles cleanly but is vacuous or subtly wrong. It passes and proves nothing.
This is now measured, not guessed. NVIDIA’s FVEval benchmark checked LLM-written SVA with a formal tool:
- GPT-4o wrote valid SVA syntax about 91% of the time.
- Only about 46% were functionally correct.
- On pipeline designs, functional correctness fell to about 10%.
- Models sometimes invented temporal operators that do not exist.
Two practical takeaways:
- “It compiles” is not a review. Roughly half of what compiles is wrong. Check every generated property for vacuity and correctness, the same concern covered in the formal verification deep dive.
- Generate several, let formal pick. Asking for five candidates instead of one raised GPT-4o’s FSM success from about 37% to about 90%. Run each through formal or a known-good trace. Keep only the non-vacuous ones that pass.
Pair each generated assertion with a cover on its precondition before it enters the environment:
// Generated from spec: "Every request must get a grant within 4 cycles." property p_req_gnt; @(posedge clk) disable iff (!rst_n) req |-> ##[1:4] gnt; endproperty a_req_gnt: assert property (p_req_gnt);// Human-added guard: prove the precondition actually happens.
// If this cover never hits, the assertion above passed vacuously.
c_req_seen: cover property (@(posedge clk) disable iff (!rst_n) req);
Functional coverage and steering
Coverage plays two roles in steering:
- Fuel: the feedback loop reads it to find gaps.
- Referee: only the coverage database declares closure, never the model.
Keep the two roles clear. Basics are in types of coverage metrics and functional coverage guidelines. Closure is in the coverage closure guide.
| Role of coverage | Who uses it | Rule |
|---|---|---|
| Find gaps to steer toward | Model steering policy | May suggest bias |
| Declare closure | Coverage database | Only the DB decides, never the model |
| Protect mainline | Engineer | Keep a mainline randomization share |
| Define what “done” means | Engineer | The coverage model is written and reviewed by humans |
Underline that last row.
AI is very good at filling holes you defined. It is not good at noticing holes you forgot to define.
A covergroup that misses a corner case will happily report 100% while an agent celebrates. The coverage model, what you choose to measure, is becoming the most valuable thing you write. Spend your saved time there.
Checker, monitor, and guardrail strategy
Checker strategy.
- The scoreboard is ground truth and never yields to a model.
- If the model and scoreboard disagree, the scoreboard wins. Every time.
- In agent flows, make the scoreboard, assertions, and coverage model read-only for the agent. An agent that can edit its own referee is not being checked.
Monitor strategy.
- Monitors feed both coverage and failure clustering.
- Clean, complete transaction rebuilding matters more once a model reads it.
- Consistent, parseable log messages are now a feature, not a style choice.
Guardrail strategy. Every AI use needs a named recovery path, written down right next to it. No recovery path, no place in the flow.
| AI does | Trusted checker confirms |
|---|---|
| Ranks tests to run | Periodic full regression |
| Steers stimulus to gaps | Deterministic coverage database |
| Clusters failures | Human debug of one per cluster |
| Drafts code and properties | Compile, review, scoreboard, assertions, vacuity covers |
| Flags risky RTL modules | Directed tests or a proof |
| Runs as an agent across tools | Locked checkers, change log review, sandboxed access |
Data security comes up in every real evaluation. Agents need your full RTL and spec as context. Before any pilot, settle:
- Where the model runs: on-premises, private cloud, or vendor cloud
- Who and what can see your design files
The 2026 vendor agents lean on sandboxed runtimes and access controls for exactly this reason.
Debug and failure triage
After a big regression, one bug often shows up as dozens of failures with slightly different logs.
Clustering groups them by log signature. You triage a handful of root causes instead of hundreds of failures.
- The model reads the error text, failing assertion, and call stack.
- It groups likely-same failures.
- You open one representative per cluster and debug it the normal way, as in the practical debug guide.
The model saves sorting time, not debugging judgment.
This is the most mature use of AI in verification today. Cadence customers reported at DVCon India 2025:
- About 70% less triage effort from automatic failure bucketing
- About 4x faster turnaround per bug from predicting the guilty commit
You do not need a vendor tool to start. Most of the value comes from making the same failure look the same every time. This short Python sketch uses no ML and is often enough for week one:
# Group failing tests by a normalized error signature. import re from collections import defaultdictdef signature(msg: str) -> str:
msg = re.sub(r"@\s*\d+(.\d+)?\s*[munpf]?s", "@T", msg) # sim times
msg = re.sub(r"0x[0-9a-fA-F]+", "0xADDR", msg) # addresses and data
msg = re.sub(r"\b\d+\b", "N", msg) # counts, ids, seeds
return msg.strip() def cluster(failures): # failures: list of (test_name, first_error_line)
groups = defaultdict(list)
for test, err in failures:
groups[signature(err)].append(test)
return sorted(groups.items(), key=lambda g: -len(g[1]))Debug one test per group, largest group first.
Once that works, an LLM can add value on top:
- Summarize a big cluster’s logs into one paragraph
- Suggest which commit since the last pass is most likely guilty
NVIDIA’s internal ChipNeMo research model was built around jobs like these, including bug summaries and short EDA scripts.
| Signal used for clustering | What it captures |
|---|---|
| First failing assertion name | The protocol rule that broke |
| Normalized error message text | The symptom class |
| Failing time relative to reset | Startup vs steady-state bugs |
| Changed files since last pass | Likely culprit commit |
| First differing signal vs a passing run | Where the behavior split |
Recovery path: if the representative does not explain every failure in its cluster, the cluster was wrong. Split it. A wrong cluster hiding a distinct bug is the one risk worth watching.
Common mistakes and limitations
Mistakes teams make:
- Treating a model’s suggestion as proof instead of a hint.
- Dropping the full regression because ranking looks reliable.
- Letting generated assertions into signoff without vacuity and correctness checks.
- Over-steering random stimulus so mainline behavior stops being tested.
- Training on stale history, so the model picks tests for logic that no longer exists.
- Trusting a failure cluster without opening a representative.
- Giving an agent write access to the scoreboard, assertions, or coverage model it is judged by.
- Comparing tools on vendor “up to” numbers instead of a pilot on your own design.
Limitations, stated plainly:
- AI does not understand your spec. It spots patterns in past data and text.
- It cannot say the design is correct. Only that something looks like past passes or failures.
- It gets worse when the design changes faster than its training data.
- It sounds just as sure when it is wrong as when it is right.
- Agents write very convincing summaries of their own work. Read the diff, not the summary.
None of this makes AI useless. It makes it an assistant whose every output needs a deterministic check. That is a normal engineering habit, not a special one.
Regression and performance
| Lever | Benefit | Cost or risk |
|---|---|---|
| Ranked test selection | Shorter feedback loop per commit | Needs periodic full run as backstop |
| Coverage-feedback stimulus | Faster tail closure | Risk of neglecting mainline bins |
| Failure clustering | Less triage time (around 70% in reported cases) | Wrong clusters can hide a distinct bug |
| Guilty-commit prediction | Faster path from failure to owner | Needs clean commit and test history |
| Generated code drafts | Less boilerplate | Review burden, hidden wrong assumptions |
| Bug-risk ranking | Focused review effort | Ranking is a hint, not a verdict |
| Agent loops | Hours of tool work done unattended | Compute cost, audit burden, checker tampering risk |
The deal is a small, recoverable risk for a big loop-time saving.
- Keep the safety nets: worth it.
- Drop them: you traded a schedule win for a correctness risk. Never worth it.
One metric to add to every AI pilot: the AI miss rate.
Each time the nightly full run catches a failure the ranked subset skipped, log it. That number tells you, in your own data, how far to trust the tool. Much better than a vendor slide.
Best practices
- Every AI use has a named, deterministic recovery path written next to it.
- Coverage closure is declared by the coverage database, never by a model.
- The scoreboard is ground truth and never yields to a model.
- Keep a mainline randomization share so steering does not starve common cases.
- Generated code and assertions are first drafts, reviewed and checked before commit.
- Generate several candidate properties. Let formal or simulation pick the survivors.
- Lock checkers, coverage models, and scoreboards as read-only for agents.
- Retrain or refresh models as the design changes.
- Measure the AI miss rate during every pilot and before every rollout.
Skills that grow in value as AI spreads, roughly in order:
- Coverage model design. Deciding what “done” means is the part AI cannot do for you.
- Reference models and scoreboards. The referee has to be right, and it has to be yours.
- Formal basics and SVA. You need them to vet generated properties fast.
- Clear, structured specs and test plans. Agents read specs. Vague specs give confident wrong code.
- Python and data plumbing. Clean logs and small scripts drive most early wins.
- Reviewing generated code and agent change logs. Reading a diff critically is now a daily skill.
Project example: IP
- Problem: a protocol block stalled at the last few percent of functional coverage.
- AI use: a coverage-feedback loop biased constraints toward the empty bins.
- Result: the bins closed in a fraction of the seeds blind random needed.
- Guardrails: the coverage database confirmed closure, and a mainline share kept common cases exercised.
This matches what named customers report. Renesas has cited up to 10x fewer functional coverage holes with AI-driven coverage closure.
What rarely makes the press release: when a loop keeps missing a bin, the bin is often unreachable by design. An engineer should waive it with a written reason. A tool should never quietly drop it.
Project example: subsystem
- Problem: a nightly regression of several thousand tests gave feedback a day late.
- AI use: a fast ranked subset on every commit, with a full run on a fixed schedule.
- Result: turnaround on a typical change dropped from overnight to a couple of hours.
- Guardrail at work: the full run caught the rare case the ranking missed, exactly as designed.
If you add a coding agent to draft sequences for coverage holes, expect the pattern the research points to. Drafts tend to be good for template-like register and config scenarios. They are weaker for multi-step ordering corner cases, which still need an engineer who knows the protocol.
Project example: SoC
- Problem: hundreds of failures after an integration merge.
- AI use: clustering by normalized log signature.
- Result: the pile collapsed into a few root causes. The real work became debugging those few.
- Guardrail at work: one cluster mixed two distinct bugs. It was caught because the representative did not explain every member.
That is why the review step is not optional. More SoC context is in the SoC verification key areas and the SoC verification flow.
A real project story
A team grew so confident in ranked test selection that someone quietly turned off the nightly full regression to save compute.
For three weeks, nothing went wrong.
In week four, a change touched a module the model had learned was low-risk, from stale history. The ranked subset skipped the one test that would have caught it.
The bug surfaced days later in a longer integration run, where it was far more expensive to debug.
The fix was cultural, not technical. The full regression went back on a fixed schedule and became non-optional.
The same story is about to repeat with agents, only faster.
An agent that closes coverage overnight gets trusted a little more each week. The first time it “fixes” a failing test by relaxing a check, nobody notices. Unless the checker was locked and someone read the change log.
The safety net is the point. Removing it to save a little compute or review time trades a small saving for a large risk.
Interview questions
Can AI sign off a design?
No. It helps with selection, steering, triage, and drafting. Correctness is judged by deterministic checkers and humans.
How would you use ML to close coverage faster?
Feed the coverage database back to bias constraints toward empty bins. Keep a mainline randomization share so common bins stay covered.
What guardrail protects AI-based test selection?
A periodic full regression that runs no matter what the model says.
What is the danger of AI-generated assertions?
They can be vacuous or subtly wrong while compiling cleanly. Benchmarks show about half of valid-syntax generated SVA is functionally wrong. They need review, cover checks, and formal checks.
Why can a model give a confidently wrong answer?
It predicts from patterns, not from understanding the spec. New situations can produce plausible but wrong output.
What is the difference between an AI feature and an AI agent?
A feature makes one suggestion and stops. An agent plans, runs tools, reads results, and retries in a loop. So it needs locked checkers and an audit trail.
Lead-level scenario: your team wants to drop the full regression because ranking is accurate. What do you say?
Keep it. Its whole job is to catch the ranking’s misses. Then show the AI miss rate data to back it up.
Coding: how do you steer stimulus without starving mainline coverage?
Bias only a share of transactions toward rare bins. Keep the rest fully random.
FAQ and People Also Ask
What is AI-assisted verification?
Using machine learning and LLMs to speed up chip verification tasks like test selection, coverage closure, failure triage, and testbench or assertion drafting. Every AI output is confirmed by a deterministic checker.
Will AI replace verification engineers?
No. It removes repetitive work and shifts engineers toward judgment, coverage modeling, review, and root-cause analysis. Those skills become more valuable.
Which AI verification tools exist in 2026?
Main commercial options include Synopsys VSO.ai and its AgentEngineer agents, Cadence Verisium and its verification agents, and Siemens Questa One with its Agentic Toolkit. Startups like ChipAgents are also active.
Do I need a data science team to start?
No. Coverage-feedback loops and log clustering can start with simple scripts.
Is generated code safe to commit?
Only after review, a clean compile, and its own checks. The same bar as a junior engineer’s first draft.
How do I keep the model honest?
Put a deterministic checker after every AI output, lock that checker against AI edits, and keep a full-regression safety net.
What data does AI-assisted verification need?
Regression history, the coverage database, clean failure logs, changed files per commit, and for LLM agents, the spec and existing test code.
Can AI find new bug types on its own?
Not reliably. It steers toward known gaps and groups known symptoms. Truly new bugs still need engineer insight and directed or formal methods.
How accurate are LLM-generated SystemVerilog assertions?
In NVIDIA’s FVEval benchmark, leading models wrote valid syntax over 90% of the time but correct SVA less than half the time (about 46% for the best model). Formal or simulation checking is essential.
Summary
AI-assisted verification pays off on the mechanical parts:
- Test selection
- Coverage-driven stimulus
- Failure triage
- Code and assertion drafting
- Risk ranking
In 2026 these are being chained into agents that run for hours without a human. Each one still produces a suggestion that a trusted, non-AI checker must confirm.
Keep the deterministic checkers. Lock them away from agents. Keep the mainline share. Keep the full regression. Then AI is a real schedule saver, not a risk.
The engineers who gain the most will be the ones who write the best referees.
Quick revision notes
- AI assists. Humans and deterministic checkers sign off.
- Top uses: test selection, coverage steering, failure clustering, code drafting, risk ranking.
- 2026 shift: from single AI features to agents that plan, run, and debug in a loop.
- Every AI output needs a trusted checker and a named recovery path.
- Coverage closure is declared by the database, never the model.
- Generated SVA: syntax is easy, meaning is hard. Check vacuity and correctness.
- Keep a mainline randomization share when steering.
- Keep the full regression as a non-optional safety net.
- Agents must never edit the checkers that judge them.
- Models predict from patterns. They do not understand the spec.
Printable checklists
Design checklist
- Defect history captured so risk ranking has clean data.
- Module boundaries clear so changed-file features mean something.
- Specs written in clear, structured language agents can read.
Verification checklist
- Steering keeps a mainline randomization share.
- Generated properties paired with covers and reviewed.
- Scoreboard remains ground truth over any model.
- Coverage model written and reviewed by engineers.
Debug and triage checklist
- Log messages normalized and parseable.
- One representative debugged per failure cluster.
- Cluster split when the representative does not explain every member.
Code review checklist
- Generated code compiled, reviewed, and self-checked before commit.
- Hidden assumptions in generated code called out in review.
- Agent change logs read as diffs, not summaries.
Regression checklist
- Full regression scheduled regardless of ranked selection.
- AI miss rate tracked from the full run.
- Model retrained as the design changes.
Coverage checklist
- Closure confirmed by the coverage database, not the model.
- Mainline coverage watched so steering does not starve it.
Signoff checklist
- Every AI use has a documented deterministic recovery path.
- No AI output treated as evidence without a checker behind it.
- Checkers, scoreboards, and coverage models locked against agent edits.
Interview checklist
- Can explain the suggest-then-check architecture.
- Can explain the difference between an AI feature and an AI agent.
- Can name each AI use and its recovery path.
- Can explain why the full regression stays non-optional.
Related reading
- The Practical Debug Guide
- Formal Verification Deep Dive
- Coverage Closure Guide
- Types of Coverage Metrics
- Functional Coverage Guidelines
- SoC Verification Key Areas
- Portable Stimulus (PSS) Guide
External sources cited in this guide
- 2024 Wilson Research Group IC/ASIC Functional Verification Trend Report
- FVEval: Language Model Capabilities in Formal Verification of Digital Hardware
- UVM²: An Automated LLM-aided UVM Machine for RTL Verification
- Synopsys VSO.ai (Renesas results)
- Agentic AI in Action, DVCon India 2025 (Cadence)
- Siemens Questa One Agentic Toolkit announcement
- Cadence autonomous verification agent announcement
- Synopsys design verification agent at DAC 2026
Learning path
- Coverage first: coverage metrics and the coverage closure guide. AI in verification mostly steers and measures against coverage.
- Then debug: the debug guide, so you can judge clustered failures.
- Then formal: the formal guide, so you can vet generated assertions.
- Then scenarios: the PSS guide, which pairs naturally with learned stimulus steering.
- Then build something: run the log clustering script above on your last big regression. Ask an AI coding assistant for five versions of one assertion from your spec, and check each in your formal tool.
Two weekends of that will teach you more about where AI helps and where it fails than any vendor demo.
#AIVerification #MachineLearning #DesignVerification #ASICVerification #AgenticAI #CoverageClosure #RegressionTesting #FailureTriage #SystemVerilogAssertions #UVM #Methodology #SoCVerification
