VHDL Design Representation and Synthesis

by ;
Edition: 2nd
Format: Paperback
Pub. Date: 2000-03-30
Publisher(s): Prentice Hall
List Price: $95.00

Rent Textbook

Select for Price
There was a problem. Please try again later.

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

eTextbook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

VHDL Design Representation and Synthesis, Second EDITION is an exceptionally clear, thorough, and up-to-date introduction to today's leading approach to hardware design: synthesis using a hardware description language and today's leading synthesis tools. Armstrong and Gray begin with an introduction to structured design, and a unified explanation of the VHDL language and its key constructs. Next, they introduce the modeling process step by step, using many examples at varying levels of abstraction, and demonstrate techniques designed to maximize both simulation efficiency and compatibility with synthesis tools. bull; bull;Design tools: editors, simulators, checkers, analyzers, optimizers, and synthesizers bull;VHDL: major constructs, lexical description, source files, data types, data objects, statements, and advanced features bull;Fundamental VHDL modeling techniques: propagation and time delay, concurrency, scheduling, combinational logic, sequential logic, and primitives bull;Integrating VHDL into the design flow, from executable specifications at the algorithmic level through implementations at the gate or cell level bull;Modling PLDs, gate arrays, FPGAs (using Xilinx tools) and standard cells (using Synopsys tools) This EDITION contains extensive new coverage of multilevel modeling, design with standard parts and ASICs data and control unit design, modeling for synthesis, and more. Review problems are included in each chapter, and over 300 references are provided. If you intEND to design with VHDL, this is the book to start with.

Author Biography

Dr. James R. Armstrong and Dr. F. Gail Gary are Professors of Electrical and Computer Engineering at Virginia Tech

Table of Contents

