Preface |
|
xi | |
|
Structured Design concepts |
|
|
1 | (16) |
|
The Abstraction Hierarchy |
|
|
1 | (4) |
|
Textual vs. Pictorial Representations |
|
|
5 | (2) |
|
Types of Behavioral Descriptions |
|
|
7 | (1) |
|
|
8 | (1) |
|
Structural Design Decomposition |
|
|
9 | (2) |
|
|
11 | (6) |
|
|
17 | (24) |
|
|
17 | (2) |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
18 | (1) |
|
Optimizers and Synthesizers |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
19 | (3) |
|
|
22 | (5) |
|
|
24 | (1) |
|
|
25 | (1) |
|
Language Scheduling Mechanism |
|
|
25 | (1) |
|
|
25 | (2) |
|
|
27 | (1) |
|
|
28 | (4) |
|
|
28 | (1) |
|
Model Test Vector Development |
|
|
29 | (1) |
|
|
29 | (2) |
|
|
31 | (1) |
|
Applications of Simulation |
|
|
32 | (1) |
|
|
33 | (8) |
|
|
41 | (94) |
|
Major Language Constructs |
|
|
43 | (8) |
|
|
43 | (1) |
|
|
44 | (4) |
|
|
48 | (1) |
|
|
49 | (1) |
|
|
50 | (1) |
|
|
51 | (6) |
|
|
52 | (1) |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
53 | (1) |
|
|
54 | (1) |
|
|
55 | (1) |
|
|
55 | (1) |
|
|
55 | (1) |
|
|
56 | (1) |
|
|
56 | (1) |
|
|
56 | (1) |
|
|
57 | (1) |
|
|
57 | (11) |
|
|
58 | (1) |
|
|
58 | (6) |
|
|
64 | (4) |
|
|
68 | (1) |
|
|
68 | (1) |
|
|
68 | (1) |
|
|
68 | (4) |
|
|
68 | (1) |
|
Declaration of Data Objects |
|
|
69 | (3) |
|
|
72 | (24) |
|
|
72 | (5) |
|
Operators and Expressions |
|
|
77 | (6) |
|
Sequential Control Statements |
|
|
83 | (3) |
|
Architecture Declarations and Concurrent Statements |
|
|
86 | (4) |
|
|
90 | (6) |
|
Advanced Features of VHDL |
|
|
96 | (18) |
|
|
96 | (3) |
|
|
99 | (1) |
|
|
100 | (3) |
|
|
103 | (1) |
|
|
104 | (3) |
|
|
107 | (7) |
|
The Formal Nature of VHDL |
|
|
114 | (1) |
|
|
115 | (7) |
|
|
115 | (1) |
|
|
115 | (1) |
|
Process and Signal Timing and New Signal Attributes |
|
|
116 | (2) |
|
|
118 | (1) |
|
Improvements to Structural Models |
|
|
118 | (1) |
|
|
119 | (1) |
|
Improved Reporting Capability |
|
|
120 | (1) |
|
General Programming Features |
|
|
120 | (1) |
|
|
121 | (1) |
|
|
122 | (1) |
|
Extension of Bit String Literals |
|
|
122 | (1) |
|
Additions and Changes to Package Standard |
|
|
122 | (1) |
|
|
122 | (13) |
|
Basic VHDL Modeling Techniques |
|
|
135 | (50) |
|
|
135 | (12) |
|
|
135 | (3) |
|
|
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) |
|
|
147 | (3) |
|
|
150 | (1) |
|
Modeling Combinational and Sequential Logic |
|
|
150 | (3) |
|
|
153 | (32) |
|
Combinational Logic Primitives |
|
|
153 | (10) |
|
|
163 | (5) |
|
Testing Models: Test Bench Development |
|
|
168 | (17) |
|
|
185 | (52) |
|
General Algorithmic Model Development in the Behavioral Domain |
|
|
186 | (12) |
|
|
187 | (2) |
|
Algorithmic Model of a Parallel to Serial Converter |
|
|
189 | (3) |
|
Algorithmic Models with Timing |
|
|
192 | (3) |
|
|
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) |
|
|
222 | (15) |
|
|
237 | (24) |
|
Transition from Algorithmic to Data Flow Descriptions |
|
|
237 | (4) |
|
|
238 | (3) |
|
|
241 | (2) |
|
|
243 | (2) |
|
|
243 | (2) |
|
|
245 | (16) |
|
|
246 | (1) |
|
|
246 | (2) |
|
|
248 | (4) |
|
|
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) |
|
|
262 | (2) |
|
Load Sensitive Delay Modeling |
|
|
264 | (5) |
|
|
269 | (3) |
|
Back Annotation of Delays |
|
|
272 | (3) |
|
Vital: A Standard for the Generation of VHDL Models of Library Elements |
|
|
275 | (2) |
|
|
277 | (3) |
|
Multivalued Logic for Gate Level Modeling |
|
|
280 | (12) |
|
Additional Values for MOS Design |
|
|
280 | (1) |
|
Generalized State/Strength Model |
|
|
281 | (5) |
|
|
286 | (1) |
|
|
286 | (3) |
|
Multivalued Gate-Level Models |
|
|
289 | (3) |
|
|
292 | (1) |
|
Configuration Declarations for Gate Level Models |
|
|
292 | (7) |
|
|
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) |
|
|
332 | (1) |
|
Construction of a State Table |
|
|
333 | (1) |
|
|
333 | (3) |
|
|
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) |
|
|
377 | (2) |
|
|
379 | (2) |
|
|
380 | (1) |
|
|
381 | (21) |
|
|
381 | (1) |
|
Field Programmable Gate Arrays |
|
|
381 | (11) |
|
|
392 | (2) |
|
|
394 | (4) |
|
|
398 | (1) |
|
Relative Cost of ASICs and FPGAs |
|
|
399 | (3) |
|
|
402 | (16) |
|
Standard Cell ASIC Synthesis |
|
|
404 | (11) |
|
Post Synthesis Simulation |
|
|
415 | (3) |
|
|
418 | (11) |
|
|
419 | (5) |
|
Comparison with an ASIC Design |
|
|
424 | (5) |
|
|
429 | (60) |
|
Behavioral Model Development |
|
|
429 | (10) |
|
Creation of the Initial Behavioral Model |
|
|
430 | (1) |
|
|
431 | (3) |
|
|
434 | (3) |
|
Modeling and Model Efficiency |
|
|
437 | (1) |
|
Application-Domain vs. Language-Domain Modeling |
|
|
438 | (1) |
|
The Semantics of Simulation and Synthesis |
|
|
439 | (16) |
|
|
444 | (11) |
|
|
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) |
|
|
469 | (2) |
|
|
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) |
|
|
495 | (1) |
|
|
495 | (4) |
|
|
499 | (24) |
|
|
499 | (9) |
|
Test Bench Development for Executable Specifications |
|
|
508 | (15) |
|
|
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) |
|
|
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) |
|
|
556 | (1) |
|
|
557 | (1) |
|
Interaction of Scheduling and Allocation |
|
|
558 | (4) |
|
Gantt Charts and Utilization |
|
|
562 | (1) |
|
Creating FSM VHDL from an Allocation Graph |
|
|
563 | (2) |
|
|
565 | (9) |
|
Transformational Scheduling |
|
|
566 | (1) |
|
Iterative/Constructive Scheduling |
|
|
567 | (1) |
|
|
567 | (1) |
|
|
568 | (2) |
|
|
570 | (3) |
|
Freedom-Directed Scheduling |
|
|
573 | (1) |
|
|
574 | (26) |
|
|
574 | (1) |
|
Allocation by Exhaustive Search |
|
|
575 | (1) |
|
|
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) |
|
|
605 | (4) |
|
|
609 | (14) |
References |
|
623 | (10) |
Index |
|
633 | (20) |
About the Authors |
|
653 | (3) |
About the CD |
|
656 | |