Metadata-Version: 2.1
Name: hwtSimApi
Version: 1.3
Summary: RTL simulator API
Home-page: UNKNOWN
Author-email: Nic30original@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
Classifier: Topic :: System :: Hardware
Classifier: Topic :: System :: Emulators
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
Requires-Dist: sortedcontainers (>=2.2.2)
Requires-Dist: pyMathBitPrecise (>=1.0)

# hwtSimApi

[![CircleCI](https://circleci.com/gh/Nic30/hwtSimApi.svg?style=svg)](https://circleci.com/gh/Nic30/hwtSimApi)
[![Coverage Status](https://coveralls.io/repos/github/Nic30/hwtSimApi/badge.svg?branch=master)](https://coveralls.io/github/Nic30/hwtSimApi?branch=master)
[![PyPI version](https://badge.fury.io/py/hwtSimApi.svg)](http://badge.fury.io/py/hwtSimApi)
[![Documentation Status](https://readthedocs.org/projects/hwtsimapi/badge/?version=latest)](http://hwtsimapi.readthedocs.io/en/latest/?badge=latest)

This library contains an implementation of DES (Discrete Event Simulation) for communication with RTL simulators and a backup RTL simulator written in python.
In addition there is a UVM like environment with some example interface agents.
This means that this library can be used to handle synchronization, data exchange and verification related staff.
The simulation is an object without any special requirements which greatly simplifies automatization and debugging.

* examples of usage in [hwtLib](https://github.com/Nic30/hwtLib) and other [HWT](https://github.com/Nic30/hwt) based projects

# Installation

* run `python3 setup.py install --user`
* or from git `git clone https://github.com/Nic30/hwtSimApi.git && cd hwtSimApi && python3 setup.py install --user`


# Similar software

* [cocotb](https://github.com/cocotb/cocotb) - there is also WIP version of cocotb-verilator integration
* [cocotb-coverage](https://github.com/mciepluc/cocotb-coverage) - Functional Coverage and Constrained Randomization Extensions for Cocotb
* [chisel-testers](https://github.com/freechipsproject/chisel-testers)
* [firesim](https://github.com/firesim/firesim)
* [fli](https://github.com/andrepool/fli) - using ModelSim Foreign Language Interface for c – VHDL
* [kratos](https://github.com/Kuree/kratos) - hardware generator/simulator
* [midas](https://github.com/ucb-bar/midas)
* [py-hpi](https://github.com/fvutils/py-hpi) - Python/Simulator integration using procedure calls
* [PyVSC](https://github.com/fvutils/pyvsc) Python package providing a library for Verification Stimulus and Coverage
* [uvm-python](https://github.com/tpoikela/uvm-python) - cocotb based python UVM
* [PySpice](https://github.com/FabriceSalvaire/PySpice) - Python binding for Ngspice / Xyce Simulators



