What's the purpose of directing hready to the same slave which generated it? Is that necessary? Is it to support a bus kind of hready signal?

What's the purpose of directing hready to the same slave which generated it? Is that necessary? Is it to support a bus kind of hready signal?

Parents
  • AHB subordinates have 2 HREADY ports. An HREADYOUT output allowing the subordinate to signal wait states during the data phase of a transfer, and an HREADY input to tell the subordinate when the current data phase operation is completing (when this subordinate is not the currently data phase active subordinate).

    So the HREADYOUT value of the current data phase active subordinate is sent to the AHB manager, and is also returned back to ALL the subordinates the manager can see, so that when a subordinate is newly selected for an address phase (HSEL high), this subordinate knows when the previously selected subordinate has finished using the bus (when this newly selected subordinate should move to perform a data phase transfer).

    If you only have one subordinate component on your bus it does seem strange to have to loop HREADYOUT back to the HREADY input on this one component, but this just mimics the behaviour of the multiplexer your would have on a multi-subordinate bus.

Reply
  • AHB subordinates have 2 HREADY ports. An HREADYOUT output allowing the subordinate to signal wait states during the data phase of a transfer, and an HREADY input to tell the subordinate when the current data phase operation is completing (when this subordinate is not the currently data phase active subordinate).

    So the HREADYOUT value of the current data phase active subordinate is sent to the AHB manager, and is also returned back to ALL the subordinates the manager can see, so that when a subordinate is newly selected for an address phase (HSEL high), this subordinate knows when the previously selected subordinate has finished using the bus (when this newly selected subordinate should move to perform a data phase transfer).

    If you only have one subordinate component on your bus it does seem strange to have to loop HREADYOUT back to the HREADY input on this one component, but this just mimics the behaviour of the multiplexer your would have on a multi-subordinate bus.

Children
No data