AMBA 2.0 PPT

Post on 19-Aug-2014

225 views 37 download

Tags:

description

 

Transcript of AMBA 2.0 PPT

IMPLEMENTATION OF AHB PROTOCOL USING VERILOG

Presented By: Nirav Desai(13014061003)

Guided By: Rajesh Navandar

e-Infochips Institute of Training Research and Academics Limited

04/07/2023 Implementation of AHB Protocol using verilog

2

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

04/07/2023 Implementation of AHB Protocol using verilog

3

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.

04/07/2023 Implementation of AHB Protocol using verilog

4

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).

04/07/2023 Implementation of AHB Protocol using verilog

5

AMBA 2.0

04/07/2023 Implementation of AHB Protocol using verilog

6

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.

04/07/2023 Implementation of AHB Protocol using verilog

7

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.

04/07/2023 Implementation of AHB Protocol using verilog

8

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

04/07/2023 Implementation of AHB Protocol using verilog

9

AHB Arbitration Signals

• Arbitration signals– HGRANTx

• Select active bus master– HMASTER[3:0]

• Multiplex signals that sent from master to slave– HMASTLOCK

• Locked sequence

04/07/2023 Implementation of AHB Protocol using verilog

10

Master Signals

04/07/2023 Implementation of AHB Protocol using verilog

11

Arbiters Signals

04/07/2023 Implementation of AHB Protocol using verilog

12

Slave Signals

04/07/2023 Implementation of AHB Protocol using verilog

13

Request / Grant Protocol

Request

CPU #1

CPU #2

IP Block #1

IP Block #1

IP Block #2

IP Block #3

IP Block #4

04/07/2023 Implementation of AHB Protocol using verilog

14

Request / Grant Protocol

Request

GrantCPU #1

CPU #2

IP Block #1

IP Block #1

IP Block #2

IP Block #3

IP Block #4

04/07/2023 Implementation of AHB Protocol using verilog

15

Request / Grant Protocol

Request

Grant

TransactionCPU #1

CPU #2

IP Block #1

IP Block #1

IP Block #2

IP Block #3

IP Block #4

04/07/2023 Implementation of AHB Protocol using verilog

16

Request / Grant Protocol

Before a transaction a master makes a request to the central arbiter

04/07/2023 Implementation of AHB Protocol using verilog

17

Request / Grant Protocol

Before a transaction a master makes a request to the central arbiter

Eventually the request is granted

04/07/2023 Implementation of AHB Protocol using verilog

18

Request / Grant Protocol

Before a transaction a master makes a request to the central arbiter

Eventually the request is granted

Then the transaction proceeds

04/07/2023 Implementation of AHB Protocol using verilog

19

Request / Grant Protocol

Before a transaction a master makes a request to the central arbiter

Eventually the request is granted

Then the transaction proceeds

Performance Impact

04/07/2023 Implementation of AHB Protocol using verilog

20

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

04/07/2023 Implementation of AHB Protocol using verilog

21

Pipelined Transactions

04/07/2023 Implementation of AHB Protocol using verilog

22

Pipelined Transactions

Transaction A Starts

04/07/2023 Implementation of AHB Protocol using verilog

23

Pipelined Transactions

Transaction A Starts Transaction B Starts

04/07/2023 Implementation of AHB Protocol using verilog

24

Pipelined Transactions

Transaction A Starts Transaction B StartsTransaction A Completes

04/07/2023 Implementation of AHB Protocol using verilog

25

Connections of AHB masters

04/07/2023 Implementation of AHB Protocol using verilog

26

Connection of AHB slaves

04/07/2023 Implementation of AHB Protocol using verilog

27

Arbiter RTL

04/07/2023 Implementation of AHB Protocol using verilog

28

Arbiter Simulation Result

04/07/2023 Implementation of AHB Protocol using verilog

29

Decoder RTL

04/07/2023 Implementation of AHB Protocol using verilog

30

Decoder Simulation Result

04/07/2023 Implementation of AHB Protocol using verilog

31

MUX Slave To Master RTL

04/07/2023 Implementation of AHB Protocol using verilog

32

MUX Slave To Master Simulation Result

04/07/2023 Implementation of AHB Protocol using verilog

33

MUX Master to Slave RTL

04/07/2023 Implementation of AHB Protocol using verilog

34

MUX Master to Slave Simulation Result

04/07/2023 Implementation of AHB Protocol using verilog

35

MUX peripherals to bridge RTL

04/07/2023 Implementation of AHB Protocol using verilog

36

MUX peripherals to bridge Simulation Result

04/07/2023 Implementation of AHB Protocol using verilog

37

Advantages

• Relatively easy to add new blocks• Still has the familiar bus structure• Low hardware cost• Bus arbitration “solves” many ordering problems

38

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 doesn’t scale well when blocks are added

• Multiple outstanding transactions not handled well - no ordering information

04/07/2023 Implementation of AHB Protocol using verilog

39

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.

Thank you…

04/07/2023 40Implementation of AHB Protocol using verilog