AMBA AHB5 Feb - 1

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 36

AMBA AHB5

ANUJ
AMBA: ADVANCED MICROCONTROLLER
BUS ARCHITECTURE

• The AMBA protocol is an open standard, on-chip interconnect


specification for the connection and management of
functional blocks in a System-on-Chip (SoC).
• It facilitates right-first-time development of multi-processor
designs with large numbers of controllers and peripherals.
• AMBA promotes design re-use by defining common interface
standards for SoC modules.
The AMBA specifications defines the following
buses/interfaces :
• ASB - Advanced System Bus
• APB - Advanced Peripheral Bus
• AHB - Advanced High-Performance Bus
• ATB - Advanced Trace Bus
• AXI - Advanced Extensible Interface
TYPICAL AMBA BASED MICRO
CONTROLLER
• Typically consists of a high-performance system backbone bus.

• This bus should be able to sustain the external memory bandwidth, on which The
CPU, on-chip memory and other DMA devices reside.

• This bus provides a high-bandwidth interface between the elements to carry out
majority of transfers.

• Also located on this high performance bus is a bridge to the lower bandwidth bus
(For e.g. APB), where most of the peripheral devices in the system are located.
AMBA BASED SYSTEM
AHB – ADVANCED HIGH-PERFORMANCE
BUS
• What is AHB ? ?

• Features:
• Burst Transfers
• Single-clock edge operation
• Wide data bus configurations, 64, 128, 256, 512, 1024 bits
SINGLE MASTER AHB SYSTEM BLOCK
DIAGRAM
AHB MASTER
INTERFACE
AHB SLAVE
INTERFACE
OPERATION
PROTOCOL SIGNALS
• Global Signals
• HCLK, HRESETn

• Master Signals
• HADDR[31:0], HBURST[2:0], HMASTLOCK, HPROT[3:0], HPROT[6:4], HSIZE[2:0], HTRANS[1:0],
HWDATA[31:0], HWRITE

• Slave Signals
• HRDATA[31:0], HREADYOUT, HRESP

• MUX Signals
• HRDATA[31:0], HREADY, HRESP
READ AND WRITE
TRANSFERS
1. Basic Transfers
• Address and Data Phase

Read transfer Write Transfer


READ TRANSFER WITH TWO WAIT
STATES
WRITE TRANSFER WITH ONE WAIT
STATE
EFFECT OF EXTENDING TRANSFER ON ADDRESS PHASE OF
NEXT TRANSFER
TRANSFER TYPES

• Four type of transfers controlled by HTRANS[1:0]


HTRANS[1:0] TYPE
0b00 IDLE

0b01 BUSY

0b10 NONSEQ

0b11 SEQ
TRANSFER
TYPES
LOCKED
TRANSFERS
• Important protocol signal involved – HMASTLOCK

• It is required that all transfers in a locked sequence are to the same


slave address region.
TRANSFER
SIZE
• HSIZE[2:0] indicates the size of a data transfer.

HSIZE[2] HSIZE[1] HSIZE[0] SIZE (bits) Descriptio


n
0 0 0 8 Byte
0 0 1 16 Half word
0 1 0 32 Word
0 1 1 64 Double
word
1 0 0 128 4-word line
1 0 1 256 8-word line
1 1 0 512 -
1
• HSIZE is used in1conjunction with
1 HBURST, to
1024 - address boundary for
determine the
wrapping bursts.
BURST
OPERATION
• Bursts of 4, 8, and 16-beats, undefined length bursts, and
single transfers are defined in this protocol.
• Incremental Burst - Access sequential locations and the
address of each transfer in the burst is an increment of the
previous address.
• Wrapping Burst – They wrap when they cross an address
boundary.
• The address boundary is calculated as the product of the number of
beats in a burst and the size of the transfer.
• The number of beats are controlled by HBURST and the transfer size
is controlled by HSIZE.
BURST SIGNAL
ENCODING
HBURST[2:0] TYPE DESCRIPTION

0b000 Single Single transfer burst

0b001 INCR Incrementing burst of


undefined length

0b010 WRAP4 4-beat wrapping burst

0b011 INCR4 4-beat incrementing burst

0b100 WRAP8 8-beat wrapping burst

0b101 INCR8 8-beat incrementing burst

0b110 WRAP16 16-beat wrapping burst

0b111 INCR16 16-beat incrementing


burst
BURST TERMINATION AFTER
A BUSY TRANSFER
• After a burst has started, the master uses BUSY transfers if it requires more
time before continuing with the next transfer in the burst.

• During an undefined length burst, INCR, the master might insert BUSY
transfers and then decide that no more data transfers are required.
• Under these circumstances, it is acceptable for the master to then perform a NONSEQ
or IDLE transfer that then effectively terminates the undefined length burst.

• The master is not permitted to perform a BUSY transfer immediately after a


SINGLE burst.
• SINGLE bursts must be followed by an IDLE transfer or a NONSEQ transfer.
EARLY BURST TERMINATION

• Bursts can be terminated by :

1. Slave error response


2. Multi-layer interconnect termination
BURST EXAMPLES

INCR
INCR4

INCR8
WRAP4

WRAP8
WAITED TRANSFER
• Slaves use HREADYOUT to insert wait states if they require
more time to provide or sample the data.
• During a waited transfer, the master is restricted to what
changes it can make to the transfer type and address.
• Transfer type changes during wait states.
• Address changes during wait states
TRANSFER TYPE CHANGES DURING
WAIT STATES
• IDLE Transfer

• During a waited transfer, the master is permitted to change the transfer type
from IDLE to NONSEQ. When the HTRANS transfer type changes to NONSEQ
the master must keep HTRANS constant, until HREADY is HIGH.
• BUSY transfer, fixed length burst

• During a waited transfer for a fixed length burst, the master is permitted to
change the transfer type from BUSY to SEQ. When the HTRANS transfer type
changes to SEQ the master must keep HTRANS constant, until HREADY is
HIGH.
• BUSY transfer, undefined length burst

• During a waited transfer for an undefined length burst, INCR, the master is
permitted to change from BUSY to any other transfer type, when HREADY is
LOW. The burst continues if a SEQ transfer is performed but terminates if an
IDLE or NONSEQ transfer is performed.
ADDRESS CHANGES DURING WAIT
STATES
• During an IDLE transfer

• During a waited transfer, the master is permitted to change the address


for IDLE transfers. When the HTRANS transfer type changes to NONSEQ
the master must keep the address constant, until HREADY is HIGH.
• After an ERROR response

• During a waited transfer, if the slave responds with an ERROR response


then the master is permitted to change the address when HREADY is
LOW.
BUS
INTERCONNECT
1. Address Decoding
BUS
INTERCONNECT
2. Default slave

3. Read data and response multiplexor


CLOCK AND
RESET
• Clock
• HCLK
• All input signals are sampled on the rising edge of HCLK.
• All output signal changes must occur after the rising edge of HCLK.
• AHB5 defines the Stable_Between_Clock property.

• RESET
• The reset signal, HRESETn, is the only active LOW signal in the protocol and
is the primary reset for all bus elements.
• The reset can be asserted asynchronously, but is deasserted synchronously
after the rising edge of HCLK.
• During reset all masters must ensure the address and control signals are at
valid levels and that HTRANS[1:0] indicates IDLE.
• During reset all slaves must ensure that HREADYOUT is HIGH.
THANK
YOU

You might also like