
B-ASIC - Better ASIC Toolbox
B-ASIC is an ASIC toolbox for Python 3 that simplifies circuit design and optimization.
Prerequisites
The following packages are required in order to build the library:
- cmake 3.8+
- gcc 7+/clang 7+/msvc 16+
- fmtlib 6.1.2+
- pybind11 2.3.0+
- python 3.6+
- setuptools
- wheel
- pybind11
Development
How to build and debug the library during development.
Using CMake directly
How to build using CMake.
Configuring
In B-ASIC
:
mkdir build
cd build
cmake ..
Building (Debug)
In B-ASIC/build
:
cmake --build .
The output gets written to B-ASIC/build/lib
.
Building (Release)
In B-ASIC/build
:
cmake --build . --config Release
The output gets written to B-ASIC/build/lib
.
Using setuptools to create a package
How to create a package using setuptools.
Setup (Binary distribution)
In B-ASIC
:
python3 setup.py bdist_wheel
The output gets written to B-ASIC/dist
.
Setup (Source distribution)
In B-ASIC
:
python3 setup.py sdist
The output gets written to B-ASIC/dist
.
Installation (Binary distribution)
In B-ASIC
:
python3 -m pip install b_asic-<version>-<cpver>-<cpver>_<arch>.whl
Installation (Source distribution)
In B-ASIC
:
python3 -m pip install b-asic-<version>.tar.gz
Usage
How to build and use the library as a user.
Installation
python3 -m pip install b_asic
Importing
python3
>>> import b_asic as asic
>>> help(asic)
License
B-ASIC is distributed under the MIT license. See the included LICENSE file for more information.