Академический Документы
Профессиональный Документы
Культура Документы
CONTENTS
PREFACE
CHAPTER 1 INTRODUCTION
1.1 Introduction
1.1.1 Popularity of Verflog HDL
1.1.2 Simple Examples of Verflog HDL
1.1.3 HDL-Based Design
1.2 Introduction to Verflog
1.2.1 Module Concept
1.2.2 Lexical Conventions
1.2.3 Value Set
1.2.4 Constants
1.2.5 Data Types
1.2.6 Primitives
1.2.7 Attributes
1.3 Module Modeling Styles
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
Modules
Structural Modeling
Dataflow Modeling
Behavioral Modeling
Mixed-Style Modeling
1
i
2
4
6
6
7
8
8
11
12
13
13
16
17
19
20
1.4 Simulation
21
21
22
24
27
28
28
CHAPTER 2
STRUCTURAL MODELING
31
31
32
41
44
44
46
2.3 Hazards
2.3.1 Static Hazards
2.3.2 Dynamic Hazards
2.4 Switch-Level Modeling
2.4.1 MOS Switches
2.4.2 CMOS Switch
47
48
50
52
52
56
58
59
2.4.6 t r i r e g Net
Summary
References
Problems
62
65
66
66
CHAPTER 3
69
DATAFLOW MODELING
69
69
70
3.1.3 Delays
3.2 Operands
3.2.1 Constants
3.2.2 Data Types
72
74
74
78
80
82
84
84
86
3.3.3
3.3.4
3.3.5
3.3.6
3.3.7
89
91
93
93
94
CONTENTS
BEHAVIORAL MODELING
JX
96
97
99
100
100
103
104
106
107
107
108
110
113
117
117
118
125
125
127
132
133
133
135
137
138
139
140
141
CHAPTER 5
145
5.1 Tasks
5.1.1 Task Definition and Call
5.1.2 Types of Tasks
145
145
149
5.2 Functions
5.2.1 Function Definition and Call
152
152
154
155
156
158
159
163
169
171
172
173
174
176
176
178
iso
185
186
186
189
189
190
192
194
196
200
201
202
204
210
212
212
213
221
222
222
CONTENTS
CHAPTER 7
Xi
225
225
226
227
228
230
231
232
233
235
235
238
247
259
260
261
263
26i
262
Summary
265
References
266
Problems
266
CHAPTER 8
8.1 Decoders
8.1.1 Decoders
8.1.2 Expansion of Decoders
8.2 Encoders
273
273
274
277
278
8.2.1 Encoders
278
28
8.3 Multiplexers
8.3.1 Multiplexers
8.3.2 Expansion of Multiplexers
8.4 Demultiplexers
8.4.1 Demultiplexers
8.4.2 Expansion of Demultiplexers
283
283
287
288
288
292
293
294
294
296
296
299
304
304
CHAPTER 9
307
9.1 Flip-Flops
9.1.1 Flip-Flops
307
312
314
319
321
9.2.1
9.2.2
9.2.3
9.2.4
Registers
Register Files
Synchronous RAM
Asynchronous RAM
321
323
324
325
332
332
334
338
340
345
345
349
353
354
356
356
358
361
362
CONTENTS
CHAPTER 10
Xi
367
368
368
370
373
378
382
383
385
10.2.3
10.2.4
10.3 CPLD
10.3.1
10.3.2
10.4 FPGA
387
391
396
397
401
406
PAL
PLA Modeling
XC9500 Family
MAX7000 Family
406
413
418
419
420
422
423
424
CHAPTER 11
427
427
428
429
435
438
438
441
449
464
464
465
466
469
477
11.4.1
11.4.2
11.4.3
11.4.4
Summary
References
Problems
477
479
484
487
495
496
497
Principles of LCDs
Commercial Dot-Matrix LCD Modules
Datapath Design
Controller Design
CHAPTER 12 SYNTHESIS
5(H
501
502
505
508
509
510
511
512
512
515
517
522
524
524
525
527
529
530
533
533
534
535
536
538
539
539
CONTENTS
CHAPTER 13
VERIFICATION
XV
543
544
544
545
547
549
549
551
552
555
556
13.3.1
13.3.2
13.3.3
13.3.4
556
56i
565
567
570
570
571
572
573
575
576
577
579
582
582
ses
586
594
599
599
601
601
588
588
CHAPTER 14
ARITHMETIC MODULES
605
605
eoe
609
615
615
623
626
626
627
629
632
632
14.4.2 ALUs
14.5 Digital-Signal Processing Modules
14.5.1 Finite-Impulse Response Filters
14.5.2 Infinite-Impulse Response Filters
Summary
References
Problems
635
638
638
640
642
643
644
CHAPTER 15
649
DESIGN EXAMPLES
15.1 BUS
649
650
653
657
657
659
664
664
666
668
668
676
681
681
683
CONTENTS
XV
15.5.3 Receiver
15.5.4 Baud-Rate Generator
15.5.5 UART Top Module
15.6 A Simple CPU Design
15.6.1 Fundamentals of CPU
15.6.2 Datapath Design
15.6.3 Control Unit Design
Summary
References
Problems
685
689
691
693
699
701
706
708
708
CHAPTER 16
7n
712
714
716
717
719
719
721
723
726
731
731
732
16.3.3 BIST
16.3.4 Boundary-Scan Standard-IEEE 1149.1
16.4 System-Level Testing
16.4.1 SRAM BIST and March Test
16.4.2 Core-Based Testing
733
739
752
752
755
756
757
758
758
APPENDIX A
763
A . l Keywords
763
xviii
CONTENTS
764
764
765
765
765
766
767
767
768
769
769
770
770
770
771
771
771
772
772
773
773
773
773
774
774
774
774
775
775
775
775
776
A.7.4
A.7.5
A.7.6
A.7.7
A.7.8
776
777
777
778
778
Statements
Timing Control Statements
Conditional Statements
Case Statements
Looping Statements
CONTENTS
Specify
Specify
Specify
System
Path Declarations
Block Terminals
Path Delays
Timing Checks
A.9 Expressions
A.9.1 Concatenations
A.9.2 Function Calls
A.9.3
A.9.4
A.9.5
A.9.6
Expressions
Primaries
Expression Left-Side Values
Operators
A.9.7 Numbers
A.9.8 Strings
U O General
A. 10.1 Attributes
A. 10.2
A. 10.3
A. 10.4
A. 10.5
INDEX
Comments
Identifiers
Identifier Branches
White Space
Xix
778
779
779
779
779
780
781
783
783
784
784
785
786
786
787
788
788
788
788
788
789
789
791