Skip to content

cda-tum/mnt-bench

Repository files navigation

PyPI License: MIT CI Bindings codecov

MNT Bench: Layout Library for Field-coupled Nanocomputing Circuits

MNT Bench is a field-coupled nanocomputing circuit benchmark suite for multiple gate libraries and clocking schemes.

MNT Bench is part of the Munich Nanotech Toolkit (MNT) developed by the Chair for Design Automation at the Technical University of Munich and is hosted at https://www.cda.cit.tum.de/mntbench/.

This documentation explains how to use MNT Bench to filter and download benchmarks.

Benchmark Selection

So far, the functions from the following benchmark sets are implemented and provided:

  1. Trindade16
  2. Fontes18
  3. ISCAS85
  4. EPFL

Gate Libraries

So far, MNT Bench supports the following native gate-sets:

  1. ONE (for QCA) gate set: [AND, OR, NOT, BUF]
  2. Bestagon (for SiDB) gate set: [AND, NAND, OR, NOR, XOR, XNOR, NOT, BUF]

Clocking Schemes

Most of the layouts are available for any of the following clocking schemes:

2DDWave ESR
2DDWave ESR
USE RES
USE RES
Row
Row

Repository Structure

  • src/mnt/: main source directory
  • tests: Directory for the tests for MNT Bench

Repository Usage

There are three ways how to use this benchmark suite:

  1. Via the webpage hosted at https://www.cda.cit.tum.de/mntbench/
  2. Via the pip package mnt.bench
  3. Directly via this repository

Since the first way is rather self-explanatory, the other two ways are explained in more detail in the following.

Usage via pip package

MNT Bench is available via PyPI

(venv) $ pip install mnt.bench

Locally hosting the MNT Bench Viewer

Additionally, this python package includes the same webserver used for the hosting of the MNT Bench webpage.

After the mnt.bench Python package is installed via

(venv) $ pip install mnt.bench

the MNT Bench Viewer can be started from the terminal via

(venv) $ mnt.bench

This first searches for the most recent version of the benchmark files on GitHub and offers to download them. Afterwards, the webserver is started locally.

Usage directly via this repository

For that, the repository must be cloned and installed:

git clone https://github.com/cda-tum/mnt-bench.git
cd mnt-bench
pip install .

Afterwards, the package can be used as described above.