Ahb Protocol
Ahb Protocol
• Burst transfers
• Single clock-edge operation
• Non-tristate implementation
• Configurable data bus widths
• Configurable address bus widths
The most common AHB Subordinates are internal memory devices, external memory interfaces, and high-
bandwidth peripherals
AHB block diagram
single Manager AHB system design with the AHB
Manager and three AHB Subordinates. The bus
interconnect logic consists of one address decoder and
a Subordinate-to-Manager multiplexor. The decoder
monitors the address from the Manager during the
address phase so that the appropriate Subordinate is
selected during the data phase of a transfer. The
multiplexor routes the corresponding Subordinate
output data back to the Manager.
Manager:
A Manager provides address and control information to initiate read and write operations.
AHB block diagram
Subordinate:
An interconnect component provides the connection between Managers and Subordinates in a system. A
single Manager system only requires the use of a Decoder and Multiplexor.
Decoder:
This component decodes the address of each transfer and provides a select signal for the Subordinate
that is involved in the transfer. It also provides a control signal to the multiplexor.
Multiplexor:
A Subordinate-to-Manager multiplexor is required to multiplex the read data bus and response signals
from the Subordinates to the Manager. The decoder provides control for the multiplexor.
Signal Descriptions
HCLK - The bus clock times all bus transfers. All signal timings are related to the rising edge of HCLK.
HRESETn - The bus reset signal is active LOW and resets the system and the bus. This is the only
active LOW signal.
Manager signals:
HADDR - The byte address of the transfer. ADDR_WIDTH is recommended to be between 10 and 64.
HBURST – Indicates how many transfers are in the burst and how the address increments. HBURST_WIDTH must be 0 or 3.
HMASTLOCK – Indicates that the current transfer is part of a locked sequence. It has the same timing as the address and
control signals.
HPROT – Protection control signal, which provides information about the access type.
HSIZE – Indicates the size of the transfer
HNONSEC – Indicates whether the transfer is Non-secure or Secure.
HEXCL – Indicates whether the transfer is part of an Exclusive Access sequence.
HMASTER - Manager identifier. Generated by a Manager if it has multiple Exclusive capable threads.
Signal Descriptions
HTRANS - Indicates the transfer type. This can be: IDLE , BUSY, NONSEQUENTIAL, SEQUENTIAL
HWDATA - Transfers data from the Manager to the Subordinates during write operations.
HWSTRB - Write strobes. Deasserted to indicate when active write data byte lanes do not contain valid
data.
HWRITE – Indicates the transfer direction.
Subordinate Signals:
HRDATA – Indicates that the current transfer is part of a locked sequence. It has the same timing as the address and control
signals.
HREADYOUT – When HIGH, the HREADYOUT signal indicates that a transfer has finished on the bus.
HRESP – The transfer response provides the Manager with additional information on the status of a transfer.
HEXOKAY – Exclusive Okay. Indicates the success or failure of an Exclusive Transfer.
Decoder signals
HSELxa - Each Subordinate has its own select signal HSELx and this signal indicates that the current transfer is intended for
the selected Subordinate.
Multiplexor signals:
Read Transfer
Transfers
Write Transfer
Transfers
Multiple Transfers
Transfer Types
The transfers that can be classified into one of four types, as controlled by HTRANS[1:0]