Protocols

AHB protocol

By CourseTron Team ·  6 min read ·  Updated Oct 2026 💬 𝕏 in f
Table of Contents
    🖨  Download / Print this guide (PDF)

    In short: The ahb protocol (Advanced High-performance Bus) is AMBA's backbone for connecting fast on-chip masters like a CPU or DMA to high-bandwidth slaves such as memory controllers. It uses a pipelined address/data phase, burst transfers, and a central arbiter so one master drives the bus at a time while throughput stays high.

    What Is the ahb protocol?

    The ahb protocol is a synchronous, high-bandwidth bus defined by Arm as part of the AMBA (Advanced Microcontroller Bus Architecture) family. It sits at the top tier of a typical SoC, joining the elements that need serious throughput: the processor, a DMA controller, an on-chip SRAM, an external memory interface, and a bridge down to the slower APB peripheral bus.

    AHB is built around three roles. A master initiates reads and writes. A slave responds to the transfer addressed to it. An arbiter decides which master owns the bus in any given cycle, and a decoder selects the target slave from the address. Everything is clocked on the rising edge of a single bus clock (HCLK), which makes the timing simple to reason about and easy to synthesise.

    Key fact: AHB is single-edge, single-clock, and single-master-at-a-time. Only one master drives address and control lines in any cycle, but the pipeline lets the address of the next transfer overlap the data of the current one, so the bus rarely sits idle.

    Masters, Slaves and the Arbiter

    Because several masters may want the bus at once, AHB centralises control in an arbiter. A master asserts HBUSREQ, the arbiter grants it with HGRANT, and only the granted master drives HADDR, HWRITE, HSIZE, HBURST and HTRANS. The addressed slave answers on HRDATA (reads) or latches HWDATA (writes) and reports status on HRESP.

    AHB topology: masters, arbiter/decoder, slavesCPU (Master)DMA (Master)Arbiter+ DecoderSRAM (Slave)Mem Ctrl (Slave)APB Bridge (Slave)HBUSREQ / HGRANT (master to arbiter)HADDR / HSEL / HRDATA (decoder to slave)CourseTron · coursetron.com
    AHB topology: masters request the bus, the arbiter grants one at a time, and the decoder selects the addressed slave.

    This single-master-per-cycle rule keeps the shared wires free of contention, while arbitration schemes (round-robin, priority, or fair) decide fairness between masters. A master can also signal HLOCK to hold the bus across a locked sequence, which matters for atomic read-modify-write operations.

    The Pipelined Address and Data Phases

    The defining feature of AHB is its two-stage pipeline. Every transfer has an address phase (one cycle, where the master presents the address and control) and a data phase (one or more cycles, where data moves and the slave may insert wait states via HREADY). Crucially, the address phase of transfer N+1 overlaps the data phase of transfer N. The bus therefore pipelines back-to-back accesses rather than waiting a full round trip for each.

    AHB pipeline: address phase overlaps previous data phaseT1T2T3T4ADDRDATAA1A2A3D1D2D3Orange marker steps one clock per beat: A2 is on the bus while D1 transfers.CourseTron · coursetron.com
    Address A2 is presented while data D1 is still transferring. The sweeping clock marker shows how the two phases stay one cycle apart.

    Slaves use HREADY to stretch the data phase: driving it low inserts wait states, which stalls the whole pipeline cleanly without corrupting pending addresses. The master watches HRESP for an OKAY, ERROR, RETRY or SPLIT response and reacts accordingly.

    Burst Transfers

    Rather than issuing one address per word, AHB lets a master declare a burst up front with HBURST. The arbiter and slave then know a run of related accesses is coming, which improves memory efficiency and reduces re-arbitration. Common burst types include:

    • SINGLE — one isolated transfer.
    • INCR — incrementing burst of unspecified length.
    • WRAP4 / WRAP8 / WRAP16 — fixed-length wrapping bursts, ideal for cache-line fills where the address wraps at a boundary.
    • INCR4 / INCR8 / INCR16 — fixed-length incrementing bursts.

    The HTRANS signal classifies each beat as IDLE, BUSY, NONSEQ (first beat of a burst) or SEQ (subsequent beats), so the slave always knows exactly where it is in the sequence.

    Burst addressing: INCR4 vs WRAP4 (32-bit beats)HTRANSNONSEQSEQSEQSEQINCR4WRAP40x200x240x280x2C0x380x3C0x300x34WRAP4 wraps at the 16-byte boundary: 0x3C is followed by 0x30 (highlighted).CourseTron · coursetron.com
    INCR4 versus WRAP4 word bursts: both start with a NONSEQ beat followed by SEQ beats; WRAP4 wraps at a 16-byte boundary.

    AHB, AHB-Lite and the Wider AMBA Family

    The original AHB supports multiple masters with full arbitration and SPLIT/RETRY responses. AHB-Lite is a simplified single-master variant that drops arbitration and the SPLIT mechanism; it is extremely common because many designs route a single master (often a bus matrix port) to a set of slaves. Above AHB sits AXI for independent, out-of-order, multi-channel transactions; below it sits APB for simple, low-power peripheral registers reached through a bridge.

    Key fact: In a modern SoC you will often see all three AMBA buses together — AXI for the high-performance interconnect, AHB (or AHB-Lite) for mid-tier blocks and memory, and APB for slow configuration registers.
    Learn this hands-on

    Real projects and industry tool flows, with certification.

    Explore CourseTron Courses →

    ahb protocol — FAQ

    Is AHB synchronous or asynchronous?

    AHB is fully synchronous. All transfers are timed to the rising edge of a single bus clock, HCLK, which keeps timing closure and verification straightforward.

    How many masters can drive an AHB bus at once?

    Only one at a time. The arbiter grants bus ownership to a single master per cycle; other masters wait their turn even though the pipeline keeps overall throughput high.

    What is the difference between AHB and AHB-Lite?

    AHB-Lite is a reduced single-master version that removes arbitration signals and the SPLIT/RETRY responses. Full AHB keeps multi-master arbitration, making it heavier but more flexible.

    Why does AHB use HREADY?

    HREADY lets a slave insert wait states to stretch the data phase when it needs more time, pausing the pipeline safely without losing the addresses already issued.

    Related: AXI vs AHB vs APB · Glossary · all courses.

    Advertisement