MLVP Verification Framework
Verification Framework
Created May 16, 2024 - Last updated: May 16, 2024
Project Link: https://github.com/XS-MLVP/mlvp
MLVP (Multi-Language Verification Platform) is a foundational verification framework designed for multi-language hardware verification, currently supporting the Python language. It provides advanced verification features on Python DUTs generated by the multi-language verification tool Picker. Its features include:
- Coroutine Support (async execution)
- Running coroutine tests
- Creating coroutine tasks
- Creating and using clocks
- Coverage Statistics and Test Report Generation (based on pytest, etc.)
- Generating coverage reports
- Code line coverage
- Functional coverage
- Generating test reports
- Test case execution results
- Multiprocessing support
- Generating coverage reports
- Logging Output MLVP comes with a built-in logger with default output formatting. All output messages within MLVP are logged using this logger. Additionally, the logger includes a handler for counting the number of each type of log message, and logs can be assigned an ID for classification.
- Interface Encapsulation and Linking MLVP provides an interface class for writing virtual interfaces for software module development. Users can define a virtual interface and write software modules to drive it without having access to the DUT. After obtaining the DUT, simply connect it to the virtual interface, and the software modules can drive the DUT directly. This allows for the definition of a set of interfaces for specific functionality without coupling software module development to the specific implementation of the DUT.