Functional Verification and Formal Methods
Plan, stimulate, observe and prove design behavior using simulation, coverage, assertions, formal analysis and disciplined closure.
Overview
Verification demonstrates that an implementation satisfies its specification across intended scenarios and failure modes. A plan maps requirements to checkers, stimulus, coverage and accountable closure.
Simulation explores concrete traces; formal methods reason over state spaces using assumptions and properties. Effective programs combine both and distinguish coverage quantity from meaningful verification completeness.
Learning objectives
Build a requirement-based verification plan
Use constrained-random stimulus and scoreboards
Write useful assertions and assumptions
Close code, functional and formal coverage
Core concepts
Testbench
Environment that configures, stimulates, monitors and checks the design.
Scoreboard
Reference mechanism that predicts and compares expected transactions or state.
Functional coverage
User-defined measurement of scenarios and cross-products exercised.
Assertion
Executable temporal property describing required or forbidden behavior.
Formal proof
Mathematical exploration that establishes a property under explicit assumptions.
Vacuity
A property passes because its triggering condition never occurs.
Engineering workflow
Plan from requirements
Map each behavior to stimulus, checker and coverage.
• Specification
• Verification plan
• Traceability matrix
Build environment
Create agents, models, monitors, assertions and scoreboards.
• Interfaces
• Reference model
• Reusable testbench
Execute regressions
Run deterministic suites with triage and reproducibility.
• Tests
• Seeds
• Configurations
• Results
• Failure signatures
Close evidence
Review holes, waivers, proof bounds and requirement status.
• Coverage
• Bugs
• Formal results
• Closure report
• Approval evidence
Metrics and interpretation
Functional coverage
Percentage of planned bins hit, interpreted alongside exclusions.
Bug escape rate
Defects discovered after the stage expected to catch them.
Proof depth
Bound or induction strength achieved for a formal property.
Regression stability
Reproducible pass/fail behavior across seeds, tools and environments.
Signoff checklist and pitfalls
Evidence checklist
- Requirements map to executable checks
- Coverage exclusions have reviewed rationale
- All failures are resolved or waived
- Formal assumptions are realistic and reviewed
- Seeds, binaries and configurations are reproducible
Common pitfalls
•
Using code coverage as proof of correctness•
Over-constraining formal inputs•
Building a scoreboard from the same logic as the DUT•
Ignoring reset and error injection