Muutke küpsiste eelistusi

Practical Digital Design: An Introduction to VHDL [Kõva köide]

  • Formaat: Hardback, 440 pages, kõrgus x laius x paksus: 241x200x29 mm, kaal: 418 g, 225 illustrations
  • Ilmumisaeg: 30-Jul-2022
  • Kirjastus: Purdue University Press
  • ISBN-10: 1612497667
  • ISBN-13: 9781612497662
  • Formaat: Hardback, 440 pages, kõrgus x laius x paksus: 241x200x29 mm, kaal: 418 g, 225 illustrations
  • Ilmumisaeg: 30-Jul-2022
  • Kirjastus: Purdue University Press
  • ISBN-10: 1612497667
  • ISBN-13: 9781612497662
In his introduction to Very-high-level Hardware Description Language (VHDL), Reidenbach has in mind electrical or computer engineering students in their second or third year, but says the treatment could also be useful to any engineer exploring the use of VHDL as a digital design vehicle. He assumes readers to have prior experience-either academically or professionally-in software programming using a language such as C, and in Boolean logic design. His topics include the VHDL design environment, modeling case studies, test bench development, specialized code examples, and design reuse. Annotation ©2022 Ringgold, Inc., Portland, OR (protoview.com)

The VHSIC Hardware Description Language (VHDL) is one of the two most popular languages used to design digital logic circuits. This book provides a comprehensive introduction to the syntax and the most commonly used features of VHDL. It also presents a formal digital design process and the best-case design practices that have been developed over more than twenty-five years of VHDL design experience by the author in military ground and satellite communication systems. Unlike other books on this subject, this real-world professional experience captures not only the what of VHDL, but also the how. Throughout the book, recommended methods for performing digital design are presented along with the common pitfalls and the techniques used to successfully avoid them. Written for students learning VHDL for the first time as well as professional development material for experienced engineers, this book’s contents minimize design time while maximizing the probability of first-time design success.
Preface xiii
Acknowledgments xv
About The Author xvii
Chapter 1 Introduction
1(14)
Target Audience
1(1)
A Brief History of Digital Design
2(6)
The Need for a Hardware Description Language
8(1)
A Brief Tour of a VHDL Model
9(6)
Chapter 2 Signals, Time, And The Simulation Cycle
15(18)
Signals
15(4)
Events
18(1)
Drivers
18(1)
Delta Time
19(2)
The Simulation Cycle
21(12)
Chapter 3 The Vhdl Design Environment
33(24)
Modeling Styles
33(1)
Design Flow
34(1)
Data Types
35(4)
Type Definition
36(1)
Vector Data Types
37(2)
Operators and Precedence
39(3)
Design Libraries
42(1)
Predefined Packages
43(6)
Standard Package
43(1)
STD_LOGIC_1164 Package
44(2)
Numeric_STD Package
46(2)
Textio Package
48(1)
Type Conversion
49(1)
Type Qualification
50(1)
Attributes
51(1)
VHDL Language Versions
52(1)
Coding Style
52(5)
Vertical Alignment
53(1)
VHDL Identifier Naming Rules
53(1)
Comments
54(3)
Chapter 4 Declarations
57(12)
Syntax Notation
57(1)
Object Declaration Syntax
58(1)
Custom Type Declarations
58(8)
Integer Types
59(1)
Floating Point Types
60(1)
Enumerated Types
61(1)
Array Types
62(1)
Record Types
63(1)
Physical Types
64(1)
Access Types
65(1)
Alias Declarations
66(3)
Chapter 5 Libraries And Design Units
69(16)
Library Units
69(12)
Entity Declaration
69(2)
Ports
71(3)
Generics
74(1)
Architecture Declaration
75(3)
Package Declaration
78(1)
Package Body Declaration
79(2)
Configuration Declaration
81(1)
Design Units
81(1)
Context Clause
82(1)
Summary
83(2)
Chapter 6 Concurrent Statements
85(22)
Conditional Signal Assignment Statement
85(3)
Selected Signal Assignment Statement
88(2)
Waveform Specification
90(2)
Delay Models
91(1)
Generate Statement
92(2)
Concurrent Assertion Statement
94(1)
Component Instantiation
95(6)
Component Declaration
96(1)
Configuration Specification
97(1)
Component Instantiation Statement
98(2)
Direct Entity Instantiation
100(1)
Block Statement
101(1)
Process Statement
102(2)
Summary
104(3)
Chapter 7 Sequential Statements
107(12)
Null Statement
107(1)
Wait Statement
108(1)
If Statement
109(1)
Case Statement
110(1)
Loop Statement
111(2)
Loop Control Statements
112(1)
Assertion and Report Statements
113(1)
Signal Assignment
114(2)
Variable Assignment
116(1)
Summary
117(2)
Chapter 8 The Process Statement
119(26)
Process Review
121(1)
Combinatorial Logic
122(1)
Level Sensitive Latches
123(1)
Clocked Logic
124(7)
Process Examples
131(10)
Register Files
131(1)
Shift Registers
132(3)
Adders
135(3)
Counters
138(1)
State Machines
139(1)
Memory Arrays
140(1)
Process Construction Guidelines
141(1)
Summary
142(3)
Chapter 9 Modeling Case Studies
145(14)
Modeling Style
145(2)
Binary Adder
147(5)
Behavioral Model
148(1)
Synthesizable Model
149(2)
Structural Model
151(1)
Summary
152(1)
Engine Management System
152(7)
Chapter 10 Subprograms
159(18)
Functions
159(6)
Return Statements
161(1)
Examples
161(2)
Overloading
163(1)
Pure versus Impure Functions
163(2)
Procedures
165(10)
Return Statements
169(1)
Parameter Passing Details
170(1)
Signal Parameters
171(1)
Concurrent Procedure Calls
172(2)
Procedures as Functions
174(1)
Summary
175(2)
Chapter 11 Simulation And Test Benches
177(26)
Simulation
177(2)
Simulation Phases
178(1)
Test Benches
179(9)
Test Bench Control
180(3)
Races
183(3)
Input Drivers
186(1)
Output Monitors
187(1)
Test Bench Example
188(3)
Test Bench Types
191(10)
Directed Testing
192(3)
Constrained Random Testing
195(3)
Golden Vectors
198(3)
Combination Test Benches
201(1)
Summary
201(2)
Chapter 12 Test Bench Development
203(12)
Test Bench Templates
203(7)
Regression Testing
210(2)
Test Suites
212(1)
Code Coverage
213(1)
Summary
213(2)
Chapter 13 Test Bench Case Studies
215(20)
Clocked Full Adder
215(7)
Engine Management System
222(11)
Summary
233(2)
Chapter 14 Logic Synthesis
235(12)
Synthesis Phases
236(1)
Synthesis Steps
237(8)
Synthesis
238(1)
Implementation
239(1)
Implementation Checks
240(1)
Device Programming
241(1)
Quartus Prime Synthesis Steps
242(3)
Summary
245(2)
Chapter 15 Asic and Fpga Technology
247(16)
Digital Logic Technology
247(1)
CMOS Technology
248(2)
ASIC Implementation
250(1)
Gate Arrays
251(3)
FPGAs
254(6)
Summary
260(3)
Chapter 16 Synthesis Code Examples
263(44)
Concurrent Logic
263(1)
Data Multiplexers
264(2)
Register Files
266(2)
Shift Registers
268(5)
Adders
273(14)
Addition
273(3)
Subtraction
276(3)
Overflow Protection
279(4)
Addition/Subtraction
283(4)
Counters
287(4)
Clock Dividers
291(5)
Loop Unrolling
296(3)
Tri-State I/O Drivers
299(1)
A More Complex Example
300(4)
Summary
304(3)
Chapter 17 Specialized Code Examples
307(20)
FPGA Resources
307(1)
Multipliers
308(3)
Multiply/Accumulate
311(2)
RAM Blocks
313(4)
Distributed RAM
314(1)
Block RAM
315(2)
ROM Blocks
317(2)
RAM Design Examples
319(6)
RAM-Based Shift Register
319(2)
RAM-Based FIFO Buffer
321(4)
Summary
325(2)
Chapter 18 State Machines
327(26)
State Machine Basics
327(2)
State Machine Design
329(6)
Inputs and Outputs
335(3)
Design Example
338(11)
Summary
349(4)
Chapter 19 Functional Decomposition
353(8)
The Functional Decomposition Process
353(2)
Examples
355(4)
Summary
359(2)
Chapter 20 Filter Design Example
361(26)
Background
361(2)
Functional Decomposition
363(7)
Logic Design
370(5)
Test Bench Development
375(5)
Logic Synthesis
380(1)
Architecture Improvement
381(4)
Summary
385(2)
Chapter 21 Design Reuse
387(20)
Generics
387(2)
Test Benches
389(1)
Data Handshaking
390(2)
Design Example
392(12)
Summary
404(3)
Appendix A Coding Style Guidelines
407(2)
Appendix B Functional Description Example
409(6)
SPI Interface
411(4)
Appendix C Vhdl Reserved Words
415(2)
Statement Index 417(2)
Subject Index 419
Bruce Reidenbach has almost forty years of professional experience designing custom digital integrated circuits and FPGAs for military ground and satellite communication systems. His early experience used the paper and pencil logic diagram design process. He transitioned to designing exclusively in VHDL in 1994. He retired from full-time engineering in 2018 and currently teaches an introductory VHDL class at Purdue University Fort Wayne. He continues to perform contract FPGA design services, primarily in the area of underwater sensor systems for use by the US Navy. He received his bachelor's degree in electrical engineering from Purdue University in 1982, and a master's in business administration from Indiana University Fort Wayne in 1989. In his spare time, the author is a long-time volunteer on-air jazz program host on his local public radio station.