FRAIGs: Functionally Reduced And-Inverter Graphs

18
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by Mishchenko, Chatterjee, Jiang, Brayton, UCB Technical Report 2005 By Ashesh Rastogi

description

FRAIGs: Functionally Reduced And-Inverter Graphs. By Ashesh Rastogi. Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by Mishchenko, Chatterjee, Jiang, Brayton, UCB Technical Report 2005. Outline. Background on AIGs FRAIGs - PowerPoint PPT Presentation

Transcript of FRAIGs: Functionally Reduced And-Inverter Graphs

Page 1: FRAIGs: Functionally Reduced And-Inverter Graphs

1

FRAIGs: Functionally Reduced

And-Inverter Graphs

Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by Mishchenko,

Chatterjee, Jiang, Brayton, UCB Technical Report 2005

By

Ashesh Rastogi

Page 2: FRAIGs: Functionally Reduced And-Inverter Graphs

2

Outline

• Background on AIGs

• FRAIGs

• Applications of FRAIGs

• Experimental Results

• Conclusions

Page 3: FRAIGs: Functionally Reduced And-Inverter Graphs

3

Background• AND-INVERTER Graphs (AIGs)

– Boolean Network composed on 2-input AND gates and Inverters

– Representations:

NAND OR

a

bab

a b a b

ba

a + b ba

Page 4: FRAIGs: Functionally Reduced And-Inverter Graphs

4

Background• Properties of AIGs

– Function fn(x) of AIG node n – logic cone rooted at node n with base as PI

– Nodes of AIG – Number of AND gates

– Levels of AIG – Number of AND gates on the longest path from PI to PO

– Number of nodes Number of literals in factored form

Page 5: FRAIGs: Functionally Reduced And-Inverter Graphs

5

Background• Properties of AIGs

– Not Canonical

– Note: These AIGs are FRAIGs

Page 6: FRAIGs: Functionally Reduced And-Inverter Graphs

6

Background• AIG Construction

– Given a SOP

– Convert it into factored form

– Convert all 2-input OR gates into 2-input AND gates using DeMorgan Rule

bcddcaacd)c,b,F(a,

bc)cd(aacd)c,b,F(a,

Page 7: FRAIGs: Functionally Reduced And-Inverter Graphs

7

Background• AIG Construction

– Given a circuit– Perform recursive construction for each PO– At each step add new AND gate and

• Perform Structural Hashing (Strashing)• One-Level Strashing: Check for AND gate with

same fan-ins by looking at hash table• No Strashing: Don’t check – leads to redundant

nodes

– If a PI node: Create an AIG variable – Else construct AIG node for factored form

node

Page 8: FRAIGs: Functionally Reduced And-Inverter Graphs

8

Background• AIG with redundant nodes

• Has 11 Nodes and 5 Levels

Page 9: FRAIGs: Functionally Reduced And-Inverter Graphs

9

FRAIGs• Properties of FRAIGs

– For any two nodes n1, n2• and

– “Semi-Canonical”: No two functions have same PIs but still have different structures

– Possess same properties of AIGs

(x)fn(x)fn 21 (x)fn(x)fn 21

Page 10: FRAIGs: Functionally Reduced And-Inverter Graphs

10

FRAIGs• FRAIG Construction

– Perform one-level strashing– Perform functional equivalent test

• Do random simulation for each node by calling SAT solver

• Store results in a look-up table • Check new node functionally equivalent to old

node

Page 11: FRAIGs: Functionally Reduced And-Inverter Graphs

11

Applications of FRAIGs

• Traditional Logic Synthesis– Helps create compact circuits– Uniform representation of DAGs and algebraic

factored forms

• “Lossless” Logic Synthesis– Collect all logic representations obtained over

several optimization steps

Page 12: FRAIGs: Functionally Reduced And-Inverter Graphs

12

Applications of FRAIGs

• Technology Mapping– More structural mapping choices (Lossless

Synthesis)– Improved mapping quality

• Formal Verification– Improved Combinational Equivalence

Checking (CEC)– Ensures transformation at each step of

synthesis is functionally correct

Page 13: FRAIGs: Functionally Reduced And-Inverter Graphs

13

Experiment Results

• fraig -n: No strashing• fraig -r: One-level strashing• fraig: One-level strashing with functional reduction

Page 14: FRAIGs: Functionally Reduced And-Inverter Graphs

14

Experiment Results

• fraig -f: SAT solver feedback not used• fraig -s: No functional equivalence check

for sparse functions

Page 15: FRAIGs: Functionally Reduced And-Inverter Graphs

15

Experiment Results

• With and without structural choices

Page 16: FRAIGs: Functionally Reduced And-Inverter Graphs

16

Experiment Results

• Runtimes in MVSIS environment and on 2.4GHz Xeon CPU

Page 17: FRAIGs: Functionally Reduced And-Inverter Graphs

17

Conclusions• FRAIGs help in unifying all steps of logic

synthesis– Optimized functional representation– Enhanced technology mapping with help of lossless

synthesis– Transparent CEC: Guarantees all transformations

correct

• More robust than BDDs

• FRAIG is available for use in ABC Package

Page 18: FRAIGs: Functionally Reduced And-Inverter Graphs

18

QUESTIONS ?