# CREST: Hardware Formal Verification with ANSI-C Reference Specifications

**Authors:** Andreas Tiemeyer, Tom Melham, Daniel Kroening, John O'Leary

arXiv: 1908.01324 · 2019-08-06

## TL;DR

CREST is a tool that extends CBMC to verify hardware datapaths specified in ANSI-C, enabling formal verification in industrial EDA environments without restricting to synthesizable subsets.

## Contribution

CREST adapts CBMC for hardware verification by supporting arbitrary ANSI-C specifications, bridging software analysis tools with hardware formal verification.

## Key findings

- Successfully verified hardware datapaths using ANSI-C specifications.
- Demonstrated compatibility with commercial EDA formal verification environments.
- Showcased effectiveness through multiple verification case studies.

## Abstract

This paper presents CREST, a prototype front-end tool intended as an add-on to commercial EDA formal verifcation environments. CREST is an adaptation of the CBMC bounded model checker for C, an academic tool widely used in industry for software analysis and property verification. It leverages the capabilities of CBMC to process hardware datapath specifications written in arbitrary ANSI-C, without limiting restrictions to a synthesizable subset. We briefly sketch the architecture of our tool and show its use in a range of verification case studies.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1908.01324/full.md

## References

10 references — full list in the complete paper: https://tomesphere.com/paper/1908.01324/full.md

---
Source: https://tomesphere.com/paper/1908.01324