Preface xi
Structured Design concepts
1(16)
The Abstraction Hierarchy
1(4)
Textual vs. Pictorial Representations
5(2)
Types of Behavioral Descriptions
7(1)
Design Process
8(1)
Structural Design Decomposition
9(2)
The Digital Design Space
11(6)
Design Tools
17(24)
CAD Tool Taxonomy
17(2)
Editors
18(1)
Simulators
18(1)
Checkers and Analyzers
18(1)
Optimizers and Synthesizers
18(1)
Cad Systems
18(1)
Schematic Editors
19(3)
Simulators
22(5)
Simulation Cycle
24(1)
Simulator Organization
25(1)
Language Scheduling Mechanism
25(1)
Simulation Efficiency
25(2)
The Simulation System
27(1)
Simulation Aids
28(4)
Model Preparation
28(1)
Model Test Vector Development
29(1)
Model Debugging
29(2)
Results Interpretation
31(1)
Applications of Simulation
32(1)
Synthesis Tools
33(8)
Basic Features of VHDL
41(94)
Major Language Constructs
43(8)
Design Entities
43(1)
Architectural Bodies
44(4)
Model Testing
48(1)
Block Statements
49(1)
Processes
50(1)
Lexical Description
51(6)
Character Set
52(1)
Lexical Elements
52(1)
Delimiters
53(1)
Identifiers
53(1)
Comments
54(1)
Character Literal
55(1)
String Literal
55(1)
Bit String Literal
55(1)
Abstract Literal
56(1)
Decimal Literal
56(1)
Based Literal
56(1)
VHDL Source File
57(1)
Data Types
57(11)
Classification of Types
58(1)
Scalar Data Types
58(6)
Composite Data Types
64(4)
Access Types
68(1)
File Types
68(1)
Type Marks
68(1)
Data Objects
68(4)
Classes of Objects
68(1)
Declaration of Data Objects
69(3)
Language Statements
72(24)
Assignment Statements
72(5)
Operators and Expressions
77(6)
Sequential Control Statements
83(3)
Architecture Declarations and Concurrent Statements
86(4)
Subprograms
90(6)
Advanced Features of VHDL
96(18)
Overloading
96(3)
Packages
99(1)
Visibility
100(3)
Libraries
103(1)
Configurations
104(3)
File I/O
107(7)
The Formal Nature of VHDL
114(1)
VHDL 93
115(7)
Lexical Character Set
115(1)
Syntax Changes
115(1)
Process and Signal Timing and New Signal Attributes
116(2)
New Operators
118(1)
Improvements to Structural Models
118(1)
Shared Variables
119(1)
Improved Reporting Capability
120(1)
General Programming Features
120(1)
File I/O
121(1)
Groups
122(1)
Extension of Bit String Literals
122(1)
Additions and Changes to Package Standard
122(1)
Summary
122(13)
Basic VHDL Modeling Techniques
135(50)
Modeling Delay in VHDL
135(12)
Propagation Delay
135(3)
Delay and Concurrency
138(2)
Sequential and Concurrent Statements in VHDL
140(1)
Implementation of Time Delay in the VHDL Simulator
141(5)
Inertial and Transport Delay in Signal Propagation
146(1)
The VHDL Scheduling Algorithm
147(3)
Waveform Updating
147(3)
Side Effects
150(1)
Modeling Combinational and Sequential Logic
150(3)
Logic Primitives
153(32)
Combinational Logic Primitives
153(10)
SEQUENTIAL LOGIC
163(5)
Testing Models: Test Bench Development
168(17)
Algorithmic Level Design
185(52)
General Algorithmic Model Development in the Behavioral Domain
186(12)
Process Model Graph
187(2)
Algorithmic Model of a Parallel to Serial Converter
189(3)
Algorithmic Models with Timing
192(3)
Checking Timing
195(3)
Representation of System Interconnections
198(6)
Comprehensive Algorithmic Modeling Example
199(5)
Algorithmic Modeling of Systems
204(33)
Multivalued Logic Systems
204(8)
Comprehensive System Example
212(10)
Time Multiplexing
222(15)
Register Level Design
237(24)
Transition from Algorithmic to Data Flow Descriptions
237(4)
Transformation Example
238(3)
Timing Analysis
241(2)
Control Unit Design
243(2)
Types of Control Units
243(2)
Ultimate RISC Machine
245(16)
Single URISC Instruction
246(1)
URISC Architecture
246(2)
URISC Control
248(4)
URISC System
252(1)
Design of the URISC at the Register Level
252(2)
Microcoded Controller for the URISC Processor
254(2)
Hardwired Controller for the URISC Processor
256(5)
Gate Level and ASIC Library Modeling
261(54)
Accurate Gate Level Modeling
261(16)
Asymmetric Timing
262(2)
Load Sensitive Delay Modeling
264(5)
ASIC Cell Delay Modeling
269(3)
Back Annotation of Delays
272(3)
Vital: A Standard for the Generation of VHDL Models of Library Elements
275(2)
Error Checking
277(3)
Multivalued Logic for Gate Level Modeling
280(12)
Additional Values for MOS Design
280(1)
Generalized State/Strength Model
281(5)
Interval Logic
286(1)
Vantage System
286(3)
Multivalued Gate-Level Models
289(3)
Accurate Delay Modeling
292(1)
Configuration Declarations for Gate Level Models
292(7)
Default Configuration
296(1)
Configurations and Component Libraries
297(2)
Modeling Races and Hazards
299(8)
Approaches to Delay Control
307(8)
HDL-Based Design Techniques
315(62)
Design of Combinational Logic Circuits
315(14)
Combinational Logic Design at the Algorithmic Level
316(7)
Design of Data Flow Models of Combinational Logic in the Behavioral Domain
323(1)
Synthesis of Gate-Level Structural Domain Combinational Logic Circuits
324(5)
Summary of Design Activity for Combinational Logic Circuits
329(1)
Design of Sequential Logic Circuits
329(16)
Moore of Mealy Decision
332(1)
Construction of a State Table
333(1)
Creating a State Diagram
333(3)
Transition List Approach
336(1)
Creating a VHDL Model for State Machines
337(6)
Synthesis of VHDL State Machine Models
343(2)
Design of Microprogrammed Control Units
345(32)
Interface Between Controller and Device
345(1)
Comparison of Hardwired and Microprogrammed Control Units
345(3)
Basic Microprogrammed Control Unit
348(1)
Algorithmic-Level Model of BMCU
349(1)
Design of Microprogrammed Controllers for State Machines
350(8)
Generalities and Limitations of Microprogrammed Control Units
358(3)
Alternative Condition Select Methods
361(3)
Alternative Branching Methods
364(13)
ASICs and the ASIC Design Process
377(52)
What is an ASIC?
377(2)
ASIC Circuit Technology
379(2)
CMOS Switches
380(1)
Types of ASICs
381(21)
PLDs
381(1)
Field Programmable Gate Arrays
381(11)
Gate Arrays
392(2)
Standard Cells
394(4)
Full Custom Chips
398(1)
Relative Cost of ASICs and FPGAs
399(3)
The ASIC Design Process
402(16)
Standard Cell ASIC Synthesis
404(11)
Post Synthesis Simulation
415(3)
FPGA Synthesis
418(11)
FPGA Example
419(5)
Comparison with an ASIC Design
424(5)
Modeling for Synthesis
429(60)
Behavioral Model Development
429(10)
Creation of the Initial Behavioral Model
430(1)
Application-Domain Tools
431(3)
Language-Domain Modeling
434(3)
Modeling and Model Efficiency
437(1)
Application-Domain vs. Language-Domain Modeling
438(1)
The Semantics of Simulation and Synthesis
439(16)
Delay in Models
444(11)
Data Types
455(1)
Modeling Sequential Behavior
455
Modeling Combinational Circuits for Synthesis
452(13)
Synthesis of Arithmetic Circuits
457(2)
Hierarchical Arithmetic Circuit: BCD to Binary Converter
459(1)
Synthesis of Hierarchical Circuits
460(5)
Inferred Latches and Don't Cares
465(4)
Tristate Circuits
469(2)
Shared Resources
471(1)
Flattening and Structuring
472(2)
Effect of Modeling Style On Circuit Complexity
474(15)
Effect of Selection of Individual Construct
474(2)
Effect of General Modeling Approach
476(13)
Integration of VHDL into a Top-Down Design Methodology
489(64)
Top-Down Design Methodology
489(3)
Sobel Edge Detection Algorithm
492(3)
System Requirements Level
495(4)
Written specifications
495(1)
Requirements Repository
495(4)
System Definition Level
499(24)
Executable Specification
499(9)
Test Bench Development for Executable Specifications
508(15)
Architecture Design
523(7)
System Level Decomposition
523(4)
Hierarchical Decomposition
527(2)
Methodology for Development of Test Benches for a Hierarchical Structural Model
529(1)
Detailed Design at the RTL Level
530(15)
Register Transfer Level Design
531(7)
Simulating structural Models Using Components with Different Data Types
538(6)
Test Bench Development at the RTL
544(1)
Detailed Design at the Gate Level
545(8)
Gate-Level Design of Horizontal Filter
545(1)
Optimization of Gate-Level Circuits
545(2)
Gate-Level Testing
547(1)
Methodology for Back Annotation
548(5)
Synthesis Algorithms for Design Automation
553(70)
Benefits of Algorithmic Synthesis
553(1)
Algorithmic Synthesis Tasks
554(11)
Compilation of VHDL Description into an Internal Format
556(1)
Scheduling
556(1)
Allocation
557(1)
Interaction of Scheduling and Allocation
558(4)
Gantt Charts and Utilization
562(1)
Creating FSM VHDL from an Allocation Graph
563(2)
Scheduling Techniques
565(9)
Transformational Scheduling
566(1)
Iterative/Constructive Scheduling
567(1)
ASAP Scheduling
567(1)
ALAP Scheduling
568(2)
List Scheduling
570(3)
Freedom-Directed Scheduling
573(1)
Allocation Techniques
574(26)
Greedy Allocation
574(1)
Allocation by Exhaustive Search
575(1)
Left Edge Algorithm
575(2)
Assigning Functional Units and Interconnection Paths
577(5)
Analysis of the Allocation Process
582(2)
Nearly Minimal Cluster Partitioning Algorithm
584(5)
Profit Directed Cluster Partitioning Algorithm (PDCPA)
589(11)
State of the Art in High-Level Synthesis
600(2)
Automated Synthesis of VHDL Constructs
602(21)
Constructs that Involve Selection
602(1)
Mapping case Statements to Multiplexers
602(2)
Mapping if...then...else Statements to Multiplexers
604(1)
Mapping Indexed Vector References to Multiplexers
605(1)
Loop Constructs
605(4)
Functions and Procedures
609(14)
References 623(10)
Index 633(20)
About the Authors 653(3)
About the CD 656

