Download PDFOpen PDF in browser

Rewriting Environment for Arithmetic Circuit Verification

11 pagesPublished: October 23, 2018

Abstract

The paper describes a practical software tool for the verification of integer arithmetic circuits. It covers different types of integer multipliers, fused add-multiply circuits, and constant dividers - in general, circuits whose computation can be represented as a polynomial. The verification uses an algebraic model of the circuit and is accomplished by rewriting the polynomial of the binary encoding of the primary outputs (output signature), using the polynomial models of the logic gates, into a polynomial over the primary inputs (input signature). The resulting polynomial represents arithmetic function implemented by the circuit and hence can be used to extract functional specification from its gate-level implementation. The rewriting uses an efficient And-Inverter Graph (AIG) representation to enable extraction of the essential arithmetic components of the circuit. The tool is integrated with the popular ABC system. Its efficiency is illustrated with impressive results for integer multipliers, fused add-multiply circuits, and divide-by-constant circuits. The entire verification system is offered in an open source ABC environment together with an extensive set of benchmarks.

Keyphrases: arithmetic circuits, computer algebra, formal verification

In: Gilles Barthe, Geoff Sutcliffe and Margus Veanes (editors). LPAR-22. 22nd International Conference on Logic for Programming, Artificial Intelligence and Reasoning, vol 57, pages 656-666.

BibTeX entry
@inproceedings{LPAR-22:Rewriting_Environment_Arithmetic_Circuit,
  author    = {Cunxi Yu and Atif Yasin and Tiankai Su and Alan Mishchenko and Maciej Ciesielski},
  title     = {Rewriting Environment for Arithmetic Circuit Verification},
  booktitle = {LPAR-22. 22nd International Conference on Logic for Programming, Artificial Intelligence and Reasoning},
  editor    = {Gilles Barthe and Geoff Sutcliffe and Margus Veanes},
  series    = {EPiC Series in Computing},
  volume    = {57},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/t9Mf},
  doi       = {10.29007/rswk},
  pages     = {656-666},
  year      = {2018}}
Download PDFOpen PDF in browser