Skip to content

AMBA AHB · Module 7

AHB-Lite Response Simplification

How AHB-Lite and AHB5 reduce the response set to just OKAY and ERROR — dropping the legacy RETRY and SPLIT — because a single-master bus has no other master to free, and why this simplification made AHB-Lite the dominant variant.

Chapters 7.1–7.7 covered the full response set — OKAY, ERROR, and the legacy RETRY/SPLIT — and how the master reacts. This chapter explains the simplification that most modern AHB uses: AHB-Lite (and AHB5) keep only OKAY and ERROR, dropping RETRY and SPLIT entirely. The reason is direct: RETRY and SPLIT exist only to free the shared bus for other masters (chapters 7.3, 7.4), but AHB-Lite is single-master — there is no other master to free the bus for — so they serve no purpose. Removing them simplifies masters, subordinates, and the bus alike. Since the vast majority of AHB usage today is AHB-Lite, the practical reality is a two-response protocol: OKAY and ERROR. Understanding this simplification — and why it's the dominant choice — ties off the response module.

1. What Is It?

The AHB-Lite response simplification is the reduction of the response set from full AHB's four responses to just two:

  • Full AHB (AHB2): four responses on a 2-bit HRESP — OKAY, ERROR, RETRY, SPLIT.
  • AHB-Lite / AHB5: two responses — OKAY and ERROR only. RETRY and SPLIT are removed; HRESP becomes effectively one bit.
A comparison: full AHB with four responses (OKAY/ERROR/RETRY/SPLIT) versus AHB-Lite with two (OKAY/ERROR), RETRY and SPLIT marked removed.
Figure 1 — full AHB versus AHB-Lite response sets. Full AHB (2-bit HRESP) has OKAY, ERROR, RETRY, and SPLIT. AHB-Lite and AHB5 keep only OKAY and ERROR (HRESP effectively one bit), dropping the legacy RETRY and SPLIT. ERROR remains a two-cycle response; only the bus-freeing responses are removed.

Critically, the simplification removes only the legacy bus-freeing responses (RETRY/SPLIT). OKAY and ERROR are unchanged — OKAY is still the single-cycle success, and ERROR is still the two-cycle failure response with its reaction window (chapter 7.6). So AHB-Lite doesn't simplify how OKAY and ERROR work; it just removes the other two responses. The result is a leaner protocol where every transfer ends in exactly one of two outcomes: success (OKAY) or failure (ERROR). This is the response model you'll encounter in almost all modern AHB.

2. Why Does It Exist?

The simplification exists because RETRY and SPLIT are multi-master mechanisms with no purpose on a single-master bus — and AHB-Lite is single-master by design. With nothing to gain, keeping them would only add cost, so they were dropped.

The logic is direct (chapters 7.3, 7.4). RETRY and SPLIT both exist to free the shared bus for other masters during a slow subordinate's long wait — the slow subordinate steps aside so a different master can use the bus. But AHB-Lite has exactly one master and no arbitration (chapters 14.x). With a single master, there is no other master to free the bus for — freeing the bus would just let the same master immediately re-use it, accomplishing nothing. So on a single-master bus, RETRY and SPLIT are meaningless: their entire benefit (multi-master bus sharing) cannot exist. The simplification exists because these responses are pointless when there's only one master.

A flow: AHB-Lite single-master → no other master to free the bus for → RETRY/SPLIT pointless → dropped, with the simplifications to masters, subordinates, and the bus listed.
Figure 2 — why AHB-Lite drops RETRY and SPLIT. AHB-Lite is single-master with no arbitration, so there is no other master to free the bus for — making RETRY and SPLIT pointless. Dropping them simplifies masters (no re-issue/park logic), subordinates (no per-master tracking or HSPLIT), and the bus (no split-aware arbiter). Slow subordinates are handled instead with wait states (short delays) or by bridging (long delays).

Beyond being pointless, RETRY/SPLIT are costly — keeping them would burden every component (chapters 7.3, 7.4). RETRY requires master re-issue logic; SPLIT requires per-master tracking in subordinates, the HSPLIT bus, and a split-aware arbiter. So including RETRY/SPLIT in a single-master bus would add all that complexity for no benefit. Dropping them removes the cost cleanly: AHB-Lite masters need no re-issue/park logic, subordinates need no per-master tracking or HSPLIT, and the bus needs no split-aware arbiter (indeed, no arbiter at all). So the simplification exists not just because RETRY/SPLIT are useless on a single-master bus, but because removing them meaningfully simplifies every component. It's a clean win — drop the useless features, simplify everything.

The reason slow subordinates are still handled (without RETRY/SPLIT) is that AHB-Lite uses the other mechanisms: wait states for short delays (Module 6 — hold the bus briefly) and bridging/isolation for long delays (put the slow subordinate behind a bridge to a separate domain, chapters 1.4, 15.x). So removing RETRY/SPLIT doesn't leave slow subordinates unhandled — it just handles them differently (and more simply): wait states when the delay is short enough to hold the bus, and architectural isolation when it's not. This is why the simplification works in practice: the bus-freeing responses weren't the only way to handle slow subordinates, and the alternatives (wait states, bridging) suffice for single-master systems. So AHB-Lite drops RETRY/SPLIT and handles slow subordinates with simpler, existing mechanisms.

3. Mental Model

Model the simplification as removing a "call-ahead waitlist" system from a single-table restaurant — the waitlist exists to manage multiple parties competing for tables, but with one table and one party, there's nothing to manage, so you scrap it and just have them wait or go elsewhere.

A busy multi-table restaurant (multi-master AHB) needs a waitlist system (RETRY/SPLIT) to manage many parties competing for tables — park some, call them back, free tables for others. But now imagine a restaurant with one table and one regular customer (single-master AHB-Lite). The whole waitlist apparatus is pointless — there are no other parties to juggle, no competition for the table to manage. So you scrap the waitlist system entirely (drop RETRY/SPLIT). It would have been pure overhead — staff, a system, paperwork (master re-issue logic, subordinate tracking, the arbiter) — for nothing. When the one customer's order takes a while, they just wait at the table (wait states) or, if it'll take very long, they go to a different restaurant for that item (bridging). No waitlist needed — and removing it makes everything simpler.

This captures the simplification: the waitlist for multiple competing parties = RETRY/SPLIT for multiple masters; one table, one customer = single-master AHB-Lite; scrap the pointless apparatus = drop RETRY/SPLIT (and their cost); wait at the table or go elsewhere = wait states or bridging. The waitlist only made sense with competition; with one master there's none, so removing it is pure simplification.

See AHB-Lite's two-response reality:

AHB-Lite's only two responses: OKAY and ERROR

