About
Silicon Verification is a working engineer's handbook for design verification. I am Milan Kubavat, a verification engineer, and I write here about the part of the job that rarely makes it into the standards documents: how to structure a UVM testbench so it survives the next protocol change, how to debug a failing regression without drowning in log files, and how to use AI tools for verification work without shipping latent bugs.
What you will find here
- Design patterns in UVM. A post-by-post series that maps the classic Gang of Four patterns (Factory, Singleton, Builder, Prototype, Adapter, Decorator, Facade, Proxy, Observer, Strategy, Chain of Responsibility, Command, Bridge, Abstract Factory, Composite, Template Method, State) onto real SystemVerilog and UVM code, with the trade-offs spelled out. Start on the UVM page.
- Debug and observability. Structured logging, metrics and traces for testbenches, and the pipeline that turns a failing seed into a reproducible bundle. See the Debug page.
- AI for design verification. A practitioner playbook, prompt and context engineering for hardware work, worked pair-debug sessions, and a reading list of the research behind it. See the AI page.
How the posts are written
Every post starts from a problem that shows up in real projects, works through a concrete example with runnable code, and ends with the failure modes to watch for. Code is SystemVerilog and UVM unless stated otherwise. Where a post relies on published research or vendor documentation, it links to the source. Nothing here is generated from a template; if a post gets something wrong, tell me and I will fix it and note the change.
Who this is for
Verification engineers from their first UVM environment to their tenth tape-out, RTL designers who want to understand what the testbench is doing, and anyone building tooling around simulation logs. If you are new to UVM, start with the Factory pattern post and follow the series in order.
Connect
Contact
Questions, corrections and topic requests are welcome. The Contact page lists the ways to reach me, and every post accepts comments.