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

AMBA AHB

Note: This was originally posted on 2nd June 2009 at http://forums.arm.com

HI,Ihave a breat problem please help me
Question1:
I'm doing a project that consists in conception of four wrappers between a Network on Chip (NOC) and an AMBA AHB bus. I'll explain you the function of each one to more understand my work and more help me to resolve my problem. My goal is to do a read or write transfer between a master and a slave via the NOC and because of the difference of communication protocols we should have a wrapper which has the function of protocol adaptation. So we need four wrappers that will be more explained there for:
Wrapper1: between the AMBA AHB bus and the router of the NOC, used for the sending of requests by the master.
Wrapper2: between the router of the NOC and bus and AMBA AHB, used for reception of requests by the slave.
Wrapper3: between the AMBA AHB bus and the router of the NOC, used for sending response of the slave in case of read transfer.
Wrapper4: between the AMBA AHB bus and the router of the NOC, used for receiving the response of the slave by the master when read transfer.
Now, my problem is when the slave will send a response to the master via the wrapper3, how he will inform it that he will send response on the response bus HRDATA (like the master inform the wrapper1 that he will send him a data request  by using the signal HTRANS and when HTRANS is equal to NONSEQ the wrapper know that the master will  begin the transfer) and how the slave will know  that the slave will send him a response. So I need a signal like HTRANS that can be used by the slave to inform the wrapper3 that he will send response on the bus HRDATA.
Question2:
Can the master finish the transfer by giving BUSY to the signal HTRANS?


please answer me as soon as possble and thank you very much.
  • Note: This was originally posted on 2nd June 2009 at http://forums.arm.com

    Answering question 2; no, a master can never initiate the finishing a transaction. Once HTRANS is asserted as anything other than IDLE, it must be held until accepted.

    hth
    s.
  • Note: This was originally posted on 2nd June 2009 at http://forums.arm.com

    Answering question 1; your topology looks problematic, it simply isn't possible to present HRDATA and HRESP separately to the master, and the AHB control, data and response are stepped via a single HREADY signal. At first glance, it would appear that you require an AHB-to-NOC bridge, and a NOC-to-AHB bridge.

    Making some assumptions about your NOC:

    The AHB-to-NOC bridge would need to convert AHB address phases into NOC transactions, and would have to insert a wait-state (or buffer the subsequent address phase) in order to extract the AHB write-data for inclusion in the packet (or to send via alternative means). Due to the serialised nature of AHB, having only one transaction outstanding allows simple reassociation of the NOC returned data (and optional response information) for creation of the AHB HWDATA, HRESP and HREADY.

    The NOC-to-AHB bridge would have to wait until it had obtained the control packet (and optionally the write-data for a write), before presenting an AHB transaction, getting the response from the slave, and using this to generate return packets for the NOC initiator.

    hth
    s.