Excerpts

Preface The purpose of this book is to integrate hardware description languages into the digital design process at all levels of abstraction. There are two main steps in this process: (1) development of a hardware description language model and (2) synthesis of the model into an ASIC logic circuit or FPGAs. In teaching this process, we use VHDL, the VHSIC Hardware Description Language. VHDL, whose development began in 1983 under DOD sponsorship, was further developed by the IEEE and released as IEEE Standard 1076 in 1987. Further improvements were incorporated since then and the language was re-released as an updated standard in 1993. Since that time, VHDL has evolved into a de facto industry standard for hardware description languages. In the opinion of the authors, it has the most comprehensive set of modeling constructs available in any hardware description language. For these reasons, VHDL was chosen as the base language for this book. We explore the language in an in-depth, unified manner. Most books currently on the market that treat hardware description languages, particularly VHDL, are either: (1) language texts that cover the VHDL language thoroughly, but do not show how to integrate the language into the digital design process, or (2) logic design books that primarily use VHDL models as simulation tools to validate designs that are produced in the classical manner. This book fully integrates VHDL into the design process starting with a high-level executable model that provides an unambiguous, executable version of the specification, and concluding with a gate-level implementation. In this book, synthesis is viewed as a multistep process, beginning with an English description which is transformed first into VHDL and then from VHDL into a circuit schematic. We discuss synthesis from two viewpoints: 1) the mappings: emphasis is placed on understanding the relationship between VHDL language constructs and the implied logic circuit. A full chapter is devoted to correct modeling style for synthesis; 2) the tools: we illustrate the synthesis process using two very popular tool sets, the Synopsys Design Analyzer and Compiler (for ASICs) and the Xilinx Foundation Series (for FPGAs). Since ASICs and FPGAs are the targets, a chapter is devoted to these technologies. The book also contains a chapter illustrating the complete top-design design process from specification to logic synthesis. This book is written for three main educational purposes: (1) for a second course in logic design for undergraduate students in Electrical Engineering, Computer Engineering, and Computer Science; (2) for a graduate course dealing with hardware description languages and other design aids; and (3) for practicing engineers who wish to learn about design with hardware description languages. Thus the assumed background for the book is (1) a basic course in computer organization and logic design and (2) some knowledge of high-level languages, such as C, C++, or JAVA. The authors use the text in a course, which is the second course in a logic design sequence. The students are either juniors in Computer Engineering, for whom the course is required, or Electrical Engineering seniors, for whom the course is an elective. In this semester length course we cover Chapters 1, 2, 3, 4, 5, 9, 10, and 11. The emphasis is on developing VHDL models in a conservative algorithmic style that can be synthesized. To support this in the laboratory, we use a PC version of ViewLogic, Inc.''s Workview for VHDL modeling and simulation and schematic capture. Xilinx software and XS40/XTEND boards are used for FPGA synthesis. We also em-ploy System View from Elanix to provide for high-level design of digital filters. Workstation-based Synopsys tools are used for ASIC synthesis. All students in our department have their own PCs, so the use of a PC-based system such as Workview has been effective in being able to serve the large number of students we normally teach in our second digital design course. For this same reason, we use telnet and dc_shell scripts for Synopsys synthesis. Typical assignments include: An introductory assignment to familiarize students with Workview''s VHDL modeling, simulation and schematic capture environment. An assignment to develop and simulate a single VHDL behavioral model. An assignment to develop a model of a counter, or some similar circuit. VHDL behavioral models are developed for counter flip-flops and gates, and the schematic capture capability of Workview is used to construct the structural model of the counter. An assignment to translate a system description is first translated into a VHDL behavioral model which is simulated. This is typically a state machine such as an interface protocol, a vending machine, or a traffic light controller. An introductory tutorial to the Xilinx Foundation Series Software. An assignment to implement a small circuit in both Synopsys ASIC logic and FPGAs and compare speed of execution. A fairly complicated FPGA project such as a booth multiplier, calculator, small processor, digital filter, or graphics display. For the filter, the codec on the XSTEND board is used for A/D and D/A comversion. The Xilinx filter code is developed using System View. The graphics display displays a pattern stored in RAM on a VGA monitor. If used for a graduate course, the entire book can be covered in one semester. In such a course, one can cover the broad range of constructs in the language and examine in detail the language semantics for both simulation and synthesis. In our graduate course at Virginia Tech, we synthesize with Synopsys and validate synthesized models. We study ways to control the synthesis to achieve optimum circuits in a delay or area sense. High-level modeling tools such as Express VHDL, SPW, and System View are also covered. A comparison is done between VHDL and Verilog. For this course, the student''s laboratory assignments include: An assignment to develop and simulate a single VHDL behavioral model. An assignment to develop a model of a counter or some similar circuit. VHDL behavioral models are developed for counter flip-flops and gates, and then a VHDL structural model is developed for the whole system. An assignment involving complex data types, e.g., using array aggregates and record types to implement a tabular representation of a finite state machine. A system modeling assignment that involves the use of bus resolution and bus protocols. This system employs the IEEE 9 valued logic system. Examples include the URISC processor system in Chapter 6 or a histogram construction system for image processing. An assignment where a model is written, simulated, and synthesized using both VHDL and Verilog and comparison''s made A semester project where the students model a system of their choice. One can choose projects, which stretch the language, i.e., involve applications that are not typical, such as modeling parallel processing systems or modeling systems which are not digital. The book contains hundreds of VHDL models and code fragments. All code has been analyzed, and simulated, and synthesized (where required), using the Synopsys VHDL system. The only exception to this is the VHDL 93 code. In addition, the text contains over 300 homework problems with a wide range of difficulty. Types of problems include short answer questions, simple design problems, complex system design problems involving design, modeling, and simulation, and problems that require a study of a design or design tool issue. Some problems in this latter category would make good thesis projects! Accompanying the book is a CD-ROM. On the CD are: 1) source files for all VHDL code in the book, 2) a set of projects accompanied by supporting data command files, an

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.