AMBA AXI · Module 10
AXI4-Lite Verification Checklist
The consolidated must-check list for verifying an AXI4-Lite slave — protocol compliance (handshake, subset, responses, WSTRB) plus register semantics (map, access types, reset, decode) — and the UVM-style testbench that checks them.
This chapter closes Module 10 with a consolidated checklist for verifying an AXI4-Lite slave. AXI4-Lite verification splits into two parts: a small protocol-compliance layer (the handshake, the subset restrictions, response codes, byte strobes) and a larger register-semantics layer (the register map, access types from Chapter 10.4, reset values, address decode). A correct Lite slave must pass both. We'll lay out the checklist by category, show the UVM-style testbench that implements it, and emphasize where the verification effort actually concentrates — the register semantics, not the (modest) protocol.
1. The Checklist Categories
Verifying an AXI4-Lite slave means covering these categories:
- Handshake compliance —
VALID/READYrules on all five channels: onceVALIDis asserted, payload stays stable untilREADY;VALIDmust not depend combinationally onREADY(no handshake deadlock). - Subset restrictions — assert it's genuinely Lite: single-beat only (no bursts), in-order (no
AxIDreordering), fixed full-width data, no exclusive access — flag any out-of-subset traffic as illegal. - Response codes —
OKAYfor valid accesses,SLVERRfor illegal ones (write to read-only, reserved offset),DECERRfor unmapped addresses (default slave). - Byte strobes —
WSTRBhonored: only strobed bytes written, neighbors preserved. - Register semantics — every register's access type (RW/RO/W1C/W1S/RC/self-clearing, Chapter 10.4) behaves exactly as specified, with correct reset values and reserved-bit behavior.
- Address decode — the right register is selected; unmapped offsets error; any aliasing/wrap behavior matches the spec.
2. Protocol Is Small, Register Semantics Is the Bulk
A key planning insight: for AXI4-Lite, the protocol part is small and largely reusable, while the register-semantics part is where most of the work and most of the bugs are.
- Protocol (small): single-beat handshakes, three response codes,
WSTRB, and the subset assertions. There's no burst arithmetic, no 4 KB rule, no outstanding/out-of-order scoreboard, no ID ordering, no exclusive monitor — most of Modules 6–9 simply doesn't apply. A standard AXI4-Lite VIP/protocol checker covers this layer almost for free. - Register semantics (the bulk): every register's access type, reset value, reserved bits, byte-field behavior, and decode — replicated across potentially hundreds of registers, each with hardware/software interactions (W1C races, self-clearing, RC side effects). This is design-specific, large, and where subtle bugs live.
So plan the effort accordingly: lean on a VIP for protocol compliance, and invest in a thorough register model for the semantics. The transactions are trivial; the meaning of each register is the hard part.
3. The Testbench Structure
A UVM-style environment for an AXI4-Lite slave has the standard components, sized for the single-transaction nature:
- Driver / sequencer — issues AXI4-Lite reads and writes (single-beat) from sequences; a register abstraction layer (RAL) lets tests read/write by register name rather than raw address.
- Monitor — observes the bus, reconstructs transactions, and feeds the checker/scoreboard and coverage.
- Protocol checker / VIP — continuously asserts the handshake, subset, and response-code rules.
- Scoreboard / register model — a model of the register map encoding each register's access type, reset, and reserved bits; it predicts the result of every access and checks reads/writes against it (the RAL provides this model).
- Coverage — functional coverage of registers, access types,
WSTRBpatterns, error responses, and reset.
The register model (RAL) is the centerpiece: it both drives by-name access and predicts expected behavior, so it checks register semantics systematically across the whole map.
4. The Sign-Off Flow
Verification sign-off for a Lite slave runs in a clear order:
5. Common Misconceptions
6. Debugging Insight
7. Verification Insight
8. Interview Questions
9. Summary
Verifying an AXI4-Lite slave is a two-part problem: a small protocol-compliance layer (handshake VALID/READY stability, the single-beat/in-order/fixed-width/no-exclusive subset, response codes OKAY/SLVERR/DECERR, and WSTRB byte writes) and a larger register-semantics layer (every register's access type from Chapter 10.4, reset values, reserved bits, and address decode). The protocol layer is small and largely VIP-covered — none of full-AXI's burst/outstanding/ordering/exclusive verification applies — so the effort and the bugs concentrate in the register semantics, best handled with a register model (RAL) that both drives by-name access and predicts expected behavior.
The testbench is the standard UVM set (driver+RAL, monitor, protocol checker, register-model scoreboard, coverage), and sign-off runs protocol compliance → register semantics → coverage closure. The checklist doubles as a debug taxonomy (hang→handshake, wrong-register→decode, wrong-behavior→semantics, field-corruption→WSTRB, illegal-traffic→subset, post-reset→reset). The highest-value, easy-to-miss checks are the negative cases (RO writes, unmapped, reserved) and the W1C race. A clean protocol checker plus closed register-semantics coverage is genuine sign-off because Lite's contract decomposes exactly into transport + typed registers. This completes Module 10 (AXI4-Lite); next, Module 11 turns to a different variant entirely — AXI4-Stream, the streaming, non-address-mapped protocol.
10. What Comes Next
You've finished AXI4-Lite; Module 11 turns to the streaming variant:
- 11.1 — The AXI4-Stream Mental Model (coming next) — stream-vs-memory-mapped thinking: AXI4-Stream moves data with no addresses, a different paradigm from everything so far.
Previous: 10.4 — Common CSR Design Patterns. Related: 10.2 — Register Access with AXI4-Lite and 8.6 — Verification Challenges for the contrast with full-AXI verification. For the broader protocol catalog, see the AMBA family overview doc.