# The EPFL Logic Synthesis Libraries

@article{Soeken2018TheEL, title={The EPFL Logic Synthesis Libraries}, author={Mathias Soeken and Heinz Riener and Winston Haaswijk and Giovanni De Micheli}, journal={ArXiv}, year={2018}, volume={abs/1805.05121} }

We present a collection of modular open source C++ libraries for the development of logic synthesis applications. The alice library is a lightweight wrapper for shell interfaces, which is the typical user interface for most logic synthesis and design automation applications. It includes a Python interface to support scripting. The lorina library is a parsing library for simple file formats commonly used in logic synthesis. It includes several customizable parsing algorithms and a flexible… Expand

#### Supplemental Code

#### Figures and Topics from this paper

#### 41 Citations

Generic Logic Synthesis meets RTL Synthesis

- 2019

We present an integration of Generic Logic Synthesis, a recent methodology for developing logic synthesis algorithms that are independent of a specific technology-independent logic representation, in… Expand

Scalable Generic Logic Synthesis: One Approach to Rule Them All

- Computer Science
- 2019 56th ACM/IEEE Design Automation Conference (DAC)
- 2019

This paper proposes a novel methodology for multi-level logic synthesis that is independent from a specific graph data-structure, but formulates synthesis procedures using an abstract concept… Expand

A Logic Synthesis Toolbox for Reducing the Multiplicative Complexity in Logic Networks

- Computer Science
- 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE)
- 2020

This paper presents a logic synthesis toolbox for cryptography and security applications that consists of powerful transformations, namely resubstitution, refactoring, and rewriting, specifically designed to minimize the multiplicative complexity of an XAG. Expand

LSOracle: a Logic Synthesis Framework Driven by Artificial Intelligence: Invited Paper

- Computer Science
- 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD)
- 2019

LSOracle is the first to exploit state-of-the-art And-Inverter Graph (AIG) and Majority-inverter graph (MIG) logic optimizers and relies on a Deep Neural Network (DNN) to automatically decide which optimizer should handle different portions of the circuit. Expand

ScalableGenericLogicSynthesis : One Approach to Rule Them All

- 2019

This paper proposes a novel methodology for multi-level logic synthesis that is independent from a specific graph data-structure, but formulates synthesis procedures using an abstract concept… Expand

From Logic to Gates: A Versatile Mapping Approach to Restructure Logic

- 2021

This paper proposes a versatile mapping approach for restructuring logic that has two objectives: i) it can map from one technology-independent graph representation to another; ii) it can map to a… Expand

Exact Synthesis of Boolean Functions in Majority-of-Five Forms

- Computer Science
- 2019 IEEE International Symposium on Circuits and Systems (ISCAS)
- 2019

This paper presents an exact synthesis approach for computing Boolean functions in majority-of-five (M5) forms with a minimum number of operations using Boolean satisfiability by exploiting the symmetry properties of majority operators. Expand

A Scalable Mixed Synthesis Framework for Heterogeneous Networks

- Computer Science
- 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE)
- 2020

A new logic synthesis framework which produces efficient post-technology mapped results on heterogeneous networks containing a mix of different types of logic by breaking down the circuit into sections using a hypergraph k-way partitioner and then determines the best-fit logic representation for each partition. Expand

Revisiting Explicit Enumeration for Exact Synthesis

- Computer Science
- 2020 23rd Euromicro Conference on Digital System Design (DSD)
- 2020

This paper presents an algorithm that, using enumeration over non-isomorphic graph structures, generates minimal circuits implementing specified Boolean functions using a set of predefined gate types and shows that this technique can be parallelized effectively. Expand

LNAST: A Language Neutral Intermediate Representation for Hardware Description Languages

- 2019

In this paper, we extend the ideas from LGraph to propose a new intermediate representation(IR) called Language Neutral Abstract Syntax Tree(LNAST) to support the Live Hardware Development(LiveHD)… Expand

#### References

SHOWING 1-10 OF 19 REFERENCES

SAT-Based Exact Synthesis: Encodings, Topology Families, and Parallelism

- Computer Science
- IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
- 2020

Four ways to close some open questions and to reduce runtime are proposed: quantifying differences between CNF encoding schemes and their impacts on runtime, demonstrating impact of symmetry breaking constraints, and showing how directed acyclic graph topology information can be used to decrease runtime. Expand

ABC: An Academic Industrial-Strength Verification Tool

- Computer Science
- CAV
- 2010

This paper introduces ABC, motivates its development, and illustrates the use in formal verification of binary logic circuits appearing in synchronous hardware designs. Expand

metaSMT: focus on your application and not on solver integration

- Computer Science
- International Journal on Software Tools for Technology Transfer
- 2016

MetaSMT is presented, a framework that eases the integration of existing reasoning engines into applications and provides a domain-specific language that allows for engine-independent programming and offers a generic interface to advanced features as an extra abstraction layer. Expand

On-the-fly and DAG-aware: Rewriting Boolean Networks with Exact Synthesis

- Computer Science
- 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE)
- 2019

A high-effort DAG-aware rewriting algorithm, called cut rewriting, which uses exact synthesis to compute replacements on the fly, with support for Boolean don’t cares is introduced. Expand

Exact Synthesis of ESOP Forms

- Computer Science
- Advanced Boolean Techniques
- 2019

An exact synthesis approach for computing Exclusive-or Sum-of-Products (ESOP) forms with a minimum number of product terms using Boolean satisfiability is presented and how the search procedures can be relaxed to find ESOP forms of small sizes in reasonable time is discussed. Expand

SAT Based Exact Synthesis using DAG Topology Families

- Computer Science
- 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC)
- 2018

This paper proposes to add a new type of constraint based on families of DAG topologies that restrict the search space considerably and let us partition the synthesis problem in a natural way. Expand

Cut ranking and pruning: enabling a general and efficient FPGA mapping solution

- Computer Science
- FPGA '99
- 1999

Several efficient and effective techniques on cut enumeration, ranking and pruning are developed that lead to much better runtime and scalability of the cut-enumeration based algorithms; they can also be used to compute a tight lower-bound on the size of an area-minimum mapping solution. Expand

Extending SAT Solvers to Cryptographic Problems

- Computer Science
- SAT
- 2009

A new approach to solving cryptographic problems by adapting both the problem description and the solver synchronously instead of tweaking just one of them is presented, which was able to solve a well-researched stream cipher 26 times faster than was previously possible. Expand

Hacker's Delight

- Computer Science
- 2002

The term "hacker" in the title is meant in the originalsense of an aficionado of computerssomeone who enjoys making computers do new things, or do old things in a new and clever way. Expand

Reversible Pebbling Game for Quantum Memory Management

- Computer Science, Mathematics
- 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE)
- 2019

This work develops a SAT-based algorithm that returns a valid clean-up strategy, taking the limitations of the quantum hardware into account, and applies it to straight-line programs, widely used in cryptographic applications. Expand