Results 11  20
of
25
High Level Verification of Control Intensive Systems Using Predicate Abstraction
 ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
, 2003
"... Predicate abstraction has been widely used for model checking hardware/software systems. However, for control intensive systems, existing predicate abstraction techniques can potentially result in a blowup of the size of the abstract model. We deal with this problem by retaining important control va ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Predicate abstraction has been widely used for model checking hardware/software systems. However, for control intensive systems, existing predicate abstraction techniques can potentially result in a blowup of the size of the abstract model. We deal with this problem by retaining important control variables in the abstract model. By this method we avoid having to introduce an unreasonable number of predicates to simulate the behavior of the control variables. We also show how to improve predicate abstraction by extracting useful information from a high level representation of hardware/software systems. This technique works by first extracting relevant branch conditions. These branch conditions are used to invalidate spurious abstract counterexamples through a new counterexamplebased lazy refinement algorithm. Experimental results are included to demonstrate the effectiveness of our methods.
Putting Operational Techniques to the Test: A Syntactic Theory for Behavioral Verilog
"... We present a syntactic theory for the behavioral subset of the Verilog Hardware Description Language. Due to the complexity of the language, the construction of this theory represents a serious test of the suitability of syntactic operational techniques for reasoning about industrial languages. Over ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We present a syntactic theory for the behavioral subset of the Verilog Hardware Description Language. Due to the complexity of the language, the construction of this theory represents a serious test of the suitability of syntactic operational techniques for reasoning about industrial languages. Overall, we have found that these techniques are rather robust but with a few caveats. Our theory formalizes the simulation cycle explicitly, exposes a number of ambiguities and inconsistencies in the language reference manual (LRM), and is the most accurate known description of this subset of Verilog, with respect to the LRM. The syntactic theory has been used to automatically derive a simulator for Verilog. 1 Introduction Programming calculi, which concentrate on a small set of constructs that capture the "essence" of a language, commonly come equipped with syntactic theories that explain, in intuitive yet formal terms, the evaluation and optimization of programs. In principle, then, the deve...
A formal description of behavioral Verilog based on axiomatic semantics
, 1998
"... My thanks first of all to my advisor, Dr.Amr Sabry. Without his exceptional inspiration and guidance, as well as the occasional kick in the pants (much needed), this project would not exist. Thanks to Steven Sharp and Steve Meyer for their helpful correspondences and explanation of Verilog semantics ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
My thanks first of all to my advisor, Dr.Amr Sabry. Without his exceptional inspiration and guidance, as well as the occasional kick in the pants (much needed), this project would not exist. Thanks to Steven Sharp and Steve Meyer for their helpful correspondences and explanation of Verilog semantics. And thanks to the members of the Internet Verilog community of comp.lang.verilog who participated in my nonblocking assignment experiment—Hitesh Brahmbhatt, Larice Robert, Magnus Soderberg, Edward Arthur, and Robert Szczygiel. Thank you to Daryl Stewart for reading this work, and for finding two small (but important) bugs. Finally, a huge thank you to Janet, my life partner and closest friend—for being there. Dedication To my parents, who taught me to look, Bob Horn, who taught me how, and to Janet, who helped me to know what I saw.
A Calculus of Signals
, 2000
"... An elementary theory is proposed for reasoning about circuits at the timed level. Its relationship to traditional differential calculus is explored; it is applied to the analysis of circuits with feedback; and algorithms for detection of transients and hazards are given. Finally a small case study, ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
An elementary theory is proposed for reasoning about circuits at the timed level. Its relationship to traditional differential calculus is explored; it is applied to the analysis of circuits with feedback; and algorithms for detection of transients and hazards are given. Finally a small case study, of a positiveedgetriggered register, is presented. Emphasis is on the use of laws which draw on the intuition gained from traditional dierential calculus. Key words: formal methods; signal; hazard analysis; timing. 1
Combining Operational Semantics, Logic Programming and Literate Programming in the Specification and Animation of the Verilog Hardware Description Language
, 2000
"... An operational semantics for a significant subset of the Verilog Hardware Description Language (HDL) has been developed. An unusual aspect of the semantics is that it was formulated as a Prolog logic program. This allows the possibility of simulating the semantics. In addition, a literate programmin ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
An operational semantics for a significant subset of the Verilog Hardware Description Language (HDL) has been developed. An unusual aspect of the semantics is that it was formulated as a Prolog logic program. This allows the possibility of simulating the semantics. In addition, a literate programming style has been used, so the semantics can be processed by the LaTeX document preparation system with minimal and fully automated preprocessing. Bringing together the paradigms of operational semantics, logic programming and literate programming in this manner has proved a great aid in a number of ways. It has helped improve the understanding of the semantics, in the formalization of semantic aspects left informal in the original mathematical formulation of the semantics, and in the maintenance of the formal semantics and its associated informal description.
From Algebraic Semantics to Denotational Semantics for Verilog ∗
"... This paper considers how the algebraic semantics for Verilog relates with its denotational semantics. Our approach is to derive the denotational semantics from the algebraic semantics. We first present the algebraic laws for Verilog. Every program can be expressed as a guarded choice that can model ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper considers how the algebraic semantics for Verilog relates with its denotational semantics. Our approach is to derive the denotational semantics from the algebraic semantics. We first present the algebraic laws for Verilog. Every program can be expressed as a guarded choice that can model the execution of a program. In order to investigate the parallel expansion laws, a sequence is introduced, which indicates the instantaneous action is due to which exact parallel component. A normal form is defined for each program by using the locality sequence. We provide a strategy for deriving the denotational semantics based on the algebraic normal form. Using the strategy, the denotational semantics for every program can be calculated. Program equivalence can also be explored by using the derived denotational semantics. 1
A Formal Executable Semantics of Verilog
"... This paper describes a formal executable semantics for the Verilog hardware description language. The goal of our formalization is to provide a concise and mathematically rigorous reference augmenting the prose of the official language standard, and ultimately to aid developers of Verilogbased tools ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper describes a formal executable semantics for the Verilog hardware description language. The goal of our formalization is to provide a concise and mathematically rigorous reference augmenting the prose of the official language standard, and ultimately to aid developers of Verilogbased tools; e.g., simulators, test generators, and verification tools. Our semantics applies equally well to both synthesizeable and behavioral designs and is given in a familiar, operationalstyle within a logic providing important additional benefits above and beyond static formalization. In particular, it is executable and searchable so that one can ask questions about how a, possibly nondeterministic, Verilog program can legally behave under the formalization. The formalization should not be seen as the final word on Verilog, but rather as a starting point and basis for community discussions on the Verilog semantics.
A Framework for Refining Functional Specifications into Parallel Reconfigurable Hardware Implementations
, 2005
"... Reconfigurable logic devices such as the FPGA have brought about a revolution in the field of hardware design. The reduction in development costs has had a huge impact on broadening the scope of applications for which a hardware implementation is a realistic possibility. Current FPGA devices run to ..."
Abstract
 Add to MetaCart
