AMBA Advanced Peripheral Bus Protocol
AMBA Advanced Peripheral Bus Protocol
com/in/asimkhan-vlsi
The APB interface is designed for accessing the programmable control registers of peripheral devices.
• APB peripherals are typically connected to the main memory system using an APB bridge.
• Example -> A bridge from AXI to APB could be used to connect several APB peripherals to an AXI memory
system.
Signal Description
1
Visit – https://www.linkedin.com/in/asimkhan-vlsi
[NOTE: There are some more optional signals, I have considered only essential signals in this project.]
2
Visit – https://www.linkedin.com/in/asimkhan-vlsi
Operating States
3
Visit – https://www.linkedin.com/in/asimkhan-vlsi
The setup phase of the write transfer occurs at T1. The select signal, PSEL, is asserted, which means
that PADDR, PWRITE, and PWDATA must be valid.
The access phase of the write transfer occurs at T2, where PENABLE is asserted. PREADY is asserted
by the Completer at the rising edge of PCLK to indicate that the write data will be accepted at T3. PADDR,
PWDATA, and any other control signals must be stable until the transfer is completed.
At the end of the transfer, PENABLE is de-asserted. PSEL is also de-asserted unless there is another
transfer to the same peripheral.
4
Visit – https://www.linkedin.com/in/asimkhan-vlsi
During an access phase, when PENABLE is HIGH, the Completer extends the transfer by driving PREADY
LOW. The other signals (PADDR, PWRITE, PSEL, PENABLE, PWDATA, PSTRB, PPROT) must be
unchanged while PREADY remains LOW.
PREADY can take any value when PENABLE is LOW. This ensures that peripherals that have a fixed two-
cycle access can tie PREADY HIGH.
2. READ Transfer
APB interface consists of two types of read transfer:
• With no wait states
• With wait states
The timing of the address, write, select, and enable signals are the same as described in WRITE Transfer.
The Completer must provide the data before the end of the READ Transfer.
5
Visit – https://www.linkedin.com/in/asimkhan-vlsi
The transfer is extended if PREADY is driven LOW during an access phase. Other signals (PADDR,
PWRITE, PSEL, PENABLE, PPROT) remain unchanged while PREADY remains LOW.
NOTE: Any number of cycles can be added from zero to upwards.
When a write transaction receives an error, this does not mean that the register within the peripheral has
not been updated.
Read transactions that receive an error can return invalid data. There is no requirement for the peripheral
to drive the data bus to all 0s for a read error. A Requester which receives an error response to a read
transfer might still use the data.
A read transfer can also be completed with an error response, indicating that there is no valid read data
available.
6
Visit – https://www.linkedin.com/in/asimkhan-vlsi
RTL Schematic
Simulation Result