- High performance bus system that supports multiple bus masters and provides high bandwidth operation
 - Features required for high performance implemented by AMBA AHB:
- Burst transfers
 - Split transactions
 - Single cycle bus master handover
 - Single clock edge operation
 - Wider data bus configuration (64/128 bits)
 
 
Components of AMBA AHB
- AMBA master: A bus master is able to initiate read/write operations by providing an address and control information
 - AMBA Slave: A bus slave responds to a read/write operation within a given address space range
 - AHB Arbiter The bus arbiter ensures that only one bus master at a time is allowed to initiate data transfers
 - AHB Decoder: The AHB Decoder is used to decode the address of each transferred provide a select signal for the slave that is involved in the transfer.
 
Typical Master and Slave
- An AMBA AHB system may contain one or more bus masters
 - A system would contain at least the processor and the test interface
 - Typical for a DMA (Direct Memory Access) or DSP (Digital Signal Processor) to be included as bus masters
 - The external memory interface, APB bridge and any internal memory are the most common AHB slaves
 - Any other peripheral in the system could also be included as an AHB slave.
 
BUS cases
Single Master Single Slave (SMSS)
- No requirement of a bus
 
Multi Master Single Slave (MMSS)
Master selection has to be done by an external entity, an Arbiter.
- When a master wants to transfer data, it sends a request signal to the arbiter
 - If the arbiter grants the request, then the master transfers data.

 
Single Master Multi Slave (SMMS)
In this case, the slave selection is done by a decoder
- A decoder takes input from the master’s address bar and decodes which slave will transfer the data to the master.
 
Multi Master Multi Slave (MMMS)

AMBA Signals
| Signal | Description | 
|---|---|
| HRESET | Reset | 
| HADDR | Address | 
| HWDATA | Data from master to slave | 
| HWRITE | Write enable | 
| HRDATA | Data from slave to master | 
| HREADY | Indicates slave is ready | 
| HREQUESTx | Request from master number x to arbiter | 
| HGRANTx | Grant from arbiter to master number x | 
| HSELx | Section signal from decoder to slave | 
Process of an AMBA AHB operation
- Bus master must be granted access to the bus
 - Process begins when master asserts a request signal to the arbiter
 - Arbiter indicates when the master will be granted the use of the bus
 - Arbiter grants use of the bus when ready
 - A granted bus master starts an AMBA AHB transfer by driving the address and control signals
 - These signals provide information on the address, direction and width of the transfer, as well as an indication if the transfer forms part of a burst
 - A write data is used to move data from the master to a slave, while a read data bus is used to move data from a slave to the master.