This document describes the design and verification of an AMBA APB protocol using System Verilog and Universal Verification Methodology (UVM). It begins with an introduction to AMBA and the APB bus protocol. The APB design is created in Verilog and consists of an APB bridge/master and APB slaves. The design is then verified using System Verilog and UVM testbenches. Simulation waveforms and UVM reports show the data written by the master is correctly read by the slave, indicating the APB protocol is functioning as intended.