Foundations of computer science
Foundations of computer science
Higher order logic and hardware verification
Higher order logic and hardware verification
Lava: hardware design in Haskell
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
The Verification of a Bit-slice ALU
Workshop on Hardware Specification, Verification and Synthesis: Mathematical Aspects
Veritas+: A Specification Language Based on Type Theory
Workshop on Hardware Specification, Verification and Synthesis: Mathematical Aspects
Circuits as Streams in Coq: Verification of a Sequential Multiplier
TYPES '95 Selected papers from the International Workshop on Types for Proofs and Programs
muFP, a language for VLSI design
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Certifying circuits in Type Theory
Formal Aspects of Computing
Geometry of synthesis: a structured approach to VLSI design
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proof producing synthesis of arithmetic and cryptographic hardware
Formal Aspects of Computing
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
A HOL theory of euclidean space
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Synchronous digital circuits as functional programs
ACM Computing Surveys (CSUR)
A proof-carrying based framework for trusted microprocessor IP
Proceedings of the International Conference on Computer-Aided Design
Hi-index | 0.00 |
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.