A python module for parsing, processing, and simulating gate-level circuits.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Stefan Holst a77ac4a397 start designing new data structures for m-valued logic 4 years ago
src/kyupy start designing new data structures for m-valued logic 4 years ago
tests start designing new data structures for m-valued logic 4 years ago
.gitignore Project Import 4 years ago
LICENSE.txt move sources to src, add package info and release 0.0.1 4 years ago
MANIFEST.in move sources to src, add package info and release 0.0.1 4 years ago
README.md move sources to src, add package info and release 0.0.1 4 years ago
UsageExamples.ipynb add logic depth example 4 years ago
setup.py move sources to src, add package info and release 0.0.1 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: