2020 in Review
The New Cross-Platform and Retooling
- As a C/C++ or Java library accessible via an API
- As a Python extension
- As a web service accessible via a json-rpc API
- Executing in a browser
PyBFMs: High-performance BFMs
PyVSC: Constraints and Coverage in Python
The PyVSC (Python Verification Stimulus and Coverage) package is built on top of the high-performance Boolector solver. Python provides many features that enable embedding a new language inside Python, including operator-overloading and introspection. PyVSC makes heavy use of all of these features to allow users to model constraints and functional coverage within the Python language.
In addition to randomizing data to apply to the design being verified, doing good verification also requires tracking what has been tested. Functional coverage fills that role in commercial verification flows today. PyVSC also provides features for modeling and capturing functional coverage data.