Skip to content
Snippets Groups Projects

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.