-
Notifications
You must be signed in to change notification settings - Fork 678
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
Spike-as-a-Tile #1307
Spike-as-a-Tile #1307
Conversation
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.
Very impressive work overall :)
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.
I need to look at spiketile.*
still but here is a temp. review.
val masterNode = visibilityNode | ||
val slaveNode = TLIdentityNode() | ||
|
||
override def isaDTS = "rv64gcv_Zfh" |
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.
Is this true with the current CY toolchain?
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.
This isn't passed to the toolchain.
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.
I know it's not passed but right now we can't compile code outside gc
right? I'm not sure it would make sense to restrict this to rv64gc
for now.
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.
rv64gcv_Zfh is a superset of rv64gc. The cpu is always allowed to report that it has more capability than the software needs.
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. Skimmed the C++/V side and it seems fine for now (esp. since this is an experimental feature)
Now that this exists, maybe it makes sense to boot Linux in CI with this. |
This needs a faster firemarshal linux image, |
This PR integrates a spike processor model as a tile into chipyard.
The spike processor model supports any RISC-V ISA configuration Spike supports, and dynamically links with spike-as-a-library.
The spike processor interfaces with chipyard through a cache-coherent Tilelink model.
Of course, this shouldn't be used for any performance-modelling.
It is useful for stress-testing MMIO devices, or accelerators.
Adding RoCC support would be a cool extension.
Also, atomics aren't guaranteed to be atomic.
TODO:
Related PRs / Issues:
Type of change:
Impact:
Contributor Checklist:
main
as the base branch?changelog:<topic>
label?changelog:
label?.conda-lock.yml
file if you updated the conda requirements file?Please Backport
?