Results 1 
3 of
3
Lava: Hardware Design in Haskell
, 1998
"... Lava is a tool to assist circuit designers in specifying, designing, verifying and implementing hardware. It is a collection of Haskell modules. The system design exploits functional programming language features, such as monads and type classes, to provide multiple interpretations of circuit descri ..."
Abstract

Cited by 113 (7 self)
 Add to MetaCart
Lava is a tool to assist circuit designers in specifying, designing, verifying and implementing hardware. It is a collection of Haskell modules. The system design exploits functional programming language features, such as monads and type classes, to provide multiple interpretations of circuit descriptions. These interpretations implement standard circuit analyses such as simulation, formal veri#cation and the generation of code for the production of real circuits.
Reasoning About Array Structures Using a Dependently Typed Logic
 In Computer Hardware Description Languages and their Applications
, 1993
"... : This paper explores the use of a dependentlytyped design logic for describing and reasoning about systolic arrays. Taking triangular arrays as an example, it is shown how they may usefully be defined in various equivalent ways and how their behaviour may be related to that of the corresponding on ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
: This paper explores the use of a dependentlytyped design logic for describing and reasoning about systolic arrays. Taking triangular arrays as an example, it is shown how they may usefully be defined in various equivalent ways and how their behaviour may be related to that of the corresponding onedimensional systolic arrays. This allows complex proofs of the properties of such (dynamic) arrays to be replaced with simpler proofs of the properties of (static) dependency graphs. As an example, the correctness of a systolic sorter is formally established. Overall it is shown that the use of dependent types for describing systolic arrays contributes significantly to the clarity and generality of their specifications. Keyword Codes: B.6.1; I.2.3; F.3.1 Keywords: Dependent types, higherorder logic, formal verification, systolic arrays. 1 Introduction Systolic arrays [8] are often of sufficient complexity that the use of formal methods to describe and reason about their behaviour can ...
Specifications of the ATM Switch Fabric in Coq
, 1997
"... this report, we consider digital circuits. Describing circuits as mathematical objects corresponds to construct accurate formal specifications of these circuits on which it becomes possible to prove correctness properties. From this point of view, formal verification of circuits amounts to develop a ..."
Abstract
 Add to MetaCart
this report, we consider digital circuits. Describing circuits as mathematical objects corresponds to construct accurate formal specifications of these circuits on which it becomes possible to prove correctness properties. From this point of view, formal verification of circuits amounts to develop a proof which states that the representation of the circuit under consideration (structural specification) satisfies the representation of its intended behaviour (behavioural specification) that is to say what one expects from the circuit to be correct. In other words, establishing the correctness of a circuit is proving that its implementation is equivalent (or at least implies) its specification.