A Proof-Producing Translator for Verilog Development in HOL
Paper in proceeding, 2019

We present an automatic proof-producing translator targeting the hardware description language Verilog. The tool takes a circuit represented as a HOL function as input, translates the input function to a Verilog program and automatically proves a correspondence theorem between the input function and the output Verilog program ensuring that the translation is correct. As illustrated in the paper, the generated correspondence theorems furthermore enable transporting circuit reasoning from the HOL level to the Verilog level. We also present a formal semantics for the subset of Verilog targeted by the translator, which we have developed in parallel with the translator. The semantics is based on the official Verilog standard and is, unlike previous formalization efforts, designed to be usable for automated and interactive reasoning without sacrificing a clear correspondence to the standard. To illustrate the translator's applicability, we describe case studies of a simple verified processor and verified regexp matchers and synthesize them for two FPGA boards. The development has been carried out in the HOL4 theorem prover.

hardware verification

interactive theorem proving

verilog

Author

Andreas Lööw

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

Magnus Myreen

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

Proceedings - 2019 IEEE/ACM 7th International Workshop on Formal Methods in Software Engineering, FormaliSE 2019

99-108 8807452

7th IEEE/ACM International Workshop on Formal Methods in Software Engineering, FormaliSE 2019
Montreal, Canada,

Subject Categories

Language Technology (Computational Linguistics)

Embedded Systems

Computer Systems

DOI

10.1109/FormaliSE.2019.00020

More information

Latest update

11/20/2019