-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[BYOC][Verilator] Refactor Verilator runtime #7406
Conversation
auto dealloc = reinterpret_cast<VerilatorDeallocFunc>(lib_->GetSymbol("VerilatorDealloc")); | ||
ICHECK(dealloc != nullptr); | ||
dealloc(device_); | ||
lib_->~VerilatorLibrary(); |
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.
just out of curiosity, why do we explicitly call the deallocator instead of delete lib_
?
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 @vegaluisjose for bringing the change, especially in enabling the profiler feature. The implementation looks good.
Free feel to merge when you think this is ready to merge. @vegaluisjose
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 LGTM
Thank you @vegaluisjose @liangfu , the PR has been merged. |
* new experiment * save * refactor * refactor library * add profiler * refactor * refactor * add docs * update comment * add deallocator
* new experiment * save * refactor * refactor library * add profiler * refactor * refactor * add docs * update comment * add deallocator
This PR refactors the Verilator runtime to support multiple options, including enabling a profiler for hardware designs that support performance counters. Also, I added some documentation to header files.
After this gets merged, my next goal is to update the Verilator app in VTA to showcase how this profiling information can be used when running actual models.
@tmoreau89 @liangfu