The Designer's Guide to VHDL

The Designer's Guide to VHDL

2nd Edition - May 29, 2001

Write a review

  • Author: Peter Ashenden
  • eBook ISBN: 9780080477152

Purchase options

Purchase options
DRM-free (EPub, Mobi, PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


Since the publication of the first edition of The Designer's Guide to VHDL in 1996, digital electronic systems have increased exponentially in their complexity, product lifetimes have dramatically shrunk, and reliability requirements have shot through the roof. As a result more and more designers have turned to VHDL to help them dramatically improve productivity as well as the quality of their designs.VHDL, the IEEE standard hardware description language for describing digital electronic systems, allows engineers to describe the structure and specify the function of a digital system as well as simulate and test it before manufacturing. In addition, designers use VHDL to synthesize a more detailed structure of the design, freeing them to concentrate on more strategic design decisions and reduce time to market. Adopted by designers around the world, the VHDL family of standards have recently been revised to address a range of issues, including portability across synthesis tools.This best-selling comprehensive tutorial for the language and authoritative reference on its use in hardware design at all levels--from system to gates--has been revised to reflect the new IEEE standard, VHDL-2001. Peter Ashenden, a member of the IEEE VHDL standards committee, presents the entire description language and builds a modeling methodology based on successful software engineering techniques. Reviewers on have consistently rated the first edition with five stars. This second edition updates the first, retaining the authors unique ability to teach this complex subject to a broad audience of students and practicing professionals.

Key Features

* Details how the new standard allows for increased portability across tools.
* Covers related standards, including the Numeric Synthesis Package and the Synthesis Operability Package, demonstrating how they can be used for digital systems design.
* Presents four extensive case studies to demonstrate and combine features of the language taught across multiple chapters.
* Requires only a minimal background in programming, making it an excellent tutorial for anyone in computer architecture, digital systems engineering, or CAD.


Database programmers; application developers

Table of Contents

  • 1 Fundamental Concepts

    1.1 Modeling Digital Systems

    1.2 Domains and Levels of Modeling

    1.3 Modeling Languages

    1.4 VHDL Modeling Concepts

    1.5 Learning a New Language: Lexical Elements and Syntax


    2 Scalar Data Types and Operations

    2.1 Constants and Variables

    2.2 Scalar Types

    2.3 Type Classification

    2.4 Attributes of Scalar Types

    2.5 Expressions and Operators


    3 Sequential Statements

    3.1 If Statements

    3.2 Case Statements

    3.3 Null Statements

    3.4 Loop Statements

    3.5 Assertion and Report Statements


    4 Composite Data Types and Operations

    4.1 Arrays

    4.2 Unconstrained Array Types

    4.3 Array Operations and Referencing

    4.4 Records


    5 Basic Modeling Constructs

    5.1 Entity Declarations

    5.2 Architecture Bodies

    5.3 Behavioral Descriptions

    5.4 Structural Descriptions

    5.5 Design Processing


    6 Case Study: A Pipelined Multiplier Accumulator

    6.1 Algorithm Outline

    6.2 A Behavioral Model

    6.3 A Register-Transfer-Level Model


    7 Subprograms

    7.1 Procedures

    7.2 Procedure Parameters

    7.3 Concurrent Procedure Call Statements

    7.4 Functions

    7.5 Overloading

    7.6 Visibility of Declarations


    8 Packages and Use Clauses

    8.1 Package Declarations

    8.2 Package Bodies

    8.3 Use Clauses

    8.4 The Predefined Package Standard

    8.5 IEEE Standard Packages


    9 Aliases

    9.1 Aliases for Data Objects

    9.2 Aliases for Non-Data Items


    10 Case Study: A Bit-Vector Arithmetic Package

    10.1 The Package Interface

    10.2 The Package Body

    10.3 An ALU Using the Arithmetic Package


    11 Resolved Signals

    11.1 Basic Resolved Signals

    11.2 IEEE Std_Logic_1164 Resolved Subtypes

    11.3 Resolved Signals and Ports

    11.4 Resolved Signal Parameters


    12 Generic Constants

    12.1 Parameterizing Behavior

    12.2 Parameterizing Structure


    13 Components and Configurations

    13.1 Components

    13.2 Configuring Component Instances

    13.3 Configuration Specifications


    14 Generate Statements

    14.1 Generating Iterative Structures

    14.2 Conditionally Generating Structures

    14.3 Configuration of Generate Statements


    15 Case Study: The DLX Computer System

    15.1 Overview of the DLX CP

    15.2 A Behavioral Model

    15.3 Testing the Behavioral Model

    15.4 A Register-Transfer-Level Model

    15.5 Testing the Register-Transfer-Level Model


    16 Guards and Blocks

    16.1 Guarded Signals and Disconnection

    16.2 Blocks and Guarded Signal Assignment

    16.3 Using Blocks for Structural Modularity


    17 Access Types and Abstract Data Types

    17.1 Access Types

    17.2 Linked Data Structures

    17.3 Abstract Data Types Using Packages


    18 Files and Input/Output

    18.1 Files

    18.2 The Package Textio


    19 Case Study: Queuing Networks

    19.1 Queuing Network Concepts

    19.2 Queuing Network Modules

    19.3 A Queuing Network for a Disk System


    20 Attributes and Groups

    20.1 Predefined Attributes

    20.2 User-Defined Attributes


    21 Miscellaneous Topics

    21.1 Buffer and Linkage Ports

    21.2 Conversion Functions in Association Lists

    21.3 Postponed Processes

    21.4 Shared Variables


    A Synthesis

    A.1 Use of Data Types

    A.2 Interpretation of Standard Logic Values

    A.3 Modeling Combinatorial Logic

    A.4 Modeling Sequential Logic

    A.5 VHDL Modeling Restrictions

    B The Predefined Package Standard

    C IEEE Standard Packages

    C.1 Std_Logic_1164 Multiv-Value Logic System

    C.2 Standard 1076.3 VHDL Synthesis Packages

    C.3 Standard 1076.2 VHDL Mathematical Packages

    D Related Standards

    D.1 IEEE VHDL Standards

    D.2 Other Design Automation Standards

    E VHDL Syntax

    E.1 Design File

    E.2 Library Unit Declarations

    E.3 Declarations and Specifications

    E.4 Type Definitions

    E.5 Concurrent Statements

    E.6 Sequential Statements

    E.7 Interfaces and Associations

    E.8 Expressions

    F Differences

    G Answers to Exercises



Product details

  • No. of pages: 768
  • Language: English
  • Copyright: © Morgan Kaufmann 2001
  • Published: May 29, 2001
  • Imprint: Morgan Kaufmann
  • eBook ISBN: 9780080477152

About the Author

Peter Ashenden

Peter J. Ashenden received his B.Sc.(Hons) and Ph.D. from the University of Adelaide, Australia. He was previously a senior lecturer in computer science and is now a Visiting Research Fellow at the University of Adelaide. His research interests are computer organization and electronic design automation. Dr. Ashenden is also an independent consultant specializing in electronic design automation (EDA). He is actively involved in IEEE working groups developing VHDL standards, is the author of The Designer's Guide to VHDL and The Student's Guide to VHDL and co-editor of the Morgan Kaufmann series, Systems on Silicon. He is a senior member of the IEEE and a member of the ACM.

Affiliations and Expertise

Adjunct Associate Professor, School of Computer Science, University of Adelaide, Australia

Ratings and Reviews

Write a review

There are currently no reviews for "The Designer's Guide to VHDL"