This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

AHB Bus Protocol -- Address Phase

Hi, AHB-newbie here.

For AHB-lite is there any way that the Slave may signal to the Master that it is not ready to accept any transactions? 

Driving HREADY low only extends the data phase of the current transaction.

My understanding that the MASTER always expects the respective slave to always be ready to sample the Address on the Address Phase.

Is there also any way for the slave to tell the master that the current address phase needs to be extended?

Thanks.

Parents
  • I suggest you to study the AHB wrapper RTL code, it would be helpful.

    In fact, all AHB slave got both HREADY (input) and HREADYout port (output). And you can check with RTL code, the slave always sample the address and control signal but it will be active address phase when the HREADY is high.

    In AHB-Lite, the bus will be occupied when the slave send WAIT request to the master. If your slave take a very long WAIT state, and you want to free the bus before the slave finish its work, maybe you should not make HREADYout to low, always make it Hi, and use the interrupt to inform the processor back to read the result of slave.

    Just be careful for the data computing/processing dependence. 

    Another method is to build a multi-layer AHB bus.

Reply
  • I suggest you to study the AHB wrapper RTL code, it would be helpful.

    In fact, all AHB slave got both HREADY (input) and HREADYout port (output). And you can check with RTL code, the slave always sample the address and control signal but it will be active address phase when the HREADY is high.

    In AHB-Lite, the bus will be occupied when the slave send WAIT request to the master. If your slave take a very long WAIT state, and you want to free the bus before the slave finish its work, maybe you should not make HREADYout to low, always make it Hi, and use the interrupt to inform the processor back to read the result of slave.

    Just be careful for the data computing/processing dependence. 

    Another method is to build a multi-layer AHB bus.

Children