Arm Community
Site
Search
User
Site
Search
User
Groups
Arm Research
DesignStart
Education Hub
Graphics and Gaming
High Performance Computing
Innovation
Multimedia
Open Source Software and Platforms
Physical
Processors
Security
System
Software Tools
TrustZone for Armv8-M
中文社区
Blog
Artificial Intelligence
Automotive
Healthcare
HPC
Infrastructure
Innovation
Internet of Things
Machine Learning
Mobile
Smart Homes
Wearables
Forums
All developer forums
IP Product forums
Tool & Software forums
Pelion IoT Platform
Activity
Support
Open a support case
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
More
Cancel
Developer Community
IP Products
System
Jump...
Cancel
System
SoC Design forum
AXI Read/Write ordering
Blogs
Forums
Videos & Files
Help
Jump...
Cancel
New
State
Not Answered
Replies
2 replies
Subscribers
71 subscribers
Views
6589 views
Users
0 members are here
AMBA
AXI
Bus Architecture
Related
AXI Read/Write ordering
Offline
Randy Pascarella
over 6 years ago
Note: This was originally posted on 24th October 2007 at
http://forums.arm.com
Hello,
Section 8.6 of the AXI spec says that reads and writes have no ordering restrictions between them. It then says that if a RAW dependency exists, the master must wait for the write to fully complete before issuing the read. If the write is bufferable, the response comes from the AXI target. If that target is a bridge to another I/O or host protocol, what should the master expect? I can think of two answers:
a) Master must punctuate a series of bufferable writes with a non-bufferable write (same AWID) to ensure that all write data has reached the final destination. Non-bufferable write response receipt indicates the read may then be issued.
-or-
b) Master assumes that the target device will maintain RAW ordering beyond AXI. Master issues a series of bufferable writes (same AWID) and issues the read once the last bufferable write response has been received. Writes are buffered in the target bridge and the read then causes the target bridge to flush out the bufferable writes before issuing the read on the other side.
The RAW dependency can be either an address collision with a previous write, or perhaps a previous write has side-effects that may affect the read, such as opening up a window of memory space for the read to access. Is the type of RAW dependency expected to change the master's choice of bufferable vs. non-bufferable write?
Any comments? What does AXI require here?
Thanks!
Randy
0
Offline
Randy Pascarella
over 6 years ago
Note: This was originally posted on 25th October 2007 at
http://forums.arm.com
Yes, that was very helpful.
Thanks JD!
Cancel
Up
0
Down
Reply
Accept answer
Cancel
0
Offline
Colin Campbell
over 6 years ago
Note: This was originally posted on 25th October 2007 at
http://forums.arm.com
Hi Randy,
All the AXI spec requires for RAW hazards is that the master waits until it has received a BRESP before issuing the READ access.
If an intermediate AXI slave block has given a BRESP before the bufferable WRITE data reached the actual destination block, that intermediate block must take responsibility for any RAW hazard checking.
I don't think then that it matters whether the master uses buffered or unbuffered WRITE transactions, it should be able to assume that when it sees a BRESP, it can then issue a READ transaction, and you certainly wouldn't want to force the master to use unbuffered WRITE transactions to ensure RAW hazard checking further down the line.
As to how the slave does the hazard checking, I guess it can either check the READ address against entries in the WRITE data buffer, or, as you said, flush the WRITE buffer contents regardless of address before performing any READ.
You did mention the possibility of a previous WRITE having side effects that may affect subsequent READs, but for this type of "control" WRITE access I would not expect it to be of type bufferable, so RAW hazards wouldn't apply.
I/O or control WRITE accesses would almost certainly be unbuffered so that the master knows that the access is performed when it requests it, and not at some point later when a write buffer drains.
Hope that helps,
JD
Cancel
Up
0
Down
Reply
Accept answer
Cancel
More questions in this forum
By title
By date
By reply count
By view count
By most asked
By votes
By quality
Descending
Ascending
All recent questions
Unread questions
Questions you've participated in
Questions you've asked
Unanswered questions
Answered questions
Questions with suggested answers
Questions with no replies
Not Answered
AMBA AHB
0
AMBA
2316
views
3
replies
Latest
1 month ago
by
Colin Campbell
Not Answered
the width of AXI ID conflict
0
1755
views
1
reply
Latest
1 month ago
by
Colin Campbell
Not Answered
AMBA AHB
0
AMBA
1781
views
1
reply
Latest
1 month ago
by
Colin Campbell
Not Answered
AMP Baremetal on SoC using Terasic DE1-SoC Computer system?
0
6779
views
3
replies
Latest
1 month ago
by
Eneko F
Answered
[APB] Assert timing of PSTRB and PPROT
0
APB
AMBA
2695
views
7
replies
Latest
1 month ago
by
Taichi Ishitani
<
>
View all questions in SoC Design forum