Professional Documents
Culture Documents
The Ver I Log Hardware Description Language
The Ver I Log Hardware Description Language
DESCRIPTION LANGUAGE
THIRD EDITION
THE VERILOG® HARDWARE
DESCRIPTION LANGUAGE
THIRD EDITION
by
Donald E. Thomas
Carnegie Mellon University
and
Philip R. Moorby
Avid Technology, Inc.
"
~.
A C.I.P. Catalogue record for this book is available from the Library of
Congress.
It is sometimes difficult to separate the language from the simulator tool because
the dynamic aspects of the language are defined by the way the simulator works. Fur-
ther, it is difficult to separate it from a synthesis tool because the semantics of the lan-
guage become limited by what a synthesis tool allows in its input specification and
produces as an implementation. Where possible, we have stayed away from simula-
xvi The Verllog Hardware Description Language
The book takes a tutorial approach to presenting the language. Indeed, we start
with a tutorial introduction that presents, via examples, the major features of the lan-
guage. We then continue with a more complete discussion of the language constructs.
Numerous examples are provided to allow the reader to learn (and re-Iearn!) easily by
example. Finally, in the appendix we provide a fonnal description of the language.
Overall, our approach is to provide a means of learning by observing the examples,
and doing the exercises.
We have provided a set of exercises to stimulate thought while reading the book.
It is strongly recommended that you try the exercises as early as possible with the aid
of a Verilog simulator. Or, if you have your own designs, or some from a data book,
try them out too. The examples shown in the book are available in electronic fonn.
For access, refer to http://www.ece.cmu.edulfaculty/thomas.html. Alternatively, send
e-mail to thomas+verilogbookexamples@ece.cmu.edu. The examples will automati-
cally be sent back in return e-mail.
The book assumes a knowledge of introductory logic design and software pro-
gramming. As such, the book is of use to practicing integrated circuit design engi-
neers, and undergraduate and graduate electrical or computer engineering students.
The tutorial introduction provides enough infonnation for students in an introductory
logic design course to make simple use of logic simulation as part of their laboratory
experience. The rest of the book could then be used in upper level logic design and
architecture courses as it provides more in-depth coverage of the language and exam-
ples of its usage.
The book is organized into nine chapters and six appendices. We start with the
tutorial introduction to the language in chapter 1. Chapters 2 and 3 present the lan-
guage's behavioral modeling constructs, while chapter 4 presents logic level model-
ing. Chapter 5 covers advanced topics in timing and event driven simulation. Use of
the language for synthesis is presented in chapter 6. Chapters 7 and 8 then present the
more advanced topics of user-defined primitives, and switch level modeling. Chapter
9 suggests two major Verilog projects for use in a university course. The appendices
are reserved for the dryer topics typically found in a language manual; read them at
your own risk.
The authors would like to acknowledge Open Verilog International, whose role it is to
maintain and promote the Verilog standard, and the many CAD tool developers and
system designers who have contributed to the continuing development of the Verilog
language. In particular, the authors would like to thank Leigh Brady for her help in
reviewing earlier manuscripts, and Elliot Mednick for organizing the information on
the CD-ROM that comes with the book. The authors would also like to thank C. Gor-
don Bell, Giovanni De Micheli, Peter Eichenberger, Tom Fu~an, John Hagerman,
Beth Lagnese, Tom Martin, Trevor Mudge, Karem Sakallah, John Sanguinetti, Her-
man Schmit, Dave Springer, and Clovis L. Tondo for their help and suggestions. H.
Fatih Ugurdag provided us with Example 6.17.
THE VERILOG® HARDWARE
DESCRIPTION LANGUAGE
THIRD EDITION