-
Notifications
You must be signed in to change notification settings - Fork 544
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
add reflection adjacent capability to model output #5002
Comments
proposed feature implementation submitted in PR #5003 |
I don't understand - why is this needed versus using the VPI? |
I have a use case where code generated by Verilator is used in a simulator with a plugin system. The verilator code is baked into a plugin. The plugin interface needs to access the verilator generated code's I/O member variables in an opaque manner. Read/write access to verilator's I/O ports is important and this feature allows that access along with providing additional type information that the plugin wrapper needs to make runtime decisions. |
And how is what you describe not provided by the VPI? |
This approach provides direct access to the I/O port pointers in VTop without walking through the VPI layer. It uses the compilation process for VTop to precompute information about the I/O ports and places that information into the VTop class so there's less VPI runtime overhead. Consider this as convenience functionality to VTop, and along with that, a different mechanism for accessing I/O port information. |
It's a different mechanism that adds significant maintenance costs which I'm reluctant to add as most users won't need this. Can you overload more onto the vpi - perhaps something that uses the VPI discovery but has a verilator-specific function to return the raw Verilator data pointer? Then the cost to support is much more acceptable. |
In order to provide integration with simulation platforms, provide a generic mechanism to get access to I/O port data.
The text was updated successfully, but these errors were encountered: