-
Notifications
You must be signed in to change notification settings - Fork 13
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
pysv integration #285
Comments
Thanks for the writeup.
|
|
For 3., it's likely you'll need the |
No I haven't. I tend to avoid debugging builds on MacOS since the only access I have is via CI. I will try that out when I start to implement arrays. |
With #289 merged lets closed this and use new issues to track anything that comes up. |
This is a thread to keep track of
pysv
integration and any related discussion.Background info:
For a large scale simulation, static test bench compilation is not feasible since it increases the code size. In cases where the ordering or cycle-accurate values are non-deterministic, it would be challenging given current fault semantics. See #280 for an example.
What does pysv do
It is a lightweight library to compile arbitrary Python code into a shared object as well as generating binding code for various targets. Here is a list of supported simulators:
Here is an example of usage:
and here is the SystemVerilog usage:
Integration issues
Although
pysv
is designed to be framework independent, depends on the semantics of the underlying framework, some tasks might be difficult to do. Here are some questions in my mind:Is there any high demand to let
pysv
be a required package forfault
? Or optional is fine?What is the convenient semantics in fault?
There are two ways to get the function call objects from
pysv
:Use the function
make_call
, e.g.turn off the evaluation on function call globally
Personally I prefer to use the first one in
fault
since there is no ambiguity. However it doesn't match the functional call syntax people usually use.Similar question also goes to how to create a class.
pysv
supports all SystemVerilog primitive types, such aslogic
,int
, andstring
. Are user responsible for the type casting? For most parts,logc
can be used directly in liu of actual integral values, but width match can still happen. Should we also support to strings or arrays?@leonardt Please let me know your thoughts.
The text was updated successfully, but these errors were encountered: