View
225
Download
37
Category
Tags:
Preview:
DESCRIPTION
Citation preview
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
Recommended