All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add multidimensional support in the Python frontend
- Fix
svSize
indexing.
- Add class method returning tuple @AdahilMuniz
- Add support for Python 3.12
- Add support for int array
- Add float datatype
- Fix temp fixture for macos in CI tests
- Fix cmake option to lower the actual requirements
- Add return type reference for multiple return values (#15)
- Add support for cases when
__module__
is None (#12) - Add support for custom attribute
_source_code_
for classes where are generated from exec (#13)
- Improve class type detection, especially for metaclass
- Add special logic to detect conda environment (#10)
- Fix pysv deco detection in cases where pysv is used instead of sv
- Add a helper function to force clear imports
- Add guards on imports if it's never used in the code
- Add support for importing types and functions
- Add support for explicit import
- Add documentation
- Add support for Python object as function arguments
- Python pointer is changed to public in SV/C++
- Relax restriction on whether sv has been called or not as function decorator
- Minor code generation style fix
- For simple compile_and_run, add c++11 flag for old compilers
- Better func_def filtering to figure out proper inputs to the codegen
- Meta information holder for the exported function to be used by other libraries. The variable will not be touch by pysv
- str() interface is enhanced to account for various usage types
- arg_to_str will force to convert values to str
- When code generate binding files, directory will be created automatically if not exist
- CI will upload artifacts
- Python packaging issue
- Auto generated class destructor
- Add ability to automatically detect void return type (#4)
- Add Tensorflow test
- Optimize the import (#6)
- Global variables are not represented as unique_ptr to control the tear down process
- Improved foreign module detection
- Occasional crash with Tensorflow
- Python wheel data
Initial release.
- Complete flow to compile Python to C++ and SystemVerilog bindings as well as shared libraries
- Tested on Linux and MacOS
- Tested with all major commercial simulators as well as Verilator