Giter Club home page Giter Club logo

lsoracle's Introduction

Getting Started with LSOracle

Build Status Documentation Status

Introduction

The Logic Synthesis oracle is a framework developed on the top of EPFL logic synthesis libraries to unlock efficient logic manipulation by using different logic optimizers.To do so, the flow splits a design into different partitions and selects different optimizers for different logics attributes. Currently, it supports AIG and MIG based optimization.

introductory video for the LSOracle tool

Installation:

LSOracle can be built on Linux and Mac OS 10.14. Compilation requires CMake 3.12 or newer and gcc 8 or newer. Additional dependencies for the master branch are Boost Program_options 1.48.0 or newer and readline; dependencies for feature branches may vary.

Linux

git clone https://github.com/LNIS-Projects/LSOracle.git
cd LSOracle
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RELEASE
make

Mac OS

Mac installation is slightly more involved than on Linux because gcc and Boost are typically not yet installed, with the gcc command symlinked to apple clang, which is unsupported. We recommend using Homebrew. First install gcc, then install Boost, using gcc to build [email protected], as gcc installation is broken on boost@latest as of December 2019.

brew install gcc
brew install --cc=gcc-9 [email protected]

git clone https://github.com/LNIS-Projects/LSOracle.git
mkdir build
cd build
cmake .. -DCMAKE_CXX_COMPILER=/usr/local/bin/g++-9 -DCMAKE_CC_COMPILER=/usr/local/bin/gcc-9 -DCMAKE_BUILD_TYPE=Release
make

Docker

LSOracle is available as a docker image on Dockerhub.

Usage

a video tutorial for LSOracle

build/core/lsoracle               # run the tool
read my_file.blif                 # read a file in either blif or AIG format (determined by file extension)
oracle                            # partitions network and optimizes each partition with either AIG or MIG optimization recipes
write_verilog my_output.v         # outputs the optimized network in Verilog format

Help

help				  # Gives a list of commands
[command] -h			  # Gives more information about the command.

Full Documentation

The LSOracle full documentation is available here

Using LSOracle as a Yosys Plugin

LSOracle is available as a plugin to yosys. To build the plugin, pass the arguments -D YOSYS_PLUGIN=ON -D YOSYS_INCLUDE_DIR=/path/to/yosys during cmake configuration, specifying the absolute path to the yosys directory. The plugin shared object will be compile to build/yosys-plugin/oracle.so. The plugin can be copied into the share/plugin directory in the yosys build and used with the flag -m oracle, or can be specified by full path -m LSOracle/build/yosys-plugin/oracle.so.

lsoracle's People

Contributors

maustin8 avatar msoeken avatar yashton avatar wlneto avatar lnis-projects avatar whaaswijk avatar srtemp avatar tangxifan avatar ace-ma avatar hriener avatar rovinski avatar vvbandeira avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.