AHB–APB Bridge with Self-Checking Verification

AHB–APB Bridge with Self-Checking Verification

SystemVerilog Verification Self Checking TBs
RepositoryMummanajagadeesh/ahb2apb
Start DateNov 2025

Overview

ItemDescription
TypeParameterizable AHB-Lite → APB Bridge
LanguageSystemVerilog
VerificationSelf-checking SV Testbench + Assertions
ToolsIcarus Verilog, GTKWave

RTL Design

  • Parameterizable AHB-Lite to APB bridge
  • Supports:
    • Single read
    • Single write
    • Burst read
    • Burst write
  • FSM-based control architecture
  • Address and data latching
  • Write buffering
  • Read-data return path
  • Burst sequencing logic
  • Handles pipelined and non-pipelined AHB accesses
  • Proper transaction-type decoding and continuation handling

Verification Environment

  • Fully self-checking SystemVerilog testbench
  • Macro-controlled compile-time test modes:
    • SINGLE_READ
    • SINGLE_WRITE
    • BURST_READ
    • BURST_WRITE
  • Assertion-based protocol validation
  • Automatic PASS/FAIL reporting
  • Per-test VCD waveform generation

Protocol Coverage

  • Verified correctness across:
    • All single and burst transactions
    • Read/write sequencing
    • Address alignment and transfer continuation
  • Ensured correct translation from AHB pipelined phase to APB two-phase protocol

Additional Work

Designed and functionally verified standalone peripheral controllers:

  • I2C Master Controller – Implements a single-master, multi-slave I²C bus supporting standard-mode timings, programmable SCL low/high periods, ACK/NACK handling, and clock stretching detection. Features deterministic START/STOP generation, byte-wise transfers, and address+data framing logic.

  • SPI Master (Modes 0–3) – Supports CPOL/CPHA mode selection, 8-bit full-duplex transfers, configurable SCLK division, selectable slave-select behavior, and MSB-first shifting. Designed with a compact FSM and separate TX/RX shift registers for predictable cycle behavior.

  • UART TX Soft-Core IP – Lightweight serial transmitter with baud-rate generator, start/stop framing, data-valid gating, and FIFO-less single-byte serialization. Fully synthesizable and intended as a drop-in peripheral for SoCs, teaching cores, or FPGA peripheral sets.