You are on page 1of 18

IMPLEMENTATION OF AMBA

AHB USING VERILOG

M.GEETHA PRATYUSHA
162052004
10/24/2016

TABLE OF CONTENT
2

Advanced High Performance Bus


Features of AHB Bus
Design principles
AMBA 2.0
Components in AHB
AHB Signals
Request / Grant Protocol
Connections for AHP signal

10/24/2016

Advanced High Performance Bus


3

AHB is a new generation of AMBA bus which is intended

to address the requirements of high-performance


synthesizable designs.

It is a high-performance system bus that supports multiple

bus masters and provides high-bandwidth operation.

10/24/2016

Features of AHB BUS


4

AMBA AHB implements the features required for highperformance, high clock frequency systems
Including:
Burst transfers
Split transactions
Single-cycle bus master handover
Single-clock edge operation
Wider data bus configurations (64/128 bits).

10/24/2016

Design principles
5

facilitate right-first-time development of embedded microcontroller

products with one or more CPUs, GPUs or signal processors


Reuse of IP cores, peripheral and system macrocells across diverse IC

processes.
encourage modular system design to improve processor independence,

and the development of reusable peripheral and system IP libraries


minimize silicon infrastructure while supporting high performance and

low power on-chip communication.

10/24/2016

AMBA 2.0
6

10/24/2016

Components in AHB
7

Master

AHB master is able to initiate read and write operations by providing


an address and control information. Only one bus master is allowed
to actively use the bus at any one time.(max. 16)

Slave

AHB slave responds to a read or write operation within a given


address-space range. The bus slave signals back to the active master
the success, failure or waiting of the data transfer.

10/24/2016

Cont
8

Arbiter

AHB arbiter ensures that only one bus master at a time is allowed to
initiate data transfers.

Decoder

AHB decoder is used to decode the address of each transfer and


provide a select signal for the slave that is involved in the transfer. A
single centralized decoder is required in all AHB implementations.

10/24/2016

Master Signals
9

10/24/2016

AHB Arbitration Signals


10

Arbitration signals
HGRANTx

Select active bus master

HMASTER[3:0]

Multiplex signals that sent from master to slave

HMASTLOCK

Locked sequence

10/24/2016

AHB Response Signals


11

Response signals

HREADY

Transfer done, ready for next transfer

HRESP[1:0]
OKAY transfer complete
ERROR transfer failure(ex: write ROM)
RETRY higher priority master can access bus
SPLIT other master can access bus
HCLK
Clock signal which times all bus transfers
HRESETn
Active Low global reset of master

10/24/2016

Cont
12

HRDATA: Read data from the bus slave


HADDR: 32-bit bus address
WDATA: Write data from the processor (provided by the test bench)
RDATA: Read data to the processor (outputted to the test bench)
HSIZE: Indicates the size of transfer,byte,half word or word

10/24/2016

Request / Grant Protocol


13

Request
Grant
CPU #1

CPU #2

IP Block #1
IP Block #2
IP Block #3

IP Block #1
IP Block #4

10/24/2016

Request / Grant Protocol


14

Before a transaction a master makes a request


to the central arbiter

Eventually the request is granted


10/24/2016

Request / Grant Protocol


15

Performance Impact
Then the
transaction
proceeds

Before a transaction a master makes a


request to the central arbiter
Eventually the request is granted

10/24/2016

Connections of AHB masters


16

10/24/2016

Disadvantages
17

Busses that require arbitration:

must route signals to the arbitration logic and back


must find a fair way to share the bus
slaves are not always available => backpressure
difficult to provide performance guarantees...

Still potentially a bandwidth bottleneck


Still doesnt scale well when blocks are added
Multiple outstanding transactions not handled well no ordering information

10/24/2016

18

Thank you

10/24/2016