AMBA AHB Protocol Overview

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

AMBA PROTCOLS

AHB
ADVANCED HIGH PERFORMANCE BUS
AXI INTERCONNECT IN SOC
AXI INTERCONNECT IN NOC
CLASSIFICATION OF AMBA
AMBA SPECIFICATION (FIRST VERSION) DEFINES TWO BUSES/INTERFACES:

Advanced System Bus (ASB)


Advanced Peripheral Bus (APB)
AMBA 2 SPECIFICATION DEFINES THREE BUSES/INTERFACES:

Advanced High-performance Bus (AHB) - widely used on ARM7, ARM9


and Arm Cortex-M based designs
Advanced System Bus (ASB)
Advanced Peripheral Bus (APB2 or APB)
AMBA 3 SPECIFICATION DEFINES FOUR BUSES/INTERFACES:

Advanced Extensible Interface(AXI3 or AXI v1.0) - widely used on Arm


Cortex-A processors including Cortex-A9
Advanced High-performance Bus Lite (AHB-Lite v1.0)
Advanced Peripheral Bus (APB3 v1.0)
Advanced Trace Bus (ATB v1.0)
THE AMBA 4 SPECIFICATION DEFINES FOLLOWING BUSES/INTERFACES:

AXI Coherency Extensions (ACE) - widely used on the latest Arm Cortex-
A processors including Cortex-A7 and Cortex-A15
AXI Coherency Extensions Lite (ACE-Lite)
Advanced Extensible Interface 4 (AXI4)
Advanced Extensible Interface 4 Lite (AXI4-Lite)
Advanced Extensible Interface 4 Stream (AXI4-Stream v1.0)
Advanced Trace Bus (ATB v1.1)
Advanced Peripheral Bus (APB4 v2.0)
AMBA Low Power Interfaces (Q-Channel and P-Channel)
THE AMBA 5 SPECIFICATION DEFINES THE FOLLOWING BUSES/INTERFACES:

AXI5, AXI5-Lite and ACE5 Protocol Specification


Advanced High-performance Bus (AHB5, AHB-Lite)
Coherent Hub Interface (CHI) [3]
Distributed Translation Interface (DTI)
Generic Flash Bus (GFB)
AHB FEATURES
Burst transfers
Split Transactions
Wider data bus configurations (64/128 bits)
Single-clock edge operation
Single-cycle bus master handover
1 AHB MASTER, 3 AHB SLAVE BLOCK DIAGRAM
MASTER INTERFACE
SLAVE INTERFACE
AXI TRANSFERS
Type of Transfers
Transfer Size
Simple Transfers
Locked Transfers
Burst operation
Waited Transfers
TYPE OF TRANSFERS - HTRANS[1:0]
IDLE (00) – Indicate a new transfer
™ No data transfer is required
™ Used when the master is granted the bus without performing transfer
™ The slave must provide a zero wait state OKAY response
BUSY (01)
™ Allow master to insert IDLE cycle in the middle of bursts of transfers
™ Address and control signals must reflect the next transfer in the burst
™ The slave must provide a zero wait state OKAY response
NONSEQ (10) – Indicate a new transfer
™ Indicate the first transfer of a burst or a single transfer
™ Address and control signals are unrelated to previous transfer
SEQ (11)
™ Indicate a remaining transfer in a burst
Address = Address of previous transfer + size in byte
TYPE OF TRANSFERS - HTRANS[1:0]
IDLE (00) – Indicate a new transfer
™ No data transfer is required
™ Used when the master is granted the bus without performing transfer
™ The slave must provide a zero wait state OKAY response
BUSY (01)
™ Allow master to insert IDLE cycle in the middle of bursts of transfers
™ Address and control signals must reflect the next transfer in the burst
™ The slave must provide a zero wait state OKAY response
NONSEQ (10) – Indicate a new transfer
™ Indicate the first transfer of a burst or a single transfer
™ Address and control signals are unrelated to previous transfer
SEQ (11)
™ Indicate a remaining transfer in a burst
Address = Address of previous transfer + size in byte
TYPE OF TRANSFERS - HTRANS[1:0]
TRANSFER SIZE - HSIZE[2:0]
SIMPLE TRANSFERS
Masters must be granted bus for access before transfer
™ Masters assert request signals
™ Arbiter indicates when the master will be granted use of the bus
‹ An AHB-bus transfer
Address phase
A single cycle in which the master drives the address and control signals
Indicate direction, width of transfer, and if the transfer forms part of a burst
 Each address correspond to 1-byte data (byte-addressable)
Data phase
 One or more cycles controlled by HREADY from slave
 The slaves sample and process the data
™ Address phase and data phase of different transactions are overlapped
WRITE / READ TRANSFERS
WITH WAIT STATES
MULTIPLE TRANSFERS
LOCKED TRANSFERS - HMASTLOCK
If the master requires locked accesses then it must also assert the HMASTLOCK signal. This signal
indicates to any slave that the current transfer sequence is indivisible and must therefore be processed
before any other transfers are processed.
BURST OPERATION
4/8/16-beat bursts, as well as undefined-length bursts ‹
Burst size indicates the number of beats in the burst ‹
Valid data transferred = (# of beats) x (data size in each beat) ™ Data size in each
beat is indicated in HSIZE[2:0] ‹
Incrementing bursts ™
Access sequential locations with the address of each transfer in the burst being an
increment of the previous address ™
An incremental burst can be of any length, but the upper limit is set by the fact that
address must not cross a 1KB boundary ‹
Wrapping bursts ™
If the start address of the transfer is not aligned to the total number of bytes in a
burst (size x beats) then the address of the transfers in the burst will wrap when the
boundary is reached ™
BURST SIGNAL ENCODING
BURST SIGNAL ENCODING
FOUR-BEAT WRAPPING BURST, WRAP4
FOUR-BEAT INCREMENTING BURST, INCR4
EIGHT-BEAT WRAPPING BURST, WRAP8
EIGHT-BEAT INCREMENTING BURST, INCR8
EXAMPLE OF UNDEFINED LENGTH BURST OPERATION

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy