APB Peripheral Verification Suite
Verify GPIO, timer and register-bank peripherals behind APB with reusable agents and negative/error tests.
Why build it: A compact way to show verification fundamentals before moving to AXI or processor-level work.
Key skills
Implementation plan
- Write a concise verification plan before building the environment.
- Separate stimulus, observation, prediction and checking responsibilities.
- Add assertions for protocol invariants and functional coverage for meaningful scenarios.
- Run regression seeds, classify failures and document coverage closure.
Verification plan
- Create a self-checking reference for the expected behavior before optimizing the RTL.
- Test reset and initialization, nominal operation, boundary conditions and back-to-back activity.
- Inject stalls, invalid requests or other stress cases when the interface permits them.
- Keep regression results, waveforms and failure notes so the project demonstrates debugging as well as coding.
Suggested deliverables
- three DUTs
- reusable APB agent
- test matrix
- regression results
Problems to practise first
What to discuss in an interview
- The architecture you chose and the alternatives you rejected.
- The hardest bug or corner case and how you found it.
- How you verified correctness beyond one successful waveform.
- Timing, area, latency, coverage or protocol trade-offs relevant to the project.