Replies: 2 comments
-
i think using only VPI with C++ , systemC , integration better with system verilog UVM could be very good addition to icarus verilog. |
Beta Was this translation helpful? Give feedback.
-
Dear community, Before I close this topic for good if there is no interest, I am happy to let you know that I finally ended up releasing a version 1.0.0 of the VPI module development, including detailed documentation for the implemented TCP protocol and Python client. You can find the github repo here: https://github.com/jchabloz/verisocks I would be extremely happy to get any feedback and advice and will support. |
Beta Was this translation helpful? Give feedback.
-
I have been using Icarus for quite some time now, in all sorts of contexts. Lately, I have been wanting to find a solution to better automatize verification tasks (typically integration tests) with high-level test automation frameworks, my first choices going to Python tools, such as e.g. the robot framework or pytest.
I have been playing a bit with cocotb, however, even though this is working really nicely, it did not really fit my purpose since cocotb uses its own so-called "regression manager", and to be honest, this removes most of the control I desire to have when writing test cases. There are some workarounds, such as cocotb-test, which enables to use pytest with cocotb, but, mmh, it adds a lot of complexity to something which should be simpler...
I wanted to try an alternative, and came up with the following proposal; use the Icarus VPI interface and create a simple server accepting TCP socket connections to receive commands to control the simulation, force and read values, etc... I have now a first running version of this proposal, which I named "Verisocks" and that you can find here: https://github.com/jchabloz/verisocks.
What I have:
What I don't have yet
What I believe to be nice with Verisocks is
I would really appreciate if some persons in the community would take the time to check it out and let me know about any comments, pieces of advice, feedback, questions, etc. I will do my best to support anybody who is willing to spend some of her/his time to help me improve it!
Beta Was this translation helpful? Give feedback.
All reactions