5 cycles
Across the trace, one transfer completes with HRESP OKAY and HREADY high (success), and a later transfer shows the two-cycle ERROR (ERROR with HREADY low then ERROR with HREADY high). There is no RETRY or SPLIT — only OKAY and ERROR appear.OKAY: success (HREADY high)OKAY: success (HREADY …ERROR warning (HREADY low)ERROR warning (HREADY …ERROR completion (HREADY high) — only OKAY/ERROR existERROR completion (HREA…HCLKHREADYHRESPOKAYOKAYERRORERROROKAYt0t1t2t3t4
Figure 3 — AHB-Lite's two responses. Every transfer ends in exactly one of two outcomes: OKAY (success, single-cycle, here after a wait) or ERROR (failure, two-cycle). There is no RETRY or SPLIT. The first transfer completes OKAY (HREADY high, HRESP OKAY); a later transfer ends in the two-cycle ERROR. These are the only two responses an AHB-Lite master ever sees.

The model's lesson: with one master, the waitlist (RETRY/SPLIT) is pointless overhead — scrap it; just OKAY and ERROR remain. In the waveform, the only outcomes are OKAY (success) and the two-cycle ERROR (failure) — the two-response reality of AHB-Lite. Slow subordinates wait (wait states) or are bridged; no bus-freeing responses needed.

4. Real Hardware Perspective

In hardware, the simplification means AHB-Lite components are leaner across the board: HRESP shrinks to effectively one bit, masters drop their RETRY/SPLIT handling, subordinates drop their SPLIT machinery, and the bus drops the arbiter entirely (being single-master).

HRESP becomes effectively a single bit in AHB-Lite (OKAY vs ERROR), versus 2 bits in full AHB (four responses). So the response signal itself is narrower, and the response-decode logic everywhere is simpler — just "is it ERROR?" rather than decoding four values. This is a small but real simplification in every component that handles responses. (ERROR's two-cycle behavior is unchanged — the simplification is in the number of responses, not ERROR's timing.)

Masters drop their RETRY/SPLIT handling (chapter 7.7): an AHB-Lite master needs only the OKAY path (consume, proceed) and the ERROR path (cancel next, fault) — no re-issue logic, no park-for-re-grant logic, no re-arbitration. So an AHB-Lite master is significantly simpler than a full-AHB master. This is a major simplification, since the RETRY/SPLIT handling (re-issue loops, parking, re-arbitration) was substantial. An AHB-Lite master's response handler is just a two-way branch.

Subordinates drop the SPLIT machinery: no per-master tracking, no sampling HMASTER for SPLIT, no driving HSPLIT. An AHB-Lite subordinate that needs more time just inserts wait states (HREADY low) or returns ERROR — it never needs to remember masters or signal readiness via HSPLIT. So AHB-Lite subordinates are simpler too. And the bus drops the arbiter entirely — AHB-Lite is single-master, so there's no arbitration at all (let alone a split-aware arbiter), and no HMASTER/HSPLIT/HBUSREQ/HGRANT arbitration signals. So the whole bus infrastructure is leaner. The simplification cascades: fewer responses → simpler masters, subordinates, and bus.

A hardware note on AHB5: AHB5 (the modern version) follows AHB-Lite's response model (OKAY/ERROR only) — it does not bring back RETRY/SPLIT. AHB5 adds other features (e.g., extended memory attributes, exclusive accesses, security via HNONSEC) but keeps the simplified two-response set. So the trajectory is clear: the legacy RETRY/SPLIT were dropped in AHB-Lite and stayed dropped in AHB5. Modern AHB is a two-response protocol, full stop. A designer working with AHB5 or AHB-Lite implements only OKAY/ERROR handling.

5. System Architecture Perspective

At the system level, the response simplification is a major reason AHB-Lite became the dominant AHB variant — it removed multi-master complexity most systems didn't need, and modern systems handle multiple masters and slow subordinates through other, cleaner means (interconnects, bridging, AXI).

The dominance of AHB-Lite follows from the simplification fitting how systems are actually built. Most subsystems don't need a multi-master shared bus at the AHB level — they have a single master (a CPU or a DMA) on each AHB segment, and multiple masters are handled by an interconnect/bus matrix that gives each master its own path (chapters 12.x). So the multi-master AHB that RETRY/SPLIT served is rarely how systems are structured; instead, single-master AHB-Lite segments connect through an interconnect. With that structure, RETRY/SPLIT have no role — each AHB-Lite segment is single-master — so dropping them matches the actual system architecture. AHB-Lite's simplicity fits the interconnect-based multi-master approach, which is why it dominates.

The slow-subordinate handling at the system level uses the simpler mechanisms (Figure 2): wait states for short delays, and bridging/isolation for long ones (chapters 1.4, 15.x). A slow peripheral is bridged to APB (or sits behind an interconnect port), so its long delays don't stall the main AHB-Lite bus — the architectural isolation replaces what SPLIT did within the protocol. So the system handles slow subordinates by topology (isolate them) rather than by protocol (RETRY/SPLIT). This is cleaner: the slow subordinate's delays are contained by structure, not managed by complex bus-freeing responses. The simplification pushed slow-subordinate handling from the protocol to the architecture, where it's handled more simply.

For genuine multi-master concurrency, the system uses AXI (chapters on AXI), not multi-master AHB. AXI's outstanding transactions and independent channels handle concurrent masters and slow subordinates far better than RETRY/SPLIT ever could (chapter 7.4). So where real concurrency is needed, AXI replaces multi-master AHB entirely, and AHB-Lite serves the simpler single-master segments. The result is a clean division: AHB-Lite for simple single-master buses (most peripherals, simple subsystems), AXI for high-performance concurrent interconnect. The response simplification is part of this division — AHB-Lite shed the multi-master features (RETRY/SPLIT) because that role moved to AXI and interconnects. So the simplification reflects and reinforces the modern AMBA architecture: simple AHB-Lite buses + AXI interconnect, with the legacy multi-master-AHB features retired.

So the response simplification is more than a protocol detail — it's tied to why AHB-Lite dominates and how modern systems are structured: single-master AHB-Lite segments (OKAY/ERROR only), multi-master handled by interconnects and AXI, slow subordinates isolated by bridging. The two-response model is the right fit for AHB-Lite's role in this architecture.

6. Engineering Tradeoffs

The simplification embodies the drop-the-unused-complexity choice.

  • Two responses (AHB-Lite) vs four (full AHB). Two responses (OKAY/ERROR) simplify every component — narrower HRESP, simpler masters/subordinates, no arbiter — at the cost of losing the multi-master bus-freeing (RETRY/SPLIT). But that loss is no loss on a single-master bus, where they're useless. So it's a pure simplification for single-master systems.
  • Single-master AHB-Lite vs multi-master full AHB. Single-master is simpler (no arbitration, no RETRY/SPLIT) and fits the interconnect-based architecture; multi-master full AHB is more capable but complex and largely superseded. Most systems chose single-master AHB-Lite + interconnect/AXI for multi-master.
  • Protocol-level vs architecture-level slow-subordinate handling. AHB-Lite handles slow subordinates via wait states and bridging (architecture) rather than RETRY/SPLIT (protocol). Architecture-level isolation is cleaner and more flexible than protocol-level bus-freeing. The trade favors architecture — isolate slow subordinates rather than manage them in the protocol.
  • Simplicity (AHB-Lite) vs legacy capability (full AHB). AHB-Lite trades away full AHB's multi-master responses for simplicity. Since modern systems get concurrency from AXI and multi-master from interconnects, the legacy capability isn't missed — making AHB-Lite's simplicity the clear winner for its role.

The throughline: AHB-Lite drops RETRY/SPLIT to keep only OKAY/ERROR — a pure simplification for single-master buses, where the bus-freeing responses are useless. It leans out every component, fits the modern interconnect-plus-AXI architecture, and handles slow subordinates by wait states and bridging instead. The "cost" (losing RETRY/SPLIT) is no cost in AHB-Lite's single-master role, which is why the simplification made AHB-Lite dominant.

7. Industry Example

Trace how a modern AHB-Lite system handles the scenarios that full AHB would have used RETRY/SPLIT for.

A modern SoC has CPU and DMA masters, fast and slow subordinates, all on AHB-Lite segments connected by an interconnect.

  • Multiple masters — handled by the interconnect, not the bus. The CPU and DMA don't share a single multi-master AHB bus; each connects through an interconnect/bus matrix that routes them to subordinates, giving concurrent paths. So there's no multi-master AHB bus to free — each master's AHB-Lite path is single-master. The multi-master role RETRY/SPLIT served is handled by the interconnect, not by bus-freeing responses.
  • A fast subordinate — OKAY. Accesses to SRAM complete OKAY (single-cycle). Normal flow, the common case. No RETRY/SPLIT needed.
  • A moderately slow subordinate — wait states + OKAY. A medium peripheral inserts a few wait states (HREADY low) then completes OKAY. The short delay is handled by wait states — the bus holds briefly, then the transfer succeeds. No need to free the bus (single-master segment), so no RETRY/SPLIT.
  • A very slow subordinate — bridged/isolated. A slow flash or external-resource controller is placed behind a bridge (to APB) or on a separate interconnect port, so its long delays don't stall the main bus. The slow subordinate is isolated by topology — exactly the role SPLIT would have played (freeing the bus), but done architecturally instead. The CPU accesses it through the bridge; its delays are contained off the fast bus.
  • A failed access — ERROR. An unmapped or unauthorized access returns the two-cycle ERROR; the master faults. The one non-success response that remains. Handled exactly as in chapters 7.2/7.6/7.7.
  • The two-response reality. Throughout, every transfer ended OKAY or ERROR — the only two AHB-Lite responses. The scenarios full AHB would have used RETRY/SPLIT for (multi-master, slow subordinates) were handled instead by the interconnect (multi-master) and wait states/bridging (slow subordinates). The simpler two-response protocol sufficed, with the complexity moved to the architecture.

The example shows the simplification working in practice: AHB-Lite's two responses (OKAY/ERROR), with multi-master handled by the interconnect, short delays by wait states, and long delays by bridging. The legacy RETRY/SPLIT roles are filled by cleaner architectural means, validating the decision to drop them. This is how modern systems are actually built — and why the two-response model is sufficient.

8. Common Mistakes

9. Interview Insight

The AHB-Lite simplification is a common interview topic — it tests whether you understand why the legacy responses were dropped, not just that they were.

A summary card describing AHB-Lite keeping only OKAY/ERROR, the single-master reason, and the simplifications and dominance it enables.
Figure 4 — a strong answer in one card: AHB-Lite/AHB5 keep only OKAY and ERROR (ERROR still two-cycle), dropping RETRY and SPLIT because, being single-master, there's no other master to free the bus for; this simplifies masters, subordinates, and the bus, and slow subordinates are handled with wait states or bridging. The senior point: this simplification is why AHB-Lite is the dominant variant — multi-master is handled at the interconnect or with AXI.

The answer that lands explains the what and the why: "AHB-Lite and AHB5 keep only OKAY and ERROR — they drop the legacy RETRY and SPLIT. ERROR is still the two-cycle response; only the bus-freeing responses are removed, so HRESP is effectively one bit. The reason is that RETRY and SPLIT only exist to free the shared bus for other masters, and AHB-Lite is single-master — there's no other master to free the bus for, so they're pointless. Dropping them simplifies everything: masters lose their re-issue/park logic, subordinates lose the per-master tracking and HSPLIT, and the bus loses the arbiter entirely. Slow subordinates are handled instead with wait states for short delays and bridging for long ones. This simplification is a big reason AHB-Lite is the dominant variant — most systems are single-master at the AHB level and handle multiple masters with an interconnect, or use AXI for real concurrency." The single-master rationale, the component simplifications, and the dominance framing are the senior signals.

10. Practice Challenge

Reason from the simplification.

  1. State the change. Which responses does AHB-Lite keep and which does it drop?
  2. Explain the reason. Why are RETRY/SPLIT useless on a single-master bus?
  3. List the simplifications. What does dropping RETRY/SPLIT simplify in masters, subordinates, and the bus?
  4. Slow subordinates. How does AHB-Lite handle slow subordinates without RETRY/SPLIT?
  5. Architecture. Explain how the simplification fits the modern interconnect-plus-AXI architecture.

11. Key Takeaways

  • AHB-Lite and AHB5 keep only OKAY and ERROR, dropping the legacy RETRY and SPLIT — HRESP becomes effectively one bit. (ERROR is still two-cycle.)
  • RETRY/SPLIT are dropped because they're useless on a single-master bus — they exist only to free the shared bus for other masters, and AHB-Lite has none.
  • The simplification leans out every component — masters lose re-issue/park logic, subordinates lose per-master tracking and HSPLIT, the bus loses the arbiter entirely.
  • Slow subordinates are handled by wait states (short delays) and bridging/isolation (long delays) — architecture replaces the protocol-level bus-freeing.
  • AHB5 keeps the two-response model — it adds other features but does not bring back RETRY/SPLIT. Modern AHB is a two-response protocol.
  • The simplification helped make AHB-Lite dominant — it fits the modern architecture (single-master AHB segments + interconnect, AXI for concurrency); design for two responses (OKAY/ERROR) in modern AHB.

12. What Comes Next

This is the penultimate chapter of Module 7. The final chapter applies the response knowledge to debugging:

  • 7.9 — Debugging Bad Responses (coming next) — diagnosing unexpected ERROR (and, in full AHB, RETRY/SPLIT) from a waveform, completing the response module.

To revisit the responses, see OKAY Response, ERROR Response, RETRY Response, and SPLIT Response. For the master handling that simplifies in AHB-Lite, see How the Master Reacts. For AHB-Lite generally, see AHB-Lite Overview. For why AXI handles concurrency, see AXI vs AHB vs APB. For the broader protocol map, see the AMBA family overview.