Coquet : A Coq library for verifying hardware.
Abstract
We propose a new library to model and verify hardware circuits in
the Coq proof assistant.
This library allows one to easily build circuits by following the
usual pen-and-paper diagrams. We define a deep-embedding: we use a
(dependently typed) data-type that models the architecture of
circuits, and a meaning function.
We propose tactics that ease the reasoning about the behavior of the
circuits, and we demonstrate that our approach is practicable by
proving the correctness of various circuits: a text-book divide and
conquer adder of parametric size, some higher-order combinators of
circuits, and some sequential circuits: a buffer, and a register.
- Coq sources associated with the paper : here
- Paper (accepted at CPP 2011) : .pdf
- Talk given in the CHoCoLa Seminar in Lyon on
the 13th of October, 2011) : .pdf. This talk was also
presented in the PopArt Team Seminar on the 18th of October.
- Talk given at SYNCHRON
2011 on the 29th of November, 2011) : .pdf.
- Talk given at CPP 2011 on the 9th of December, 2011) : .pdf.