Connection of HREADY in AMBA AHB Bus and a Potential Issue

Make it to the Right and Larger Audience

Blog/Press Release

Connection of HREADY in AMBA AHB Bus and a Potential Issue

A simple AHB connection is one master talks to one slave. Hready is from slave to master and used by slave to insert wait state. But in more advanced AHB bus design, we can see HREADY and HREADYOUT. AMBA doc says “slaves on the bus require HREADY as both an input and an ouput signal”. What does it mean?

Turns out HREADY/HREADYOUT pair kicks in when there is multiplexor in connection. In other words, one AHB master drives multiple AHB slaves. Each slave has a HREADYOUT and multiplexed HREADYOUT goes to master.



But is above connection good enough? Let’s see the issue. At one time, master starts transaction B to slave B. Then master sees HREADY=1. This is asserted by transaction A’s slave. So in next cycle, master not only starts transaction B’s data phase but also start transaction C’s address phase. Slave B deasserts HREADY and master will hold transaction B’s data phase. But at this cycle, slave C sees transaction C’s address phase. All good and in the next cycle slave C will do a write but write data is transaction B write data.

What goes wrong here?


The following is author point premium content.
You can purchase points of this author. You have 0 points and this post costs 2 points.
Highlights: 452 words, 3 images
We are a small design team with many years of experience in ASIC/FPGA IP and system designs which involve UART, SPI, AHB, AXI, ACE, USB, PCIE, etc.


  1. DanDixon 3 years ago

    Does ahb master output hready to indicate master side’s readiness?

    • JHicks 3 years ago

      Good to me. Slave side hready should be combined of master hready and other slaves’ hready?


Contact Us

Thanks for helping us better serve the community. You can make a suggestion, report a bug, a misconduct, or any other issue. We'll get back to you using your private message ASAP.



Forgot your details?