-
Notifications
You must be signed in to change notification settings - Fork 17
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
Optional Tracing #26
base: main
Are you sure you want to change the base?
Optional Tracing #26
Conversation
@microsoft-github-policy-service agree company="lowRISC" |
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 for doing this! I've made two suggestions.
rtl/ibexc_top_tracing.sv
Outdated
|
||
ibex_top #( | ||
ibexc_top #( |
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 should stay ibex_top
.
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.
Proposed change looks good to me. BTW are you using ibexc_top or ibex_top for sonata? They both should work. Althoug, the reason I put together ibexc_top is mostly for the cheriot-safe FPGA platform which is supposed to be minimalistic.
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 currently use ibex_ctop
https://github.com/lowRISC/sonata-system/blob/df0f083b17e19ac1226e737dadd90df973d9be92/rtl/system/sonata_system.sv#L495
But we can switch that if it makes sense.
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 see. It might be better to use the ibex_top with sonata, at least I am interested in seeing how the cheriot changes work with the security features like dummy instr and lockstep. ibexc_top was meant to for people who just want a simple and fast way to get started on CHERIoT.
Also yes please keep the module names as ibex_top* instead of ibexc_top*. No need to change things and break things in other places.
This change enables one to leave RVFI unset. When this is done, ibexc_top_tracing is equivilant to ibexc_top, which is useful when using the same module hierachy for both simulation and synthesis.
Thanks @marnovandermaas , just made the suggested changes |
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 for making the changes, looks good to me.
Can we not change top-level ports for ibexc_top_tracing? I am trying to make it consistent with ibex_top_tracing. and it breaks my environment and cheriot-safe environment as well |
I made these changes for the sonata system and thought they may be valuable upstream.
I've changes
ibexc_top_tracing
module to match ports and parameters ofibexc_top
. I've also made it possible to leaveRVFI
unset, in which caseibexc_top_tracing
is equivalent toibexc_top
.This allows users to use
ibexc_top_tracing
as a drop in replacement foribexc_top
, with the tracing only enabled whenRVFI
is enabled so that the same system top can be used for simulation and synthesis.