loCarb_VHDL_small.pdf
(
486 KB
)
Pobierz
Microsoft Word - loCarb_VHDL_small.doc
The Low-Carb VHDL Tutorial
©
Copyright: 2004 by Bryan Mealy (08-27-2004)
1
Table of Contents
TABLE OF CONTENTS
2
LIST OF FIGURES
5
LIST OF TABLES
7
LIST OF EXAMPLES
7
1
INTENT AND PURPOSE
8
2
INTRODUCTION
9
3
VHDL INVARIANTS
10
3.1
C
ASE
S
ENSITIVITY
10
3.2
W
HITE
S
PACE
10
3.3
C
OMMENTS
10
3.4
P
ARENTHESIS
11
3.5
VHDL
S
TATEMENTS
11
3.6
IF
,
CASE
,
AND
LOOP
S
TATEMENTS
11
3.7
I
DENTIFIERS
12
3.8
R
ESERVED
W
ORDS
12
3.9
VHDL
C
ODING
S
TYLE
13
4
BASIC VHDL DESIGN UNITS
14
4.2
T
HE
A
RCHITECTURE
14
5
THE VHDL PROGRAMMING PARADIGM
19
5.1
C
ONCURRENT
S
TATEMENTS
19
5.2
T
HE
S
IGNAL
A
SSIGNMENT
O
PERATOR
“<=”
21
5.3
C
ONCURRENT
S
IGNAL
A
SSIGNMENT
S
TATEMENTS
21
5.4
C
ONDITIONAL
S
IGNAL
A
SSIGNMENT
25
5.5
S
ELECTED
S
IGNAL
A
SSIGNMENT
28
5.6
T
HE
P
ROCESS
S
TATEMENT
31
6
STANDARD ARCHITECTURES IN VHDL
32
2
4.1
T
HE
E
NTITY
17
6.1
VHDL
D
ATAFLOW
S
TYLE
A
RCHITECTURE
32
6.2
VHDL
B
EHAVIOR
S
TYLE
A
RCHITECTURE
33
6.3
T
HE
P
ROCESS
S
TATEMENT
33
6.4
S
EQUENTIAL
S
TATEMENTS
34
6.4.1
S
IGNAL
A
SSIGNMENT
S
TATEMENTS
35
6.4.2
IF
S
TATEMENTS
35
6.4.3
C
ASE
S
TATEMENTS
39
7
VHDL OPERATORS
42
7.1
L
OGICAL
O
PERATORS
42
7.2
R
ELATIONAL
O
PERATORS
42
7.3
S
HIFT
O
PERATORS
43
7.4
A
LL THE
R
EST OF THE
O
PERATORS
43
7.4.1
T
HE
C
ONCATENATION
O
PERATOR
44
7.4.2
T
HE
M
ODULUS AND
R
EMAINDER
O
PERATORS
44
8
REVIEW
46
9
USING VHDL FOR SEQUENTIAL CIRCUITS
48
9.1
S
IMPLE
S
TORAGE
E
LEMENTS
U
SING
VHDL
48
10
FINITE STATE MACHINE DESIGN USING VHDL
53
10.1
O
NE
-H
OT
E
NCODING FOR
FSM
S
63
11
STRUCTURAL MODELING USING VHDL
66
11.1
VHDL
AND
C
OMPUTER
P
ROGRAMMING
L
ANGUAGES
:
E
XPLOITING THE
S
IMILARITIES
12
DATA OBJECTS
73
12.1
T
YPES OF
D
ATA
O
BJECTS
73
12.1.1
D
ATA
O
BJECT
D
ECLARATIONS
73
12.1.2
V
ARIABLES AND THE
A
SSIGNMENT
O
PERATOR
“
:=
”
74
12.1.3
S
IGNALS VS
.
V
ARIABLES
74
12.2
D
ATA
T
YPES
75
12.2.1
C
OMMONLY
U
SED
T
YPES
75
12.2.2
I
NTEGER
T
YPES
76
12.2.3
T
HE
STD
_
LOGIC
T
YPE
77
13
LOOPING CONSTRUCTS
79
3
66
13.1
FOR
AND
WHILE
L
OOPS
79
13.1.1
FOR
L
OOPS
80
13.2
L
OOP
C
ONTROL
:
NEXT
AND
EXIT
S
TATEMENTS
81
13.2.1
T
HE
NEXT
S
TATEMENT
81
13.2.2
T
HE
EXIT
S
TATEMENT
82
14
STANDARD DIGITAL CIRCUITS IN VHDL
83
14.1
RET
D
F
LIP
-
FLOP
83
14.2
8-B
IT
R
EGISTER WITH
C
HIP
S
ELECT
83
14.3
S
YNCHRONOUS UP
/
DOWN COUNTER
(
WITH OTHER FEATURES
)
84
14.4
S
HIFT
R
EGISTER WITH
S
YNCHRONOUS
P
ARALLEL
L
OAD
84
14.5
8-B
IT
C
OMPARATOR
85
14.6
BCD
TO
7-S
EGMENT
D
ECODER
85
14.7
4:1
M
ULTIPLEXER
86
14.8
3:8
D
ECODER
86
A
APPENDIX
: VHDL RESERVED WORDS
87
4
13.1.2
WHILE
L
OOPS
81
List of Figures
Figure 1: An example of VHDL case insensitivity........................................................... 10
Figure 2: An example showing VHDL's indifference to white space. ............................. 10
Figure 3: Two typical uses of comments. ......................................................................... 10
Figure 4: An example of parenthesis use that produces clarity. ....................................... 11
Figure 5: Generic form of an entity declaration................................................................ 14
Figure 6: Syntax of the port_clause. ................................................................................. 15
Figure 7: Example black box and associated VHDL entity declaration. .......................... 15
Figure 8: An example of an input and output diagram of a circuit and its associated
VHDL entity. ............................................................................................................ 16
Figure 9: A few examples of bus signals of varying content............................................ 16
Figure 10: A black box example containing busses and its associated entity declaration.17
Figure 11: Some common circuit that is well known to "execute" parallel operations. ... 20
Figure 12: VHDL code that describes the circuit of Figure 11......................................... 20
Figure 13: Algorithm code similar to the code in Figure 12............................................. 21
Figure 14: Syntax for the concurrent signal assignment statement. ................................. 22
Figure 15: Solution to
EXAMPLE 1
.................................................................................. 22
Figure 16: Solution to
EXAMPLE 2
.................................................................................. 24
Figure 17: Alternative but functionally equivalent architecture for
EXAMPLE 2
............ 24
Figure 18: Snytax for the conditional signal assignment statement. ................................ 25
Figure 19: Solution to
EXAMPLE 3.
................................................................................. 26
Figure 20: Solution for
EXAMPLE 4
: A 4:1 MUX using a conditional signal assignment
statement. .................................................................................................................. 27
Figure 21: Syntax for the selected signal assignment statement....................................... 28
Figure 22: Solution to
EXAMPLE 5
.................................................................................. 28
Figure 23: Solution to
EXAMPLE 6
.................................................................................. 29
Figure 24: Solution to
EXAMPLE 7
.................................................................................. 30
Figure 25: Syntax for the process statement. .................................................................... 33
Figure 26: Entity declaration for circuit performing XOR function................................. 34
Figure 27: Dataflow and behavioral descriptions of
my_xor_fun
entity........................... 34
Figure 28: Syntax for the
if
statement............................................................................... 35
Figure 29: Solution to
EXAMPLE 8
.................................................................................. 36
Figure 30: An alternate solution for
EXAMPLE 8
. .......................................................... 37
Figure 31: Solution to
EXAMPLE 9
.................................................................................. 37
Figure 32: Solution to
EXAMPLE 10
................................................................................ 38
Figure 33: Syntax for the
case
statement. ......................................................................... 39
Figure 34: Solution to
EXAMPLE 11
................................................................................ 40
Figure 35: Solution to
EXAMPLE 12
................................................................................ 41
Figure 36: Examples of the concatenation operator. ........................................................ 44
Figure 37: Solution to
EXAMPLE 13
................................................................................ 49
Figure 38: Solution to
EXAMPLE 14
................................................................................ 50
Figure 39: Solution to
EXAMPLE 15
................................................................................ 51
Figure 40: Block diagram for a Moore-type FSM. ........................................................... 53
Figure 41: Model for VHDL implementations of FSMs. ................................................. 54
5
Plik z chomika:
f_e_a_r_
Inne pliki z tego folderu:
VII.1.pdf
(560 KB)
vhdl_example.pdf
(10 KB)
Randomization-V1.pdf
(175 KB)
Accellera_VHDL_4_0_022008(1).pdf
(42 KB)
Welcome to the VHDL Language.pdf
(1241 KB)
Inne foldery tego chomika:
Artykuły, poradniki
Bascom AVR
c++
Dokumenty
Eagle
Zgłoś jeśli
naruszono regulamin