AMBA Protocols Introduction
AMBA Protocols Introduction
AMBA
protocols
Yoav Lurie
10.05.20
Contents
AMBA FAMILY
APB
AHB
AXI
2
AMBA family
AMBA – Advanced Microcontroller Bus Architecture
3
APB protocol
Advanced Peripheral Bus
Connects one master to (several) slaves – in our implementation only 1 slave
Each transaction contains its address and data
Simple, fairly slow and not very advanced
4
APB protocol signals
PADDR[x:0]
PPROT[2:0]
PSELx
PENABLE
PWRITE
PWDATA[31:0]
PSTRB[3:0]
PREADY
PRDATA[31:0]
PSLVERR
5
APB transaction flow
Write operation
Read operation
6
AHB – Advanced High-performance Bus
Originally, connected several masters to several slaves through shared bus
7
AHB protocol signals
HADDR[x:0]
HBURST[2:0]
HMASTLOCK
HPROT[3:0] HPROT[6:4]
HSIZE[2:0]
HNONSEC
HEXCL
HMASTER[3:0]
HTRANS[1:0]
HWDATA[31:0]
HWRITE
8
AHB write transaction flow
9
AHB read transaction flow
10
AXI – Advanced eXtensible Interface
Each component interacts with a central interconnect – no shared busses.
Traffic is separated into 5 channels
AW – Address Write
W – Write Data
B – Response Data
AR – Address Read
R – Read Data (with integrated response)
Channel items are associated by id field
11
AXI protocol signals
Address Phase signals A(W/R)PROT [3:0]
A(W/R)CACHE [3:0]
12
AXI protocol signals
Data channels RRESP
(W/R)VALID BVALID
Only Write
WSTRB [data/8:0]
Only Read
13
AXI waves
14