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 @@ @@ -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 @@ -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
and reliability. KyuPy is freely available under the MIT license.
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
* GPU-accelerated high-throughput gate-level timing simulation
* High-performance through the use of [numpy](https://numpy.org) and [numba](https://numba.pydata.org)
@ -18,16 +20,37 @@ Main Features @@ -18,16 +20,37 @@ Main Features
Getting Started
---------------
KyuPy requires python 3.6+ and the following packages:
* [lark-parser](https://pypi.org/project/lark-parser)
* [numpy](https://pypi.org/project/numpy)
* [numba](https://pypi.org/project/numba) (required only for GPU/CUDA support)
KyuPy requires Python 3.6 or newer.
Install the latest release by running:
```commandline
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
```
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 @@ @@ -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