-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CtrlPkt] Add a pass to split control packet payload into chunks of 4 #1052
Conversation
|
||
// ----- | ||
|
||
// For control packet reads (where `opcode=1` and `data` are not present), the split still occurs, with only the `address` and `length` attributes being updated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the rationale here? Shouldn't we throw an error?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can send a control packet to request the core to send data back. In this case, the opcode
is set to 1 (indicating a read request), the length
field specifies the number of words to be returned, and the data
attribute is left empty, as only the header is sent to the core.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, thanks for the explanation, makes sense!
Also, just thinking about this now, but I think using an enum attribute instead of an int for the opcode would be helpful: CtrlPktType::Read
instead of 1
etc (not for this PR).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I will make a separate PR for that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
implemented in #1056
compiler/plugins/target/AMD-AIE/iree-amd-aie/Transforms/AMDAIESplitControlPacketData.cpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
No description provided.