Stefan Holst
a77ac4a397
|
4 years ago | |
---|---|---|
src/kyupy | 4 years ago | |
tests | 4 years ago | |
.gitignore | 4 years ago | |
LICENSE.txt | 4 years ago | |
MANIFEST.in | 4 years ago | |
README.md | 4 years ago | |
UsageExamples.ipynb | 4 years ago | |
setup.py | 4 years ago |
README.md
KyuPy - Processing VLSI Circuits With Ease
KyuPy is a python package for high-performance processing and analysis of non-hierarchical VLSI designs. Its purpose is to provide a rapid prototyping platform to aid and accelerate research in the fields of VLSI test, diagnosis and reliability. KyuPy is freely available under the MIT license.
Main Features
- Partial lark parsers for common files used with synthesized designs: bench, gate-level verilog, standard delay format (SDF), standard test interface language (STIL)
- Bit-parallel gate-level 2-, 4-, and 8-valued logic simulation
- GPU-accelerated high-throughput gate-level timing simulation
- High-performance through the use of numpy and numba
Getting Started
KyuPy requires Python 3.6 or newer. Install the latest release by running:
pip3 install --user kyupy
For best performance, ensure you have numba installed:
pip3 install --user numba
GPU/CUDA support may require some additional setup. If CUDA or numba is not available, KyuPy will automatically fall back to slow, pure python execution.
The Jupyter Notebook UsageExamples.ipynb on GitHub contains some useful examples to get familiar with the API.
Development
To contribute to KyuPy or simply explore the source code, clone the KyuPy repository on GitHub. Within your local checkout, run:
pip3 install --user -e .
to make the kyupy package available in your python environment. The source code comes with tests that can be run with:
pytest
KyuPy depends on the following packages:
- lark-parser
- numpy
- numba (optional, required only for GPU/CUDA support)