Résumé
Table of contents
Foreword
Preface
1 Fundamental Concepts
- 1.1 Modeling Digital Systems
1.2 Domains and Levels of Modeling
1.3 Modeling Languages
1.4 VHDL Modeling Concepts- Elements of Behavior
Elements of Structure
Mixed Structural and Behavioral Models
Test Benches
Analysis, Elaboration and Execution
- Elements of Behavior
- 1.5 Learning a New Language: Lexical Elements and
Syntax
- Lexical Elements
Syntax Descriptions
- Lexical Elements
- Exercises
2 Scalar Data Types and Operations
- 2.1 Constants and Variables
- Constant and Variable Declarations
Variable Assignment
- Constant and Variable Declarations
- 2.2 Scalar Types
- Type Declarations
Integer Types
Floating-Point Types
Physical Types
Enumeration Types
- Type Declarations
- 2.3 Type Classification
- Subtypes
Type Qualification
Type Conversion
- Subtypes
- 2.4 Attributes of Scalar Types
2.5 Expressions and Operators
Exercises
3 Sequential Statements
- 3.1 If Statements
3.2 Case Statements
3.3 Null Statements
3.4 Loop Statements- Exit Statements
Next Statements
While Loops
For Loops
Summary of Loop Statements
- Exit Statements
- 3.5 Assertion and Report Statements
Exercises
4 Composite Data Types and Operations
- 4.1 Arrays
- Multidimensional Arrays
Array Aggregates
Array Attributes
- Multidimensional Arrays
- 4.2 Unconstrained Array Types
- Strings
Bit Vectors
Standard-Logic Arrays
String and Bit-String Literals
Unconstrained Array Ports
- Strings
- 4.3 Array Operations and Referencing
- Array Slices
Array Type Conversions
- Array Slices
- 4.4 Records
- Record Aggregates
- Exercises
5 Basic Modeling Constructs
- 5.1 Entity Declarations
5.2 Architecture Bodies- Concurrent Statements
Signal Declarations
- Concurrent Statements
- 5.3 Behavioral Descriptions
- Signal Assignment
Signal Attributes
Wait Statements
Delta Delays
Transport and Inertial Delay Mechanisms
Process Statements
Concurrent Signal Assignment Statements
Concurrent Assertion Statements
Entities and Passive Processes
- Signal Assignment
- 5.4 Structural Descriptions
- Component Instantiation and Port Maps
- 5.5 Design Processing
- Analysis
Design Libraries, Library Clauses and Use Clauses
Elaboration
Execution
- Analysis
- Exercises
6 Case Study: A Pipelined Multiplier Accumulator
- 6.1 Algorithm Outline
- MAC Entity Declaration
- 6.2 A Behavioral Model
- Testing the Behavioral Model
- 6.3 A Register-Transfer-Level Model
- Modules in the Register-Transfer-Level Model
The Register-Transfer-Level Architecture Body
Testing the Register-Transfer-Level Model
- Modules in the Register-Transfer-Level Model
- Exercises
7 Subprograms
- 7.1 Procedures
- Return Statement in a Procedure
- 7.2 Procedure Parameters
- Signal Parameters
Default Values
Unconstrained Array Parameters
Summary of Procedure Parameters
- Signal Parameters
- 7.3 Concurrent Procedure Call Statements
7.4Functions- Functional Modeling
Pure and Impure Functions
The Function Now
- Functional Modeling
- 7.5 Overloading
- Overloading Operator Symbols
- 7.6 Visibility of Declarations
Exercises
8 Packages and Use Clauses
- 8.1 Package Declarations
- Subprograms in Package Declarations
Constants in Package Declarations
- Subprograms in Package Declarations
- 8.2 Package Bodies
8.3 Use Clauses
8.4 The Predefined Package Standard
Exercises
9 Aliases
- 9.1 Aliases for Data Objects
9.2 Aliases for Non-Data Items
Exercises
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
Exercises
11 Resolved Signals
- 11.1 Basic Resolved Signals
- Composite Resolved Subtypes
Summary of Resolved Subtypes
- Composite Resolved Subtypes
- 11.2 IEEE Std_Logic_1164 Resolved Subtypes
11.3 Resolved Signals and Ports- Resolved Ports
Driving Value Attribute
- Resolved Ports
- 11.4 Resolved Signal Parameters
Exercises
12 Generic Constants
- 12.1 Parameterizing Behavior
12.2 Parameterizing Structure
Exercises
13 Components and Configurations
- 13.1 Components
- Component Declarations
Component Instantiation
Packaging Components
- Component Declarations
- 13.2 Configuring Component Instances
- Basic Configutration Declarations
Configuring Multiple Levels of Hierarchy
Direct Instantiation of Configured Entities
Generic and Port Maps in Configurations
Deferred Component Binding
- Basic Configutration Declarations
- 13.3 Configuration Specifications
- Incremental Binding
- Exercises
14 Generate Statements
- 14.1 Generating Iterative Structures
14.2 Conditionally Generating Structures- Recursive Structures
- 14.3 Configuration of Generate Statements
Exercises
15 Case Study: The DLX Computer System
- 15.1 Overview of the DLX CPU
- DLX Registers
DLX Instruction Set
DLX External Interface
- DLX Registers
- 15.2 A Behavioral Model
- The DLX Types Package
The DLX Entity Declaration
The DLX Instruction Set Package
The DLX Behavioral Architecture Body
- The DLX Types Package
- 15.3 Testing the Behavioral Model
- The Test-Bench Clock Generator
The Test-Bench Memory
The Test-Bench Architecture Body and Configuration
- The Test-Bench Clock Generator
- 15.4 A Register-Transfer-Level Model
- The Arithmetic and Logic Unit
The Registers
The Register File
The Multiplexer
The Extenders
The Architecture Body
The Controller
The Configuration Declaration
- The Arithmetic and Logic Unit
- 15.5 Testing the Register-Transfer-Level Model
Exercises
16 Guards and Blocks
- 16.1 Guarded Signals and Disconnection
- The Driving Attribute
Guarded Ports
Guarded Signal Parameters
- The Driving Attribute
- 16.2 Blocks and Guarded Signal Assignment
- Explicit Guard Signals
Disconnection Specifications
- Explicit Guard Signals
- 16.3 Using Blocks for Structural Modularity
- Generics and Ports in Blocks
Configuring Designs with Blocks
- Generics and Ports in Blocks
- Exercises
17 Access Types and Abstract Data Types
- 17.1 Access Types
- Access Type Declarations and Allocators
Assignment and Equality of Access Values
Access Types for Records and Arrays
- Access Type Declarations and Allocators
- 17.2 Linked Data Structures
- Deallocation and Storage Management
- 17.3 Abstract Data Types Using Packages
- Container ADTs
- Exercises
18 Files and Input/Output
- 18.1 Files
- File Declarations
Reading from Files
Writing to Files
Files Declared in Subprograms
Explicit Open and Close Operations
File Parameters in Subprograms
Portability of Files
- File Declarations
- 18.2 The Package Textio
- Textio Read Operations
Textio Write Operations
Reading and Writing User-Defined Types
- Textio Read Operations
- Exercises
19 Case Study: Queuing Networks
- 19.1 Queuing Network Concepts
19.2 Queuing Network Modules- Random Number Generator
A Package for Token and Arc Types
The Token Source Module
The Token Sink Module
The Queue Module
The Token Server Module
The Fork Module
The Join Module
- Random Number Generator
- 19.3 A Queuing Network for a Disk System
Exercises
20 Attributes and Groups
- 20.1 Predefined Attributes
- Attributes of Scalar Types
Attributes of Array Types and Objects
Attributes of Signals
Attributes of Named Items
- Attributes of Scalar Types
- 20.2 User-Defined Attributes
- Attribute Declarations
Attribute Specifications
The Attribute Foreign
- Attribute Declarations
- 20.3 Groups
Exercises
21Miscellaneous Topics
- 21.1 Buffer and Linkage Ports
21.2 Conversion Functions in Association Lists
21.3 Postponed Processes
21.4 Shared Variables
Exercises
A Synthesis by DAVID W. BISHOP
- A.1 Synthesis Tools
A.2 A Synthesis Subset of VHDL- EVSWG Synthesis Subsets
- A.3 Tricks and Hints
- Using IEEE Standard 1164 Logic Types
Design Partitioning
- Using IEEE Standard 1164 Logic Types
- A.4 The Draft P1076.3 Standard Synthesis Package
A.5 Examples-"Doing It Right"- Finite-State Machines
- A.6 Examples-"Doing It Wrong"
A.7 Hand Instantiation-"Doing it the hard way"
B The Predefined Package Standard
C IEEE Standard 1164
D Related Standards
- D.1 IEEE Std. 1029.1: WAVES
D.2 IEEE P1076a: Shared Variables
D.3 IEEE P1076.1: VHDL-A-Analog Extensions to VHDL
D.4 IEEE P1076.2: Standard VHDL Language Mathematical Package
D.5 IEEE P1076.3: Standard VHDL Language Synthesis Package
D.6 IEEE P1076.4: Timing Methodology (VITAL)
D.7 IEEE P1076.5: VHDL Utility Library
D.8 IEEE P1165: EDIF Interoperability
D.9 EIA-567A: Component Modeling and Interface Standard
E VHDL Syntax
- Index to Syntax Rules
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 Between VHDL-87 and VHDL-93
- Lexical Differences
Syntactic Differences
Semantic Differences
Differences in the Standard Environment
VHDL-93 Facilities Not in VHDL-87
G Answers to Exercises
References
Index
L'auteur - Peter J. Ashenden
Dr. Peter Ashenden is a Senior Lecturer in Computer Science at the University of Adelaide. He received his B.Sc.(Hons) and Ph.D. from Adelaide. His research areas are computer organization and electronic design automation. He is actively involved in IEEE working groups developing VHDL standards, and is the author of The VHDL Cookbook, The Designer's Guide to VHDL and The Student's Guide to VHDL. He is a Senior Member of the IEEE, a member of the ACM, and co-series editor for the MKP Series on Systems on Silicon.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Morgan Kaufmann |
Auteur(s) | Peter J. Ashenden |
Parution | 30/11/1995 |
Nb. de pages | 688 |
Format | 18,7 x 23,4 |
EAN13 | 9781558602700 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse