Vous êtes sur la page 1sur 40

e-Infochips Institute of Training Research and Academics Limited

IMPLEMENTATION OF AHB
PROTOCOL USING VERILOG

Presented By: Nirav Desai(13014061003) Guided By: Rajesh Navandar


TABLE OF CONTENT

Advanced High Performance Bus


Features of AHB BUS
AMBA 2.0
Components in AHB
AHB Signals
Request / Grant Protocol
Pipelined Transactions
RTL Diagrams of all modules
Simulation Result of all modules
Advantages
References

Implementation of AHB Protocol using


6/13/2014 2
verilog
Advanced High Performance Bus

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.

Implementation of AHB Protocol using


6/13/2014 3
verilog
Features of AHB BUS

AMBA AHB implements the features required for high-performance, 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).

Implementation of AHB Protocol using


6/13/2014 4
verilog
AMBA 2.0

Implementation of AHB Protocol using


6/13/2014 5
verilog
Components in AHB

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.

Implementation of AHB Protocol using


6/13/2014 6
verilog
Components in AHB

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.

Implementation of AHB Protocol using


6/13/2014 7
verilog
AHB Response Signals

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

Implementation of AHB Protocol using


6/13/2014 8
verilog
AHB Arbitration Signals

Arbitration signals
HGRANTx
Select active bus master
HMASTER[3:0]
Multiplex signals that sent from master to slave
HMASTLOCK
Locked sequence

Implementation of AHB Protocol using


6/13/2014 9
verilog
Master Signals

Implementation of AHB Protocol using


6/13/2014 10
verilog
Arbiters Signals

Implementation of AHB Protocol using


6/13/2014 11
verilog
Slave Signals

Implementation of AHB Protocol using


6/13/2014 12
verilog
Request / Grant Protocol

Request
IP Block #1
CPU #1

IP Block #2
CPU #2
IP Block #3

IP Block #1
IP Block #4

Implementation of AHB Protocol using


6/13/2014 13
verilog
Request / Grant Protocol

Request
IP Block #1
Grant
CPU #1

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

IP Block #4

Implementation of AHB Protocol using


6/13/2014 14
verilog
Request / Grant Protocol

Request
IP Block #1
Grant
CPU #1
Transaction
IP Block #2
CPU #2
IP Block #3

IP Block #1 IP Block #4

Implementation of AHB Protocol using


6/13/2014 15
verilog
Request / Grant Protocol

Before a transaction a master makes a


request to the central arbiter

Implementation of AHB Protocol using


6/13/2014 16
verilog
Request / Grant Protocol

Before a transaction a master


makes a request to the central Eventually the request is granted
arbiter

Implementation of AHB Protocol using


6/13/2014 17
verilog
Request / Grant Protocol

Then the
transaction
proceeds

Before a transaction a master


makes a request to the central Eventually the request is granted
arbiter

Implementation of AHB Protocol using


6/13/2014 18
verilog
Request / Grant Protocol

Performance Impact

Then the
transaction
proceeds

Before a transaction a master makes a Eventually the request is granted


request to the central arbiter

Implementation of AHB Protocol using


6/13/2014 19
verilog
Pipelined Transactions

To help improve bus efficiency the transactions on


the bus can be pipelined

This is really a simple implementation of multiple


outstanding transactions

The address for one transaction can be presented


before the data from the previous transaction has
been completed

Implementation of AHB Protocol using


6/13/2014 20
verilog
Pipelined Transactions

Implementation of AHB Protocol using


6/13/2014 21
verilog
Pipelined Transactions

Transaction A Starts

Implementation of AHB Protocol using


6/13/2014 22
verilog
Pipelined Transactions

Transaction A Starts Transaction B Starts

Implementation of AHB Protocol using


6/13/2014 23
verilog
Pipelined Transactions

Transaction A Completes
Transaction A Starts Transaction B Starts

Implementation of AHB Protocol using


6/13/2014 24
verilog
Connections of AHB masters

Implementation of AHB Protocol using


6/13/2014 25
verilog
Connection of AHB slaves

Implementation of AHB Protocol using


6/13/2014 26
verilog
Arbiter RTL

Implementation of AHB Protocol using


6/13/2014 27
verilog
Arbiter Simulation Result

Implementation of AHB Protocol using


6/13/2014 28
verilog
Decoder RTL

Implementation of AHB Protocol using


6/13/2014 29
verilog
Decoder Simulation Result

Implementation of AHB Protocol using


6/13/2014 30
verilog
MUX Slave To Master RTL

Implementation of AHB Protocol using


6/13/2014 31
verilog
MUX Slave To Master Simulation Result

Implementation of AHB Protocol using


6/13/2014 32
verilog
MUX Master to Slave RTL

Implementation of AHB Protocol using


6/13/2014 33
verilog
MUX Master to Slave Simulation Result

Implementation of AHB Protocol using


6/13/2014 34
verilog
MUX peripherals to bridge RTL

Implementation of AHB Protocol using


6/13/2014 35
verilog
MUX peripherals to bridge Simulation Result

Implementation of AHB Protocol using


6/13/2014 36
verilog
Advantages

Relatively easy to add new blocks


Still has the familiar bus structure
Low hardware cost
Bus arbitration solves many ordering problems

Implementation of AHB Protocol using


6/13/2014 37
verilog
Disadvantages
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

38
References

[1] AMBA Specification, Rev. May, 2.0, 1999.


[2] High-Speed Single-Port SRAM (HS-SRAM-SP) Generator User Manual,
Artisan Components Inc., Release 4.0, Aug. 2000.
[3] Debussy User Guide and Tutorial, NOVAS Software Inc., Sept. 2002.
[4] Compatibility of Network SRAM and ZBT SRAM, Mitsubishi LSIs
Application Note (AP-S001E), Rev. C, Renesas Tech. Corp., Sept. 2002.
[5] DesignWare AHB Verification IP Databook, ver. 2.0a, Synopsys Inc., July
2002.
[6] VMT User Manual, Release 2.0a, Synopsys Inc., July 2002.
[7] Vera User Guide, ver. 5.1, Synopsys Inc., June 2002.
[8] SolidAMBA, Averant Inc., Dec. 2003.

Implementation of AHB Protocol using


6/13/2014 39
verilog
Thank you

Implementation of AHB Protocol using


6/13/2014 40
verilog

Vous aimerez peut-être aussi