David Van Campenhout

Learn More
We consider the problem of reasoning with linear temporal logic on truncated paths. A truncated path is a path which is finite, but not necessarily maximal. Truncated paths arise naturally in several areas, among which are incomplete verification methods (such as simulation or bounded model checking) and hardware resets. We present a formalism for reasoning(More)
Research on practical design verification techniques has long been impeded by the lack of published and yet detailed error data. Over the last few years we have systematically collected design error data from a number of academic microprocessor design projects. We present an analysis of this data and report on the lessons learned in the collection effort.(More)
A design verification methodology for microprocessor hardware based on modeling design errors and generating simulation vectors for the modeled errors via physical fault testing techniques is presented. We have systematically collected design error data from a number of microprocessor design projects. The error data is used to derive error models suitable(More)
This paper addresses test generation for design verification of pipe-lined microprocessors. To handle the complexity of these designs, our algorithm integrates high-level treatment of the datapath with low-level treatment of the controller, and employs a novel " pipe-frame " organization that exploits high-level knowledge about the operation of pipelines.(More)
Gurevich Abstract State Machines (ASMs) provide a sound mathematical basis for the specification and verification of systems. An application of the ASM methodology to the verification of a pipelined microprocessor (an ARM2 implementation) is described. Both the sequential execution model and final pipelined model are formalized using ASMs. A series of(More)
Two methods are presented for static timing verification of sequential circuits implemented as a mix of static and domino logic. Constraints for proper operation of domino gates are derived. An important observation is that input signals to domino gates may start changing near the end of the evaluate phase. The first method models domino gates explicitly,(More)
Modern hardware designs are typically based on multiple clocks. While a singly-clocked hardware design is easily described in standard temporal logics, describing a multiply-clocked design is cumbersome. Thus it is desirable to have an easier way to formulate properties related to clocks in a temporal logic. We present a relatively simple solution built on(More)
1 Syntax Boolean expression syntax varies according to the Sugar flavor used. The formal syntax definition uses the complete set {¬, ∧}, and semantics are given here only to these two operators. Semantics of any other boolean expression follow directly from these. Definition 1 (Boolean expression). – Every atomic proposition is a boolean expression. – If b,(More)