Arm Community
Site
Search
User
Site
Search
User
Support forums
SoC Design and Simulation forum
AHB Bufferable/Non-bufferable write
Jump...
Cancel
State
Not Answered
Locked
Locked
Replies
8 replies
Subscribers
92 subscribers
Views
16400 views
Users
0 members are here
AHB.AMBA
Bus Architecture
Options
Share
More actions
Cancel
Related
How was your experience today?
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 Bufferable/Non-bufferable write
Hariprem Arora
over 12 years ago
Note: This was originally posted on 12th September 2008 at
http://forums.arm.com
Hi,
Please clarify the following issue related to AHB write:
If HPROT[2] = 1, AHB write is bufferable and we need to provide OKAY response as soon as the AHB slave interface receives data without caring that the data is actually written into the memory or not.
if HPROT[2] = 0, AHB write is non-bufferable, AHB slave interface needs to provide response to the master only when the data is actually written into the memory.
The issue is that if we see this non-bufferable transaction, the state of HRESP will by default be OKAY (HREADY is HIGH to accept the next data) and it means that we are providing the response in advance for non-bufferable write.
Please clarify how to distinguish between the two transactions.
If possible, please provide waveforms for INCR undefined length & non-bufferable write
Parents
0
Colin Campbell
over 12 years ago
Note: This was originally posted on 12th September 2008 at
http://forums.arm.com
Hi Hari,
> If HPROT[2] = 1, AHB write is bufferable and we need to
> provide OKAY response as soon as the AHB slave interface
> receives data without caring that the data is actually written
> into the memory or not.
First thing is that you do not need to provide a response from any intermediate module (rather than the destination slave), this is only an option for you to consider to speed up the transfers for bufferable writes.
Next thing is that you do not need to provide an OKAY response. If your intermediate component decides that a transfer is not allowed, it could give an ERROR response.
> if HPROT[2] = 0, AHB write is non-bufferable, AHB slave
> interface needs to provide response to the master only when
> the data is actually written into the memory.
>
> The issue is that if we see this non-bufferable transaction, the
> state of HRESP will by default be OKAY (HREADY is HIGH to
> accept the next data) and it means that we are providing the
> response in advance for non-bufferable write.
Yes, that is the risk with providing the early response, if the destination slave decides on a different response you cannot change anything.
> Please clarify how to distinguish between the two transactions.
Well you already know how to distinguish between them, that is what the HPROT[2] signal is for.
> If possible, please provide waveforms for INCR undefined length &
> non-bufferable write
There is nothing special here that I would think needs extra waveforms. If the burst sequence is non-bufferable, and you are going via some interim buffering module, you will just see additional wait states for each access while it completes through to the destination device and a real response is returned to the originating master.
JD
Cancel
Vote up
0
Vote down
Cancel
Reply
0
Colin Campbell
over 12 years ago
Note: This was originally posted on 12th September 2008 at
http://forums.arm.com
Hi Hari,
> If HPROT[2] = 1, AHB write is bufferable and we need to
> provide OKAY response as soon as the AHB slave interface
> receives data without caring that the data is actually written
> into the memory or not.
First thing is that you do not need to provide a response from any intermediate module (rather than the destination slave), this is only an option for you to consider to speed up the transfers for bufferable writes.
Next thing is that you do not need to provide an OKAY response. If your intermediate component decides that a transfer is not allowed, it could give an ERROR response.
> if HPROT[2] = 0, AHB write is non-bufferable, AHB slave
> interface needs to provide response to the master only when
> the data is actually written into the memory.
>
> The issue is that if we see this non-bufferable transaction, the
> state of HRESP will by default be OKAY (HREADY is HIGH to
> accept the next data) and it means that we are providing the
> response in advance for non-bufferable write.
Yes, that is the risk with providing the early response, if the destination slave decides on a different response you cannot change anything.
> Please clarify how to distinguish between the two transactions.
Well you already know how to distinguish between them, that is what the HPROT[2] signal is for.
> If possible, please provide waveforms for INCR undefined length &
> non-bufferable write
There is nothing special here that I would think needs extra waveforms. If the burst sequence is non-bufferable, and you are going via some interim buffering module, you will just see additional wait states for each access while it completes through to the destination device and a real response is returned to the originating master.
JD
Cancel
Vote up
0
Vote down
Cancel
Children
No data