Fast Algebraic Rewriting Based on And-Inverter Graphs

Constructing algebraic polynomials using computer algebra techniques is believed to be state-of-the-art in analyzing gate-level arithmetic circuits. However, the existing approach applies algebraic rewriting directly to the gate-level netlist, which has potential memory explosion problem. This paper introduces an algebraic rewriting technique based on the and-inverter graph (AIG) representation of gate-level designs. Using AIG-based cut-enumeration and truth table computation, an efficient order of algebraic rewriting is identified, resulting in dramatic simplifications of the polynomial under construction. An automatic approach, which further reduces the complexity of algebraic rewriting by handling redundant polynomials, is also proposed.

[1]  Peichen Pan,et al.  A new retiming-based technology mapping algorithm for LUT-based FPGAs , 1998, FPGA '98.

[2]  Priyank Kalla,et al.  Taylor Expansion Diagrams: A Canonical Representation for Verification of Data Flow Designs , 2006, IEEE Transactions on Computers.

[3]  Robert K. Brayton,et al.  DAG-aware AIG rewriting: a fresh look at combinational logic synthesis , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[4]  Robert K. Brayton,et al.  Using SAT for combinational equivalence checking , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[5]  Markus Wedler,et al.  STABLE: A new QF-BV SMT solver for hard verification problems combining Boolean reasoning with computer algebra , 2011, 2011 Design, Automation & Test in Europe.

[6]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[7]  Rolf Drechsler,et al.  Formal verification of integer multipliers by combining Gröbner basis with logic reduction , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[8]  Armin Biere,et al.  Boolector 2.0 , 2015, J. Satisf. Boolean Model. Comput..

[9]  R. Brayton,et al.  FRAIGs: A Unifying Representation for Logic Synthesis and Verification , 2005 .

[10]  Tim Pruss,et al.  Efficient Symbolic Computation for Word-Level Abstraction From Combinational Circuits for Verification Over Finite Fields , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Randal E. Bryant,et al.  Verification of Arithmetic Circuits with Binary Moment Diagrams , 1995, 32nd Design Automation Conference.

[12]  Armin Biere,et al.  Column-wise verification of multipliers using computer algebra , 2017, 2017 Formal Methods in Computer Aided Design (FMCAD).

[13]  Zheng Huang,et al.  Fast Boolean matching based on NPN classification , 2013, 2013 International Conference on Field-Programmable Technology (FPT).

[14]  Armin Biere Lingeling, Plingeling and Treengeling Entering the SAT Competition 2013 , 2013 .

[15]  Farimah Farahmandi,et al.  Groebner basis based formal verification of large arithmetic circuits using Gaussian elimination and cone-based polynomial extraction , 2015, Microprocess. Microsystems.

[16]  André Rossi,et al.  Formal Verification of Arithmetic Circuits by Function Extraction , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  Priyank Kalla,et al.  Efficient Gröbner Basis Reductions for Formal Verification of Galois Field Arithmetic Circuits , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[18]  Cunxi Yu,et al.  Formal Verification Using Don't-Care and Vanishing Polynomials , 2016, 2016 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[19]  Niklas Een,et al.  MiniSat v1.13 - A SAT Solver with Conflict-Clause Minimization , 2005 .

[20]  André Rossi,et al.  Verification of gate-level arithmetic circuits by function extraction , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).