Yashwanth
[email protected]
- Introduction to AMBA
- AMBA Bus Architecture
- Advanced Peripheral Bus (APB)
- APB Design and Operating States
- Simulation Results
- Conclusion
- Acknowledgment
- References
The Advanced Microcontroller Bus Architecture (AMBA) is widely used in System-on-Chip (SoC) designs. Developed by ARM, AMBA provides modular system design, technology independence, and reusability while minimizing silicon infrastructure.
The key AMBA versions include:
- AMBA 2 (1999) – Introduced AHB (Advanced High-performance Bus).
- AMBA 3 (2003) – Added AXI (Advanced eXtensible Interface) for higher performance.
- AMBA 4 (2010-2011) – Improved system-wide coherency via AXI Coherency Extensions (ACE).
- AMBA 5 (2013) – Introduced Coherent Hub Interface (CHI) for high-speed interconnects.
AMBA provides a standardized framework for SoC interconnects, enabling multi-master, high-bandwidth communication.
- ASB – Advanced System Bus
- APB – Advanced Peripheral Bus
- AHB – Advanced High-performance Bus
- AXI – Advanced eXtensible Interface
- ATB – Advanced Trace Bus
- AHB (Advanced High-performance Bus) is a high-speed, pipelined bus used for memory controllers.
- APB (Advanced Peripheral Bus) is a low-power, simple interface designed for peripheral registers.
- Key differences:
- AHB supports bursts, pipelining, and multiple masters.
- APB is optimized for low power and minimal complexity.
APB is an extension of AHB/AXI, used to connect peripherals with minimal power and bandwidth requirements. It provides a memory-mapped register interface for peripheral communication.
- PCLK – Clock signal for synchronization.
- PRESET – Active-low reset signal.
- PADDR – Address bus for peripheral selection.
- PENABLE – Indicates the access phase.
- PWRITE – Determines if the operation is read/write.
- PWDATA – Data bus for write operations.
- PRDATA – Data bus for read operations.
- PREADY – Indicates if the slave is ready.
APB operates in three states:
- IDLE – Default state when no transfer is occurring.
- SETUP – Address and control signals are asserted.
- ACCESS – Data transfer occurs; slave responds with
PREADY
.
- At T1, the master sends address (
PADDR
), data (PWDATA
), and control signals (PWRITE
,PSEL
). - At T2, the slave asserts
PREADY
and completes the transfer. - At T3, signals reset, and the bus returns to IDLE.
- At T1, the master initiates the read request.
- At T2, the slave provides data (
PRDATA
) and assertsPREADY
. - At T3, the transaction completes, and control signals are deasserted.
Verilog implementation and simulation of APB states can be found at:
👉 View Simulation
This project explores the AMBA bus architecture, focusing on APB design and verification. The APB was implemented using Verilog HDL and tested on EDA Playground. The simulation confirms correct operation of read and write transactions, ensuring data consistency.
This project was developed using various research materials and references. Special thanks to the online VLSI community and academic resources for providing valuable insights.
- ARM AMBA Specification Overview – ARM Website
- ARM AMBA Specification (Rev 2.0) – ARM Docs
- Difference between AHB and APB – Click here
- Samir Palnitkar, "Verilog HDL: A Guide to Digital Design and Synthesis (2nd Edition)" – Pearson, 2008.
- Testbench Resources – TestBench.com