Formal Verification of Arithmetic RTL: Translating Verilog to C++ to ACL2

09/29/2020
by   David M. Russinoff, et al.
0

We present a methodology for formal verification of arithmetic RTL designs that combines sequential logic equivalence checking with interactive theorem proving. An intermediate model of a Verilog module is hand-coded in Restricted Algorithmic C (RAC), a primitive subset of C augmented by the integer and fixed-point register class templates of Algorithmic C. The model is designed to be as abstract and compact as possible, but sufficiently faithful to the RTL to allow efficient equivalence checking with a commercial tool. It is then automatically translated to the logic of ACL2, enabling a mechanically checked proof of correctness with respect to a formal architectural specification. In this paper, we describe the RAC language, the translation process, and some techniques that facilitate formal analysis of the resulting ACL2 code.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/05/2021

Deductive Verification of Programs with Underspecified Semantics by Model Extraction

We present a novel and well automatable approach to formal verification ...
research
05/24/2022

Properties of the Hebrew Calendar

We describe an ACL2 program that implements the Hebrew calendar and the ...
research
08/01/2023

Datapath Verification via Word-Level E-Graph Rewriting

Formal verification of datapath circuits is challenging as they are subj...
research
12/28/2017

Automated Formal Equivalence Verification of Pipelined Nested Loops in Datapath Designs

In this paper, we present an efficient formal approach to check the equi...
research
04/01/2019

Theorem and Algorithm Checking for Courses on Logic and Formal Methods

The RISC Algorithm Language (RISCAL) is a language for the formal modeli...
research
03/05/2018

Teaching the Formalization of Mathematical Theories and Algorithms via the Automatic Checking of Finite Models

Education in the practical applications of logic and proving such as the...
research
06/11/2018

Michael John Caldwell Gordon (FRS 1994), 28 February 1948 – 22 August 2017

Michael Gordon was a pioneer in the field of interactive theorem proving...

Please sign up or login with your details

Forgot password? Click here to reset