SJTU-ECTL / simulator

A small simulator generates random inputs to `blif` circuit to simulator its behavior.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Readme

Simulator for blif circuit.

Origin Author: Yao Yue

Maintainer: Su Hang and Zhou Zhuangzhuang

Code view tips: if you view it on github, please add ?ts=4

How to use

  • Supported platform: Linux
  • Required compiler: g++ (cpp17)
  • Make system: Cmake (using clion)
  • Additional requirements: boost

Some Basic Introduction to Install and Use

  • First set the install_bnet, edit its configuration with executable dummy_target.
  • Then change the build target into simu_test.

Circuit Convention

  • Each input/output/internal node start with no-digit symbol
  • Allow Symbol only from [A-Za-z0-9_], no other symbol

TBD

  • simulation diff test enable.
  • BooleanNetwork version match, current one is ahead of origin version.

Project Structure

graph TD
A[exception] --> B[generator]
C[urandom] --> B[generator]
D[BooleanNetwork] --> E[convert blif to cpp]
E --> F[circuit simulation]
B --> G[simulation diff test]
F --> G
H[simulation result type] --> G
D --> H
C --> E
I[Memorize] --> D
I --> F
Loading

Simulation Diff Test

graph LR
A[generator] -->|input| B[circuit simulation]
A[generator] -->|input| C[...]
A[generator] -->|input| D[circuit simulation]
B --> |output| E[Diff Check]
C --> |output| E[Diff Check]
D --> |output| E[Diff Check]
E --> F[Result report]
Loading

About

A small simulator generates random inputs to `blif` circuit to simulator its behavior.

License:MIT License


Languages

Language:C 52.2%Language:C++ 46.3%Language:CMake 1.6%