Reconfigurable logic devices such as the FPGA have brought about a revolution in the field of hardware design. The reduction in development costs has had a huge impact on broadening the scope of applications for which a hardware implementation is a realistic possibility. Current FPGA devices run to many millions of gates, giving a huge potential for efficiency gains, benefiting from the inherently parallel nature of hardware circuits. These devices continue to grow in size, to the end that we can now seriously consider implementing even large scale systems purely in reconfigurable logic. Despite these advances, we find ourselves somewhat lacking in the tools and methodologies required to fully exploit this potential. Issues of hardware implementation and parallelism introduce significant complexity into the design process. We argue that without the correct approach, not only will this potential be under used, but the inherent complexity will undermine people’s
A DCbased Semantics for Verilog
 Published in the proceedings of the ICS2000, Yulin Feng, David Notkin and MarieClaude Gaudel (eds
, 2000
"... This paper presents a denotational semantics for the hardware description language Verilog using Duration Calculus. The language contains interesting features such as eventdriven process, sharedvariable concurrency and simulatorbased description. We examine algebraic properties of Verilog, which ..."
Abstract
 Add to MetaCart
This paper presents a denotational semantics for the hardware description language Verilog using Duration Calculus. The language contains interesting features such as eventdriven process, sharedvariable concurrency and simulatorbased description. We examine algebraic properties of Verilog, which can be used in support of program simplification and optimisation. To covert programs to normal form, we enrich the language with guarded choice and composite guard. Zhu Huibiao is a Fellow of UNU/IIST, on leave of absence from Department of Computer Science, East China Normal University, Shanghai, where he is a lecturer. Email: zhb@iist.unu.edu Copyright c fl 2000 by UNU/IIST, Zhu Huibiao and He Jifeng Contents i Contents 1 Introduction 1 2 The Semantical Model of Verilog 2 2.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 Sequential Constructs...
Our Approach
"... eated a pipelined, multiissue design. It includes Tomasulo's algorithm, memorywrite buffering, loadbypassing, external and internal exceptions, a branch prediction mechanism, speculative execution, and privileged instructions, and permits the selfmodification of program code. We included these fe ..."
Abstract
 Add to MetaCart
eated a pipelined, multiissue design. It includes Tomasulo's algorithm, memorywrite buffering, loadbypassing, external and internal exceptions, a branch prediction mechanism, speculative execution, and privileged instructions, and permits the selfmodification of program code. We included these features to ensure that we had specified a system containing a number of the features commonly found in modern microprocessor designs. Using the ACL2 logic, we specified this design both at a microarchitectural (MA) level, where all of the features just mentioned are apparent, and at the instructionset (ISA) level, where only the instruction set is specified. Using the ACL2 theoremproving system, we mechanically proved that the MA description implemented the ISA specification. Using formal techniques as an aid in hardware design is spreading. 24 The precision of using formal techniques can improve the Warren A. Hunt, Jr. IBM Austin Research Laboratory