Thhng
IlllfiJ'ng
Irong
nhi~u
111161
ke
~t(
xu:;!
hiC'n
,)
li0n
k~'l
gJCra
dc
ph{ln
Itr
kh()ng Wan theo 'Illy IU:I!
1(1))
giang
lrong \'l
til.1
lrl'l1.
t)6i
\'(1"j
nhll'ng
Inro-ng
hq'p
n~ly.
ng(m
ngCi'
VHDL cung
dip
kll.'l
nCtn.:-:
Ill()
IiI
mach
~lr
dl,lJlg
S(i
de)
if. Kh,\c
\'(ii
du
ICnh
if
tu{in
I~r.
du
lC:nh
if
kll(',i
Ian
khClIlg
cllli'a cal'
nlHinh
cls('
\'J.
dsif.
Di~u
n:I.Y
c('i
the
hlL:lJ
dLf(/C
\,1
lrong m(lt m',lch ph:in cung xac d\nh
kh6ng
the'
n:1O
t(ill
tal hfa l'llOIl
cfu
truc
dl,fa
\':10
dCr
It¢u
hC'1l
ngoili.
Co
~
'"
.~
IV"
FA
I
I YI" I
Xi2,
I Yi2l
~
FA
~
I
IXil
l
I,
'I
(I
j
\
\((11
\
YI
II,
FA
1<-
HA
I
I
/(1)
Z(O}
lIinh 7 1.
Xii)
dUllg b(l
~'OIlS
hl'in
b11
III
h:1
b()
c(lIlg
d,ly
<Ill
lll()t bit
vii
111(11
h6
nLra
t(i
ng
m(lt
hit.
Vi
dt,l,
chung la x,ly dung
he)
e(lllg h(in hit
Ill:
ba
b(l
C(lllg
(tty dtl
IlH)t
hil
\';\
11l9t
he)
I1lra
U;llg.
Chi
true
n~IY
fU'ong
t~r
e:lu true Iren hlnh 7.:'. chi
U.;c
1'.li
m()1
diem
lit
khollg
c6
dolu
\';\0
·'0"
ellO
ph.'in
III
d~\u
lien.
Nc'u
SL!
dung
e<fu
[rlle if,
du
Irue clla
he)
U?llg h6ll
hIt
sc
du'q'c
m6
t,-lllhu' salt:
architcctUf('
Gell_for
of
FullAddcf<+
is
sj~nal
X,
Y.
Z:
STD_l(XiIC_
VEL/OR
( ) downto 0
):
si~nal
Cout : STD_LOGIC
signal
Tmp
: STD_LOCiIC_
Vr:crOR
(4
downto I
):
componcnt HalfAddcl"
port(
A.ll:
in STD_LOCiIC
S,
CO,,
out STD_LOGIC}:
cnd component:
hl'gin
GO:
for
I
in
0
to
:.
gcneratc
G I:
ir
I::;:::
0 gcncrate
HA. HallAddcr
port
map
(
X(
I
I,
V(
I
),
/(
I
),
Tmp(
I + I )
):
213
l'nd
gelll'rate:
(;2
: if
1>
1
and
1<= 3 gelll'rale
FA: Half Adder
port
map
(
X(
1
).
Y(
1
).
end
gl'l1cratc:
l'nd
g;cnl'ratc;
COlli
<=::
Tmp( 4) :
end
Gcn_for:
Tmr(
I
),
Z( I
),
Tlllrl
1 + 1 )
):
B<1t
k)' Im)t c,ru
truc
~ong
song
cLla
VIIDL
nlllf
cac
quCt
trlnh.
dc
10nh
g,in
lin
hi¢u song song.
C<IC
kh6i
hO~lc
dlc
10nh
gOl
ehu'(mg
Irll1h
con
"ong
~nng
\'il
dc
knh
kh('1i
1'.\0
kkk
co the
ntl111
ben
Irong
dc
OlU
l¢nh
kh('fi
t,.lo,
Khi
Slr
dL,mg
de
du
l¢nh
["hoi
lao l(lIlg nhau.
Chlll1g
ta
c6
the
x,ily
dl!'!Ig
nhun,f!
criu true e6
II1Ih
quy
hl~11
nlur
_~illi'
!\e,sh:d_Ocll:
block
L I:
for
I in 0
to
J
gcnl'l'ate
L2:
for
J in 0 to J gCl1l'ratc
r-A:
CELL
1'01'1
lI1ap (
AI
I
),
Il(
1
),
Ci
2 " 1 +
J),
ill
1+2'
J )
):
end
generate
end
gelll'ratc
l'lHI hlOl'k Nesled
lien
4.
('lie
eau
hlnh
OIC
kiwi h,lo
th:lI1h
ph[in \'il
e,1e
phiell
IXln
ella
thilI1h
phrin ehi ehii'a m(l
til
ben
ngoili ella
m()1
pkin
It!
maeh Irell
1l1()1
mue chi liel nh:il d]!lh. C:le
Il1l,IC
the
nilY
kh6ng
th~
slr dl!lIg
du,\1C
trong
qU:I
trlnh
1110
phong
hCii
\,1
el1llllg
kh6ng ehua nhLIng
th6ng
lin
1116lil
\'c
ehlJ'e
nflllg eua ph[intLf. Nhl!'
\,ily
de
e6
tlte
tlwe
hien
m6
ph('lI1g
hOi.\1
d0ng ella phiin
IV,
eitlll1g
la
('fin
1I10t
C(f
eit61i0n
ke'l
cae
m(l
1'-1
bl'11
ngo;li d clle
du
true
h0n Irong ella
pl1fln
Ill'.
Tron~
ngllll
ngLr
VIIDL.
cO'
ehc
lien
kc'l
n:ly
dl(.K
th~
hicn
lrong
C,tC
('(ii' IliJlil ella
pldn
ILL
Chllllg la
ha~i
X~I
\'1
lIt,l
me)
I,-i
du
true clla
Ix)
e()ng d,iy
(1t'[
Int:)t hil
fullAd(\(:r lrl'll hlnh 7.2.
G()
eong
nay
dLIqe
111()
1:1
h;lIlg
do' 11l
chu'(mg Irlnh
~au:
214
libraly
IEEE;
usc
IEEE.STD_LOOICII64.all;
entity
f-u
HAdder is
port
(
A.
B.
Cin: in
STD_LOGIC
Sum. Cout:
out
STD_LOCiICl:
end
FllUAddcr;
ar(.>hitectnre 1\11)\
of
FullAddcr
is
component
Xorgatc:
pori
(10.11:
in
,TD_LOOIC:
0:
out
STD_LOGIC):
end
('>olllponent:
component
And2g<tle:
port(
10.
11:
in STD_LOGIC:
0:
out
STD_LOlilC):
end
component:
component
Or2g.ate:
port
(Ill.
II: in STD_!:OGIC;
0:
ullt STD_!:OCiIC):
end
component:
si~nal
SI. S2.
53:
STD_LOC,IC:
begin
U! : Xorgate
port
map
( A.
B.
S I
):
U2
:
i\nd2g~ltc
port
Imlp ( A,
B.
S2
):
U3:
Andlgate
port
map
(On.
SI.
S3
):
U4 : Xorgalc
port
map
(Cin.
SI.
Sum
):
\ "5:
Or2g.alc
port
map
(S2.
53.
COllI
):
end
IMP!:
Trong
do,.111
chm"ing
trinh md
til
6
11"011.
chung ta chi kiwi bao
\'~
ki~u
clla
Ih~lIlh
ph[il1
\'~\
nhG"ng
phuong thue kct n6i
giiIi.\
Chllllg
mil
kh6ng chi ro
cal'
chu·c nung ella lirng Ihanh phan.
NhLI
v<~y.
de
th",fC
hi¢n
V:l
1116
phl)ng doan
chuo"ng trlnh n6i
tn~n.
chung ta
dn
phai m6 tit hi\nh
vi
cua
lung Ihanh
phi1n.
Trong
do,~n
chm1!lg lrinh dudi day, c hung
til
mo
li'\
nhilng llwc the
thal11
£oia
~~t~cc~~c~~d~~~~~t~th~~~~~
phan khai
h(LO
Hwc
the
\"u
mo
til.
hanh \'i.
library
IEEE;
lISC
IEEE.5TD_LOGIC_II64.all;
entity
And2gatc is
2\5
POI"
(
10,
I!:
in
STD_L()(JIC:
0:
out
STD_LOGIC
):
('nd
And2g:lte;
architecture
BH V
of
And2galc is
begin
0<==
10
<lnd
II:
('Jl(1
BHV:
Iilll'ar:v IEEE:
usc IEEE.STU
LO(dC_1
](i-J.
ctll;
('ntit.'·
Or1galc
is
port
(
10,
II: in STD_LOGIC:
0:
out
STD_LOliIC
):
end
Or2galc:
architecture
BHY
ofOr2gilie
is
hegin
o
<=
10
or
1[:
end
I3HV:
lihraly
IEEE:
usc IEEE.STU U >CiICJ
164
,til:
entit."
Xnrgale
is
port
(
10,
I I: in STD._LOGIC:
0:
out
STD_LOCiIC
):
end
Xorgalc:
architecture
BIIV
of
Xorgalc
is
hegin
()
<=
10
xor I
I:
end
SHY:
Sau klli 1
lt
GI
de
th~rc
Ihe
\'il
ki0'n
Irue ella Ilfllg
phill1
Ill'
tluqe hlen (heh
\":\
chCra
Irong
c~\c
tilu \'j¢n, chung la
eo
Ihe
li~'n
h:ll1h
biell dieh
mt'l
hlnh ella
h()
cong
d,'iy
dLI
m()1
bit Full Adder
n~ll
tr~n.
Trong
klli
bien
(heh
IhiC"1
k(
ella
h(l
dHlg
(by
ttLI,
ehuong
Irinh dieh
-;C>
d6i sallh ill'llg d!lIh
danh
ella
de
thimh
phftl1
trong
IlH)
la
thi0'1
ke \'6i e,le lhue Ihd trollg
IhLl'
\'I~'11
dang
~U
dung.
l\'C"u
ling \'6i m6i
Ih:ll1h
ph::ill
trollg
Ih10-1
ke'
c6
Ihe tIm
th,'IY
tlll,re
Ih(
c6
cling
\Cn
lrong
e(lc Ihu \,l¢n. clUfll'ng trlnh bien dieh
Sl:
xfl)'
dUllg lInK the
Ill()
phong
216
1\1PI
Clta
\16
c(ing
FlllIAd(k'r
c6
bit
Ihilnll plliln
1;\
Xorgale.
Or2gi\Ic
\';\
And2gale.
I\cu
Il"Ong
Ihlf \
i~n
WORK
chLm
e<.lc
tlwe
the
e6
eung
10n. clurrfng
lrlllil
1110
phl'lllg se
g{\Il
k01
kie'n Iruc
duoe
bien
d\eh
"all
dJllg
(
trong
IrUt)"])g
h9'P
tln.Tc
thc'
c6
nhicll
hon
lllt')!
I·jen
Inie
) \'6i
nhung
Ih;l11h
pl]{\n
tuong
ling.
Nhlf
\,,~y
nh:\ Ihi0't
k0'
I hl'mg
nh[lt
thid
ph:ll
(1[IC
1,i
m()1
Clieh tUlHlg
IllI11h
~V
gtm
kCI
nhCrng phi0n lxin ella thi:tnh ph[ln \'il
de
e;:lp
lh~re
the - ki0'n In'le
ehLra
tWllg tlur
yicn
thl0'1
kc',
Chung
ta
gOl
'>l!
g{1l1
kc"tn;\y
1;\
g;i.n
k('1
1ll'.1C
dinh.
Trong
tnrl1'llg
hqp
m()llhl!C the
C{l
nhicu
ki(:n In'lc Ihl \'ice
ehon
m,:lC
dlnh
ki0'n Irllc
dunc
dieh
sau
dlllg
e6
the
kh()llg
Ill'a
eill}ll duU'e
l i0'n
tn'le
e,-Ill
Ihie:t.
do
d6
dn
ph:li
bieu
dicn
Cllu
hlnh
11161
Clieh lui:mg
I11mh.
!\,1(lt
thue
tile
c6
the
l'{l
nlllcli
ki61
trLle,
;"'1(n
kiI.<n
Irue
e6
Ih(:
1;1
m(l
hlnh
Ihu(l\ 1.);ln. klCll tIlic kh,le
co
th0' iii
11llJC
thanh
ghi
truycn
d<,lt
ho;k
e6
the
Iii
me)
hlllh
du
tnk.
Tr011
khia
CI.ll1h
Illlc't
k0',
ehllllg ta
dn
llya
chon
e.IL
hle;n
trllc
ella
phtll1
III
11161
each
thich
hqp
\'ZI
phai
ehi
j"("'i
de
khal
b.lo
th~re
the
Y:I
Clie
\ i"::l1
In'le
SC
lhlo'C
h,.ra
chqll.
:"JIllr
\,[\y. Ill(lt cl"u hillh
,0
cling
ci'p
l'hu
chLlng
ta
deh
ltya
Chl}Jl
nhCrng khal
lXIO
Illl,re
the \'il
ki(n
true d6i \'()i Ilfng
phi0n
h.l11
cLla
th:\1\1
1
phrin throe lll()
t,'\
trong
Ihflll kic'n
trLle
o'ta
Ihic~l
1 :'.
GIll
hlllh
ClI<.l
\11()1
d~\C
t.i th;lnh ph[ill
dll\~c
blC'U
dien
thco
qlly
1(Ie
ell ph.;p
sall:
for' < d;lllh._s.iclt
phicll_han
>: < t011_th;tnh_ph:-in >
l1~l'
<
d~lc_t,i.
~?/In_kc't
>:
Trollg
ct6:
< danh_".kh_,phi011_lx'11l > ehi ra
danh
,>.icll
phien
h,'lll Ula tltil\l!t
ph:-in
dlfO'C
d~U
du
hillil(
e6
t(;n
dw,l'C
chi
ra
b{l\1~
< lCll_th:lIllt.
__
phan
:>
).
Phicll ball c(l the
duqe
d:,le
la b,'llIg < nh:lll
__
pI1l011_hall >
hO:.lc
dllllg
e.ie tu'
kh6a
otlll'rs
hO~le
OJl\.
• Tlr khl)a
others
chi
\l~i
de
phicll h,in
eLla
thilllh ph6n C() k'll
1;1
< tCll_thilllh_phrin > d
chua
duqe
d~.lt
C:ill
hllll1.
•
Tit
kh6a
all
chi
tl)'i
111(.1i
pili0n
b:!Il
CU;1
lh;ll1h ph:;n
C()
len
Iii
<
tCn_,
th:ll1h_phrin
>,
<
d.K_t.l_gdn
kel >
dU,1
ra
dc
;[nll xa
giCra
de
klc'n
IdK
duO"c
llfa
Chqll.
dua
Ihcn
do
phicn
bill I
\12
(hl\K
x.'!y
dlIng. Th(lllg lin
1l;IY
sc
duqe
nl{)
t<.i
theo
'Illy
lac
Cll
ph:ip
sau:
entity'
< t01l_thu'_"10n.tcll_thLfc_thc >
[(
< tCll_kic'll_tn:ic > )
1:
2[7
Nell
tln,re
Ihe chi co mol
ki0'n
trtic Ihl
t011
Clla
ki0'n
true trong
ph[11\
< d(\C_tll_gtlll_kc'l >
ct)
the:
ducie
hl)
qua.
Vi
elu,
la
co
Ihe d(le
1(1
b{)
ct)ng
dfiy
du htlllg
deh
SLr
dl,lllg
cae
ctlu
hlllh
nilLf 'i<'\U:
lihraly
IEEE:
usc
IEEE.STD_LOGICIIM.all:
entit.y
FullAddcr
is
port(
A,
g,
Cin:
in
STD _LOGIC
Sum. Coul:
out
STD_LOGIC):
end
Full
Adder
:
archit(,cture
!\-1Pl
or
FullAddcr
is
component
Xorgale2:
port
(
10,
II:
in
STD_LOCilC:
0:
uut
STD
LOGIC):
end
cumponent:
component
Andgalc2:
port
(1O,1l:
in
STD_LOGIC:
0:
uut
STll_LOCiIC):
end
component:
component
Orgalc2:
port
(
10,
I!:
in
STD_LOGIC:
0:
out
STD_LOUIC
):
end
component:
si~Il<l1
51. S2, S3 :
STD_LOCiIC
for
U I:
Xorgale2
usc
entit.y work Xorgate(
BEV
):
for uthe."s:
Xorgalc2
usc
entity
work'xorgalc(BHY):
for
all:
Andgalc2
use
entity
work.And2gatc:
for
U5: Orgalc'2
usc
entity
work.Or2gatc:
hegin
U I :
Xorgald
port
map
( A,
B.
N 1
):
U2:
Andgatc2
port
map
( A,
B.
1'\2
):
LJ:
AndgaLe2
port
Illap
(Cin.
N I.
N3
):
U4: Xorgalc2 port
map
(
Cin.
N I.
SUIll
):
U5:
Orgatc2
port
mnp
(
:'-J3,
N2. Cout
):
end
IMPl:
Trong
"I
elu
nlly.
phicn
hAn
co
nhan
Ul
eua
ph:in
ttf
Xor
se c6 11l{)
{,i
tU'o'n~
Crng
nl'i tlurc
Ihe
Xor2gatc
ChtIa
trong tim vi¢n WORK. Yi¢c
1111I,::"t
];~r
lien
kc't
giCi'a
phi0n b
ln
va
Inn
t,i
thy'c
Ih"::
duqc
the'
hi¢n
tHong
rninh
ht'lIlg
call
218
l¢nh
g{1l1
k(l
for.
Cic
phfin
111
Xor
co
nhan
khk
U 1
:o;C
throe
g:~l!l
kl:'1
theD
dlmg
kn
fur
others
tic'p theo.
Til"!
e,t e,le philn
III
Andgalc2
:-;2
:-;u:
dl;l1lg
C:\U
h1nh
IHo'ng
{rn~
v{ji
Ilwc Ihe
And2gale.
DCii
v{ji
phfin
Ilt"
Or
vi~c
1111.l"C
hi¢n
g[\11
k~1
du
Iruc cling
.'\~ly
ra wong.
Il.L
~7.2.
)\W
hlnh
hoa
trcn
m{te
thanh
ghi tru)'cn
d: \t
M()I
Ihi61
hc'
Ircn I11ltC Ihunh ghi
Iruy~n
d'.11
han
g:61l1
tn(~1
\{Ip
h(.1P
ule
thanh ghi licn
kc'l
v6i
eLIc
tn'.lch
t(~
hq·p.
Trong
!llUC
n;'ty.
chun~
16i
.'-,,:::
Iflllh
b~ly
mOL
quan
h¢
giLl"a
d.c
du
Ink
tren
lllLre
Ihanh glli trung ng()n
ngu
VIIDL
\'il
1ll'.lcll
16gic
sc
ducyc
1(}l1g
hem.
1. M6
hinh
hba
m;~ch
to
IHjP
l\.1()1
qu:i
Il"lull
killing
chLl"a
dIU
1~!Ih
if
\'6"i
tin
lli0u dieu kllien Iheo
'arrl"ll
10n
hO;lc
:o;ui)"11
xLlong
Ilo,~c
kh(ll1g:
chu·<.1
e[1Ll I¢nll
wait
\"ai
dc
.w
klcn ella
Ifn
hi~u
gQi
Iii
qu;.l
Iflull
1(;
IWp.
/,\"1()1
Dill
qu,i Irlnh
16
hap
sc
dUQ'c
16ug h(m hIlllg
d.c
Im.lell
t(~
h(}p.
VI
tll.l
sau
drlY
SC
11101,1
m:.lch It)
h{.J"p
Ilnll
gi<i
Irj
nita ella
b(l
c(mg
d{;),
L1ll
\'{ji
cae d:iu
V:IO
A.
B.
Cillo
signal
A.
B.
Cin,
COllt:
BIT:
proccss( A.
B,
Cill )
bq!;in
Coul
¢.=
( A
and
B )
or
( ( A
or
B )
and
Cin
):
end:
219
TrOll~
\'f uu
ni:ty,
t[lt
cit
c,te till hi¢u vilo ph'l!
dU'lK
gIll
trong danh
~,ich
tin
hi0u t •
.\c
dl)llg. Danh ",\eh tin
hi~L1
t,Ie dl)ng ehi
ra
ril11g,
qUii
trlnh tfnh to,Ill
dang
xct
~c
du\l"C
tllve h!¢n khl
e6
SLt'
lhay ,I(;i
CLla
dc
lin
hll'U
ntul1
lrong
danh
s,ielL
D~
1l1()
til
n1<.leh
ll)gic
td
h0p.
dc
bien
v:.
tin
hi011
troug
1ll()1
qU;!
11"lnl1
process kh(mg
chfq'e
nh;1Il
gi,i
11"i
g;!n
kh()'j
t',IO
IrLr()c
bl)'j
\ I
lllilCh
It)
IH)'P
kh(m~
ehlia
C:le
ph:in
III
nlll}.
Khi lrong
1l1(J
hlnh mach
e6
de
hl6n
hO:lc
Lin
hlCll
dwye
khll'i
lao gi,i
Ir!
tn['lk,
dlCll
n~ly
s.:
Luong
dunng
\'('ii
\'l¢e
Lrol1g
111'.ICh
ph,li
c{)
nhu'llg ph:in
Ill'
luu
Ir([
de
gHi
lri
kIH')'i
[i.IO.
l\'hu' \
;)y
h.hi
lll()
hlllh h6a e:lll
Ink,
ehuong trlnh
1m)
ph()llg "i:
,inh
1"a
de
pld.Il
Ill'
nh(l &i
Iuu
tn-r
de
giii Irj
J JJ('ii
1,.10.
\1'.ICh
tn)'
Ih:lI1h
mi,lch
e6
nh6'.
Them
\':10
(k),
trung
dlc
1l1{)
hlnh lllHeh
t{i
h(.l'p.
de
tin hi¢u
\'i:1
hien c:\n ph'll dlt'oc
~iin
~Hi
11"1
Irll'lk klli
dWK
sLr
L1t.lng.
Moi
du
knh
lufin
I~r
11"Lf
de
I¢nh wait. loop
\'i:1
if
\'(')'i
nhCrng
lin hi¢lI
ctl~Ll
kIllen Iheo
SLf('-m
d~u
c6
Ihe dllng dl:
Ill{)
1<\
c,ic
Ill,,lcll
16gic
l{)
h()p.
eic
phcp
loan
,,61H,le
nllli
+,
-,
* :
c:k
phcp to,in quan
h0
d
de
phcp
LO(UI
]()gic
dcu
e6
Lh~
dUO'e
~u
dung
lrong
bi~ll
thL"rc.
A
I'
~
l-
B!
'
c )
'I
,
Sel
.
l
:[~.
/
,.
'"Z
J )
J
llsel
'i
b)
IItllh 7.6. I
Lll
k,:'\
qU;1
101110'
help
1ll;,ldl
kkil'
[Iklll.
C{lIlg
Cl.l
Il)llg hqp e6
th~
tlwe
ili~'n
cilia
Sl~
t~lI
nguycn
HC'U
co
ele
lhao I;le
lo,.lJ
11"(1'
trong hiel! ellen
thic!t
k2'.
Vi Ull, hai
ph~r
LO(tn
cl)ng lrong lrong
dO' lll
clurong trlnh
dU()'i
d:I.Y
Iii
hai phcp e(lIlg
lo'.li
trlf
\'1
cluing kh6ng the
Ilu.1'C
hi~n
d6ng
lh()·i.
Chllng til co Ihe
g,-in
d.c
ph0p to,tn
d6
el10
hai khili
ehL"fe
nZl1lg
kh,ic nhall
hOi.ie
~:tn
eho
cung
1TIl)1
khoi
chL"fe
n:ulg
IUy
thw)e
\'~IO
d.e
r~l1lg
b1l6e
\'C
Ii:li
nguy0n. Kcu dicu ki¢n
ri:tng
hUl)C
\'C
lili
ngu)'i.':n
yell c:\u
: l1'
dl.lng
220
l1l(ll
b()
UHlg.
me.leh
1(;llg
hqr
duqc
0
c()
(bng
Iren hlnh 7.oa. Tuy nhlen.
n(~"ll
ctleu
ki~n
r:l1lg
bll(JC
yell
du
hal
b(l
C(~ng.
me.teh
nh;lll (hl\fC
: 0
Cll
dan~
lrl'll
hlnh 7.6h.
Vi
dl.!,
process
(
!\,
B.
Sci)
1ll'~il1
if (
Sci
=
'I'
)
titl'l1
/.
<= B + C
l'ISl'
Z
<=
A +
D:
end
if;
end
procl'ss;
etC
rh~p
gein
l(n hi0u song
ong
ccllhc
dW"C
il"
dung
ng[1l1
~\.)n
d{)i
"("fi
1110t
s6
loe.li
ll1<'lch
lhgic tll
hl}'P,
Vi
duo
trong qu;. trtllh
;illh
ra
gl:l
tn
1\11("j
Cll,1
b(l
c(1!lg
(by
dll
llj(~t
bit
dl
th~
duqc
vie'!
du6i
(L.lng
m()1
phcp
1;,ln
till
hl~ll
song sung
n[H!"
trollg
doc.1ll
chucmg Irlllh
dll"(ri
d{IY.
Vi
lIl.1.
architccilJl'l'
D,llaF10\\
of
FullAddcr is
signal
A
Il
Cillo
COLlt:
BIT:
COllI
~
( A
and
B )
or
( ( J\
or
B )
and
Cin
):
l'ud
DalaF10\\:
Irig(j
EIl1l
\'l~l'
then
SU<)"J1
":1
trigO'
1:1111
'ICC
Ihl'O
111
(I"l'
thll"(\ng
dlfo'c
Sll"
dung
lrong
de
ph;in
Ill'
n!J(i
m()1
bit. Ta
x:GI
vi
till
111(1
1,'1
m;H:h
tngo
D
[:1111
\'IC:C tilen
111((C.
Vi
d~l,
m(l
I;i
h~lnh
\'j
m;.lch
trigo D
1;\ln
"i¢c
Ih< 'o
111(I"(
btlllg ng(lll ngu'
YHDL:
[)]ll
[J[)OUI
-[)()
S
- C
mnl!
7.7,!'ILKh
tn-go
D
1:\111
yieT
\"("1]
("he
d(l deing
06
tlk'()
11llrC
121
signal
S,
Dill, DOut:
R1T~
process ( S, Dill )
hegin
if ( S
~
'J' )
then
DOut
<=
Din~
end if;
end process;
(,hllng
ta lh,·\y.
danh
s,ieh
Clie
1111
11I~u
!lh',lY
e:1I1l
eht'ra
l'de
lin
hh:'U
S
\'~I
Din.
ek
lin hicu
n~IY
dn
111Ic't
de
rh:ill Ilr Irigo' D
hO'.lI
d(lllg dlillg.
l\hu
\"':Iy.
kill
till
11l~'1I
Ircn dlf(\ng lin hicu S
\';1
Din Ihay d(ii gla
II"!,
qU;l
Irlnll
C:
dli(/e
d1l1l1ng lrlllh
lTlO
rhong
th~[e
hi¢ll. Cllllllg la lil:iy \'i¢e g,in gi,i
Iri
eho
lin
hll'U
DOtli
dUr)'C
'-til
Il"Ong
chi
I¢nh dicll ki¢n if,
gicl
tf! lin IIl¢u trcn
(hrll'l1g
tin hl¢lI
DOLIt
si:
kllollg Ihay
dr'il
lieu gi,i [rj tren
du'i"mg
S billlg
,()".
N0'u
gl;'ilq
[ll-'Il
du'(mg tin hicu S htlllg
'1',
gi;t
Ir!
Ircn
c1u()"lIf,!
tin hi¢u DOllt sc thay (kii
\':\
billlg Din
mt'Ji
kili lin
hl~'lI
[rong danh siieh [in hi¢lI nltay
cam
[hay
dl;1
gii'ilrl
D6
EI
h:lIlh \'i ho,
t dl)llg
cLla
rh:in tlr Ing(5
1;1I11
\'I('e
theo
llllie
: JIm
\';:IY.
lkll
Yl~i
de
milch trigo'
1;1111
vicc thcn llllk. chung
Iii
plHli
chi j"()
danh
s,kh
ell'
tin
hl¢u t,le d(mg. Kili
Clie
[in hl¢u
I;Ie
d(mg thay doi Ihl
qUit
ll'!nh
Illl1
la h:!llh
\'1
ella
Ill<,lcil
sC:
dU'9'c
Ih~rc
hl¢n.
N6i
dlllllg,
h;\ilil
\'i
CLIa
de
JlWeh
[ng(1 I:lln
\"i¢c
the()
lllll-e
sC'
duoe
X:I:-"
tlt,j'J]g
Ircn
nhCmg
ei'llI
I¢nh
dJCU
kl¢n
if
kll(lug
(hi),
dl'l.
ell
the hicli
chi
knh
dicli
kl~~n
if
J h(lng
(hiy
du
lit
du
I~nll
if
chi e6
Im)l
nh,\llh
th('11
\:\ khullg
chLra
nh;lnh c1st,.
l\"hu
v'~y.
nwi
lin hi¢u
hO;h:
bien khl)llg dUde
diL'lI
hllicll
h(')'i
t{11
cil
de
kh,\
n{l1Ig
e(i lhc e6
eua
diell ki¢n
dell
dune
llll1
ph\lllg
111:11111
lllll-rllg
ph::ill
Ill'
IIlgu'
l~lIll
\'i~c
th ::o
IlUi-C.
C;lC
ph:lll tll'
trig(51;1111
\'i('c
theo
llll~rc
llilf()llg
XlI:tt hi('ll
lrollg
Llu,i
Irlllh
IllO
plll'lIlg
khi
g'.IP
c;le
knh
if
\';\
cast'
OJ
cau
IrltC
klH)ng
d;IY
dll.
D(\ln
dll!,(Jng trlllh t]'(lng
\'1
lit!
\'Lra
nCli
tl'l'll
ILrung
Ll'Ilg
\'(')'i
phan
Ill'
Irigo
Elm
\'Jce Iheo
mt'fe
d
dtH)e
hi~lI
dJl'll ht\llg
du
]Cnh
if
e6
e:1lI
IrllC khr'lIIg
(by
dLI.
Dc
Ir;lnh
s~r
XUil't
hi¢n ella
de
phSn
Ill'
lrig(i !i\ln
"icc
theo mlre khl\llg
mOllg l11u6n.
ehlJng
til
ph;11
g;ln [ill hi¢u ,,6i
tAt
c,i
de
kha Ilallg
e6
the
U')
ella
diC:u
kl¢n
trong
dc
du
knit
rc
nhi'inh. Vi
dL,I,
llC'U
[<I
b(~
sung
de
nh;lnli
\";10
C,-lU
Knh
diC:u
kl¢n
[J'Ollg
dO'-,1I1
eilu'()"ng
trillil
nClI
lren,
chi
I¢nh
if
sc dwyc hicli
222
d!(~n
(tty
ell!.
Kill
dt)
doan
chmmg
tr!nh sc
c1U\K
chuang
Irl11h
m()
ph(\n~
tt)llg
1HlP
nhu
1ll<1t
ph,tll
tlf
At\'D.
Vldl.1.
si~nal
S,
DIn, DOu!: BIT:
procl2s~
{ S,
Din)
he~in
if
( S = '1' ) then
DOul <= Din;
else
l'ud
if
end process:
DOllt <=
'cr;
Chung la c6 Ihe
rn(l
ta
ni1L"rng
ph:in tu trigo
1;1111
vice thc()
\l1Lrc
\·t\1
hell
lLIU
tin hicu Ilm't [{ip
~lci
tri
'0'
hoi.ic
'I'
kh()ng d(lllg b(l.
DO<ln
dUl'ting trlllh
tlw"ii
d[IY
SC
blCll
di0n ph:in
ILl"
Ingo'l:l1n \'i¢c then
111LrC
c6 glcl
Iri
'0;:
Ihle"1
Lip
\\::
'(l'
J hi
lin
11I¢u
(btl
\'aO
kh6ng dong
be)
RST nh,)n gl,\
tl"1
b,lng'
l\IH(
\'
(v
Irong \'f d\l
n;I)"
tfll
hlCU
RST
1:1
till
hl~'U
kfch
ho,.11
nii
vO'i
lllL!"C
gi,
l1'i
Ifn
hiC'u
can.
RST = I
-==>
IhicI
Wp
In,lllg
tl1<ii
eua
trigo'
\'~
'0'.
si~n<ll
S,
RST. D[n, DOll!: BIT;
Pl'OCI2SS
(
S,
RST, DIll )
hq!,in
if!
J(5)T
=
'I')
then
DOLlI
<=
'0';
c1sif
(
S::::
'I'
)
then
DOut
<=
DIn;
end if:
cnd
procl2ss;
r ;C'u
chLlng:
la
muCin
dOl
lin
hi~u
I{ST
thi:l11h
tin
hi¢Ll
kich h
It
,/ii
IllLK
gi,\ tri
th'\"p.
dic'u ki¢n trollg
cJu
I¢nh if
<.;13
chuyen
Ill'
( RST
;::
'I'
)
thi:lllh
( RST =
'[)'
).
J.
XilY
{hmg
ml.H:h
dl'mg htl
hai
pha
C(IC
m,lch
d6ng
h6
hai
pha
c6
the'
du\,l'C
m(l
ta h:ll1g
deb
su'
dung
cae
Irign
I:lln vice
theo
1l1ll'l.:.
l\1neh d6nt!
h(;
hal plw (hr(le hicu (hen h,lng hai
qu:i.
11"I11h
Troll~
(h.'l.
mtl\
qu,i.
Il'lnh m{l
1'-1
m~leh
Ie)
hClp
yil !1lach
1:1\
t:int! Ill(lt. lju:!
Il'lllh kh.ic Ill,)
ta
111'.lc11
16
hop
\';1
mach
1:11
IClllg
tIll! hai.
Vi
dl.!.
11110'1
k0'
Cll(1
Ill<'lch
d6ng h,) hai pha
,,;:
du'oc
1l1tl
hI
bang dn:.lll
dllfnng
Iflnh
trell
ng6n ngll'
VHDL
nllll' sau:
D=
-I~l· ~·-
~I
;hl;
tJ
'II
-
~r l
. Z
B
._~___
D r
Phi
2 I I
('n tity T\\'oPhasc
is
port(
A,
B:
in
B[T:
PhI.
Ph2: in BIT: I:
huffer
I~J
r
):
end T\\'oPha" :::
architecturt'
Impkmcnl
of
T\\'oPhasc
is
signalll:
fliT:
pron'~
(
A.
I.
Phi I
hegin
if (
Phi_l
= '1' )
then
J)
<= "
or?:
end
if:
end
proc('ss:
procl'ss(
B.
D,
Phl_2
)
hegin
if (
Phi_2
:::::
'I'
) thl'1l
7,
<:::
Band
(
not
D
):
end
if
end
process:
end
Implement
4.
Cric
Im~ch
triga
lam
vi('C
theo
sUtHl (
nip.tlop
)
Cae
qua Irlnh
chua
cae
tin
hi¢u
if
hO~le
wait
dieu
khi~n
thl:O
sui.'1!1
kn
hO~IC
SU'C111
xuong
) la
cae
qu<i
trlnh
duqe
c1inh
gio'. Cilc
In'-,Ieh
trigci
dicu
kh[(~n
Iheo
sU0n
l~n
hO~lC
sui.'m
wong
clIa tin lm':u
se
dll'0c
1,:,10
1'<1
lir
m6
1<.'\
Iren
ng(m
ngu
YHDL
lle'u
phcp
g,in tin
hi¢u
(
hO[lc
ph~p
g.in hie'n )
dUQ'c
tln,rc
hi~n
thea
sU0n
10n
ho,)c
suan
xuong
ella
de
tin
hi¢u
dieu
khitn.
Kili
tim
ra
,>uon
ella I(n hi¢u
dong
ho.
ChU'(illg
Ir1nh
m6
phl1ng
co
tht
xac
dinh
dUQ'c
\'j
Irf
dc
dtIu phfin tir
Iriga
yao
!TIn
hlnh.
NhtI V(I)'
m6
hlnh
nh(m (hlqc se
hO<'11
dqng
theo
dl!
doan
Irong
giai
dm,lil
thiel
kc.
Thune
Ifnh
event
ella
tin
hi~u
dlf~iC
dung
de
hicu
dil:n
sy'
hien
Ihien
clIa tin hi¢u.
Khi
chung
ta c[in x,\c
dinh
Sl!
hle'n
thien
ella I(n
hi¢LJ.
thWle
tinh
event
siS
cho
ra gi,\ lr! 16gie
tu5'
Iheo
tren
<luang
lin
hi¢u
co
Xll<lt
hi91l
"lJ
ki¢n
hay
kh6ng.
ThuQc Ifnh
stable
cGng
cho
gi,i Ir! 16gic vii
e6
)'
nghia
nguQ'c
h.li
n"'ii
thuQc
IInh
ennt.
Tron!.: vi tlu
du6'i
duv. chuno- ta
mn
t,\
~.
_ e
Din I
I DF/F Q
elK
DOu!
mnh
7.9.
Trigo
D (ticu khic'll
theo
~lf(Jlllil1
hlcu
(ICing
110_
trigc) D diJu khie'n
theo
sHon
len
bilng
ngnn
ngO'
YHDL.
Bieu dil;n
cLla
1l1'.lch
hao g6m m(ll
qUii
Irinh
process
e6
danh
sach
lin
hi~u
I[\C
dQng
chCra
lin
hicu
(kl11g
Ito
elK.
Qua
trlnh
nay
dura m(l\ ulU
l~nh
if
Cll
bicLi
Ihu c
dicu
bet
kicm
tm
Slran
12n
eLla
lill
hieu
dong
ho
eLK.
Trong
Ihai
gian
tin
hi~L1
IhiLI
J;)p
SU'liIl
len, giil Ir! Iren (lLri\ng
11n
hi~u
DIn
dU'(iC
gilIl
cho
(hrong lin hicll
DOu\.
V i
ell.!
m()
1:1
hOi.11
d(lllg
cua
tngo
D
lam
vi¢c
thea
sU'an
len
ella tin
hieu
dong
h6
elK.
signal
eLK.
DIn. DOul: BIT;
proccss(
eLK)
begin
225
if
(
CLK'eyent
and
CLK
='
I' )
then
DOlIt
<=
Din;
end
if;
cnd
process:
Trang
doc
chuang trinh Iren ng6n ngiJ VHDL,
cUc
bie'n
cling, co Ihe sinh
ra
uk
trigo dicu khicn then
sub"]}
tin hi¢u. Cluing ta hiet n\ng, khi
1l1<)t
bien
dU0c
khai
h;lo
trang
mOt
qua Irlnh process,
gii.!
Ir!
cua bien
'>0
kh6ng
rb"i
khhi qua Ir!nh (eo nghla
li\
gia
Iri
cllil
bien
dU0C
kiwi
h,-Io
hen trong
m(l\
qua
Irtnh
se
khollg
dW1c
SLr
d~lng
6 hen llgo}i qua trlnh).
l\hu
V~IY,
Ihoi
dic'm
1l1~1
llH)1
hierl
~e
sinh
ra
11191
trig a dieu kilien then
su-an
trung
qu,-!
Irlnh
111<)
ph<'lIlg
1;1
thc\i
diem khi
hie-n
dUtfc
su
dl;mg
tmoe
Ide
du~)"c
g[U1
giCI
Iri
hen Irong qua
trlnh
clLrqe
di~u
killen theo till hicu
cl{)ng
h6. Trong
vi
ell,!
du6i
c!iIY,
dOi 111
mil
c11L]"<1ng
trlnh
VHDl
sc
sinh
ra
hai
phi'ln
tu:
trigo
1~1.I11
Yi¢c
Iheo
strim
k.hl
c1uoc
11111
phong.
Vi
ell;):
doan chHang Irlnh
1, tO
ra
hai
plu:tn
tu triga dieu khiell Ihen
sU<JJ1
trong
qUii
trlnl1m6 phong.
signal
CLK. DIn. DOuI:
OIT:
proccss(CLK)
yar"iablc TMP:
I31T;
hegin
if (CLK'event and
ClK
= '
1')
then
DOu!
<~TMP:
end
if:
end
process:
TMP:~
DIn:
Trong
vi
dl;)lld.y,
bien
TMP
duqc
SLr
dt.wg
lru"6c
khi
duC/c
gi.in
gi,]
Ifi.
NIH!"
\'i.~y,
gia
tf!
chua trong
bic'n
TMP
lit
gia
tr!
c6
cltrQ"c
S<.lU
I[in
1~IP
trLIlk
ella Irlnh
It!
thJ!c
hi~n
quil Idnh
vu
chung la can ph,ii co
m(ll
trigo
de"
lUll
11'0·
g.i:1
1n
nay. Neu chung la doi cho hai phep gan trong
dOi.tn
chuung Irluh
U61
tren,
hien
TMP
se
lU"ang
ung dan thurin \'6i
mOt
d{ty
dan. Khi do chi e6
Il1l)t
phrin
tu
trigC1
.'>c
dtI~)"c
t'.lO
fa
trong qua trlllh
1116
hinh hoa
mi teh.
226
5.
Thiet
l~lP
va
x6a
gia
tr~
dung
h()
,"'a
kh{)ng
dung
he)
trong
cae
Im~ch
tri~o'
di(;u
khicn
thl'o
sU'un
tin
hi~u(
flip-flop)
Uia tr\
ell<.t
doc
ph[111
tu flip-flop co
th~
dW1C
thie'l
Iflp
110(lc
wu
!l1(j1
deb
dong
b<)
dua
vito
sv
xutll
hl~n
tin hicll trcn cac d:ill
V;'IO
Ill'Ung
LIng
ella
p!dn
tLr.
Phep
~,in
gia
Ir!
chi dWie thuc
hi~n
kili
'\U[\I
hi¢n
~U0n
ella till
hi~u
Mlng
Din
MUX
.io]Q
I
DOu~
'0'
I
'
F/F
SRST
L'
C !
-
= s-
,
ClK
____
_
__
l
IIlnh
7.10. tI\ach 0 /lIp-flop
\"(J[
eLIU
\6a
Irang
th~ii
lklllg b6.
b(l,
Con lrang cae
thi:ii
diem
kh(ll1g
eo
lin hi¢u
dong
b(l.
sv
Ihay
d6i
giil
trj lin hl¢u tren
de
cUu
thie't
!;!P
hOi~C
xoa
khong
iinh
hUt1'ng
t6i
tr,.tIl,!;'.
thai ella phan tu nh6.
TAt
G'I
cae phep
gan
ben
11"OI1g
e~\u
!¢nh
if
rhiin
Ll'ng
\'(1i
su'(:'m(
kn
11o[\c
XU611~
) clla lin
hi~u
se
Cll
I,IC
dL.mg
Ihiel
1<:lp
tr'.lllg Ih,li ella ph:in
ILl'
nh6 trong loan
b,?
thai giall hlnh
Ih~l\lh
SLfi:)n
till
hi~u
d(lng
h().
Ph:in
tt'r
flip-nop \'6i
CitC
(t{iu
thie'l
Iflp
hO(lc
xoa
trang th,il
co
Ihe
dLfqe
Illl)
hlnh
hoa
htlllg clleh
xac
ojnh
Ih()'i
dil:m
ct<.lU
\'~\O
dong
b6
se
dWiC
thid
hJp
then
sy'
XUii't
hi~n
suan tlil hi¢u (hlng ho.
DOi.lJl
dllfong
trlnh du6'i
ct[IY
se luong
OU'(J'ilg
\'6i In'.lch flip-flop
co
call
true duqe
1l1{)
I,i
tren
hillh
7.10.
Vi
dV:
~ignal
CLK. DIn. DOu\. SRST:
mT~
process(
ClK
):
if
(
CLK'cnnt
and
CLK = '1' )
then
if
( SRST
~
']'
)
then
end
if:
end
PI'UCCSS:
else
end
if
DOHI
(-
'0';
DOlit
f
DIn;
Trong
00:.111
chuang
trlnh
In~n.
chung
la
thuy
cac
tin
hi~LI
DIn
vii
SRST
)";hong
dn
thiet
ph<.ii
n,l.m
trong
danh
S<lch
cae lin hi¢u tae d(mg,
eic
phep
227
gCII1
chi xuy fa
khi
xuat hi¢n
SI!
thay dhi gia Iri ella tin
hi~u
dong
h6
ClK
(duqc
kicl1l
tra hang
di~u
ki911
ClK
'evcnt)
III
'0'
sang'
I'
(du</e
kie-11l
tra
bIlI1g
dicu ki¢n CLK
==
'I
').
Trong
nhi~u
truong
hqp,
vi(;c
thiet l(\p
ho~e
xoa
gia
trio
cllll phan
ILf
nhd
kh6ng
phlJ.
lhuQe vao thai gian dong
bo.
Vi
dlJ
trong
d.c
phun
IU
Irigl1 D
dicu khien thea
suan
tin hi¢u (D flip-flop) doi vai
nhi~u
truo-ng hqp,
dn
thiet thiet
l~p
gia Iri
ho;;"c
xoa gia trt kh6ng
plW
Ihuc)c
vao thai gian
c!('mg
ho.
Do'.1Il
chuang
trlnh
Vi-iDl
duai
day mo tu phun
IU
D flip-flop
co
de
d[ill
vao
xoa gia trj khong dong
be).
Vi
dlJ.
D flip-flop vai duu xmi gia lrj khong dong
h();
signal
CLK, ARST, DIn, DOu!: BIT:
proccss(
CLK, ARST )
be~in
if(
ARST=
'I')
tbcn
DOut
~
'0';
Din
~
D
ClK C
DOut
01
F/F
clsif
(
CLK'evcnt
and
CLK
==
'I'
)
then
ARST
end
if;
end
process;
DOUI
~
DIn;
Ilinh
7.11.
!"Ilach
D flip-flup
\"lji
lhill
:0;0<1
tr'.lllg
Ih:ii
khollg
cUing
bo.
Trong
vi
dl.1
nay, chung
til
Ihay
thlJ.·c
th~
tIuqc
ma
ti
co
m(JI
cong
\'~1.0
ho
~ung
-
cang
xmi gia
Irj
khcmg tIring
bQ
ARST so voi
tru·ll"ng
hqp xoa gi:\
Iri
dong
b(1.
Cae tin hi¢u CLK va ARST phai nam trong danh such tin hi¢u dicu
khien. Moi
khi co
I1lQI
Sl!
ki~n
xua'!
hi~n
tren cac
duong
lill hit:u Cl"K
11O~\C
ARST,
dOQ.11
chuang
Idnh trong than ella
process
se
dU~1e
tlll.re
hi¢n. Trang
vi
tIy
nay, tin hi¢u ARST
co
mue
dQ
U"U
tien
cao
han tin hi¢u
elK.
K f h tin
hi~u
tren duong ARST
nh(1l1
gi,i tri
'I',
dau ra eua D flip-flop nh(lll
gJii
tri
'0'.
Trang
nhung truang
hOp
kh<ic,
D flip-nap se
g;.in
gia
tr!
tin
hi~LJ
ctIu
\';\0
DIn
eho
d,iu ra DOut
luang
ung yai
sU'an
len cua tfn
hi~u
dong
hci
CLK.
6. Sa d(i
chung
mil
ta
ITI:,Ich
co
nh6
228
Nell
xet tren quan
diem
diu
true
va
ehue nang.
mi teh
e6
nht'f
IU()11
dUQ'e
ehia
thimh hai pllan:
cac
Ihanh
phUn
10
hryp
va
de
1Il< teh
llho citing
be).
Tuong
(rng.
voi eaeh phfm chia eh(re
nang
va
eau true nhu
v~y.
ma
hinh
eLla
mach eo
nha
bao
g(ill1
hai ph:in:
mQI
phfill
ma
ttl
d.e
cau Irue va chue n:lilg
I()
hryp;
111Qt
phfin mo
t,i
eae
diu
true va ehuc nflllg mach !lha dong
h(>.
Trong phull
ma
ta
e;"ie
thunh phan
10
hqp, chung ta bieu
di~n
nhLing
lhunh philn
m<'.lch
co hanh
vi
phI,!
thuQc vao slf Ihay doi giil trj tin hi¢u
tHl.m
trong danh sach lin hi¢u
t<.lC
d9ng. Tat d
de
lin hi4u
du()"e
tham
ehieu tai trong phan rno
Iii
de
thanh phan to
hQ'p
ph<.'li
durye
Iit;t
ke
trong danh sach cilc tin
hi~u
tae ch)ng. Cae thao tae d6i voi tin hi¢u
trang phun
nay
kh6ng di kcm \'ai cae phep kicm
Ira
s~r
xuAt
hi¢n
SUC)"]l
tIn hi¢u ( tue \a kh6ng
chua
dc
thuQe tinh
'event
).
Trong
phan m6 ta
ca.c
m;:wh
nha
dong b9.
chung
ta 8icu
dH::n
cae
th~mh
ph::in
lni
leh co hanh
vi
plw thuQc vao sl! xu:it hi¢n
de
SUOI1
ctJa
tin
hi~u
dong
bQ.
Oic
thao tac d6i voi tfn
hi~u
lrang ph[ill
n~\y
chua
cac
phep kiem tra s\! kit;n tren
dU<'J"ng
tIn hi¢u
va
kiem tra
SU'an
tIn
hi¢u
(nhlf
CLK'event
and
CLK
='
I'
).
Vi
dl,!,
dO<;lll
chuang
tr'nh
sau m6 ta nweh
It;lO
xung
c6
S0
do
thie"t
ke
6
muc logic
nhu tren hinh 7.12.
entity
Pulser is
porI ( CLK,
PB:
in BIT; Pulse: oul BIT
):
end
Pulser;
FF
FF
eLK
mnh
7.12.
M'.Ich
tao xung.
architecture
BHV
or
Pulse!" is
signal
Ql,
Q2:
BIT:
begin
process (
ClK,
Q I, Q2 )
begin
229
if
(
CLK'cvcnt
and CLK =
'I'
) then
QI
<~
PH:
Q2<~QI:
cnd
if;
Pul ;(;
<=
(not
QI ) nor Q2:
end
process;
end IlHV:
Trong
vi
dl,l
n~I.v.
ph[in
chCre
ni"mg
10
hQ'p
dU\1c
bicu dien btmg
phcp
gun:
Pul-;e
<=
(not
QI ) nor Q2:
Gm
ph[il1
chLrc
n[lIlg
nila
c16ng
hQ
Iheo
suan
!en
du9'c
bi~u
dicn
h,\ng
UlU
I~nh
if
klt::m
tra
W ki¢n:
if
( CLK'e,"'cnt and
CLK
=
'1'
) then
QI
<~PIl:
Q2<~QI:
end
if;
7.
Cae
thanh ghi
Cl.e
d' mg
thanh
ghi kh,\c nhall cling
thu6ng
du'{fc
su
dung
trang
dc
n1<.lcil
e6
nhCJ'.
Tr":n
hinh 7.13
chung
ta bicll dlen
-;0
do
eua
thanh ghi bon bit
I~un
\'i¢e trong
chc~
dl) dong
bQ
bang tin
hicu
d6ng
h6
CLK.
Thanh
gili
duqc
thiet l(lp
gia
trj
ban
dall
bang"
1111"
kIll xu;lt hi¢n tin
hi~u
tiliel
1(lp
kh(lIlg
d6ng
be)
ASY]\'C.
!(hi
xual hi¢n suan
kn
eua
tin hi¢u dong b(l
eLK,
dc
bit
("IX
,\S\\("
,-
s
1l)"LLII3) I 0"",(21
11)"uIII
I
0
V
0
,-
s
,-
s
r-
D D
"
-
DIlO
'
( (
Din
~)
l)",1
I I
Innh
7.Ll
So
d(i
(ill!
Irtl('
111<\1111
gill
·l-hn,
I
l)"L
Q
s
U
1J1I1(
III
dall
\,:10
cua
thanh
ghi
dUt)"c
truycn
16i dau
r<[
d6ng
th(\i.
Y6i
thanh
gili nhlf
no
Ircn hinh 7.13, chiing la
c6
OO<.Ul
chU'ang trlnh Iren ng6n
ngH
YHDl
tU'ong
ling
mo
ti.t
hill1l1
vi
cua
I11<Wh.
Y i dl;l1ll0
Iil.
hanll
vi
cua
thanh ghi b6n bit theo so
do
trcn hinh 7.13.
si~l1al
eLK,
ASYNC: BIT;
si~nal
DIn. DOut: BIT_
YECfOR
( 3 down to
0):
process (
eLK,
ASYNC)
begin
if(
ASYNC =
'I')
then
DOu1
<=
"1111";
cis
if
(
ClK'event
and
CLK:::o
'I')
then
DOul
<==
DIn;
end
if;
end
process;
Y
6i
sO 06 chung
de
m6
til.
c,k
111<,lcl1
co nlio, chung ta co the
blCLl
di~n
e,ic
d<.lI1g
thanh ghi kh,k tr(:n ngon ngu
VHDl
m~)t
each
lUong
It!.
§7.3. M6 hlnh hoa cae 610mat
hfru
h~n
M~)I
Ihiet kc m\Kh so co
th~
duqc chiu lam hai Ihanh
phAn:
bQ
xu
I)'
dG'
'ITI~
f):iu vito
IlT
ben ngoitl
'llli'lIlg
lin trang
Ih,\1
Lenh
I\'lath
Mi.~ch
dieu
"lach
xlr I}'
khitin
bo
Irq
+-
dlr lieu
~
Tin hi¢u ra
Dlr li?u
vilO
Hlllh 7.14.
M6
hinh atomal huu han
voi
de
thimh
phAn
t1icu
khie:n
va
Ih:U1h
phan
xlr
15'
lilT
lieu,
[ +
r
Dlf
ltC'll
ra
231
li~u
va
bQ
dieu
khiC:n.
M6i
quan
h~
gii!a
bQ
c1ieu
khien
va
bQ
xu
Iy
diJ li¢u
trong
maeh
dU't,J'C
bicu diell tn?n
hlnh
7.14.
BQ
xu
Iy
di!
li~u
thlfe
hi~n
cae
thao
t.le d6i
v(l'i
diJ
li¢ll
ehua
trong
de
ph an ttl
nh6
thea
de
lenh do b(l dicu
khien
dLfa
ra.
B(l
dicu
khitn
dua
ra
de
I~nh
dieu
khien
thich
IWp
eho
hl)
xu
I}'
dfr
li~u
Ii.li
moi thai ctkm thai gian. Voi nhilng I¢nh di6u
khien
III
b¢ chcu
khien
hQ
xu
Iy
dilli¢u
eo
the:
thl!e
hi~n
nhilng
ehue
nang
va
thaa
lac
thieh
hqp
(M
xac
d~nh
dUQ'e
de
till
hi~u
d,iu
ra
can
thiel.
l3Q
dieu
khi~n
nhtm
nhling thong
lin ph,in h6i
Ill'
h¢
xu
15'
da
li¢u - eae thong lin
tr~ng
th,11
xu
I}'
tlii li¢u.
Cic
thong tin ph,tn h6i nay dlrqe
su
dl,lllg lam
de
hien
quyct
djnh
de
xac
c1jnh
day
ehuyen
tr'.lIlg Ihai
cua
m'.leh.
B(l
dieu
khitn
i~1
nilung
m<'lch
tuan
It!
co
e,.\c
Iri;lng
thai
dW1e
dung
d~
x,ie
c1jnh
de
I¢nh dieu
khitn
eho
he thong.
T~i
mQI
trang Ihai
hi~n
thai
(iL.ra
vilo
nhung Ihong
tin tn.lng thai va thong tin
dfiu
vao (thong lin
d{iu
van do
h(l
xu
I)'
(W
li¢u eUng
dip
ho~e
la
de
tin hi¢u
Ihie'II~lp
tll ben ngoai)
b(1
dicLl
khien
ehuyen
sang
tn.lI1g
thai
m(1i
va khoi
1'~O
de
I~nh
dicu khien moi va
1,.10
ra d_e
gi,i tr!
ra lU(mg ung.
HI.)
dicu khien lilLfang
dU'qc
xily
d~['ng
ILr
cae !\l'.leli
tu{in
It!
- cae
thanh
ghi
tn.lI1g
th,ij va
de
m'.leh
16
hqp.
Cie
thanh
ghi tn.lIlg
th.11
iU'tl
gifr
cae
tn.lIlg thai hi¢n thai,
eon
nweh
t6 hqp
h.\O
ra
cae
I¢nh di6u
khicn
\"~l
tn.lIlg thai
moi
dva tren
co
S()'
W.lI1g
Ihai hi¢n Ihoi \,;1
de
tin hi¢u drill
\'Uo.
Cae
m<.leh
lufin tt!
eo
ml.)t
so
hCi"u
IWI1
cae
tr~ng
thai gqi
I~\
de
(llamal hfru
h'.II1.
Ctc
atomal
hCi"u
h",111
la
nhung
eong
el,l
huu hi¢u
de
Ilwe hi¢n
de
e(1
ehe
dieu
kllien
\'a
quyet
djnh
lrung
de
nweh
sO'.
May
alomal
hu'u
h,,1Il
la
n1¢t
bl.)
sau < X.
y,
S.
s,),
O.
Ie.
>. trung do:
X - t(lp hqp
de
tin
hi~u
vao
eua
ot6mat:
X
~
I X,(I), ,
X,,(I)
I
Y - t(lp
hqp
de
tin hi¢ll ra
eua
atomat:
y
~
{
y,(t)
.,
y",(t) I
S -
t~IP
hqp
de
tn.lllg Ih'ii.
eua
otomal:
S
~
I S,(I) , s,(1) I
Sll
-
tn.lI1g
thai ban (htu
eua
atamat:
So(I)ES
H~l.In
8 ( s, x ) - ham
chuy~n
tn.lI1g
thili ella Gtomat:
Ham
A ( s, x ) - hJJn dau ra
eLla
Gtomal.
TU'ffilg
ung voi
cae
phuong
phap tfnh
Im1n
h;\lTI
ehuyel1
tn.lI1g
thai va ham
ra,
ehung
ta
co
eae
lo~i
atomat
khae nhau. Hai
d<.mg
Gtomat huu han Ihong
232
dt.mg
la
alamat
Moore
va
atomat
Mealy.
Chung
la
Slr
dyng
ngon
ng[i' VHDL
de
1110
la hai
ma
hl'1h
otomal
nay.
1.
Mo
hlnh
h6a
()Wmat
Moore
Trang
chuang
3,
chung
ta
da
rna
Ii.\.
hloh
Ihlt"C
olamat
Moore.
do
d6
Ii li
chuang
nay,
chung
la
se
chi
nh.i.e
lai m()t
each
ngiln
g(,m.
Ot6mal
Moore
I~I
m(lt
otomat
hliu Iwn
co
hum
chuy~n
In~ng
thai va
h~Hn
ra
c6
d,.mg
nhu
sau:
s(t)
= 0(5(1-1), X(I))
v(t)
=
),(s(l))
1=
t,
2,
o
~
=:
Mach
to
hdp 1 Mach nho
Mach
t6
hdp
2
~
,
f:::
~
:
Dau
Clocki
llinh 7.15.
Sd
do khoi
ub
olomal
tlloorc.
Nhlr
v~ly
trong
oWmi.lt
Moore, tio hi¢u dau ra 6 thai diem hi¢n
thai
chi phy
thu(lc
viI.{)
In~ng
thai
hi~n
thai
cua
olomat;
con
tr~Ulg
Ih,ii a
thai
diem
hi¢n
thai
sc
duqc
til1l1
thong
qua
lio
hi~u
dau vao
t' Ii
thai
diem
hi¢o
Iho·i
vi\
lri.mg
th{d
trulK
do
cua
atom
at.
Theo
so
do
khai
Iren
hlnh
7.15,
olomat
Moore
c6
Ihe du(/c bi6u dicn
baa
gom
mQt
m'.lch
t6
hqp
dung
de
dc
djnh
lri.lI1g
th{li
moi ella
alomat
thong qua
1111
hi~u
vao
vii
tl"i mg
Ih,:ij
tnroc d6: m(lt
h¢
mach
nha
de
lUll
giu
tr<.mg
lh,il.
Doi
voi
atomal
Moore, lin
hi~u
dau ra
chi
phl.l
thuQC
vao
Il"\Ulg
thai
hi~n
thai, do do,
chung
ta
dn
m()t m,wh
10
hQ"p
nua
de
xac
dinh
tin
hi~u
ra. M'.lch t6
hQ"p
xac dinh tin hi¢u
fa
sc
dm~c
1I0i
Iry'C li6p
vai
h¢
lll<;lch
nh6
In.mg
thai b6i vi tin hi¢u ra
chi
phy thuQc vau
tn.U1g
thai ella
atomat
6 Ihai
diem
hi¢n thai.
Cic
phan
tu
nh6
eua
alomat
Moore
thlJ'lmg
duqc
dieu
khien
himg
lill
hi~u
dong
ho,
do
d<S
dc
tin hi¢u ra cling
(hl\1C
dong
bt)
hoa
Iheo
dong
ho.
Nhu
V<~ly
atomat
Moore la
il1t)t
alOmal voi dflll ra dtlng
b(l.
VI
Ie
do
chung
ta
khong
can
quan
t[un t6i Ilhung
kho
khfm
c6
the
Xuflt
hi~n
do
cac
qua
Irlnh
qua
dQ
hO~IC
c<.Ulh
tranh giua cae ph,l.n
IV
trong
l11<.lch
Clla
6tomat
gay ra (nhfrng v[in de nay
da
duqe
de
C(lp
t6i trong
chuang
3).
Ck
lin
hi~u
ra
dm.1C
tioh
qua
m<.\Ch
t()
hqp
nilo cae tin
hi~u
tir
h¢
nh6
de
tl".'.lIlg
thai.
Chung
1<1
eo
Ihe
bicu
di~n
alamal
MoOiC
trcn
ng6n
ngii' VHDL
luong
It!
nlw
khi
hicu
dien
de
tll<.Kh
co
nh6
Iren
mue
thanh
ghi.
QU,I
Irlnb
bteu
dicn
olomal
hli"u
11<
1ll sc
duqe
chi
a
thanh
hai phflll h¢: pbfm b¢
I(}
lHrp
V;I phtm h¢
m,.teh
IU{11l
I~r.
Tin
hi¢u
xoa
In.mg
II1
li khon,!!
dong
b(l
kh6i
lao
gia
Irj
cho
dc
thanh
gbi
v;\ tlu'a 61l'Hnal
\'e
tn.mg
thai
ban dilu. Om!;! \'6i
Sl.f
xufil
hten
sLt"(\n
ella
tin
hi¢u
cl6ng b(l
CLK.
gii.l
trj
eua
tn.mg Ihili
m6i
duq'c
gi.ln
eho
lfi.mg
Lh,li
hi¢n
thoi
Ph:m h¢
mi \eh
10
hqp
inO
ti.l
mach
t6
heyp
tinh
IO<.lrl
1i"i lllg
th{li
moi
\,;1
m,.tch
t6
htjp
linh
loan
gia
trj
d.lu
ra.
Doi
\'('ri
otomal
,\1oore,
Lin
hi¢u
d'-Iu
ra
chi
phV
Ihw)e
\',10
tl"i~ng
thLii
hi¢n
Ihc)"!
[len m;.Icb to
]HJP
XL\c
djnh
d.lu ra
kh6ng
J cl
n6i \'oi
de
tin
hi~u
\'ao.
Dnoi
dtlY
chung
1<.1
X~I
vi
dl}
X:ly
d~rng
chu'ong Irlllh
tren
ngon
ngu
YI-IDL
me)
t.i
otomat
Moon:
di(iu
khiC::n
111<.lel1
cong
bai
so
nguyen
dau
rldy
tlnb.
Vi
d~l.
X{IY
dl,J.'ng
m".lCh
dieu
kllien
phcp
toan
et)l1g
hal
so
nguyen.
SCi
c!(i
Illu.)t
loan
dll\"fC
dlt"a
ra
trcn
hl11h
7.17.
Cae
so
du'Ung dWJc
IUtl
IfLf
du6i
d'.lI1g
mil
Lr~rc
ticp
con
de
so
[un duc/c Iuu Irtf
theo
d'.l11g
mil
bu
hai.
Thco
set
do
IhLJi.~t
tOiln.
chung
ta
Xi.ly
dl.rng dutjc
so
d()
chuycn
Irang
thai
ella (l(omat
Moon:
tLt"cJ'ng
Crng
(hlnh
7.16). Tr(;n hillll 7.17,
de
Irt.lI1g
(h<.i.i
clm (Mllllal
Moore
ntun
tuung
ung
\'6i
uk
kh6i
thVe
hi~n
phep
Imin
\,~l
khollg
ghi
trong
d{lu
ngo(\c cion.
234
()Iomat
Moore
nay
co
de
tin
hi¢u vuo
ta:
X = I x I ' x
2
'
x,
I;
cae
tin
hi~u
fa
I~\:
Y = I YI'
Y2'
y"
y~
I:
eae
tn.ltlg Ihai
I~\:
S = I SI\'
SI
'
S2
. S; ,
S~
,
S'i
I:
,
"
, ,
"
/',
, ,
' ,
,
s,
~,
"
"
"
S,
\,
\,
.\,\,
IIlllh
7,16,
So (\6
chllytn
(rang lhji
[lla
(l\clnlal l"Ihlore ttrUllg
l~rng
\"O'i
tliutl1to,in
tl"en
hln11
7.\7.
Ci,
Begin
(~(,)
sign
sm
0
X,
s,
()
x:
sign Reg
y,
sign
sm
o
,
. ,
(~\l
x,
0
P,P"
.
./
PIP;>
S,
,
. ,
h"j
end
IIlnh 7.17.
So
d6
[huilt to;ln (Illre hi0n pilcp
COil}:':
hai
~O
c(\
(![I'll
ph:iy lillh.
Do' Ill
ciuro'ng tflnh
dlffJ'i
day
m6
I,',
11191
ph[in ella
olonla!
Moore
1161
trC:ll.
entity MoorcSum is
port
(
elK.
RST: in
BIT:
X:
in BIT-VECTOR ( 3
downto
1
i:
Y:
out
BIT-VEe/OR
(4
downto
Iii:
cnd Moon:Sum;
235
236
architecture
Implement
of
MooreSum
is
begin
process
(
eLK,
RST. x )
hegin
type
StateType is (
SO,
SI,
S2, S3, S.\,
S5
)
variable
State, NextStatc: StateType;
ire
RST~
'I')
then
for I in I
to
4
loop
YO)
<~
'0';
end
loop;
S
<~
SO;
c1sif ( CLK'evcnt
and
eLK:::: ' l' )
then
State
:=
NcxtState;
end
if
case State
is
when
SO
=>
for I in 1
to
4 loop
Y( I )
<~
'0';
end
loop:
if ( X( I )
~
'I'
)
then
NcxtState
;::::
51;
clsiF (
X(
2 )
~
'I'
)
then
NcxtState
:=
53;
else NcxtStale := S2;
cndiL
when
51
=>
Y(
I )
<~
'1';
iF
(
X(
2 )
~
'I'
)
then
NexlState := S3;
else NCxlState := S2;
end
if;
2.
1\1i)
hlllh
ht'Ja
blumat
Mealy
Gtomat Mealy
tiS
c[le
h(lI11
clI.lIY~1l
lrang Ih.li vll
hil.lll
ra
dlfOC
bieu (hen
Iheo
h~
thue
au:
s(
I ) =
5(
s(
I - I
).
x(
I ) )
y(l)
=
1,(
s(
I ).
x(
I ) )
1=1.
2
Doi \'ai 016mal Mealy. c
k
1111
hi~u
dau
fa
Iii
plly
thu(x:
vilo
,r.mg
Ih.ii
\,;1
1111
hi¢u dau
vilO
a Ihai
di~1ll
hi¢n Ihal.
Nlur
v~ly.
lin hi¢u
d ill
ra
co
Ih~
11m)
doi
1l(:'1I
Illl hll:lI d;ill
vao
bi
Ihay
deli
(fOng
Ihai gian
Xu;}1
hi~n
xung nhjp
dong
h6. Dieu d6
1;1111
elm lin hi¢u dilu ra ella 616mal Mealy eo Ihe
IU
l:
thui
nh(ln
gi.i
11"1
! hong
d~t
do.in Int&: do c6
Sl.(
In: lill
hi~u
,
xcI
tlr
Ihoi diem
1111
hi¢u
\,~IO
Ihay
(1\-)i
den
Ihai dllim
111(1
giii
11"1
dau
fa
ella phan
Ilr
Dip-flop Ihay
dbi.
D~
ng~1ll
ch(m
~f
Ihay doi
gi:i
If!
dilU
I"a
Irong
Ihoi gian Ion 1
•.
1.1
Cl'I.1
xling
dong
1>9.
clUing
la
ph
'
li
dong
b¢
h6'l
ho<
.
1I
dQng
cua olomal Mealy )"hong
dong
b(>.
Dt!
d~ll
du~
dieu nay.
lin
hi¢u
di
vao
hL,'
1ll'.ICh
I1l1a
I
r'.lIlg
11
1 ph.ii
dU"qc
dong
bQ
bllllg xung dong h6 \'ll
khi
do lin
hll;u dilu
ra
phai duqc xiic djnh chi trong Ihai
gian
Ihi(:1
h}p
suan
Clll
.l.
xung
d6ng
h6.
Cung
giang
!lluf 016mal rvloorc, 610mat
r
lealy cung duqc mo
Iii
Irl:1l
ngon
ng[(
VHDL
b{lng hai phflll
b~:
ph;ln
h~
m
•.
lch
10
hqp
xuc
dinh
ham
ra
\"(li
h:1.I11
chuyen Irang Ih;ii
\,~I
phfm
h~
]11'.ICI1
nhi.1
dong
bej.
016mal Mealy co th
e;
duqc
x;iy
d~fI1g
Iheo hai dang: dang nwch khong dong
h9
(I:"ILI
ra
Vi\
d'
.l
llg
lIlilch
dong b¢
<hiu
fa.
ClUing
la hay
:xcI
dell,!
:X I),
dl:rng
mach dieu
khit:!n
Ilwc
hi~n
phcp c(mg hai
so
dJ"u
ph iy
linh
dJ
neu a
nWc
IrUCK:.
Olomill Mealy luang ling vai
Ihu(1.l
Imin
IIl:n
hinh 7.17
co
gian
dO
ehuy~n
Ir'.
lIlg
th,ii
mo
t:1
Irl:11
hll1h
7.18. 016mal Mculy
nh
(1Il
dm:
;1C
se
co
de
Ihong
so
~au:
,
"
;
.
" \.
s,
)_ '
<"
" {s,'\ '
Il,lng th,il
CU'L
a lom;]]
~1c'Lly
IHOLlg
lmg
H1L
Ihu;lllo;iLllfl'Ll hiLlh 7.
17.
Cae tin hi¢u
ra
I~I:
Y = I
y,
.
y,
. h y, I:
Cic
In.
lIlg
th
ai
lit:
S = I
5".
S,
' S, .
S,
I: