NPU Design & Verification — CNN Inference Accelerator
UVM env built, coverage closed, CDC signed off22 nm CNN inference NPU — owned the verification side: UVM environment, bit-true scoreboard, coverage closure, CDC sign-off.
- Role
- Team-developed; personal ownership: functional verification
- Dates
- Feb 2026 – present
- Verif
- AI
- RTL
- NPU
One-line hook: collaborative 22nm CNN inference NPU running a LeNet-style network; personal ownership on the verification side — UVM env, bit-true scoreboard, coverage closure, CDC sign-off.
Role
- Project type: collaborative chip development with industry mentors
- Network: CNN inference (LeNet-style, MNIST / CIFAR-10 class)
- Personal ownership: verification — UVM environment, scoreboard with bit-accurate reference models, coverage closure, CDC sign-off across 4 async clocks
- Design contributions: reviewed and co-developed selected modules (FP16 MAC datapath, AXI/APB/SPI bus integration, clock-mux / reset-sync paths)
Tech Stack
SystemVerilog · UVM · Synopsys VCS / Verdi · AXI VIP · SPI agent · RAL (SPI→APB adapter) · CDC sign-off · coverage-driven verification · Python regression harness
Architecture
Chip-top integration: NPU compute core (Data_cache + L1_cache + Cnn_cal + APB_config) sits between an AXI-based data path (host SRAM ↔ chip via AXI2SRAM) and an APB control path (host registers ↔ chip via SPI2APB → APB2SRAM). A debug mux (Debug_16_mux_1) brings selected internal signals out to a top-level pin for board bring-up. Four async clock domains — ir_clk, sys_clk, apb_clk, plus the SPI clock — are crossed with sync-bit and async-FIFO primitives.

CNN inference datapath:
Image (INT8) → AXI ingest → Cache
→ INT8 → FP16 dequant
→ Conv (multi-channel MAC + add-tree)
→ ReLU
→ MaxPool 2×2
→ Conv → ReLU → MaxPool
→ FC → ReLU → FC → MaxResult (classification)
→ AXI write-out
Verification Highlights
- Built full-chip UVM environment on Synopsys AXI/SPI VIP with a custom image UVC (RGB raster stimulus) and RAL via SPI→APB register adapter.
- Authored vplan + UVM sequences for register read/write, MNIST/CIFAR-10 golden inference, multi-frame switching, SPI SRAM readback, and PLL bring-up.
- Built bit-true scoreboard against an SW golden model covering FP16 dequant, multi-channel MAC, max-pool, and 3-stage FC.
- Closed CDC sign-off across 4 async clocks; ran VCS/Verdi regression and coverage via a Python harness with
mem_loadbackdoor.
Status
Verification deliverables — UVM environment, vplan, bit-true scoreboard, coverage closure, CDC sign-off — complete and signed off. Design work on the compute core and bus integration continues with the team.
Discussion
Loading comments…
Checking sign-in…