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

State Machine for AHB-Lite Protocol

This is more of a conceptual doubt than a doubt in protocol. I've come across many papers where state machines are designed for AHB and AHB-Lite. I never understood why a state machine is required and where exactly is it incorporated(inside the processor or in the master interface?).

Also, during any point of time, there will be two transfers in two different states (address phase of current transfer coincides with data phase of previous transfer). So will there also be two different state machines deployed at any moment?

Parents
  • I think the answer to this question would be very application specific, not something you could really have a generic reply for.

    However...

    You could design a state machine to either go through a simple IDLE-ADDRESS-DATA-IDLE sequence to control single accesses to the bus, but that would only be for a very simple master design.

    Or you could design a more complex state machine incorporating HTRANS sequences and different HBURST types being used, all working in the address phases of the transfers. I wouldn't normally expect a separate data phase state machine as the data phase of one transfer follows immediatly after the address phase of the same transfers, so simply delaying the address phase state by an HREADY qualified HCLK rising edge would give you the data phase "state".

    Sorry, that's about as generic a reply as I can think of, hopefully it addresses some of your questions.

Reply
  • I think the answer to this question would be very application specific, not something you could really have a generic reply for.

    However...

    You could design a state machine to either go through a simple IDLE-ADDRESS-DATA-IDLE sequence to control single accesses to the bus, but that would only be for a very simple master design.

    Or you could design a more complex state machine incorporating HTRANS sequences and different HBURST types being used, all working in the address phases of the transfers. I wouldn't normally expect a separate data phase state machine as the data phase of one transfer follows immediatly after the address phase of the same transfers, so simply delaying the address phase state by an HREADY qualified HCLK rising edge would give you the data phase "state".

    Sorry, that's about as generic a reply as I can think of, hopefully it addresses some of your questions.

Children