Phltn
ban OR I
gtlt1
\'6'i
tlu,l'c
IhJ
OICGATE
lrong tilu
Yi¢n
WORK.
Ph:lt1
Itch
VIIDL
Ii'!
qu{t
Irlllh
kicll1
Ira Ihi':t
kc'
VHDL
eho dllllg
Cll
ph<.ip
<I
nglf
nghTa.
Sau khi
phtlt1
Itch
VHDL,
d.e
ta, khai b,io
clU'0e
clung
chung.
Tiwe
the:
Iii
nhling
me)
ta thic'l
kc
dU\K
dung chung.
Kic'n
true:
nhlrng
thie1
k(
chi
tic't
dlfqc
dLlng
chung.
C\u
hinh :
[;1
nhu'ng phien b,in ella thlle thc
du(}"c
dllng chung.
eic
UU\K
dan
v1
thiet
kc
su'
clL,mg.
Trong ngon
ngiJ'
VIIDL
co
11m
vi~n
Ihie't
kc'
d,~c
hi';l eo tcn
IZI
"WORK".
Khi chung la hien d!ch
m61
cillwng Ir'inh viel tren
ngt'm
ngli
VHDL
nhung
khong chi r6 thlf
vi~n
dtch, chucmg
trlnh
[
-
omop
ong
VHDL
9 tong ap
VHDL
lIinh
6.10
So lui hie'll rlicn
qllli
lrinh bi':n
dich
va
m6
phon12
Ili'
cillt(/l1g trinh lhimh
e<ic
lhlr
\'i~1l
ella
ngon
ngfr
VHDL.
sal!
d{)
nle
t!m
"icil
c6
ba
di,mg
d6i
1Lf9'llg:
bien, tfn
h~¢u
\'il hi\ng,
Phfl!l
khai
lxio lrung
C{lC
du
truc ng6n
ngCi
so:
h~t
ke cac
deli
tWl'ng
s2
Sif
(iL,mg.
CiIC
klCll
ella
dc
d6i
IU'0ng
do
du'C)'c
c1[\C
1<.1
dl,ra
V:IO
C<IC
tlf kllOa.
NhCing
ILl
kho{1
n:l)'
rh~li
xufit
hi¢n 0 rhfln
(HIU
eua rlhin khai bao
cloi
tL19'ng.
a.
Han~
Htlllg b
el6i
Ilf9'ng
dl!9'c
khc)'i
tao
btl11g
nhCing
gia tr! nhfit djnh khi
dl!0'C
.
fhl
hlillg
I:
kic'll
1;-:::
i ;/(i
fr!
J:
Vf
d~l,
constant
CIIAR7 :
BIT
_ VECfOR ( 4
downtu
0)
:-:::
"00
III
";
constant
MSB:
I~TEGER;::=
5;
b. Bien
Bien
HI
d6i
tU(Jng
gi{)'i
h~lI1
hO~lc
gia
Ir~
kh{)'i
I~\{)
ban dall.
M0t
d.ch
m~le
d!nh, gi,i
Ir!
kh(')'j
1:,10
eLla
hic'n
El
gicl
trj thiip nhiit
trang
cae
gici.
trj thu(lC mit:n
x.;ie
dPlh
ella ki6u.
BiC:'ll
eo
Cli
n6i
gii!":l
cae
qua
trlnh
ho<)C
d6ng
b<,')
de
qu,i trinh. Khai
1xio
tin hi¢u
:0.13
1<.10
tin hi¢u
1116i
c{)
GIC
gi
l
tl"!
ella ki6u x.ie djnh. Tin hi¢ll
c6
thc duqc khai b.lo tfOng ph,\n khai
b,IO
g6i
( khl
d6
tin hi¢ll sc Iii tin
Idnh
\';1
dc
chu()'ng trlnh con.
Co
the
gi,:ll
thieh dieu
n;IY
nhu
sau.
dc
qua
trlnh
va
chuaHg trlnh con
1:1
Gte
thanh ph.i])
e0
sa
eua
m6
hinh \'il.
dU0e
coi
1<'1
e.:ie
hl)p den.
Cite
range
0
to
Ion:
2.
elK
kiClI
dj1
Ii~u
M9i
dai
tut:mg dfr li¢u trong ng6n ngfr VHDL deu ph
'll
dm:c d!llh nghia
boi c
le kicu
di}'
Ii¢u. Ng6n ngiJ
VHDL
eho
phcp
sir dYllg CilC kicll
co
sO
de
t, l0
ncn
de
cLla
g6i. khai b,\o Ilmc
th(
klUli
hell)
kicn true. khai
h,IO
ehuD'llg
!rlnh
con
vii
kiwi
b,.lO
dc
qu<.i
trinh.
Cae kicu
dCr
iL~u
ehinh
trong
ngon
ngCi:
VHDL:
Kicu
ki¢1
kt.
Kieu
so
nguyen
clla kicu.
CeK
gi<.t
!rj
nilY
do
nguoi
Slr
dl,lng
x.ic dmil \'a
c6
tile
la
c;ic
kn
hO;lc
nhung
ky'
q.J'.
OJ
ph<.ip
clla
klCU
li¢1
ke
Trong
ngon
ngCi:
VHDL kit'll
li¢1
Color is (Red, Orange,
Ydlmv.
Green, niue, Purple):
type
Light is ( Red, Y cllow, Green
):
t~pc
STD_LOOIC
is
CU',
'X', '0', '1',
'z',
'W', 'L',
'If,
'.'J:
yariahle
X:
Color:
si~nal
Y:
STD_LOGIC:
Tron
o
cae n"(ll1 l1"illap trlnh !ruven thOll", cae liet
kc
khong
dU(1C
phcp
eo
e e
I~\
do
n2~u
m(lt hien X
co
kicu
12t
"Colm".
thl khl
thl.fC
hi~ll
phcp
g,in
x
,=
Red:
ehuong
trlnh
dich
se kh()ng xac
dinh
dLlqc
gia Ifi 'Red' Ihuc)c
mien
x<.le
dPlh
cua
kieu
n~lo!
Neu
do.
tl'Ong ngt'lll
ngu
YHDL
ton
1'.11
co
ehe
dinh
kieu. Co
ehe
nay
cho
phcp
xae
dinh
mr)t
each
tU'ong
111mh
giet
tri
dang
xcI Ihu(le
kleU
n(lo.
M6i
d6i
IU(,mg
xuilt
Trong
qua
trlnh tcing
IWp
phi."in
clrng,
kfch
thude
ella tin
hicu
ho,)c
bi61
klCU
li¢t kc
dUQ'e
x<\c
dinii blri
so
Iwmg
bit
nh() nhSI
de
mJ
h6a
s6luqng
de
gia
tr!
li¢1
kc.
nguyen
IiI:
+.
*,
/.
Quy
ti.k
Cll
pilar
kilai
hi.lo
kicu
nguyen
co
dang
nhu
sau:
type
U;/1
ku;;{
is
ran<>e
mU;/1
\()
Il(l{/\C/I
.
.
~
~,
tron"
VHDL
. .
~ ~
Tileo
tieu
ehufin
IEEE
1076 - 1987
ngu'()'i
ta
x<\c
dinh
hai
gOI
ehutin: g6i
Standard
\,~I
goi
Textio
Irong tim
\'i~n
STD. Moi
gOI
chua
t(lp
hqp
eic
kicu
V~I
Standard.
Bouh'<ln:
kiC:ll
lid
kc
c6
h,-11
giCI
Ir~
faise
vii
true
\/ii
qLlan
h~
fHI~e
<
trul'.
Ck
phcp
t,:i.e
dQng
kn
doi
tlf()'ng
\";i~u
Uoolcan
;;\
rh0p
lo,ln
gia In kiell Hit.
Character:
kicu
iI~t
\ ;C
veii
mien \.ac d!nh
1:1
t~IP
hnp
die
k;'
Ill'
ASCII,
eic
k~'
Ill'
kh(mg hicll
du(.'iC
bi~u
dien billlg
10;1
eht'l'a
ha k)'
ILL
Cae
k)'
It.r
hl~n
hlnh
UtC
phcp tmin
so
h')c:
+,
;"
,/
'
Natural:
III
m(lt
kiC:u
COil
clla
kieu
,,,6
nguycil
\':1
dltng
de:
chi
utC ,,(l
ngu)'C'n kh('ng
[lin
-
,,,6
IV
nilien.
P()~itivc:
m()t
cap
m6c kcp.
Real:
mt'l
1,'\
GtC
s6 tlwc Irong gi6i
h'.ln:
tu
-1.ClI :
+
38
(kn
I.OE +
::IS.
Phy-,icaltypc
Time:
kieu
Time
dU9c
Sll'
dy.ng
de'
hie'u
di~ll
uie
~l,i
If!
thl~i
trung
ng6n
ngi.1'
Vl-IDL e6
nhCing
dae
dlcm
nhu
~all.
CCIC
ph,-\II
ILl'
clla
m:l1lg
c{l
Ihe
lit
l119i
ki(:u lfOng ngt'lllllgt"i' VI-IDL,
SCi
ill'(!ng
e.ie
dl!
s6 ella m.ing ( noi
deh
khat
1<'1
s6
ehicu
cua
eao
xu6ng c,\c chi
so
lhftp
ho\\C
nguoe
1'.11.
Kicll elm chi
s6
co
the'
1;'1
kitu
nguyen
ho~\C
kicu li¢t
kc.
Khiie
\'{j'i
de
ng6n
ngu
IZlp
trlllh tru),cn thong,
trong
ng(lI1
IlgU"
YHDL
rn;ing
dw)"C
Inlllh.
Dicu
do
co
nghTiI
Iii
,au
klu
dU<;Ic
Khai
])(io,
mang co
Krcll
thw'K
c6
dinh.
'llnr
y,Jy
m:"lng
c6
r:ltlg hU(K tHong
II,!"
"oi
doi tllvng
kltu
lll<.ing
Iiong
ele
ngllll
ngCr
t l:.
/ :/(,'u_Cliu-,)Jh'il_,/i·la kicu ella
phfill
lU
m;ing.
vr
dl.!,
khai
b<.io
mlmg ella
64
rhfin
lU-
nguyen.
type Arl-is
array
(0
to
63)
oflntcgcr:
Miin!.!
khl')'l!! rllll!!
bw.)e
III
ki0u milll!! Iron!!
d6
mien
""ie
dinh elta
the
e6
s(i
!UO'llg
ph:11l
Ill'
kh()ll~'
:>;;Il' dlllh.
1\6i
c
iell kllile
mill'g
kh(lng ri\ng
hU(K'
e6
"(1
kich
IlJU\l'c
bll,'n Ihicn
'lIm
\'<.)y
dung
lu\mg
btl
nho
slr dung
Chll
lllr)1
ll1,ing
n.ll1gc < > )
of
Ai
('II
1)1111'11_1/;'.
Ihl
/":/(;11
('/11'
sli'lll kicu eon xile dinh chi
sCi.
Vfdu.
t.ype
B1T_
VECfOR
is
array
(i'atUl'HI
ran~e
< »
of
BIT:
type
String
is
array
( pustiy('
rHng~'
< > )
of
dwractc,,:
eic
phfin
ILl'
m;lng dune d;inh dja chi hang
de
elll
:-;6.
do
del
chi
<;(i
ella m;lng
ph;l]
co
ki~u
n\i
1"<.1t:
nl11i
kicu
:-;0
nguy0n.
kil:U
li~·t
kc.
Vi
(IL.I:
m6
I;;
Ix)
Ilh6'c6 kich Ihu6c
phfin
Ilr
cLla
tn~ing
thco chi
:-;6.
Vi
d~l.
LtC
Iruy e(lp
lai
de
ph;"in
IU
eLla
tn,ing X thea ehl
:-;6
l.
variable
X:
Mcmory:
variable
1:
int 1-:
variable
Y:
IntlO:
Y:=XI
]+3
I:
'U', '()',
'I'
I
( '(I', ' (' , '()' ,
'('
I
( '0', '0'
,']'
,'('
I
( '1', ' I' ,
'0'
,
'1
t )
X
:=
TwoROM
(2,3);
('0'
,'0'
,'(' ,'('
I,
I
'0'
,
']'
, '0' ,
'('
I,
tdi
nhu
1l1t)1
d6i
tI1Q'ng.
Rill ghi
e6
nhung
d,)e
dicm
saL!.
NMi
ph:in
tLf
eua
\xill
ghi duq'c truy nh(lp t6i
then
I~n
trl1()'ng.
eic
phiin ttl
ella
Ixin ghi
co
the
nh~1ll
moi kicll ella
ngbn
ngiI
1l)99~
Month:
Integ:cr
ran!!;c I
to
12:
Day
:
Integer
range
I
to
31
~
Date
:
Date_Type:
end record:
eic
phfln
ILf
eua
h.ln ghi
dU(Jc
tru)' nhttp
theo
ten
b<.'ltl
giti \':1
ll'll
T2
: = S. Data;
f.
Cae
kicli
trung
goi
Standard
Logie
n.:"
Il1d
hinh
hOii
uic
till
1H~'n
C()
tile:
nh;:1ll
nhicu
hO'n
1w.i
giii tr!,
IlUn,g
ngon
ngO'
VIIDL
X{IC
djnh gl)i
Standard
kh6ng
th~
tham gia
\'110
dlc
pbcp
lOitn
logic
Y~I
so
hQc
co h,in. Trong
tru'cmg
hOp
n~IY
1<1
ph,ii
1l1(:i
rong
C(IC
phcp
tU~ln
so
hQC
va logic
C0
b,ll1
bang each cung
Ci;IP
cac
tin
hi¢u s
Iii
kc"t
n6i
eLliI
hi.!1
dLfCl"ng
tinl1]l.::u
d(lC
1~1l1
SI
\"i\
s]
, khl d6
t<.li
diem kel noi
cll<\
hai
dU'o-ng
tin
hi~Ll
ta ([in
ph<li
xac djnh
giu
tin hi¢u tren
s
DlI:ll1l1;ll
1Iilll1
trj Iren duong S
du~1"C
X(IC
djnh
b~ll1g
de
phcp
loCm
OR,
AKD
hO~lc
XOR. Trong Irll'bng
i10P
gi,t Irj
CUi.!
tin hi¢u duqc
1110
1,1
b~l11g
m(lt
lrong chin
gi;'t
trj
CLla
kicu
STD_lJLOOIC.
ta
din
phai
Im'1
clla
kicu
STD_ULOGIC:
type
STD_ULOGIC is
('U',
'X',
'I)',
,\"
'Z', '\Y', 'L', 'H', '.'
),
STD_LOGIC
lil
ki~u
dU'\JC
x,-ie
d!nh. Cae hiun
quye't
dinh cua
kiC"u
l\~y
du"Oc
cung
dip
hlii g6i Stand and Logic.
Tunng
tll'
nhu' nIT
V;I
nrr_
STD_LOGIC_ VECTOR (
,downto
()
.
Coul,
(lut STD_LOGIC:
),
end
ADDER;
161
g. Kicli
signed
va
unsigned
Ki~u
e6
d:ill
signed
va kh6ng
dflu
unsigned
dLIqe
sir
dl,lOg
doi v6i
nbu'l1g
d6i
tuVng
sc
uuqe truy
(natural
range
<»
of
BIT/ STD_LOGIC:
Vi
dl,!.
Card_Input:
unsigned
( 3
down
to 0
);
Score:
signed
(4
downto
0)
:= "00100";
cae
phep toun so hqe dlIqe Ina r¢llg eho nhling
kit~u
dO'
li¢u
nilY
vii
dlIq'C
1116
ta trung cae goi
NUMERIC_BIT
ki~u
con
c{)
the
ntul1
a
1l1i,li
\'j tri cho pllcp
J hai
baa
kicu.
SI!
kh.ic bi¢t giua kiell
can
vii
kieu la 0 ella kicu con chi la t(lp con ella
m{)t
ki~u
hOZlC
llH?t
kieu con
diJ
dlt~K
dinh nghia trltlk.
Kicll
can
Ihuang dung
dC
gioi
IWIl
kieu con
k6
thLra
I11qi
Imln
tll"
vii
ehuong
trlnh con tae d¢ng len cae ki6u eha.
Vi
Ul,!.
eile kicu
natural
\'~l
positive
iil
eSc
ki~u
con
eua
kicLL
nguyen
integer.
Ck
kiwi bao kicu con cll
dc.lllg
sau:
suht)'pc
Int4 is
Integer
hi~u
Ihue
in2
tlll.rc
hi~n
d.c
Iinh
IO(lIl
so
hqc
\"it
l{lgic
su
dl,lI1g
Gic
c.ic
{O.in
IU
\'6i
m{)1
s()
uic
toan h'.lllg. Cae
10(111
tll"
d~IC
trung cho phcp lo,in
se
duqc
t1wc
tl"(11
I~t
tinh lOall.
Trong b,ing
5.1
dU'a
ra
dc
nholll
phep
toan
YlJi
tnii"c
L1<)
ltU
lien
t[mg
d in.
Clc
quy
lfOC
ve
1r(lt
IV
t1wc hi¢n
cae
ph~p
toan
trong
oieu thue dltqe the
Cae
ph~r
toan
lrong
nh{l!l1
YO'j
Cltng
1Il(1\
mlte d(l
uu
!i':n
-;c
dU"<;J"C
t1wc
hi~n
IV
Ir.ii 4ua ph:li trong d.e
oieu
thu'('
Hang
6.1. Cae Imln tit
\'A
!l1(i"c
d6
uu lien.
Gic
e!ll~D
Io.:in
IOOle
and, or, nand, nor, xor
ao",
not
a.
Cae
I)hcp
tOlin
lllgic
Trong
ng()n ngl[
YHDL
dc
phcp toan \6gic
gom
eo and, or, nand, nor.
xur
\'~t
not.
Lie
phcp
tn{1ll
ntlY
Ille d(lIlg
lCn
d.c dlt h¢u
ki~u
BIT, Boolean
V;I
1l1,ing m(ll
chi~u
de
mang phai
co
eung
d<)
clai.
Cae phcp
!Oitn
nh!
phan
xae
dl11h
cae
ham
trcn
e{lc
bil
eua
nhil"ng
ph:in
tu
ll1ilng
C(~l
cung chi
so.
kCI
qUi.l
s~
1;1
!1lQI
m.ing
1M
ci
de
ph{in
IV
CLb.
mango
163
Vi
ell}.
signal
A.
n,
C:
nrc
VECfOR
( 6
down
to 0
):
A
<=
13
and
C
h.
Cae phcp tmill
quan
h~
Cae tmin
s<lnh
nh(m
kicu lloolc'lIl.
Phcp tOi.\l1
":::"
kic'm Ira quail
h~
"hJng":
"/="
-
kie'm
tra quan
he
"khi.le" .
"<" - quail
h~
"nhl)
han":
"<="
- nila hlm
hO(lC
b,l.l1g
,
">"
- "k'm
hll"il"
,
">="
-
"16"11
"/=" xac djnh
w1i
1119i
kicu
da
li¢u. Glll
cac
qwm
h¢
con
1\li
"<"
, "<:::" , ">" ,
">="
chi xae
c1jnh
vCti
cae
kicu
li¢t ke, so nguyen.
l1le'll1g
l11¢t
ehicu
cae
li¢t
k(:
ho~c
so nguyen.
51!
sap
so dtlung.
Cie
m.:tng
st:
dlI~1C
so
sanll hilllg
dch
'>0
s<inh
lirng
ph::i11
Ill:
clla
m~\llg
btl{
di.lU
lu
dn
Ir{li
ella mien xac
d~nh
chi
,,()
m,'lllg.
VI
cit,!,
signal A.
B:
unsigned
d6i
ILH,mg
kicu
integer.
Phcp loan noi
"&"
ap
d~ll1g
v6i cae d6i
Ilf\mg la mang thanh ghi. Phcp
to,il1
nay xily
cl\fng
ll1<.'mg
m6i ballg
dich
ghcp
noi
hai
1TIi.l.ng
nam
trong toan
b;:.mg
Vo\
nhau.
Mc)i
toan
hi.~ng
ella
phcp
W:
BIT_
VECfOR
(3
downto
O)~
signal
X:
integer
rangc
{)
to
15~
signal Y. Z:
unsigned
( 3 do".'nto 0
)~
Z<=X+Y+Z~
Y
<::::
Z ( 2
down
to 0 ) & W( I
)~
d.
Cae
phep
toall d!llh d{iu
Cie
phcp loan
!lwe
hi~n
(rC'1l
cae kicll
integer.
Pllcp
(OUI1
,:,*"
the
hien phcp
nang
1011
Ill}'
thlra~
,,*" - phcp nh[\ll;
"j"
- phcp chia:
mod
-
Itiy
m()(lull:
rem·-
lAy
ph:ill
dlL
Vi
dl,l,
2.
Cae
Ir!
clla
chung.
Thl'Hlg
thuang
trong ngbn
ngCi:
YHDL
c6
nhlcu
d,.tng
tmill
Il:mg.
Cac
loan
h,.mg
cOng
c6
the
In.
ehinh
cae
bicu thue.
Cae dang loan
han
o
tron"
noon
noCi:
VHDL
phc'p
goi
h~lIn;
Cae hieu
thlfC
ehuycn
deli
kieu.
Cue
htlllg
ky'
yi\
gJ,i
11'\
k5'
hi~u
hO(IC
ia gia Ifj
~O,
gia Ifi
k)'
IV,
cae gia
If!
ii¢!
kc
,
c;.ic
gl<i
tfi xau.
sci
mui".l'i
cae gia
II"!
~6
duQ'c
yie·1
nhu
blnh Ihuang.
•
Trang
h~
co
s6 khae
111
2
)-
16,
ta
\'i2'1
du6i
d,.mg
((1_"\0'
#
gl([
1/1
/Ulllt;
Vfdu,
2#
1101
gi,i
If!
licl
k0
ella
cue
ki~u
ii~t
k0
khcic
nhau
co
the Irung nhau.
V[
du,
type Color
is
( Red, Green, illuc
):
type
Lighl
is
( Red, Yellow, Green
):
eie
gia
Jrj
X[IU
ky
It!
tt!
ntllTI
giua hai driu moe
b:p.
V[
d'-:l,
"Demo", ''100lO01''.
•
X;lu
cae bil duqe bicu dien
IL1o'ng
II!
nhu
X[tll
ky
II!,
nhlIng
ph[m
bi¢t
c<.I.c
de
ch.tng
xflu
nhj
phfm.
oclal \'a
hcxa
bitng
de
k)'
li\
uk
!en
deli
\'6i htmg, bien, tin hi¢u,
th~re
th~,
ella
d.c
ding,
cl1l1O'ng
Irlnh
COil
\'(1
ella cac khai
baa
tham
so. Cae
IV
klloi\.
trong IJgon
ngCf
VHDL
ciing
1~1
cae
dinh danh. Cae ten
phii
btlt dau Itl chiJ
cai
hoa
\'U
chiI
!l1lfOllg.
Mt)t s6
djnh
danh
nhl1
entity,
port,
is
\'tl
end
1~1
de
ILl'
khoj
trong ng6n ngu
VHDL.
Moi tv
khoa
eo
5'
nghia
xac
djnh
trung
ng(m
ngu
vii
hilll_ll!((("
ph<.ii
tra
l<;Ii
gia
tfj
lu
chi so clla phfln
tt!
lTIi.ing
trong mien
x<.tc
djnh clla chi s6.
Vi
dl,l,
type
Memory is
array
( 0 to 7 )
or
intcj:!;cr
range
0 to 1023:
variable
Data_Array: Memory:
,"'ariablc ADDR:
integer
ranj:!;c
0 to
7;
Tuy
nhicn
chieu chi so
cll<1
len
nglm ph,ii
luong thlch voi ehicu chi so
cua
ki~u
milng
tuang
LIng.
Ten
ngtlll
co
the
st'r
(h,lllg
cung
\'oi cac
bi~l
danh
(alia'>
).
167
Bi¢t
danh
(,,\0
r<'l
1110t
a
):
alias AI : lllT_
VECfOI(
(0
to
3)
is
ORG ( 7
down
to 4
):
alias 1\2 : BIT_
VECfOR
( 107
duwnto
100)
is ORO:
alias
1\3 : BIT is
ORG
( 7
);
e,
nUHk
tlnh
Thw.)c
(fnh
];\
<IiI
iiI
left,
right,
luw, high.
range,
reverse-range.
length.
168
Cae thu(K tfnh left
hO;IC
right
tni.
l<:ti
chi
~o
clla
phi.ln
Ilr
ben Inii
ohAt
[m(lc
hell pll,lj
nh~t(
ella
ki~u
du
li~u.
CCic
thU(K
tfnh
!1l()(
IlIT_
VECfOR.
Vi
elL,l,
suht)'pe
Index_range is
integer
range
10
downto
0:
\'ariable
Veetl : BIT_
VECfOR
(lndx_rangc);
khi
do
ta St e6:
Veer
J'
lert
f-)
Indx_rangc'
left::::::::
J 0;
Veetl'
right
f-)
Indx_range'
Gic
thu()c tfnh
event
V~I
stable
chi
co
d6i
vO"i
e,le tin
hi~u,
C[IC
tbUl)e
tfnh
11;11'
chi
rtmg tren duo'ng tin
hi~u
dang
xd
c6 xu[it hi¢n
sV
ki¢n
hay gi,i
tf!
trell duong tin
hi~u
6n djnh
t<.li
th()·i
trlnh
\TIc.
phung. Vi
d~
nill!"
d.c
Ihu9c tfnh
delayed,
activc,
behavior.
structure,
last_cwll.
l:lst acth c.
f.
Cae
nh(lI11
Cae I1hom
kCI
hqp
mC)1
hO(lC
nhicu gia
tl"j
vao
11l¢1
gi[l
Ifj
kC·I
hqp
ella
d(1C
t<1
thea
t6n
ho~e
Illeo
\'!
Irf.
8(lc
1,\
Ihea
len: sl!
luang
{fng
giiJ'a
c<le
phan
tll'
clla
nht'1l11
V~l
pilan
Ilf
ella
deli
lu'(;mg
du~)'C
gall
dLfQ·C
chi
X :
Color3lTay;
X
:=
(
Red
=>
"00", Elue
=>
"10", Orange => "01",
Whit(.:
=>
"II"
):
169
Dtle t,i
thea
vi tri :
m6i
philn tti
nll~n
gi,\ tri ella cluing
trong
bicu thue
then
trM
tt!.
vr
ell.).
nhu
,
"11"
);
K hi
gan
giii tf!
eho
nhom.
ta
e()
the'
kh6ng
can
thiet
(t~lt
gia
trj
eho
tAl
dl
de
ph:in
tu
ella
nhom.
Vi
dl,l.
subtype
BV7 is I3IT _
VEcrOR
nh6m
ciLlIlg
de
xac
djnh
fa
nilling
tlnh
tr'.U1g
m~lp
mo.
Vi
d!.J.
nhu
trong
truong
hQ'p
hai
beu
li¢t k6 co
nhling
gia
tfj li¢t
ke
gi6ng
nhau.
CU
phapcua
bieu
thCre
is (
Green,
Black.
White.
Yellow);
variahle
X:
CaIOl·I;
X
:::::
Color!'
(
Yellow);
Uia
tri 'YeUO\v'
dU(jc
XdC djnh tuong minh
la
thut)c kicu
Colorl.
Nhu
v(ty phcp gall (r2n lit dung \'6i cu
phap.
h.
Phcp
ehuycn
dui
kicu
Phep
ehuycn
tiy,
signal
X:
STD_LOGIC_
VELIOR
(
~
downto
0);
signal
Y:
STD_ULOUIC
YECrOR
( 3 down to
0):
Y
<=
STD_ULOGIC
YECroR
( X
):
~6.5.
Cae
e:lu
true
tmln
t~
Trang
ngon ngfr VIIDL, kie'n true Xil.c djnh eh6e
nfmg
dong
thai
co
the:
iit
de
bi0u tbue
gall tin
hi~u
song song.
de
khoi
\'a
cae
!<;nh
kll{1i
tao phien ban
cUJ.
Ihanh
phfin.
Cae
I~nh
thy"e
hi~n
dong thai
dU~1e
ket noi
veti
nhau hang
nhG'ng
Trang
ngon
ngt1
VHDL,
I1H?t
cau
true
thy"e
hi~n
d6ng
thoi
II
qua
trlnh
(
pruees "
).
Qua
tdnh
Iii.
lTIt)t
du
true
quan
trQng
dV(je
su
tlL.IIl);
de
m6
IV
- hay
6lJl
~t)i
Iii
c,le \¢nh tufin
tlr
Trong thoi gian
ITIO
phlmg, cac
\~nh
IU(1Il
IV
Irong
]lll)1
qll'.\
trinh sc ctuae
tlll.rc
hi¢n
\fill
IUQ1
trong
1l1(1\
chu trinh
VO
\wn
hM
dfill
Ill"
I~nh
diu
l~nh
wait
va
duC)'c
kfeh hoat
I' Ii
khi
c()
su
thay
cit),
tn.Lng
thai eua it
nh[it
tnQt
trong
cac tin
hi~u
mCuTI
Irong
danh
sitch
die
till hi¢u
I(IC
d(mg.
Cac I¢nh
ttHIn
IV
ngil"
1(lp
Irlnh truyen thong. Phcp g •
.in
bien
IhleL
\(\p g[,\
tr!
m6"i
cho
hilYn.
Cu.
ph<lp
cua phep gan bien
nhu
sau:
bit';11
:=
hilll
tllli't":
Ve"
tnti eua phep gan
phil!
la
bien da
dUQ'c
khai
bilo
tir truac.
Ve
khong.
DieLl
d6 e6 nghia IiI sl! Ihay do, gia tri
cua
bien
ctuqc
xu)'
ra
ttk
Iho-i
ngay
t:'.li
thui diem
rna
ph6ng hi¢n tai.
Cac
hic'n
chi
dU"<;1c
khai bao trong cae gu
!.
trlnh
ho<:tc
ChU0Jlg
trlnh con
va
duC)'c
slr
cl~l!1g
song
kh
"ic.
172
VI
dV
ph{;p
gan bien,
suht."pe
Intl6
is
integcr
rallj!;c 0
to
05635;
siglwl S1.
S2;
In116:
si~nal
(iT:
boolean:
pruccss
(Sl,
S2)
variable
A,
13
: Int16:
COllstant
hi~u
dung
de
tbay doi gia
tri
eua tin hi¢u. Die tin hi¢u lu6n
c1uo'C
bi~u
dicn
kc't
hQ'p
v6i dicn
biC:n
thui gian. Phcp gan tin hi¢u thay doi
gi{\
II'!
clla lin
hi~u
tl(ang lrng thea thui gian va plw
thu<)e
vao
de
mo hlnh qua Irlllh Ire
Irong
d.e
phfin
Ill'
mi leh.
Khi tin hi¢u
citlqe
hi~u
eo
eu
ph{lp
nhLf
sau:
fJ/c"II_lfllk xJc djnh
dlc
gia tri gall. Kieu clla bu;'u_,IIII"c
ph"li
trung
\'6'j
ki~ll
ella
1{/I)li~;II_,1fc".
IfuJi_Ulal/
iii.
bieu thlIe C() kieu
TIME.
Trang
1119t
qu,i trinh, vi¢c gan gia Iri clla
bi~u
thu'c
cho tin
hi~u
sc
throc
lam tre
khi chu trinh mo ph6ng
ns
;
Sl
<= DIn
aftcr
0 ns ;
S3<=SllmdS2;
wait
on
eLK;
Trang doc.lrl chuang Irinh nay. Ihao
tac
g.ln
kc'l
qua
c.:ua
phcp
tO<Ill
"not
eLK"
cho
bien
SI
'iC
chI9c
I1wc
hi91l
~au
30
ns
thi:1i
gian delta tlnh
III
th(:ji
diem
m6
phc'mg
hl~n
t'.lI.
Tm111g
!L.r
nlllr
v;ly.
t!"ong
ph 'p
g.,in
lIn hieu
1\111
ta.
kct
qu<.i
ella
phc'p
tOiln
IC)gic
and
\11lK
hi¢n Ir0n cac gia tri hi¢n
tho'i
cua lill hi¢u SI d S2
),
tat
d.
cac giaa
d~ch
<.tJ
dU(Jc
dillh lich trlnh Inf(k
thai di6m
Xuflt
hi~n
slf ki¢n sc
dUQ"c
tlwc hi¢n b6i
h0
m()
ph()ng.
Khi tin
hl¢U
dl:qc gan
gi,,\,
Ir!
trang qua trinh, phcp
g{m
s2
:.;.{tC
dinh m6t
h<,1
dieu
khien lin hi¢ll. Trang
1161
l"t'ing
tin
hi~u
c6 nhi6u dieu
khi~ll.
Trong
ng{)n
ngu'
VIIDL,
lrong
true\ng
lWp
m()t
lin hi¢u c6 nhicu dicu .klllen, cae
h~l1n
lJu),ct
d~nh
duc.K
xily
dl;rng
c1~
xac d!llh gia tri cae tin
hl~U
eo
llhiC:u
cilCLl
khic;n
J"\hu'
(1;1
IhCii
gian Ire qu,in tfnh
\"it
Ih('ii
gi':'lIl
Ir(:
Ian
Iru)-'"cn.
174
Thll'i gian
tr~
quan
11nh
(hwc the hi¢n
m[tC
djnh
lrung ng()n
ngCr
VHDL.
GlCt
II"~
thi:1i
gJan
tn~
qU{ll1linh
lit
dt)
dili
gitii han
dn
qu;in tlnh thi
lTIi lch
sc kh6ng phan
lJng
v()'i
s~r
Ihay
dOl
ella tin hi¢u. Th()ng s6 thai gian
Ir~
qu,in tinh
dU'<;1c
sU:
dl;lllg
lrang
quS trinh
1116
hinh hoa cac thiet
bi
so
d~
loal Irir
s~r
xu[.t
hi91l
nhOng
xung
11hon
\'.li
dflU
truy~n.
Neu
khong
slr dl,lng tiI khoa
transport
trong
phcp gall tin hi¢u.
thai
gian tre se
dVQ"c
coi
lil.
thai
gian tre qUiln tinh 1l1()\
each
null
d\llh.
Vi~c
SLr
dl,lllg tre quail I[nh
Vll
tn~
Ian
truycn
tao nen nhu·ng
hi¢u
Ling
khi\c nhau len
qUi}
trlnh
nha!.
he
thong
1110
ph6ng
se
djnh
I\ch lrillh
cho
ph':p
g(ll1
tin hi¢u S gi,.l tri 'J'
saL!
5 ns linh tir
Ih(1i
di~m
mo
phong
hi¢n
thai
D6i
\'(1i
cflu I¢nh
thCr
hai,
h¢
1116
phcmg se djnh Ijeh trlnh
eho
phcp
1;:1
thoi
gian
tre qUiin tfnh.
GIU
I¢nh thlr nhat chi ra rtmg
thai
gim1
tre
qu<.!n
tinh
ella
phcp
gi.1.n
1;:1
5 ns, trong khi
do
cflu l¢nh tht! hai khil.ng
djnb
thai
gian
tr~
qUol[\
tinh
ella
ph~p
giin
!~I
10 ns.
I\'eu doi
:
end
process:
175
Trong
trueillg
hq'p
n:t:',
du
ICnh
g<in
thu
nhat se
X,-lc
dinh
IDQI
ph~p
gan gia
tri
'0'
eho
tin
hi~u
S sau
10
ns
trnh
tu
thai di6m
IDO
giao
t,.i.e
eua
phcp
g<.in
thll hai
c1U<,K
t1wc
hi9n Ihay
eho
cac giao
tik
ClW
phcp
g{1ll
thll"
nhtit. Dictl do c6
nghl<l
Iii,
chi c6 phcp gan gia
tr[
'1'
cha
tin hi¢u S tal
thl1i
diem:)
ns tfnh tit thai diem
mo
phong hi¢n th0i
se
process
hegin
S
<::::
transport'
l'
after:)
ns
:
S
<::::
tran!olport '0'
after
IOns;
wait
on
eLK:
end
process;
Trong do
•.
tIl
chuang trlnh nay, vi¢c gan gi,i tri '}' cho tIn
h!¢u
S
se
dlf(~C
lilm
tre
:'i
mot
Ihao
1.le
gall
gi<.i
Irj
x,iy
ra
,>au
:)
ns
linh til
th0i diem md phong
vii
1hao
t,k
gall
thu
hai se
du:(}c
!h~tc
hi¢n sau
10
os
linh
tLl"
thoi diem
1116
ph('mg,
Kct
In.':n.
Chlll1g
la d6i ch() hai phep g,in nhl! sau:
signal
S:
BIT
:==
'0':
process
hegin
S
<==
tnlllsport
'0'
after
lOllS:
S
<==
transport'
l'
after
5
ns
;
wait
on
eLK;
end
process: