Browse Source

move sources to src, add package info and release 0.0.1

main v0.0.1
Stefan Holst 4 years ago
parent
commit
08a22cf251
  1. 0
      LICENSE.txt
  2. 7
      MANIFEST.in
  3. 39
      README.md
  4. 41
      setup.py
  5. 0
      src/kyupy/__init__.py
  6. 0
      src/kyupy/bench.py
  7. 0
      src/kyupy/bittools.py
  8. 0
      src/kyupy/circuit.py
  9. 0
      src/kyupy/logic_sim.py
  10. 0
      src/kyupy/packed_vectors.py
  11. 0
      src/kyupy/saed.py
  12. 0
      src/kyupy/sdf.py
  13. 0
      src/kyupy/stil.py
  14. 0
      src/kyupy/verilog.py
  15. 0
      src/kyupy/wave_sim.py
  16. 0
      src/kyupy/wave_sim_cuda.py

0
LICENSE → LICENSE.txt

7
MANIFEST.in

@ -0,0 +1,7 @@
include *.ipynb
include *.txt
recursive-include tests *.bench
recursive-include tests *.gz
recursive-include tests *.py
recursive-include tests *.sdf
recursive-include tests *.v

39
README.md

@ -6,10 +6,12 @@ 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 platform to aid and accelerate research in the fields of VLSI test, diagnosis
and reliability. KyuPy is freely available under the MIT license. and reliability. KyuPy is freely available under the MIT license.
Main Features Main Features
------------- -------------
* Partial [lark](https://github.com/lark-parser/lark)-parsers for common files used with synthesized designs: bench, gate-level verilog, standard delay format (SDF), standard test interface language (STIL) * Partial [lark](https://github.com/lark-parser/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 * Bit-parallel gate-level 2-, 4-, and 8-valued logic simulation
* GPU-accelerated high-throughput gate-level timing simulation * GPU-accelerated high-throughput gate-level timing simulation
* High-performance through the use of [numpy](https://numpy.org) and [numba](https://numba.pydata.org) * High-performance through the use of [numpy](https://numpy.org) and [numba](https://numba.pydata.org)
@ -18,16 +20,37 @@ Main Features
Getting Started Getting Started
--------------- ---------------
KyuPy requires python 3.6+ and the following packages: KyuPy requires Python 3.6 or newer.
* [lark-parser](https://pypi.org/project/lark-parser) Install the latest release by running:
* [numpy](https://pypi.org/project/numpy) ```commandline
* [numba](https://pypi.org/project/numba) (required only for GPU/CUDA support) pip3 install --user kyupy
```
For best performance, ensure you have [numba](https://pypi.org/project/numba) installed:
```commandline
pip3 install --user numba
```
GPU/CUDA support may [require some additional setup](https://numba.pydata.org/numba-doc/latest/cuda/index.html).
If CUDA or numba is not available, KyuPy will automatically fall back to slow, pure python execution.
GPU/CUDA support may [require some additional setup](https://numba.pydata.org/numba-doc/latest/cuda/index.html). If CUDA or numba is not available, the package will automatically fall back to pure python execution. The Jupyter Notebook [UsageExamples.ipynb](https://github.com/s-holst/kyupy/blob/main/UsageExamples.ipynb) on GitHub
contains some useful examples to get familiar with the API.
This repository contains tests that can be run with:
Development
-----------
To contribute to KyuPy or simply explore the source code, clone the KyuPy [repository](https://github.com/s-holst/kyupy) on GitHub.
Within your local checkout, run:
```commandline
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 pytest
``` ```
Usage examples to get familiar with the API can be found in the Jupyter Notebook [UsageExamples.ipynb](UsageExamples.ipynb). KyuPy depends on the following packages:
* [lark-parser](https://pypi.org/project/lark-parser)
* [numpy](https://pypi.org/project/numpy)
* [numba](https://pypi.org/project/numba) (optional, required only for GPU/CUDA support)

41
setup.py

@ -0,0 +1,41 @@
from setuptools import setup, find_packages
with open('README.md', 'r') as f:
long_description = f.read()
setup(
name='kyupy',
version='0.0.1',
description='High-performance processing and analysis of non-hierarchical VLSI designs',
long_description=long_description,
long_description_content_type='text/markdown',
packages=find_packages(where='src'),
package_dir={'': 'src'},
url='https://github.com/s-holst/kyupy',
author='Stefan Holst',
author_email='mail@s-holst.de',
python_requires='>=3.6',
install_requires=[
'numpy>=1.15.0',
'lark-parser>=0.8.0'
],
extras_requires={
'dev': [
'pytest>=6.1',
],
},
classifiers=[
'Development Status :: 3 - Alpha',
'Environment :: GPU :: NVIDIA CUDA',
'Intended Audience :: Science/Research',
'Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3 :: Only',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
],
)

0
kyupy/__init__.py → src/kyupy/__init__.py

0
kyupy/bench.py → src/kyupy/bench.py

0
kyupy/bittools.py → src/kyupy/bittools.py

0
kyupy/circuit.py → src/kyupy/circuit.py

0
kyupy/logic_sim.py → src/kyupy/logic_sim.py

0
kyupy/packed_vectors.py → src/kyupy/packed_vectors.py

0
kyupy/saed.py → src/kyupy/saed.py

0
kyupy/sdf.py → src/kyupy/sdf.py

0
kyupy/stil.py → src/kyupy/stil.py

0
kyupy/verilog.py → src/kyupy/verilog.py

0
kyupy/wave_sim.py → src/kyupy/wave_sim.py

0
kyupy/wave_sim_cuda.py → src/kyupy/wave_sim_cuda.py

Loading…
Cancel
Save