You are on page 1of 120

Chng I: M u qu trnh thit k mch vi in t

1.1 Cc giai on trong thit k cc mch tch hp


S ra i ca cc mch vi in t lm c s pht trin phn cng v phn mm
ca cc h thng tnh ton trong nhng thp k gn y. Vic tng lin tc mc tch
hp ca cc mch in t trn mt nn n a ti vic ch to nhng h thng vi
phc tp ngy cng tng. Cng ngh ch to mch tch hp trn c s cc cht bn
dn pht trin v bo. Ti gia nhng nm 80 ca th k 20 ngi ta c th ch to
c nhng mch tch hp cha ti hng triu linh kin in t trn mt tinh th cht
bn dn. Nhng mch c gi l mch tch hp cao (VLSI) hoc l mch vi in t.
Vic ra i ca nhng mch vi in t lm ny sinh s cn thit phi c mt
phng php lun v quy trnh thit k, ch to thch hp.
Trong cng nghip, vic ch to cc mch tch hp c thc hin qua 4 giai on:
Giai on thit k
Giai on ch to
Giai on kim tra
Giai on ng gi
Giai on thit k: t cc chc nng m mch s thc hin, chng ta xy dng m
hnh ca mch trn nhiu mc chi tit khc nhau. Cc mc chi tit c th c
chia thnh mc kin trc, mc logic, mc vt l. Kt qu cu giai on thit k l cc
m hnh ca mch c xc nhn khng cha li trn phng din thit k.
Giai on ch to: mch tch hp s c ch to theo cc cng ngh cy ghp cc
phn t mch ln cc tinh th cht bn dn bng phng php mt n che ph v cng
ngh xy dng cc mch nhiu lp. Kt qu ca giai on ny l nhng vi mch thc
hin nhng chc nng nh trong thit k.
Giai on kim tra: Nhng mch ch to s c kim nghim ngu nhin
khng nh rng mch khng cha li v mt ch to. Trong trng hp c nhng li
gp nhiu ln c th rt ra kt lun li c th l li trong qu rnh ch to. Da vo
vic kim tra quy trnh cng ngh ta c th rt ra kt lun v cc khu c th sinh ra li
Giai on cui cng l giai on ng gi. Lc cc vi mch s c phn tch v
c to v bc.


y ta s i su nghin cu giai on u tin l giai on thit k. Qu trnh thit
k vi mch in t trong cng nghip c chia lm 3 phn on:
M hnh ha
Tng hp v ti u ha
Kim nghim v ph chun
Do ta tp trung vo bi ton m hnh ha mch v tng hp ti u ha mch.
a. M hnh ha:
Nh thit k xy dng cc m hnh cu trc mch v cc chc nng m mch s
thc hin. Cc m hnh mch l cng c biu din cc tng thit k. M hnh ha
ng vai tr quan trng trong thit k mch vi in t bi v cc m hnh l cc
phng tin mang thng tin v cc mch s c xy dng mt cch c ng v
chnh xc. Do m hnh cn phi chnh xc, cht ch cng nh c mc tng
qut, trong sut v d hiu i vi ngi thit k v my. Vi s pht trin ca cc
k thut m phng, m hnh mch c th c xy dng trn c s cc ngn ng m
t phn cng HDL (hardware description languages). Trong nhiu trng hp, cc
m hnh ha nh biu dng thng tin, s mch v m t hnh dng hnh hc
ca cc i tng cng nh cch sp xp chng trn bn mch u c th dng
biu din mch. i vi nhng mch c tch hp siu ln do phc tp ca
mch rt cao nn vic xy dng m hnh mch thng theo cc mc chi tit khc
nhau. iu cho php ngi thit k tp trung vo tng phn ca m hnh ti tng
giai on thit k.
b. Tng hp v ti u ha
Tng hp l giai on sng to th hai ca qu trnh thit k. Giai on u tun
theo cc tng ca nh thit k hnh thnh dn cc khi nim v mch v xy dng
nhng m hnh s b u tin v mch. Mc ch chnh ca giai on ny l xy
dng m hnh chi tit ca mch nh cc chi tit v dng hnh hc phc v cho cng
on lp rp v to v bc cho mch. iu ny t c thng qua qu trnh xy
dng v chnh xc ha thit k tng bc trong m hnh tru tng ban u c
ngi thit k chi tit ha tng bc lp i lp li. Khi thc hin qu trnh tng hp
mch theo cc bc ci tin m hnh, ngi thit k cn nhiu thng tin lin quan ti
cc cng ngh ch to v cc phong cch thit k mong mun. Ta c th thy cc
chc nng ca mch c th c lp vi cc chi tit thc hin, trong khi cc dng


biu din hnh hc ca mch hon ton ph thuc vo cc c tnh ca cng ngh
nh kch thc ca cc dy dn trong mch ph thuc vo cng ngh ch to.
Bi ton ti u mch lun kt hp cht ch vi bi ton tng hp mch. Qu trnh ti
u i hi phi la chn nhng chi tit xc nh ca mch vi mc ch lm tng kh
nng ca mch v phng din thit k tng ng vi nhng o xc nh. Vai tr
ca ti u l nng cao cht lng ca mch in nh ti u v chc nng, v din tch,
v tnh d kim nghim v pht hin li. Chc nng lin quan n thi gian thc hin
mt qu trnh x l thng tin cng nh s lng thng tin c th c x l trong mt
n v thi gian. Cc tnh nng ca mch l nh hng ln ti kh nng cnh tranh ca
mch trn th trng. Vn cht lng ca mch cng lin quan ti kch thc cng
nh din tch ca mch. Din tch cng l i tng ca ti u mch. Kch thc nh
ca mch cho php c th phn b nhiu mch trn mt lp, iu lm gim gi thnh
ch to v ng gi. Trong cng nghip ch to chng ta mang mun c nhng thit k
cho php pht hin li v xc nh v tr li ca mch sau khi ch to. Kh nng ny,
trong nhiu trng hp, nh hng ln ti cht lng ca mch. Mt thng s quan
trng trong vn pht hin li ca mch l phn trm li c th c pht hin i vi
mt b gi tr th nghim. Ni chung ngi thit k mong mun c nhng mch d
kim nghim, iu lm gim gi thnh chung ca qu trnh sn xut.
c. Kim nghim v ph chun
Qu trnh ph chun mch l vic t c mt mc chc chn hp l rng
mch in s lm vic ng vi gi thit khng c li ch to. Nhm loi b mi li
thit k c th c trc khi a vo sn xut. Qu trnh ph chun mch bao gm vic
xy dng m hnh m phng mch da trn thit k v thc hin kim tra. M phng
mch bao gm phn tch cc din bin hnh vi ca mch in theo thi gian i vi mt
hoc nhiu b gi tr u vo. Qu trnh m phng c th p dng trn nhiu mc thit
k khc nhau ty theo cc mc tru tng ca m hnh.
1.2 M hnh ho mch in
M hnh mch l biu din tru tng trong ch ra nhng c tnh thch hp m
khng c nhng chi tit tng ng. Qu trnh tng hp mch l qu trnh to m hnh
mch bt u t nhng biu din s lc nht.
Cc m hnh c phn loi theo cc mc m t tru tng v cc gc quan st.
- Cc mc m t tru tng c chia lm ba mc nh sau:


Mc kin trc
Mch in c th hin qua tp hp cc thao tc nh cc tnh ton trn d
liu, cc php chuyn i v truyn thng tin. V d, trn mc kin trc, mch
c th c biu din qua nhng m hnh trn cc ngn ng m t phn cng,
nhng biu lung thng tin.
Mc logic
Mch in c th hin nh tp hp cc chc nng logic v c chuyn
thnh cc hm logic. V d, trn mc logic mch c th c biu din thng
qua cc biu chuyn trng thi, cc s mch lgic
Mc hnh hc
Mch c th biu din nh tp hp cc i tng hnh hc. V d n gin ca
biu din hnh hc c th l cc lp trong mch nhiu lp, dng v b ngoi v
phn b ca cc phn t cu thnh mch.
- Cc gc quan st cng c chia thnh 3 gc :
Gc hnh vi: m t cc chc nng ca mch m khng quan tm ti
vic thc hin cc chc nng .
Gc cu trc: m t m hnh mch bng cc thnh phn c bn ca
mch v cc lin kt gia cc thnh phn .
Gc vt l: c lin quan ti cc i tng vt l xut hin trong thit k.
Cc m hnh c cc mc m t tru tng khc nhau v c th c
quan st theo nhng gc khc nhau.
V d: mc kin trc theo gc hnh vi th mch in l tp hp cc
php ton v s lin quan gia chng vi nhau, cn theo gc cu trc
th mch l tp hp cc khi c s v cc lin kt ghp ni gia cc khi
c s .
Nu xt trng hp thit k cc mch ng b th vi cc m hnh trn
mc logic, gc hnh vi c th l cc lu chuyn trng thi, cn gc
cu trc l cc phn t logic.
1.3 Tng hp v ti u ho mch dng my tnh
Cc cng c tr gip thit k bng my tnh cho php nng cao nng sut thit k.
Cc k thut thit k cho php gim thi gian nng cao chu trnh thit k v gim cng


sc con ngi. Cc k thut ti u lm tng cht lng thit k. Do k thut tng
hp v ti u ha mch vi s tr gip ca my tnh c s trong hu ht cc qu
trnh thit k mch in t s.
Tng hp mch in:
Gm cc phn on sau:
Tng hp mc kin trc bao gm vic to ra gc cu trc ca m
hnh mc kin trc, c ngha l xc nh v phn cc chc nng ca mch thnh
cc php ton. Cc php ton ny c gi l ti nguyn thit k. Phn on ny
thng c gi l tng hp mc cao hay tng hp cu trc v ngi thit
k phi xc nh cc cu trc v m (trn mc cc s khi) ca mch.
Tng hp mc logic l phn on to ra gc cu trc ca m hnh
mc logic, gm cc thao tc s dng k thut logic to nn m hnh logic.
M hnh ny bao gm cc phn t logic c bn v kt ni gia cc phn t .
Nh vy bc tng hp logic l bc xc nh cu trc vi m ( mc cc phn t
logic c bn) ca mch.
Tng hp mc hnh hc bao gm vic to ra gc vt l ca m
hnh mc hnh hc. mc ny m hnh c m t thng qua cc c tnh ca
tt c cc mu hnh hc to nn dng ca cc mch. Phn on ny thng c
gi l thit k vt l.
Ti u ha mch in
Bi ton ti u ha lun i i vi bi ton tng hp mch. Ti u ha
khng nhng t c mc cao nht v cht lng mch m cn
to ra nhng mch c tnh cnh tranh cao.
Xt hai o cht lng quan trng: din tch v hot ng ca mch.
Ngoi ra mt o cht lng quan trng na l kh nng d kim tra v
pht hin li ca mch.
Din tch ca mch c xc nh bng tng din tch ca cc phn t
mch. Do din tch ca mch c th c xc nh thng qua gc
cu trc ca mch nu ta bit din tch ca tng thnh phn mch. Thng
thng cc phn t c bn ca mch logic l cc ph t logic, cc thanh
ghi, cc phn t ny c din tch bit trc ty thuc vo tng loi thit k.
Din tch cc dy ni ng vai tr quan trng v khng th b qua. Cc


thnh phn din tch ny c th c xc nh t m hnh mch trn gc
vt l hoc c lng t cc m hnh theo gc cu trc theo cc
phng php thng k.
Hiu nng ca mch c ti u ha da trn thi gian tr, thi gian ng
b, cnh tranh trn cc phn t, tnh ton o hot ng ca mch
cn thit phi phn tch cu trc v hnh vi ca mch. Vn ny khc
nhau i vi cc loi mch khc nhau.
Hiu nng ca mch t hp c xc nh thng qua thi gian tr truyn t
u vo n u ra. Thng thng gim phc tp ca tnh ton, ta
lun gi thit rng cc gi tr u vo xut hin trong cng mt thi im
v hiu nng ca mch c tnh qua thi gian tr truyn theo ng d
liu di nht.
i vi cc mch tun t ng b, o hiu nng c th c xc nh
thng qua thi gian quay vng ca mch. Thi gian ny l chu k ng b
nhanh nht c th t vo mch.
Cc mch ng b c th thc hin dy cc php ton theo ch dy
chuyn, trong mch s thc hin cc php ton song song trn nhng
tp hp d liu khc nhau. Nh vy hiu nng ca mch cn c th c
thc hin qua kh nng x l d liu, lng d liu m mch c th x l.
o gi l thng lng ca mch.
Vi nhng o ni trn, ti u ha hiu nng ca mch bao gm vic
gim thiu thi gian tr truyn i vi mch t hp, thi gian quay vng v
thi gian thc hin i vi mch tun t ng b, lm tng ti a thng
lng ca mch i vi nhng mch thc hin theo k thut dy chuyn.
Ngoi ra, hiu nng ca mch cn lin quan ti kh nng pht hin li v
nh v v tr li trong mch.
Tm li bi ton ti u ha thit k c a v kt hp hai bi ton: gim
thiu din tch thc t ca mch v tng hiu nng ca mch vi kh nng
cao nht c th c. Bi ton ti u ha c th ph thuc vo cc rng buc
nh gii hn trn v din tch v gii hn di v hiu nng. Bi ton ti
u ha c th c biu din trong khng gian vect nh sau. Tp hp cc
cu trc c th c ca mch s c thit k to thnh mt khng gian.


Khng gian ny gi l khng gian thit k v cha mt s hu hn cc
im trong tng ng vi mt thit k c th. Mi im (tng ng l
thit k) s c cc gi tr din tch v hiu nng tng ng. Ta s lp hm
gi tr trn c s cc i tng nh din tch, thi gian tr, thi gian thc
hin, thi gian quay vng, thng lng. Bi ton ti u ha tr thnh bi
ton tm kim im xc nh trong khng gian thit k sao cho cc i
tng t gi tr ti u.


Chng II: C s ton hc ca mch
2.1 i s Boole v l thuyt chuyn mch
1. i s Bool v l thuyt tp hp
L thuyt chuyn mch l c s thit k cc h thng s hin i. L thuyt ny da
trn logic k t do nh ton hc Bool sang to nn.
nh ngha: i vi tp hp B = {a, b,} v hai ton t + v ., nu bn tin
sau tha mn th h thng i s gi l i s Bool:






Cc nh l ca i s Bool:











2.2 Cc hm logic v dng chun tc ( c hc, SV t c ti liu)
2.3 Ti thiu ho cc biu thc logic ( c hc, SV t c ti liu)
0 . , 1 , : ) 4
1 . , 0 ,
: 0 , 1 ) 3
) . ( ) . ( ) .( ), ).( ( ) . (
, , , ) 2
; . . , , , ) 1
= = +
= = +

+ = + + + = +

= + = +
a a a a B a B a
a a a a B a
B B
c a b a c b a c a b a c b a
B c b a
a b b a a b b a B b a
b a b a
b a b a
a b a a
a b a a
c b a c b a
c b a c b a
a a
a
a
a a a
a a a
+ =
= +
= +
= +
+ + = + +
=
=
=
= +
=
= +
. . 11
. . 10
) .( . 9
. . 8
) ( ) .( 7
) . .( ). . .( 6
. 5
0 0 . . 4
1 1 . 3
. . 2
. 1


Chng III: C s ca thit k Logic (3 tit)
3.1 c im ca qu trnh thit k mch ca my tnh
1. nh gi thi gian tr trong cc mch lgic
Trong qu trnh thit k cc thit b tnh ton, ngoi chc nng thc hin cc php
ton loogic ca mch nh thit k cn phi tnh n c thi gian tr ca tn hiu khi i
qua cc phn t lgic v cc on mch. Thi gian tr ny nh hng ln n hot
ng ca mch trong thc t.
Thi gian tr thun ty t
d
l thi gian truyn tn hiu qua mch. Trong trng hp
ny, thi gian tr ca mch gm cc phn t chc nng mc ni tip s bng tng cc
thi gian tr ca cc phn t chc nng v thi gian tr ca cc phn t lin kt.
2. Cc mch t hp v cc mch tun t
S phn chia cc mach s thnh cc mch t hp v cc mch tun t xut pht t
cc im khc bit c bn gia cc c tnh ca chng.
Cc bin u ra ca mch t hp ch ph thuc vo cc tc ng vo mch ti thi
im hin ti
Cc mch tun t tnh ton cc gi tr ra da vo cc gi tr u vo khng ch ti thi
im hin ti m cn ph thuc c vo nhng trng thi ca mch tnh t thi im
ang xt tr v trc. Cc trng thi ca mch tun t c lu tr vo cc phn t
nh trong thnh phn ca mch.
Cc mch tun t c cu to bi 2 phn: cc b phn nh lu tr cc trng thi
ca mch; v mch t hp dng iu khin cc phn t nh v hnh thnh cc gi
tr tn hiu ra
Trong k thut tnh ton, cc mch t hp l cc mch m ha, gii m, b so snh
tn hiu, b cng, Cc mch tun t l cc trig , cc mch nh, thanh ghi, b
m, Cc phng php phn tch v tng hp cc mch t hp n gin hn so vi
mch tun t.
Trong qu trnh thit k, cc mch s thng c biu din bng nhiu phng
php, v d nh cc bng, ma trn, th hoc bng cc otomat.
3.2 Cc phn t logc c bn
Trong qu trnh thit k cc mch tch hp c mt s phn t logic c bn c s
dng ph bin. Vic thc hin cc phn t logic ny ph thuc vo cng ngh sn xut
linh kin in t nh cng ngh transistor CMOS, cng ngh ttransistor trng, TTL,


Cc phn t logic c bn gm phn t AND, OR, NOT, XOR, NOR, NAND, ngoi ra
trong nhiu trng hp phn t ng ngt cng c coi l phn t c bn.
Trn quan im v kh nng xy dng cc hm logic bt k, mt phn t c bn hp
thnh h y . iu c ngha l vi cc hm c bn tham gia vo h y , ta c
th xy dng mi hm logic. Ta c h cc phn t AND, OR, NOT to thnh mt h
y v ta c th xy dng mi hm logic theo cc dng chun tc tuyn hoc hi vi
s tham gia ca cc phn t ny.
H cc phn t NOT, AND to thnh mt h y v php ton OR c th c biu
din qua NOT v AND.

- H cc phn t NOT, OR to thnh mt h y
- H php ton ch c phn t NAND hoc NOR l mt h y
- Phn t ng ngt v phn t NOT to thnh mt h y .
.
Ngoi cc phn t lgic hai u vo nu trn, trong cng ngh cn s dng nhng
phn t c nhiu hn 2 u vo. Cc phn t c nhiu u vo c th c biu din
nh ghp ni nhiu lp cc phn t lgic c s lng u vo t hn hoc nh mt phn
t duy nht.
Cc phng php xy dng mch c la chn da vo cc tiu chun ti u v
din tch tinh th bn dn ca mch, nng lng m mch tiu th v thi gian tr
truyn ca tn hiu khi i qua mch.
3.3 Thit k cc mch t hp
1. Tng hp mch theo biu thc lgic
Thng thng cc hm lgic c biu din bng cc biu thc lgic cha cc php
ton AND, OR, XOR, NOT. Nhng biu thc c th c thc hin thnh mch
thng qua nhng phn t lgic c s.
Biu thc c th c phn tch di dng cc cy tnh ton tng ng vi cc du
ngoc v mc u tin ca cc php ton.
V d:

Phng php xy dng mch trc tip t cc biu thc lgic nh nu trn l
phng php n gin. Vi phng php ny ta c th xy dng mi hm lgic vi
y x y x z . = + =
w z y x f + = .


nhng phc tp khc nhau nhng n c mt nhc im ln l lin quan n thi
gian tr ca tn hiu i qua mch v di ca tn hiu
2. Thc hin cc mch hai tng
Trong cc phng php thit k mch hai tng trn c s cc phn t AND-OR v
OR-AND gm:
+ Xy dng mch trc tip t cc dng chun tc, trn thc t phng php ny
khng hiu qu. Khi xy dng mch cc phn t lgic c n u vo cn nhiu din tch
trn tinh th bn dn hn khi xy dng trn phn t c hai u vo. Do gi thnh
mch cng ph thuc vo s lng u vo ca cc phn t lgic. i vi vic thit cc
mch t hp s dng s hai tng thng qua cc phn t AND-OR. Bn cnh vic
gim s lng cc phn t cn gim s lng u vo ca cc phn t .
V d:

Thit k theo dng chun tc tuyn trc tip v thit k sau khi ti thiu ha
Xy dng mch trc tip t cc dng chun tc, trn thc t phng php ny khng
hiu qu. Khi xy dng mch cc phn t lgic c n u vo cn nhiu din tch trn
tinh th bn dn hn khi xy dng trn phn t c hai u vo. Do gi thnh mch
cng ph thuc vo s lng u vo ca cc phn t lgic. i vi vic thit cc
mch t hp s dng s hai tng thng qua cc phn t AND-OR. Bn cnh vic
gim s lng cc phn t cn gim s lng u vo ca cc phn t .
3. Thc hin mch t hp trn c s cc PLA/ROM
Ma trn logic lp trnh l cc khi phn t v m c s dng thit k nhng
mch LSI, VLSI theo cu trc cc mch hai tng. Cc PLA bao gm cc ma trn
AND v ma trn OR c mc ni tip. Ma trn th nht l ma trn AND, ma trn
th hai l ma trn OR. Nh ta bit cu trc cu trc 2 tng AND OR tng
ng vi cu trc hai tng ca cc phn t NAND. Theo nguyn l i ngu, cu
trc cng tng ng vi cu trc hai tng NOR-NOR. Do trong k thut
thit k cu trc hai tng NAND-NAND v NOR-NOR c s dng rng ri.



( )

= 15 , 12 , 11 , 8 , 7 , 6 , 5 , 2 , 0 f









Mt phn t hay c s dng ca cu trc VLSI v cng cho php lp trnh c nh
PLA l ROM. ROM khc PLA ch ROM l cu trc cho php lp trnh cc gi tr 1 v 0
i vi cc tch cc tiu mt cch ty . Nhc im ca chnh ca ROM so vi PLA l
ROM c hiu sut s dng din tch tinh th thp. So vi PLA, ROM c mm do cao
hn trn quan im thay i cc hm logic trong h hm, do ROM c s dng trong
k thut tnh ton rng ri hn PLA. i khi, thay th ROM, ngi ta c th s dng cc
b nh truy cp ngu nhin trong c ghi sn bng chn l.
3.4 Nhng vn khi thit k mch t hp
1. Nhng giai on thit k mch t hp:
Qu trnh thit k mch t hp thng c thc hin theo nhng bc sau:
- Kho st c im v chc nng ca mch t hp, nhng lin kt ca mch vi
nhng mch khc theo u vo/u ra, thit lp cc quan h tng ng vi cc bin
logic.
- nh gi kch thc ca bi ton v gii quyt vn phn chia mch t hp thnh
cc phn h theo mc cn thit.
- Xy dng bng th hin cc chc nng ca mch t hp.
- Ti thiu ha mch.
- La chn cc phn t lgic v biu din hm lgic theo cc h c s la chn.
2. nh hng ca thi gian tr ti hot ng ca cc mch t hp
- Lm thay i hon ton chc nng hot ng ca mch
i vi cc mch t hp, thi gian tr khng ch lm gim tc hot ng ca
mch m cn c th sinh ra cc gi tr nht thi b sai u ra ca mch. iu ny c
th lm hot ng ca ton h thng c th b thay i. Theo thi gian nhng gi tr

Ma trn
AND

Ma
trn
OR


ny s bin mt v u ra ca mch s nhn cc gi tr c tnh theo cc hm logic
thit k. Nhng cc gi tr sai ny rt nguy him trong nhng trong nhng trng
hp khi mch t hp c ni vi cc mch nh dung lu tr cc trng thi ca h
thng. Khi s xut hin cc trng thi khng d on trc v hot ng ca ton
h thng c th sai hon ton. Nhng trng hp ny gi l cc ruit ro trong mch.
loi tr kh nng li xut hin do ri ro, trong cc mch t hp ngi ta s dng
ng b qu trnh nhn thng tin bng cc mch nh ni vi u ra ca mch t hp.
Thng tin c nhn vo mch nh thng qua tn hiu ng b C. Tn hiu ny c
tc ng vo mch nh sau khi cc qu trnh qu trong mch t hp kt thc. Nh
vy cc tn hiu sai s khng tc ng n phn t nh v do khng xut trn u
ra ca mch.
3.5 Thit k mch dy
Mch tun t c thng c thit k theo cu trc bao gm cc mch t hp lin
kt vi cc mch nh. Cc mach t hp s thc hin cc tnh ton theo cc hm l
gic, cn cc mch nh dng lu tr cc kt qu trung gian.
1. Nguyn l ca cc mch nh:
Cc mch t hp cho php thc hin mt s mch phc tp, nh mch nhn nhanh,
nhng i vi mt s thao tc x l d liu phc tp hn yu cu ghi nh cc kt qu
tnh ton trung gian v thc hin cc thao tc lp tng ng vi trnh t tnh ton.
Trong lnh vc x l s, cc d liu c biu din di dng nh phn do cn thit
nhng mch cho php nh li hai trng thi 0 v 1.
C hai loi s nh kinh in: mch nh tnh v mch nh ng
Xt cc dng mch nh c xy dng trn nhng phn t n gin nht. Vic xy
dng cc phn t nh u da trn cc nguyn l chung: hoc phi xy dng cc vng
phn hi tn hiu trong mch duy tr gi tr nh hoc l dng thit b ph tr
duy tr gi tr nh.
Vng phn hi


Mch nh tnh



Mch nh c xy dng t hai phn t NOT mc ni tip v mt vng phn hi.
Khi mch trng thi n nh u ra ca hai phn t NOT ln lt l 1, 0 hoc 0,
1. Nhng gi tr u ra ca cc phn t NOT cng vi vng phn hi c tc dng duy
tr trng thi ca phn t nh . Nh vy mch ny c tc dng lu tr cc gi tr d
liu 1 v 0. Mch nh ny gi l mch nh tnh.
Mch nh ng: Phn t kha SW ni tip vi phn t NOT. Phn t nh ny lu tr
gi tr d liu ca nh bng phn t in dung k sinh ti u vo ca phn t logic
NOT. Khi tn hiu iu khin K=1, kha SW ng v in dung k sinh ti u vo
phn t NOT c tch in. Khi K=0, kha SW m v in tch u vo phn t
NOT b c lp vi mch ngoi. Do phn t NOT cn phi c gi tr tr khng u
vo cao. Thi gian lu tr c xc nh theo thi gian lu gi in tch ca phn t
in dung u vo.
2. Cc s thanh ghi v trig
S nh ng cho php lu tr trc tip mt bit thng tin. c th ghi nh ng
thi c n bit thng tin ngi ta dung song song n phn t nh ng. Thit b
c gi l thanh ghi ng n bit
x1
1 x



x2
2 x




xn xn

3. Cc ch ng b:
Tn hiu iu khin cc u vo ca mch nh thng cung cp bi cc mch ng
b. u vo tn hiu ng b tng ng ca mch gi l cc u vo ng b. Tn
hiu ng b c xc nh bi di khong thi gian t m tn hiu trng thi 1
v chu k T.
t



Thanh
ghi
ng




CK



T
Cc mch nh s dng tn hiu ng b thc hin cc thao tc c v ghi d liu khi
u vo ng b nhn gi tr 1 hoc 0. Cc mch loi ny c gi l cc mch lm vic
trong ch ng b theo mc. Khi thit k cc mch lm vic theo ch ng b, di
ca tn hiu ng b ng mt vai tr quan trng trong hot ng ca mch. Nu cc trigo D
ng b theo mc c ghp ni ni tip v ni chung cc u tn hiu ng b ta s c
thanh ghi lm vic theo ch nh sau:
u vo




Nu tn hiu ng b c di ln th sau mt khong thi gian tt c cc trigo s
ghi cng mt gi tr. Trong trng hp ngc li, khi di t ca tn hiu ng b tha mn
h thc:
min max
d t < <

Trong
max
l gi tr cc i trong cc di cc tiu ca cc xung m bo vic ghi
d liu; d
min
l thi gian tr cc tiu khi tn hiu lan truyn trong mch nh t u vo ti
u ra. Khi thanh ghi thc hin dch d liu sang phi mt lp sau mi ln nhn tn hiu
ng b. Ch ng b tha mn bt ng thc trn gi l ch ng b hp.
u im ca ch ng b hp l n gin, d thc hin v xy dng mch pht
xung ng b khng cn nhiu thit b. Nhng ch ng b ny t c s dng trong
cc mch VLSI v trn tt c cc phn mch ta kh c th t c bt ng thc trn.
Trong nhiu trng hp c th kim sot c hnh vi ca cc mch ngi ta s dng
mt bin th ca ch ng b hp, l ch lm vic theo sn.
ng b theo sn dc l ch lm vic ca cc mch vi tn hiu ng b c
rng xung ln v tc ng thc hin theo sn ln hoc sn xung ca xung. ch ny
cc tc ng ca tn hiu ng b i vi mch xy ra cng tng t nh trong ch ng
b hp.
D Q


Q
D Q


Q
D Q


Q


Nhc im ca phng php ng theo sn dc v ng b hp l min dch pha
cho php ca xung ng b. dch tng i ca cc xung l hin tng xut hin dch
pha ca cc xung trn u vo ng b ca cc phn t nh trong mch VLSI. dch pha
ca cc xung ng b xut hin ch yu do kt qu ca s phn b cc thi gian tr trong
cc mch phn phi tn hiu ng b.
ng b hai pha:
u vo


CK1
4. Cc trigo s dng ch ng b hp v ng b hai pha
Trong k thut, nhiu mch nh s dng cc trigo hot ng theo cc ch ng b
theo sn ln hoc lm vic theo ch ng b hai pha. Cc ch ng b ny
cho php gii quyt vn cnh tranh gia cc phn t logic trong hot ng ca cc
trigo. iu ny lm cho cc mch nh hot ng tin cy hn v lm gim tnh bt
nh ca mch.
5. Thit k cc mch tun t bng cc otomat hu hn
Trong cc mch t hp, gi tr u ra c hon ton xc nh theo cc tn hiu u
vo ti thi im hin ti. Nhng cc mch tun t c cc gi tr u ra c xc
nh theo dy cc gi tr u vo tc ng vo mch ti nhng thi im trc thi
im hin ti.
3.6 Nhng vn khi thit k mch dy
1. Hin tng cnh tranh trong cc mch tun t
Khc vi cc mch t hp, trng thi ca cc mch tun t c xc nh
khng ch t cc tn hiu vo m cn ph thuc vo cc trng thi trc ca
mch. Vic lu tr cc trng thi trc ca mch c thc hin trn cc
phn t nh nh thanh ghi, trigo, Nh vy mch tun t c th biu din
bng cc otomat c s trng thi hu hn.
Trong cc otomat, do nh hng ca thi gian tr tn hiu trn cc phn t
mch, ngi ta quan st thy nhng trng thi trung gian chuyn tip gia cc
trng thi trong thit k. nhng trng thi chuyn tip ny c nh hng ln
D Q


Q
D Q


Q
D Q


Q
D Q


Q


n hot ng ca mch. S cnh tranh trong qu trnh truyn tn hiu gia cc
phn t mch c th dn n vic thit lp nhng trng thi sai ca cc phn t
nh, do c th dn n hot ng sai ca mch. Khi thit k cc otomat, s
cnh tranh trong cc phn t mch phi c loi tr.
V d:
Trong nhiu trng hp c ch cnh tranh trong cc mch tun t xy ra nh
sau:
Cc trng thi ca otomat, do cc tn hiu thit lp thay i li ph thuc vo
trng thi ca cc phn t nh. Do hin tng tr tn hiu trong cc phn t
logic, s thit lp cc gi tr ca nh khng xy ra ng thi. iu c th
nh hng ti tn hiu thit lp ca cc phn t khc v do c th dn n
nhng trng thi khng lng trc.
Phng php quan trng ngn chn hin tng cnh tranh gia cc phn t
trong mch l s dng cc ch ng b. Trong cc ch ny, vic nhn
cc gi tr vo cc nh v a cc gi tr vo ti u ra c thc hin vo
nhng thi im xc nh sau khi cc qu trnh qu trong mch kt thc.



Chng IV: Nhng khi nim chung v m hnh ho phn cng
4.1 M hnh ho phn cng
M hnh ha phn cng l nhng biu din phn cng trn cc mc tru tng
khc nhau. M hnh cho ta thy nhng phn t lin quan m khng ch r nhng chi tit
ca chng.
Trong qu trnh thit k, m hnh c s dng c trng cho mch, th hin cc
tnh cht ca mch v l phng tin trao i thng tin v thit k gia nhng ngi
thit k v my tnh.
Cc c t mch l cc m hnh m t chi tit mch s c xy dng. Cc c t ny
lun i i vi cc rang buc v mt thit k nh hiu nng, din tch.
Mch in c th c m hnh ha theo nhng cch khc nhau tng ng vi cc
mc tru tng (mc kin trc, mc logic, mc hnh hc), theo cc gc quan st
(gc hnh vi, gc cu trc v gc vt l) v tng ng vi cc phng php m
hnh ha c s dng trong qu trnh thit k (cc ngn ng m t thit k, cc s
mch hoc cc m hnh ton hc).
Trong qu trnh thit k mch, hin nay ngi ta thng s dng cc ngn ng m
hnh ha phn cng (HDL), ngn ng ny cng ging nh cc ngn ng lp trnh phn
mm. Tnh sc tch d hiu ca cc ngn ng HDL gip cho vic m t mch bng cc
ngn ng c a chung hn vic biu din bng cc biu , s trng thi, s
logic,
4.2 Cc ngn ng m hnh ho phn cng
Trong lnh vc thit k mch, cc ngn ng m hnh ha phn cng (HDL) xut hin
do nhu cu phi c cng c m t chnh xc mch v cu trc cng nh hnh vi.
S khc bit gia cc ngn ng lp trnh v ngn ng m hnh ha phn cng:
- Cc mch phn cng c th thc hin nhng php ton c mc song song (ng
thi) ln cn cc phn mm th ngc li, trn nhng my n x l ch thc hin c
nhng php ton tun t. V mt ny, cc ngn ng m t phn cng s gn ging vi
cc ngn ng lp trnh cho cc my tnh x l song song.
- Cc m hnh phn cng lun phi cha nhng thng tin v cu trc nh s tip xc
ca mch vi nhng mch khc lm ny sinh yu cu phi m t cc cng vo ra ca
mch v khun dng d liu c trao i qua nhng cng . Do cc ngn ng m


hnh ha phn cng phi h tr vic m t thit k trn gc hnh vi v cu trc nhm
biu din cc c trng ca mch mt cch c hiu qu.
- Vic xc nh thi gian v thi im thc hin ca cc php ton ht sc quan trng
trong phn cng do cc tng tc gia cc thnh phn phn cng vi nhau. Trong khi
vn tng tc theo thi gian t nh hng ti vic thc hin cc php ton trong cc
chng trnh phm mm, tr mt s trng hp trong nhng ng dng thi gian thc.
Mch in c th c m t di nhng gc quan st khc nhau, do cc ngn ng
HDL vi nhng c trng tng ng cng c pht trin.
1. Nhng c im khc bit ca cc ngn ng m t phn cng.
Cc ngn ng c c trng nh cc quy tc c php, ng ngha v thc t s
dng. C php lin quan n cc cu trc ca ngn ng v c th c thc hin
qua cc quy tc ng php. Ng ngha ch ra ngha ca cc thnh phn ngn ng.
Cc quy tc ng ngha tc ng tng ng vi ti nhng thnh phn ngn ng
tha mn cc quy tc c php. Thc t s dng ngn ng lin quan n nhng
kha cnh khc ca ngn ng, bao gm c vn s dng v thc hin ngn ng.
C th chia ngn ng thnh 2 loi:
+ Ngn ng th tc (procedural): cc chng trnh th hin cc tc ng mong
mun bng cch m t dy cc bc cn thit thc hin cc tc ng .
+ Ngn ng khai bo (declarative): cc m hnh th hin cc vn s c gii
quyt bng tp hp cc c t, khai bo m khng a ra chi tit cc phng php
gii quyt. Do trnh t m t cc khi c s khng quan trng trong cc ngn
ng khai bo.
Cc ngn ng m hnh ha phn cng c phn loi da trn c s gc quan st cc i
tng c m t. V d nhng ngn ng m t thit k mc vt l s c h tr nh cc
c t nhng i tng hnh hc nguyn thy, cc thao tc trn cc i tng .
Cc ngn ng HDL thng c pht trin km theo cc b m phng. Tc thc hin l
mt trong nhng yu cu i vi b m phng. Cc thut ton m phng theo s kin c
s dng rng ri bi v chng cho php b m phng gim thiu s lng cc tnh ton v
do lm gim thi gian thc hin m phng.
Qu trnh m phng bao gm vic tnh cc gi tr cuiar tn hiu trong mt khong
thi gian xc nh. Khong thi gian c chia thnh cc khung thi gian. Trong mi khung
thi gian chu trnh m phng gm cc bc sau:


- Tn hiu c lan truyn trong mch v c cp nht
- Tt c cc qu trnh nhy cm vi cc s kin c tnh ton cho ti khi chng
c dng li.
- Khi tt c cc qu trnh tnh ton u dng li, thi gian trong b m phng c
chuyn sang khung tip theo v hnh thnh chu trnh m phng mi.
Phng php m hnh ha mch ny tng qut cho php m t cc mch ng
b v khng ng b. Trong cc mch ng b tt c cc qu trnh c th c kch hot ti
mi chu k ng h. Nu thi gian tr ca cc thnh phn mch bit, chng c th c
c t nh mt thuc tnh ca tn hiu v b m phng c th m t chnh xc hnh vi theo
thi gian ca mch. Trong trng hp thi gian tr l cha bit, ngi thit k hoc ohair
tm nhng thng tin v thi gian tr t cc m hnh hnh vi hoc a ra cc gi thit v rng
buc v thi gian tr thc hin cc php ton trong khung thi gian xc nh.
2. Cc ngn ng m t cu trc phn cng
M hnh c m t bng cc ngn ng cu trc th hin cc kt ni gia cc
phn t. Do ngn ng ny c sc mnh biu cm tng t nh cc s mch
mc d nhng c dim ca ngn ng cho php cung cp nhng m t khi qut
hn. Cc h thng th bc trong ngn ng cho php to cc m hnh c tnh
mun ha v ngn gn. Cc thnh phn c s ca ngn ng cu trc cho php
xp cc ngn ng ny vo nhm cc ngn ng khai bo (delarative), mc d mt
s ngn ng m t cu trc c cha nhng thnh phn th tc. Cc bin trong
ngn ng tng ng vi cc cng ca cc phn t.
V d: M t mch na tng bng ngn ng VHDL.











Architecture STRUCTURE of Half_Adder is
Component AND2
Port (x, y: in bit; 0: out);
End Component
Component EXOR2
Port (x, y: in bit; 0: out);
End Component
Begin
G1: AND2
Port map (a, b, carry);
G2: EXOR2
Port map (a, b, sum);
End STRUCTURE;
Trong m hnh ny cha hai khai bo ca m hnh khc l AND2 v EXOR2 v hai
khi to m hnh l G1 v G2. Thng tin c th v cc m hnh AND2 v EXOR2 c
khai bo mt v tr khc nh trong th vin chun.
Dng khc ca bin l cc siu bin. Cc bin ny c dng lm m hnh mch
gn hn, cc bin loi ny c th l cc ch s ca mng. Cc bin loi ny khng biu
din trc tip cc thnh phn ca phn cng v c loi tr khi m hnh sau bc dch
u tin..
V d: Xy dng m hnh ca mng 32 b o tn hiu ni gia hai tuyn tn hiu bng
ngn ng VHDL. T kha generate cho ta nhiu phin bn ca bin vng lp i:

Architecture STRUCTURE of BUS_INV is
Component INVERTER
Port (i1: in bit; 01: out bit);
End component
Begin
G: for i in 1 to 32 generate


INV: INVERTER port map (inputs (i), output (i));
End generate;
End STRUCTURE;
3. Ngn ng m t chc nng phn cng
Cc mch t hp c th c m t bng tp hp cc phn t logic v tp hp cc
phng trnh. Cc cu trc ny lin kt cc bin thnh cc biu thc logic.
Phng thc khai bo ng dng tt nht cho trng hp m t cc mch t hp
nhng mch c m t khng cn b nh: Cc mch t hp c th coi l cc
ghp ni (v mt cu trc) ca cc ton t, trong mi ton t xc nh mt hm
logic . Cc m hnh ny khc vi m hnh cu trc ch khng c tng quan
mt - mt gia cc biu thc v cc cng logic, v i vi mt s biu thc s
khng tn ti phn t logic thc hin biu thc .
Cc ngn ng th tc c th s dng m t cc mch t hp. Phn ln cc
ngn ng cu trc cho php thc hin php gn nhiu ln vi mt bin. trnh
s mp m v gi tr bin, trong cc ngn ng m t chc nng c cc c ch gii
quyt mp m nh nhng php ton sau s xa b tc ng ca php ton trc.
V d: M t b na tng trn VHDL dng m hnh hnh vi.
Architecture BEHAVIOR of HALF_ADDER is
Process
Begin
Carry <= (a and b);
Sum <= (a xor b);
End process
End BEHAVIOR;
Trong khi ny ta thy bn trong khi gii hn bi cp t kha Process v
End process cc biu thc c thc hin mt cch tun t. Hai php gn tng
ng vi hai cu trc trong m hnh b na tng.
Mch tun t cng thng c m hnh ha bng cc ngn ng th tc. Cc
tmat c trng thi hu hn biu din hot ng ca mch c th c m t
bng cc m hnh th tc trong cc bin lu gi cc thng tin trng thi. Khi
cc thao tc ca otomat hu hn c m t bng nhng bc lp ng b


theo xung nhp ng h, vi nhng phn nhnh chuyn trng thi tng ng vi
trng thi hin thi.
V d: M t otomat hu hn thc hin nhn bit cc bit 1 lin tip dng d
liu vo.
4.3 Cc m hnh tru tng
1. Cc cu trc
Cu trc ca mch c th m hnh ha da vo cc cu trc lin kt bao gm
tp hp cc mun, tp hp cc mng kt ni v quan h lin kt gia cc mun v mng
kt ni. M hnh cu trc c th c biu din bng nhiu cch.
- C th biu din m hnh cu trc mt cch n gin bng cc siu th, trong
mi nh ca th tng ng vi cc mun v cung tng ng vi mng
lin kt. Quan h lin kt gia cc mun v mng c m t bng cc ma trn
lin kt. Ta c siu th tng ng vi mt th 2 phn c tp hp cc nh
chia lm hai phn, trong mt phn tng ng vi cc mun, phn cn li
tng ng vi cc mng.
- Mt cch biu din khc ca cu trc l biu din mi mun bng cc im u
cui hay l cng v m t s kt ni gia cc mng vi cc cng ca mun.
Thng thng cc ma trn lin kt rt tn mn, khi s dng danh sch mng c hiu qu
hn m t cu trc. Trong danh sch mng ta nh s tt c cc mng ni vi tng
mun (danh sch loi ny c gi l danh sch mng hng mun) hoc nh s tt c
cc m un kt ni vi mt mng (danh sch mng hng mng).
V d:
2. Mng lgic
Mng logic tng qut l mt cu trc trong nhng m un ti l tng ng vi
cc hm logic tun t hoc t hp. Gm mng logic t hp v mng logic ng
b.
- Mng logic t hp hay cn gi l mng logic Bool l mt cu trc phn cp trong
:
Mi m un ti l tng ng vi mt hm logic c nhiu u vo v mt
u ra. Hm ny gi l hm cc b.


Cc cng vo ra c chia lm hai nhm: cc cng vo v cc cng ra.
Cc cng khng thuc cc m un con cng c chia lm hai nhm: cc
u vo v cc u ra s cp.
Mi mng c mt cng tch bit gi l cng ngun v c nh hng t
cng ngun ti cc cng khc. Cc cng ngun ca mng c th hoc l
u vo s cp hoc l u ra s cp ca m un thuc mc thp hn.
Quan h gia cc mng trong m un l quan h c sp mt phn
V d:
a x
b
c y

S mng
logic (cu trc)
- V
a
, V
b
, V
c
l 3 nh vo
- V
x
, V
y
l 2 nh ra
- V
p,
V
q
l 2 nh trung
gian tng ng vi cc
hm logic.

th mng logic ca cu trc trn.
p = ab
q = p+c
V
a
V
b
V
c
V
p
V
q
V
x
V
y


Chng V: Cc phng php m hnh ho logic
M hnh ha logic l hnh thc kim tra thit k s dng cc m hnh ca mch
c thit k. Qu trnh m hnh ha logic v m phng thit k c th c biu din
theo s sau:







Chng trnh m phng s biu din tn hiu vo v tn hiu iu khin, pht trin qu
trnh tnh ton trn cc tn hiu theo thi gian v hnh thnh cc gi tr u ra da trn m
hnh ca mch.
Vic kim chng thit k logic l qu trnh kim tra thit k mch trn phng din
hot ng v chc nng v theo thi gian. Qu trnh ny c thc hin da trn vic so
snh cc kt qu nhn c qua qu trnh m phng vi nhng gi tr c tnh ton t
trc da vo chc nng. Bn cnh m hnh ha logic cn c th s dng kim
chng cc tnh cht sau ca hot ng ca mch c thit k:
- S c lp ca cc trng thi ban u;
- S nhy cm ca cc bin (tn hiu) vo tham s thi gian tr ca cc phn t.
- Trong hot ng ca mch khng tn ti s chy ua gia cc phn t, s dao
ng, cc iu kin u vo khng thch hp hoc cc trng thi treo.
Thng thng nh thit k xy dng nhng phin bn mu ca mch theo thit k v
kim tra hot ng ccuar mu. Vic kim tra ny s cho php tm ra nhng li tim
n trong thit k.
u im ca vic chn mu l chng cho php nh thit k kim nghim thit k
theo tc tnh ton thc t. Nhc im l gi thnh xy dng phin bn mu th
nghim cao v tn thi gian.
Chng trnh
m phng

M hnh mch
Cc gi tr u vo
v cc iu khin

Kt qu


M hnh ha logic v m phng thay th vic xy dng mu th bng cc phn mm.
iu ny cho php nh thit k phn tch, kim nghim v hiu chnh m hnh mt
cch d dng. So vi qu trnh kim nghim trn mu, vic kim nghim thit k
bng m hnh c nhng u im sau:
- Cho php kim tra cc iu kin sinh ra li (nh cc mu thun trn ng tn
hiu)
- Cho php thay i tham s thi gian tr ca cc phn t trong m hnh kim
tra nhng trng hp xu nht v iu phi thi gian trong mch.
- Kim tra nhng gi tr do nh thit k xc nh trong qu trnh m phng.
- Cho php mch c m phng bt u hot ng ti bt k mt trng thi no.
- Cho php kim sot mt cch chnh xc vic iu phi thi gian i vi nhng s
kin khng ng b.
- C kh nng t ng kim tra hot ng ca mch c thit k trong mi trng
lin kt vi nhng mch khc.
5.1 C s m hnh ho logic
1. Cc phng php m hnh ha v cc h m phng
Trong k thut thit k mch, m hnh ha mch gm 2 phng php chnh: Phng
php m hnh ha bin dch v phng php m hnh ha hng s kin.
* Phng php m hnh ha bin dch:
Cc h chng trnh m phng thc hin cc m hnh logic c dch t cc ngn
ng m hnh ha phn cng c gi l h m phng bng bin dch. Cc m bin dch
c to ra t nhng m hnh trn mc thanh ghi, t cc m hnh chc nng hoc m
hnh cu trc.
* Phng php m hnh ha hng s kin:
Gi s ta kho st mch in khi mch hot ng v quan st nhng tn hiu thay i
gi tr ti nhng thi im thi gian bt k. Nhng tn hiu ny c gi l nhng tn
hiu kch hot. T l gia s lng cc tn hiu kch hot v tng s cc tn hiu trong
mch gi l hot tnh ca mch (khong 1% - 5%).
Trong mch in, s thay i gi tr ca tn hiu trn mt ng truyn tn hiu c
gi l mt s kin. Nh vy mi khi c s kin xut hin trn ng tn hiu I, chng ta
ni rng phn t mch nhn ng tn hiu I lm u vo c kch hot. Qu trnh tnh


ton cc gi tr u ra ca phn t c gi l qu trnh xc nh gi tr tn hiu. Phng
php m phng theo hot tnh ca mch ch xc nh gi tr tn hiu i vi nhng phn
t c kch hot. Nhng phn t c kch hot s thay i cc gi tr tn hiu trn u
ra ca chng v to ra cc s kin mi. Nh vy, hot tnh ca mch c xc nh bi
cc s kin trn cc ng tn hiu, do phng php m phng theo hot tnh cn
c gi l phng php m phng hng s kin. c th truyn cc s kin theo cc
ng lin kt trong mch gia cc phn t, h thng m phng hng s kin cn phi
bit m hnh cu trc ca mch. Do m hnh ha logic v m phng hng s kin
thng da trn cch lp bng.
Phng php m hnh ha logic v m phng bng bin dch phn ln ch quan tm
ti vic kim chng chc nng hot ng ca mch m khng quan tm ti vic iu
khin v iu phi cc qu trnh tnh ton theo thi gian ca mch. Do phng php
m hnh ha logic v m phng bng bin dch thch hp vi nhng mch ng b, trong
, vic iu phi cc tin trnh tnh ton theo thi gian c th c kim tra tch ri vi
vic kim tra chc nng ca mch.
Ngc li phng php m hnh ha lgic v m phng hng s kin tp trung ch
yu vo cc m hnh iu khin tin trnh tnh ton theo thi gian v c th lm vic vi
nhng m hnh thi gian chnh xc. Nh vy, phng php m hnh ha logic v m
phng hng s kin c tnh tng qut cao hn v c th p dng cho c nhng mch
khng ng b.
Phng php m hnh ha logic v m phng hng s kin c th thao tc vi
nhng u vo thi gian thc c ngha l: nhng u vo c s ln thay i trng thi
c lp vi hot tnh ca mch c m phng.
Trong k thut hai phng php m phng v m hnh ha ny c s dng mt
cch kt hp, trong nhng th tc hng s kin s truyn cc s kin trn cc ng
tind hiu qua cc phn t mch cn nhng phn t c kch hot s thc hin cc thao tc
ln tn hiu bng cc m hnh xy dng t cc m bin dch. Chng ta c th biu din cc
mc m phng sau:
- M hnh ha trn mc thanh ghi: h thng s c m t hon ton trn mc thanh
ghi truyn t hoc nh lin kt gia nhng thnh phn ca m hnh trn thanh ghi.
- M hnh ha trn mc chc nng: h thng c m t bng cc thnh phn c bn
v lin kt gia cc thnh phn .


- M hnh ha trn mc cc phn t logic
- M hnh ha trn mc cc transistor
- M hnh ha hn hp
2. Cc gi tr logic khng xc nh:
Trong qu trnh m hnh ha logic, c th m t chc nng v hot ng ca mch
theo thi gian, ta phi m t mt cch chnh xc cc qu trnh din ra trong mch, c ngha
l chng ta phi m t c s bin thin gi tr tn hiu trn cc ng tn hiu trong mch.
Do hot ng ca cc mch s da trn c s ca logic chuyn mch, nhng vi 2 gi tr {0,
1} ta khng th m t c s chuyn tip gi tr tn hiu t mt mc sang mt mc khc.
Do phi m rng min xc nh ca cc php ton logic truyn thng v m rng php
ton ny trn min xc nh mi.
Trong qu trnh m hnh ha, m t cc gi tr tn hiu trn cc ng tn hiu
trong cc qu trnh tnh ton, ngi ta thng s dng hai dng gi tr tn hiu sau:
- Cc gi tr tn hiu thc cc i tng c m hnh ha trc tip v tng ng
vi cc gi tr tn hiu trong s thc.
- Cc gi tr o cc gi tr ch tn ti trong m hnh mch khi thc hin qu trnh m
phng.
Trng thi bin i gi tr t 0 -> 1 l 1
Trng thi bin i gi tr t 1 -> 0 l

0 1 0
Cc trng thi ny th hin cc qu trnh qu trong mch trn cc ng truyn tn
hiu. Ngoi ra i vi nhng phn t c 3 trng thi ta cn phi s dng them gi tr Z
ch trng thi cao. Nh vy min xc nh ca cc php ton c m rng t tp hp
{0, 1} sang tp {0, 1, , , Z}.
Cc gi tr o c s dng trong qu trnh m hnh ha i vi mt s trng hp ta
khng th thit lp gi tr tn hiu nh l kt qu ca cc php ton trn nhng gi tr
thc hoc khi ta phi m hnh ha cc phn t ca mch trong iu kin gi tr thi gian
tr ca cc phn t khng xc nh.
V d: Khi m phng hot ng ca phn t NAND c 2 u vo bng cc gi tr tn
hiu thc {0, 1, , , Z}, chng ta khng th thit lp gi tr u ra bng cc gi tr tn


hiu thc nu trn khi gi tr u vo l v . Trong nhng trng hp nh vy ta
phi s dng them cc gi tr tn hiu khng xc nh k hiu l U.
p ng ca cc mch tun t i vi cc tc ng ph thuc vo cc gi tr khi to
ban u, do giai on u ca qu trnh m phng, chng ta cn xc nh nhng gi
tr tn hiu tng ng vi trng thi ban u ca mch. Khi mch bt u c cung cp
nng lng, do gi tr thi gian tr ca cc phn t mch l cc i lng ngu nhin nn
cc trng thi ca cc phn t trigo, thanh ghi, nh khng xc nh. l nguyn nhn
v sao trc khi mch bt u thc hin cc chc nng tnh ton thng thng, chng ta
thng a mch v trng thi ban u bng mt chui cc khi to reset.
Do , trong qu trnh m phng, khi cung cp nng lng cho mch, thi im ban
u tn hiu thng c gn gi tr X. Nu gi tr ca mt tn hiu l X ti mt im
xc nh c ngha l tn hiu c th nhn gi tr hoc 0 hoc 1 ti thi im .
Hai gi tr X v U c ngha khc nhau mc d chng cng l cc gi tr khng xc
nh. X ch s bt nh v trng thi ca mch ti thi im ban u. Do c s chy ua
gia cc phn t logic thnh phn v s bin thin ngu nhin ca tham s thi gian tr
ca chng nn thi im ban u, cc phn t nh c th nhn cc gi tr 0 hoc 1
mt cch ngu nhin. Khi ta biu th trng thi ca mch l X. Gi tr U xut hin
khi ta lm cc php ton trn cc tn hiu.
V d: ti thi im t, gi tr tn hiu S
1
l dy tn hiu 1, gi tr tn hiu S
2
l 0.
Cc dy tn hiu ny biu th cc qu trnh qu xy ra trn ng tn hiu s
1
v s
2
ti
thi im t khi gi tr tn hiu chuyn t 0 sang 1 v t 1 v 0. Nu cc ng tn
hiu s
1
v s
2
l cc u vo ca phn t AND, khi phn t AND s thc hin php
ton and(, ). Kt qu ca php ny l khng xc nh. Trn u ra ca phn t
AND tn hiu s khng nhn gi tr 0 cng nh 1. Trong trng hp ny chng ta
biu th gi tr tn hiu k hiu U
Nu s lng cc gi tr thc v o trong qu trnh m hnh ha logic v m phng
bng n th nhn c m hnh m phng n gi tr v h cc php ton logic tng ng
phi c m rng thnh h logic n gi tr.
V d:
- Nu n = 3, tp hp cc gi tr m tn hiu c th nhn c trong m hnh m
phng ca mch s l {0, 1, X};


- Nu n = 5, tp hp cc gi tr m tn hiu c th nhn c trong m hnh m
phng ca mch s l {0, 1, , , U};
- Nu n = 7, tp hp cc gi tr m tn hiu c th nhn c trong m hnh m
phng ca mch s l {0, 1, , , U, X, Z};
5.2 Phng php m hnh ho bin dch
Phng php m hnh ha logic v m phng bng bin dch l phng php m
hnh ha trong cc tn hiu c xc nh gi tr bng cch to cho mi phn t ca
mch mt m lnh tng ng vi cc php ton m phn t cn c thc hin. Cc
m lnh nhn c s c biu din theo mt trt t tng ng.
Trong phng php m hnh ha v m phng bng bin dch, m hnh bng cc m
lnh l mt thnh phn ca h thng m phng. Trong nhng trng hp c bit, h m
phng chnh l cc m hnh trn cc m lnh. M hnh m lnh c kt ni vi h m
phng , trong mi tin trnh bao gm vic c cc vecto u vo, thc hin m hnh
vi tng vecto u vo v hin th kt qu.
Cc bc m hnh ha bng phng php bin dch:
- Phn hng cc phn t ca mch cn m hnh ha theo trt t thc hin cc php
ton sao cho khng c mu thun ny sinh.
- To cc m lnh tng ng vi cc php ton do cc phn t thc hin.
phn hng cc phn t ca mch, trc tin phi ngt cc vng phn hi nu c.
Cc im ngt c xc nh tng ng vi cc chc nng ca mch. Trong trng hp
m hnh ha cc mch tun t ng b vic ngt mch phn hi thc hin trn nhng
phn t trc tip nhn cc tn hiu ng b.
Gi s l(k) l hng ca phn t k, khi qu trnh c phn hng c thc hin nh
sau:
- Cc u vo ca mch c hng 0
- Nu k
1
, k
2
, , k
p
l cc phn t c ni vi cc u vo ca phn t k s bng:
l(k) = 1 + max(l(k
1
), , l(k
p
)).
Nhn xt: phng php bin dch khng tnh ti nh hng ca thi gian tr khi tn
hiu c truyn qua mch do qu trnh xy dng m hnh mch c thc hin theo
hng.


- Nu ta ch gii hn trng hp thi gian tr l cc thi gian tr lan truyn th vic m
hnh ha hot ng ca c th thc hin c theo cch phn hng. Cc thi gian tr lan
truyn s c tnh n mt cch tng minh trong qu trnh phn hng v truyn tn
hiu qua tng lp phn hng.
- i vi cc dng thi gian tr khc nh thi gian tr ngu nhin hoc thi gian tr
qun tnh th vic m hnh ha mch theo phng php bin dch khng th thc hin
c.
- Do ta phi ngt cc vng phn hi trong mch, phng php bin dch ch c th s
dng trong nhng trng hp khi ngha ca vic ngt vng phn hi r rang
V d trong trng hp cc mch ng b, m hnh ha mch bng phng php bin
dch c th thc hin c kh nhanh. Nhng phng php ny c nhc im quan
trng l khng tnh thi gian tr trong mch. Nu ta coi thi gian tr trn tt c cc phn
t mch c coi l bng nhau th vic phn hng s th hin c s tr ca tn hiu khi
i qua mch. Trong trng hp thi gian tr c nhng dng phc tp th phng php
bin dch khng th thc hin c chnh xc. Khi m hnh ha cc mch ng b, vic
ngt cc vng phn hi cng lm cho ng ngha ca mch b thay i. Trong trng hp
i vi nhng mch khng ng b vic khng tnh n thi gian tr c th dn ti
nhng kt qu sai.
gii quyt mt phn kh khn nu trn, i vi nhng mch khng ng b, ta phi
gi thit gi tr thi gian tr ch tp trung trn ng phn hi. p ng vi vecto u
vo x, mch phi tri qua mt chui cc ln chuyn trng thi. Qu trnh chuyn trng
thi ny c biu din bng s thay i gi tr ca bin trng thi y. Ta gi thit rng
vector tn hiu u vo ch tc ng khi trng thi ca mch n nh y = Y. ng tn
hiu phn hi c hng 0 phi c xc nh trc khi cc m lnh tng ng vi mch
t hp C c to ra.


















N Y

Hnh trn m phng mch khng ng b bng m hnh m lnh bin dch. Khi thc
hin m phng m hnh, qu trnh m hnh ha s thc hin tnh gi tr tn hiu z v Y
da trn gi tr x v y.
Phng php ny khng chnh xc khi thc hin i vi cc mch khng ng b
trong cc thao tc tnh ton u da trn tham s thi gian tr ca cc phn t mch.
V d: Ta xt mch to xung sau:
A
B C

Khi tn hiu trn ng A c s thay i gi tr t 0 sang 1, nu mch o B khng
lm tr tn hiu th tn hiu trn C s lun nhn gi tr 0 do tn hiu trn hai ng A v
B lun ngc nhau. Nu phn t B lm tr tn hiu, trong khong thi gian c di
bng gi tr thi gian tr tn hiu qua phn t B, hai u vo ca phn t AND s c cng
gi tr 1 v trn ng tn hiu C s xut hin xung 0 1 0 c rng bng
gi tr tham s tr ca phn t o B. Nu khng cn thn, xung 1 ny s xut hin trn
ng tn hiu C bi v phng php bin dch ch quan tm ti hnh vi tnh ca mch
(nu khng quan tm n s tr tn hiu, gi tr trn ng C lun bng 0) Nu ta them
vo phn t tr D vo ng tn hiu ti u ra ca phn t B, mch s c m phng
mt cch ng n.
c gi tr vecto u
vo x tip theo
Thc hin cc m lnh tng
ng vi mch t hp C
y = Y?
y = Y


A C

B

5.3 Phng php m hnh ho hng s kin
Phng php m hnh ha hng s kin cho php xy dng nhng m hnh m
phng trn my tnh vi chnh xc cao, trong ta c th m t ton b cc lin kt
trong mch v da vo xy dng cc m hnh hot ng ca mch theo tin trnh thi
gian.
H thng m hnh ha logic v m phng hng s kin s dng m hnh cu trc ca
mch lan truyn cc s kin. S thay i gi tr ti cc u vo chnh ca mch c
xc nh bng cc vecto tn hiu kch hot. Mi s kin trn cc ng tn hiu khc ca
mch c tnh ton theo cc phn t b kch hot.
Cc s kin xut hin ti nhng thi im thi gian m phng xc nh. C ch iu
phi thi gian cu qu trnh m phng iu khin s xut hin ca cc s kin theo mt
trt t xc nh. Cc tc ng vo mch s c biu din bng dy cc s kin xut hin
trn cc ng tn hiu ti cc thi im thi gian xc nh. Cc s kin s xut hin
trong tng lai s phi ch v lu trong danh sch cc s kin. Nhng s kin trong danh
sch s kin s c iu phi v x l ti nhng thi im m phng.











D
Thi im m phng
tip theo
Xc nh s kin hin
ti
Thay mi cc gi tr
Lan truyn cc s
kin qua cc phn t
Tnh ton trn cc
Kt thc
m phng






m t r qu trnh m hnh ha logic v m phng hng s kin, c th ha thut
ton m phng hng s kin nh sau:
V
0
: gi tr tn hiu- ng truyn tn hiu thay i thi im thi gian hin ti.
V
1
: gi tr tn hiu ng truyn tn hiu thay i di tc dng ca V
0
.
1. Thit lp hai tp hp V
a
v V
b
, gn a0, b1
2. Thit lp gi tr trng thi ban u ca mch
3. c cc gi tr u vo. Xt cc ng tn hiu m trn xut hin cc s kin
(s thay i gi tr tn hiu). Cc gi tr ca s kin xy ra ny c ghi vao tp
hp V
a
.
4. Kim tra tp hp V
a
, nu V
a
rng quay v bc 3; nu V
a
khng rng, thc hin
bc 5.
5. Thc hin m hnh ha logic i vi cc gi tr trong tp hp V
a
; cc ng d liu
trn xut hin s kin v gi tr ca chng c ghi vo V
b
.
6. Gn a1, b0, vai tr ca V
a
v V
b
thay i. Kim tra s xut hin dao ng
trong mch. Nu khng c dao ng quay v bc 4.
V d: M hnh ha qu trnh hot ng ca trigo RS
a
c


b d

1. Thit lp V
A
v V
B
(A0, B1);
2. Do trng thi ban u ca mch khng xc nh, gi tr trn tt c cc ng tn
hiu c gn bng X;


3. t cc gi tr u vo: a = 0, b = 1. Ta c V
A
= {(a,0)(b,1)};
4. Ta thy V
0
<>rng, chuyn sang bc 5
5. Gi tr trn ng tn hiu ra c thay i t X sang 1, tp hp V
1
= {(c,1)};
6. Gn V
1
vo V
0
. Tp hp V
0
nhn gi tr V
0
= {(c,1)} v quay li bc 4
7. Ta thy V
0
<> rng, chuyn ti bc 5
8. Gi tr tn hiu trn ng d chuyn t x sang 0, V
1
= {(d,0)}
9. Gn V
1
vo V
0
, V
0
= {(d,0)}, quay v bc 4
10. Ta thy V
0
<> rng, chuyn sang bc 5
11. Gn V
1
vo V
0
, khi V
0
= rng, chuyn sang bc 4
12. Ta thy V
0
= rng, quay v bc 3
13. c cc gi tr tip theo u vo
Nh vy vi gi tr u vo a = 0, b = 1, ta nhn c cc gi tr u ra c = 1, d
= 0.
5.4 M hnh ho qu trnh tr tn hiu trong cc phn t mch
Khi thc hin m hnh ha logic v m phng hot ng ca mch trn mc cc phn
t logic, mt nhn t quyt nh mc chnh xc ca m hnh so vi mch thc t l tham
s thi gian tr ca cc phn t logic. Nu ta biu din hot ng ca mch khng tng
ng vi nhng tnh hung thc t s din ra trong cc phn t logic, khi s xut hin s
khng chnh xc trong cc m hnh hot ng ca mch ch yu theo nhng quan h v thi
gian.
1. M hnh ha qu trnh tr tn hiu qua cc phn t logic:
Mi phn t logic u tc ng ln cc tn hiu vo v lm tr cc tn hiu . Trong k
thut thng s dng hai m hnh tr qua cc phn t logic: m hnh tr lan truyn v m
hnh tr qun tnh
- Tr lan truyn: l s tr tn hiu pht sinh khi ta cho tn hiu i qua phn t mch.
- Tr qun tnh: l s tr tn hiu gn lin vi nng lng kch hot phn t mch.
a. Tr lan truyn:
Thi gian tr lan truyn l thi gian m tn hiu ra ca mch chm pha so vi tn hiu
vo mch. M hnh tr lan truyn l m hnh c bn, trong xc nh khong thi gian
T



cch bit gia cc s kin xut hin ti u ra vi s kin xut hin ti u vo sinh ra
chng. n gin, cc gi tr thi gian tr s dng trong m phng l cc s nguyn.
Trong mt s trng hp khi m hnh ha mch ta khng tnh n thi gian tr tn
hiu khi i qua cc phn t. Lc ta coi thi gian tr ca cc phn t bng khng, chng ta
s dng m hnh vi thi gian tr tn hiu bng khng. Phng php m hnh ha logic v
m phng bng bin dch s dng m hnh thuc tnh tr ny. M hnh cc phn t vi thi
gian tr bng khng ch c s dng m hnh ha cc gi tr logic trong nhng mch t
hp v mch tun t ng b.
M hnh mch trong thi gian tr ca tt c cc phn t logic bng nhau gi l m
hnh vi thuc tnh tr thun nht. Do cc phn t logic c thi gian tr khc khng nn
chng ta c kh nng m hnh ha v x l cc mch khng ng b c phn hi. Trong
mt s trng hp ta c th chn gi tr thng s tr lm n v vi t l mt, m hnh ny
c gi l m hnh tr n v.
Trong trng hp tng qut, cc phn t ca mch c th nhn nhng thi gian tr
khc nhau. thc hin qu trnh m hnh ha hot ng ca mch, ta s dng n v thi
gian o gi tr thng s thi gian tr l c s chung ln nht
T
ca cc thng s thi
gian tr trn cc phn t v phn phi cc gi tr thng s thi gian tr theo t l
tng ng vi
T
. M hnh ny c gi l m hnh hot ng vi thng s thi gian tr
phn tn.


a 1
c d
b h

0 e
1 g

S mch cho trng hp tr thun nht v tr phn tn
a
b


c
d
e
g
h

Hot ng ca mch trn vi m hnh tr thun nht.


a
b
c
d
e
g
h
Hot ng ca mch vi m hnh tr phn tn
Khi m hnh ha hnh vi ca cc phn t logic, thng phn tch chc nng tnh ton
logic c ch iu phi thi gian ca chng. Nh vy mt phn t vi thng s thi gian
tr l
T
s tng ng vi phn t logic c thng s thi gian tr bng 0 v phn t tr c
thng s thi gian tr l
T
. Trong qu trnh m hnh ha hnh vi ca phn t logic, u
tin phn t b kch hot s c tnh ton theo chc nng logic, sau cc thuc tnh tr
s c tnh ton v th hin qua qu trnh iu phi thi gian.
Khi s dng m hnh tr khng xc nh hoc m hnh tr cc i cc tiu , trong
hot ng ca mch s xut hin nhng hnh vi khng xc nh v biu th qua nhng
gi tr U.
V d:
a b c d e
g



Vi m hnh tr cc i cc tiu ta c th m hnh ha phn ln cc trng hp phc
tp xut hin trong hot ng ca mch trn thc t.
b. Tr qun tnh:
Mi mch in u cn nng lng chuyn trng thi. Nng lng ca tn hiu l
hm s ca bin v di tn hiu. Nu i ca tn hiu qu ngn, tn hiu khng
th kch hot phn t chuyn trng thi. di ti thiu ca tn hiu u vo
kch hot mch chuyn trng thi c gi l thi gian tr qun tnh u vo ca phn t,
k hiu l
I
. Nhng tn hiu c di nh hn
I
s c gi l xung nhn v s khng
c phn t cho i qua. Nu di tn hiu ln hn hoc bng
I
, tn hiu s c i
qua mch vi tr bng thi gian tr lan truyn ca phn t. Vic a tr qun tnh u
vo cho php m hnh ha nhng trng hp c bit trong cc s thc khi phn t
ngng lm vic vi nhng xung rt hp.
2. M hnh ha qu trnh tr tn hiu qua cc phn t chc nng v thanh ghi.
Cc chc nng logic v cc c tnh thi gian ca cc phn t chc nng phc tp hn so
vi cc phn t logic c bn.
V d: xt hnh vi hot ng ca phn t Trigo D lm vic theo sn ln vi hai ng
tn hiu khng ng b thit lp S (set) v khi to R (Reset).







q S R C D Q QN Tg Tr
0 0 1 x x 1 0
S/Q
= 4;
S/QN
= 3
1 1 0 x x 0 1
R/Q
= 3;
R /QN
= 4
1 1 1 0 0 1
f
C/Q
= 8;
r
C/QN
= 6
0 1 1 1 1 0
r
C/Q
= 6;
f
C/QN
= 8
S
D Q

C QN
R


x 0 0 x x u u

I/O
: ch tr ca p ng ti u ra O i vi tc ng ti u vo I

r
,
f
: tr sn ln v sn xung ca phn t.
Ta xt dng th 3: nu trng thi ban u ca phn t q = 1 v ti cc ng tn hiu S,
R khng c tc ng (S = 1, R = 1), s chuyn trng thi ca xung ng h C t 0
sang 1 s lm cho u ra Q nhn gi tr ca ng D vi thi gian tr sn xung
f
C/Q

= 8; u ra QN chuyn t 0 sang 1 vi tr
r
C/QN
= 6.
Dng cui cng ca bng ch ra rng nu cc u vo nhn gi tr cm 00, c hai u
ra s nhn gi tr U.
5.5 M hnh ho trn mc cc phn t
Cc phng php iu khin qu trnh th hin trnh t thc hin m hnh ha v nhng
phng php x l gn lin vi qu trnh m phng mch. Trong phng php bin dch,
trnh t thc hin m hnh ha c xc nh bng vic phn hng cc phn t . Nh vy
vic ngt cc vng phn hi trong cc mch tun t v phn hng phn t chnh l phng
php iu khin qu trnh m hnh ha.
Khi s dng phng php m hnh ha hng s kin nu cc gi tr tn hiu v(j) ti
thi im thi gian t
0
khc gi tr V(j) ti thi im trc, iu c ngha l xut hin s
kin, ta s coi rng tn hiu thay i gi tr vo thi im t
0
+
T
trong
T
l

tr lan
truyn ca phn t ang xt.
m t s xut hin s kin trn cc ng tn hiu trong mch theo thi gian ta cha
cc s kin vo danh sch tuyn tnh c dng biu din nh sau:









u danh
sch
t
i

t
j

t
k

S kin
S kin
S kin
S kin
S kin


Danh sch cc s kin
Tng ng vi mi mt thi im thi gian s c mt danh sch cc s kin xut hin
vo thi im .
Khi c s kin mi xut hin, s kin ny c a vo danh sch s kin gn lin
vi mt thi im thi gian xc nh. S xut hin ca mt thi im thi gian c
nh du trong qu trnh m hnh ha khng ph thuc vo chui thi gian. Do
xc nh v tr ca cc thi im c tnh ton trc trong danh sch s kin, chng
ta cn phi c chui thi gian tng ng vi danh sch c x l. iu ny c th c
thc hin da vo cc nh x thi gian.
Khi ta s dng php nh x thi gian, dy cc thi im thi gian c xc nh vi
khong thi gian cch u , mi s kin trong h thng s c xc nh da vo cc
thi im thi gian ny. Khong thi gian c xc nh bng c s chung ln nht
ca thi gian truyn tn hiu v tr ca cc phn t trong mch. Do gii hn v b nh
dung thc hin qu trnh m hnh ha mch, ta xc nh gi tr gii hn ca thi im
thi gian cc i bng M. Nh vy cc thi im thi gian sau thi im cc i s quay
li bt u t thi im ban u v to thnh vng quay thi gian (bnh xe thi gian).






Thng thng khong thi gian tng thch vi tr ca cc phn t trong mch.
Trong nhng trng hp khi trong mch c nhng phn t vi tr ln, khong thi gian
c th vt qu thi gian gii hn M, iu ny dn ti vic thi im m phng vt ra
ngoi vng thi gian v gy nn hin tng trn. gii quyt vn ny, ta xy dng danh
sch b tr lu tr cc thi im trn v gi l danh sch trn. Trong trng hp s dng
danh sch trn, mi khi bnh xe thi gian thc hin c mt vng quay, ta cn thc hin
thao tc tr cc thi im trong danh sch trn v chu trnh x l theo vng thi gian.
Khi thc hin qu trnh m hnh ha theo vng thi gian, cc bc ca qu trnh m
phng c th c biu din di dng sau:
1
2
3
4

t
t+1
S kin S kin
S kin
S kin S kin


- B1: Thit lp cc gi tr ban u ca tn hiu ti thi im tt
0
v t cc gi tr
thnh gi tr hin thi.
- B2: c cc gi tr u vo. Nu cc gi tr ny khc cc gi tr hin thi, ta a
chng vo tp hp L

trong = t+
T
.
- B3: Nu L

= , chuyn ti bc 5, ngc li chuyn ti bc 4


- B4: Nu gi tr trong L

trng vi gi tr hin thi, ta gi nguyn gi tr hin thi;


nu cc gi tr ny khc nhau, ta lm gi tr cp nht hin thi v a vo L

, =
t+
T

- B5: Gn tt=1 v quay v B2.
V d: Minh ha thut ton m hnh ha hng s kin i vi mch sau:






V d minh ha thut ton m hnh ha hng s kin i vi mch trn. Cc gi tr
1 v 0 trn mt ng tn hiu bt k ; v d trn ng a, s c k hiu l (a;1) v
(a;0). Gi thit cc tn hiu u vo thay i theo gin thi gian trn, phn t OR c
tr lan truyn
T
= 2. Trong trng hp ny qu trnh m hnh ha hng s kin s
c thc hin theo trnh t sau:
1. B1: Ti thi im ban u t=t
0
(t
0
= 1); Cc gi tr ban u: (a; 0), (b; 0), (c; 0);
2. B2: c gi tr u vo: (a; 1); L
+T
= L
3
= {(c; 1)};
3. B3: Kim tra L
1
, L
1
=, chuyn ti bc 5;
4. B5: tt+1(t = 2); Quay li B2;
5. B2: c gi tr u vo (b; 1); L
+T
= L
4
= {(c; 1)};
6. B3: Kim tra L
2
, L
2
= , chuyn ti B5;
7. B5: tt+1(t = 3); Quay li B2;
8. B2: c gi tr u vo (a; 0);
9. B3: Kim tra L
3
, L
3
={(c; 1)}, L
3
; Thc hin B4;


10. B4: Gi tr hin thi c thit lp bng (c; 1);
11. B5: tt+1(t = 3); Quay li B2;
12. B2: c gi tr u vo (b; 0); L
6
= {(c; 0)};
13. B3: Kim tra L
4
, L
4
= {(c; 1)}, L
4
; Thc hin B4;
14. B4: Do L
4
trng vi gi tr hin thi (c; 1); thc hin B5;
15. B5: tt+1(t = 5); Quay li B2;
16. B2: Cc tn hiu vo khng thay i gi tr; Thc hin B3;
17. B3: Kim tra L
5
, L
5
; chuyn ti B5;
18. B5: tt+1(t = 6);
19. B2: Cc tn hiu vo khng thay i gi tr; Thc hin B3;
20. B3: Kim tra L
6
, L
6
. Thc hin B4;
21. B4: Gi tr hin thi c thit lp bng (c; 0);


Chng VI: Ngn ng m hnh ho VHDL
6.1 Gii thiu v ngn ng VHDL
1. Nhng khi nim chung v ngn ng VHDL
Cc phng php thit k da trn c s ca cc ngn ng HDL ngy cng tr nn
ph bin. Cc ngn ng m t phn cng HDL c cc nh thit k mch s dng ch
yu m t cu trc hoc hnh vi ca cc h thng s cho qu trnh m phng hoc
thit k.
Phng php thit k trn c s cc ngn ng HDL so vi cc phng php thit k
truyn thng trn c s ca cc cng lgic c cc u im sau:
- Cc phng php ny cho php tng nng sut thit k, n cho php nh thit
k tn t thi gian hn v cho php nhng ngi khng cn kin thc su v
phn cng c th thit k phn cng.
-Phng php thit k trn cc ngn ng HDL kh c ng vi nhng cng
ngh khc nhau. Cc m t trn cc ngn ng HDL cung cp cc ti liu c
lp vi phn cng ca mch in. S dng cc chng trnh tin ch h tr
thit k ta c th chuyn i cc biu din trn cc ngn ng HDL thnh nhiu
mc ng dng cho nhng cng ngh khc nhau.
Ngn ng HDL (VHSIC Hardware Description Language) l ngn ng c s dng
ph bin trong cng ngh ch to cc mch VLSI. VHDL c cng nhn l ngn ng
tiu chun trong m t phn cng ca IEEE v ca B Quc phng M.
V mt c php, ngn ng VHDL l mt ngn ng c nh kiu cht ch v c
mt tp hp ln cc cu lnh. Ngn ng VHDL h tr cc phng php m t nhiu lp
trong cc thnh phn cu trc hoc mng li cc phn t c th i i vi cc m t
hnh vi hoc cc thut ton.
VHDL cung cp kh nng m t ca mch s trn nhng mc tru tng khc
nhau: mc thut ton; mc cc thnh ghi, hm truyn t; mc cc cng lgic. Nh thit
k c th s dng chin lc thit k t trn xung, u tin m t thit k trn mc kin
trc, sau chi tit ha tng bc thit k. V d ta c th m t mch so snh mt bit
bng ngn ng VHDL theo nhng mc chi tit khc nhau. Mch ny bao gm hai


u vo v mt u ra vi cc tn hiu ti cc u ny l cc tn hiu s. Nh vy mch
s tng ng vi mt thc th c hai u vo v mt u ra. Kin trc ca mch c t
quan h gia u vo v u ra ca mch c th m t theo hnh vi, dng truyn d liu
qua mch, hoc theo cu trc ca mch.
- M t trn mc thc th
Trn mc thc th, ta m t v s lng cc cng vo ra ca mch v cc dng
tn hiu ti cc cng . Trong v d v mch so snh mt bit, mch c m t
bng mt thc th bao gm hai cng vo v mt cng ra. Cc d liu ti cc
cng ny l cc bit.

entity COMPARE is
port ( A,B: in BIT;C:out BIT);
end COMPARE;
- M t mch bng hnh vi
m t mch bng hnh vi, trong ngn ng VHDL ngi ta dng cu trc
process. Khi m t bng hnh vi, ta khng cn thit phi cung cp chi tit v
vic thc hin thit k. Trong v d ny ta thy mch so snh c m t bng
mt qu trnh process. Qu trnh ny chu tc dng ca hai tn hiu l A v B.
ahitechture BEHAVIOR or COMARE is
begin
process (A,B)
begin
if (A=B) then C<= 1;
else C<=0;
end iF
end process;
end BEHAVIOR;



-M t bng dng d liu
Theo biu din bng dng d liu, h thng c biu din nh cc lung
chuyn ng ca cc tn hiu iu khin v cc d liu. Theo phng php
ny, hot ng ca mch c biu din nh cc mch lgic t hp, nh mch
cng, mch so snh, mch gii m. i vi v d v mch so snh, ta thy tn
hiu C c gn gi tr ca biu thc lgic ca A v B sau mt thi gian 10 ns
sau khi c s thay i gi tr tn hiu trn cc cng A,B.
architechture DATAFLOW of COMPARE is
begin
C<= not (A or B) after 10 ns;
end DATAFLOW;

- M t mch bng cu trc
i vi cch m t mch qua cu trc, ta phi m t cc thnh phn cu trc
v mi lin kt gia cc thnh phn . Trong v d v mch so snh cu trc
ca mch gm mt phn t XOR c hai u vo I0,I1, kt ni vi mt phn t
NOT. u ra ca phn t XOR ni vi u vo ca phn t NOT. Cu trc
kt ni trn c m t bng on chng trnh VHDL.
Architecture STRUCTURE of COMPARE is
component XOR_Gate
port (I0,I1: in BIT; O: out BIT);
end component;
component oNOT_Gate
port (I0: in BIT; O: out BIT);
end component;
signal NET_I: BIT;


begin
U0: XOR_Gate port map (I0 => A,I1 =>B, O =>NET_I);
U1: NOT_Gate port map (I0 => NET_I, O => C);
end STRUCTURE;
2.Qa trnh m phng
Nh cp ti trong chng 4 ,cc ngn ng HDL lun i km vi cc b m
phng. Cc thit k trn ngn ng VHDL, s thc hin trn b m phng VHDL
kim tra hnh vi ca h thng c m hnh ha. ti to hot ng ca m hnh, nh
thit k cn cung cp tp hp cc tc ng vo m hnh. Chng trnh m phng s gn
cc tc ng ti u vo ca m hnh ti nhng thi gian xc nh v da vo m
hnh a ra cc p ng ca mch. Cc kt qu c nh thit k s dng kim tra
mc thch hp ca thit k.
Ta c th thc hin m phng trn bt k giai on no ca qu trnh thit k. Ti cc
mc bao qut nht ca thit k m phng cung cp cho ta thng tin v hot ng ca
mch ang thit k. Thng thng m phng mc ny thc hin rt nhanh v khng
cung cp cho ta nhng thng tin chi tit v hot ng ca mch v nh ch nh thi
gian. M phng mc thp chim nhiu thi gian hn nhng cung cp cho ta nhiu
thng tin chi tit v hot ng ca mch, ch thi gian ng h. Ngn ng VHDL
cho php s dng c ch m phng hn hp. u im ca phng php m phng hn
hp l cho php nh thit k tp chung v xy dng nhng phn mch quan trng.
gim gi thnh thc hin m phng cc mc thp cc b m phng cn c dng
pht hin cc li cng sm cng tt. Trong qu trnh m phng chng trnh VHDL, cc
nh thit k cn cung cp tp hp cc gi tr th nghim ti nhng thi im m phng
xc nh



3. Tng hp mch
Tng hp mch l qu trnh xy dng cc m t thit k t mt mc tru tng no
sang mt mc tru tng thp hn. Qu trnh ny c th l s bin i t hnh vi ny
sang hnh vi khc hoc t hnh vi sang cu trc. Qu trnh bin i ny tng t nh
qu trnh bin dch chng trnh phn mm vit trn cc ngn ng bc cao sang cc m
Assembly. Cc u vo ca cc cng c thit k thng l cc m t trn cc ngn ng
HDL, cc c ch iu khin thi gian cc mc tiu ti u, cc th vin k thut. u ra
ca h thng h tr thit k l cc danh sch cc mng li ti u, cc hiu nng ca
mch, din tch ca thit k c xy dng.
-Tng hp hnh vi l qu trnh bin i cc m ta bng cc ngn ng th tc
sang cc m t mc thanh ghi truyn t. Thit k mc thanh ghi truyn
t thng bao gm cc ng truyn d liu, cc mch nh v cc b iu
khin. Qu trnh tng hp hnh vi thng c gi l qu trnh tng hp
mc cao hay cn gi l tng hp kin trc.
-Tng hp mc thanh ghi truyn t l qu trnh to ra cu trc mng cho
cc mch tun t t tp hp cc hm truyn t thanh ghi. Cc trng thi
c<=not
(a xor b)
After 10ns
a
b
Signal a
Signal b
Signal c
a
b
c
Hinh 6.1: M hnh b so snh 1 bt
v cc tn hiu qua m phng


tng ng vi ch ng h cng c xc nh mc ny. Cc thao tc
mc thanh ghi truyn t c th m t bng cc tmat hu hn hoc tp hp
cc phng trnh truyn t mc thanh ghi cc thnh phn ca qu trnh bao
gm : ti u ha trng thi, m ha trng thi, ti u ha lgic , nh x cng
ngh.
-Tng hp lgic l qu trnh chuyn cc biu din mch bng cc biu din
lgic sang cc mch lgic. Qu trnh ti u ha mch lgic thit k c chia
lm 2 giai on: cc qu trnh ti u mch khng ph thuc vo cng ngh; v
cc nh x cc s v cc phn t vo cc lin kt ca cc phn t m t
trong b th vin.
6.2 Cc cu trc c s trong VHDL
Mi mt h thng mch s c thit k nh mt h phn cp cc mdun. Mi
mdun tng ng vi mt thc th ca thit k trn ngn ng VHDL. Thc th thit k
th hin mt i tng ca thit k phn cng. i tng ny c cc u vo v u ra
c xc nh r rng, ng thi thc th thit k cng phi ch ra c chc nng ca
i tng thng qua php ton c nh ngha trc. Mi thc th thit k gm c 2
phn: phn khai bo thc th v kin trc thc th.
- Phn khai bo thc th m t dng bn ngoi ca thc th, cc giao din ca
thc th vi thc th khc. Giao din ny c th hin qua cc cng vo v
cng ra ca thc th.
- Kin trc thc th m t cc thnh phn bn trong ca thc th.
- Ngoi ra chng cn c th dng cc gi tin ch thit k.
- Cc thc th cn c cu hnh. Cu hnh l cc dng tng ng ca thit
k.
- Cc th vin l tp hp cc thc th c m t sn. Cc thc th trong th
vin s c s dng ty theo mc quan trng ca thit k.
Cc cu trc c s ca ngn ng VHDL bao gm:
- Cc thc th


- Cc kin trc
- Cc gi
- Cc cu hnh
- Cc th vin
1. M t cc thc th
Cc khai bo thc th cho ta ci nhn i vi phn t mch cn c m t t mt
bn ngoi. Bng cch khai bo thc th, phn t mch s c m t bng s
lng v chc nng ca cc cng giao tip v cc tnh cht ca d liu ti cc
cng ny theo phng din t ngoi vo.
Ngn ng VHDL c m t theo ngn ng c php. i vi cc m t thc th
c php c dng nh sau:
entily ten_thc_th is
[lnh_khai_bo_generic]
[cc_lut_ti_cng]
{cc_thnh_phn_khai_bo_thc_th}
[begin
Cc_thnh_phn_biu_thc_thc_th]
end [tn_thc_th];
Lnh khai bo generic dng khai bo cc tham s c s dng kim soat
cu trc hoc hnh vi ca thc th. Cc hng s ny c gi l cc tham s
chung. Cu trc generic c cu trc nh sau:
generic (
tn_hng: kiu_con [:=gi_tri_khi_to]
{;tn_hng: kiu_con [:=gi_tr_khi_to]}
);
tn_hng: l tn ca tham s chung
kiu: kiu d liu ca tham s.


gi_tr_khi_to: gi tr khi to ca tham s.
Cc lut cng c t cho cc knh giao tip ca thc th v c quy tc c php nh
sau.
port ( tn_cng: [mode] kiu_con[:=gi_tr_khi_to]
{; tn_cng: [mode] kiu_con[:=gi_tr_khi_to]}
);
tn_cng: tn ca cng c m t.
model: ch hng ca tn hiu ti cng.
kiu_con: kiu d liu ti cng hoc cc tham s chung.
gi_tr_khi_to: gi tr khi to cho cng.
Trong phn khai bo, thc th v cc cng ca thc th lun c t tn hoc
nh nh danh. Tn, nh danh trong ngn ng VHDL khng phn bit ch hoa v thng.
Mt s nh danh l cc t kha ca ngn ng nh: entily, port,is,endNhng t ny c
ngha c nh v khng th thay i trong ton b ngn ng.
Cc cng l cc tn hiu kt ni thc th vi cc thc th khc. Nhng tn hiu ti
cng c t tng ng vi cc dng in, out, buffer, inout v cc kiu d liu. ngha ca
cc dng cng nh sau:
- Cng c dng in l cng ch dng c. Trong cc mch s, cc cng dng
in ch c s dng lm cng tn hiu vo.
- Cng c dng out l cng ch dng gn gi tr. Trong thit k mch, cc
cng dng out ch c s dng lm cng tn hiu ra.
- Cc cng dng buffer l cng cho php c 2 thao tc c v gn d liu.
Nhng trong tng ng cnh cng ch c th nhn 1 trong 2 chc nng c
hoc gn gi tr.
- Cng inout l cng c th va c va gn gi tr. Cc cng ny cho php
c nhiu iu khin d liu ng thi trong mi ng cnh.
Trong phn cc_thnh_phn_khai_bo_thc_th ca thc th cha khai bo cc hng s,
cch kiu hoc tn hiu c th s dng trong qu trnh xy dng thc th. Phn


cc_thnh_phn_khai_bo_thc_th cha cc biu thc thc hin ng thi. Cc biu thc
ny c s dng kim tra cc iu kin rng buc cc php ton trong hnh vi ca thc
th cn thit k.
2. Cc kin trc
Trong ngn ng VHDL cc kin trc cung cp ci nhn bn trong ca thc th. Kin
trc ca thc th xc nh mi quan h gia cc u vo v u ra ca thc th v c th
biu din theo hnh vi, theo dng vn chuyn d liu hoc theo cu trc.
Kin trc xc nh chc nng ca thc th, kin trc cha phn khai bo,trong bao
gm cc khai bo ca tn hiu, khai bo kiu, khai bo hng, khai bo cc thnh phn v cc
chng trnh con. Trong phn thn ca kin trc cha cc cu kt cu thc hin ng thi.
Cc kt cu thc hin ng thi th hin tnh cht thc hin ng thi ca cc thnh phn
phn cng trong thit k khi c s thay i trng thi tn hiu tc ng vo mch. Cc kt
cu thc hin ng thi tng tc vi nhau thng qua cc tn hiu. Mi kt cu thc hin
ng thi xc nh mt phn t tnh ton. Phn t ny c tn hiu, thc hin cc php ton
trn cc php ton gn nhng gi tr tnh c cho tn hiu. Cc kt cu ny biu din khi
cc phn cng v cch thc lin kt gia chng theo dng cu trc hoc dng hnh vi.
Kin trc c m t theo quy tc sau:
architecture ten_kin_trc of tn_thc_th is
{phn_khai_bo_ca_kin_trc]
begin
{cc_kt_cu_thc_hin_ng_thi}
end [tn_kin_trc];
tn_thc_th: l tn ca i tng s xy dng.Tn ny phi trng vi tn ca thc
th tng ng vi kin trc khai bo trong phn khai bo thc th.
phn_khai_bo_ca_kin_trc cha nhng khai bo trong m t kin trc. Hai dau
{} c ngha l c th khng cha mt khai bo no hoc c cha nhiu khai bo.


Phn nm gia 2 t kha begin v end,cc_kt_cu_thc_hin_ng_thi xc nh
cc khi phn cng theo dng cu trc hoc hnh vi. Cc thnh phn signals dng kt ni
cc khi ring bit ca kin trc. Mi tn hiu tng ng vi mt kiu d liu.
Mt thc th c th c nhiu kin trc. Thng thng, ta c th biu din kin trc ca
mt thc th 3 phng din: phng din hnh vi, phng din dng d liu, phng din
cu trc. Mt kin trc cng c th c hn hp c 3 phng din biu din thit k. Ta hy
xt v d biu din kin trc thit k ca mch cng mt bit. Theo hnh vi, mch cng c th
c biu din nh mt hm lgic tc ng ln 3 bin c lp l A, B, Cin hnh thnh ln
tn hiu ra l Sum v Cout. Theo cch biu din bng dng tn hiu, mch cng thc hin
cc tc ng.
Ta xt v d biu din kin trc ca mch cng mt bt:

a. Biu din kin trc theo hnh vi
Biu din kin trc ca thc th theo hnh vi l m t chc nng ca h thng tng
t nh cc chng trnh phn mm bng cc qu trnh tnh ton. Trong biu din ny
ta khng cung cp chi tit vic thc hin thit k. Trong ngn ng VHDL biu
din kin trc theo hnh vi, cu trc chnh ca hnh vi s l qu trnh, mt qu trnh

B cng
Process(A,B,C
in
)
Begin

End.
S<=A xor B
Sum<= S xor C
in

Affter 5ns
C
out
<=(A&B)V(S&V
in
)
Cu trc
Dng d
liu
Hnh vi
A
B
C
in
sum
cout
Hnh 6.4:M t thc th mch cng v cc kin trc


c th coi nh l chng trnh v c xy dng t nhng kin trc th tc v c th
cho php gi cc chng trnh con ging nh cc ngn ng lp trnh truyn thng.
Ta hy xt v d m t kin trc ca mch cng mt bit bng hnh vi. Trong m t
cha mt qu trnh vi 3 tham s l cc tn hiu A, B v Cin. Cc tn hiu ny cha
trong danh sch cc tn hiu tc ng vo qu trnh. Vic thc hin cc qu trnh s
dng li nu khng c cc s kin xy ra trn cc ng tn hiu xut hin trong
danh sch hay ni mt cch khc l cc tn hiu trong danh sch cc tn hiu tc ng
khng thay i gi tr. Mi khi c mt s kin xy ra trn cc ng tn hiu, qu
trnh s c kch hot v cc cu lnh bn trong cu trc s c thc hin tun t.
architecture BEHAVIOR of FULL_ADDER is
begin
process (A,B,Cin)
begin
if (A = 0 and B = 0 and C = 0) then
Sum <= 0;
Cout <= 0;
elsif (A= 0 and B = 0 and Cin= 1) or
(A= 0 and B = 1 and Cin= 0) or
(A= 1 and B = 0 and Cin= 0) then
Sum <= 1;
Cout <= 0;
elsif (A= 1 and B = 1 and Cin= 1) then
Sum <= 1;
Cout <= 1;
end if
end process;
end BEHAVIOR;


Mt qu trnh m t hnh vi ca mt phn hoc ton b thit k. Qu trnh xc
nh cc khi m lnh tun t c lp. Cc khi ny c th c kch hot ng vi
cc bin i trng thi ca tn hiu. Khi c nhiu hn mt qu trnh trong kin trc th
nhng qu trnh c thc hin ng thi
i. M hnh hnh vi
Thit k s c m hnh ha nh mt nhm cc php ton tc ng ln cc gi tr
d liu truyn qua h thng. Trong m hnh hnh vi ca VHDL mi php ton c
gi l mt qu trnh v cc gi tr d liu i qua h thng c gi l tn hiu. Mt h
thng c th coi l tp hp cc qu trnh v cc qu trnh tng tc vi nhau thng
qua cc tn hiu. Tt c cc qu trnh trong m hnh thc hin ng thi v cc tn
hiu c dng nh v cc qu trnh song song.
Chng ta c th coi vic thc hin mt qu trnh nh mt vng lp v hn. Vng lp
ny bt u t vic thc hin dng lnh u tin, ln lt n dng lnh th hai, th
ba cho n dng lnh cui cng v li quay tr li dng lnh u tin. Vic thc
hin cc cu lnh trong qu trnh c thc hin cho n khi gp cu lnh wait. Khi
b dng li, qu trnh c th c tip tc thc hin tr li. iu kin qu trnh
thc hin tr li ph thuc vo thi gian ngng cc i trong cu lnh wait tri qua.
Trong nhiu trng hp qu trnh c th c kch hot tr li ty thuc vo s thay
i trng thi ca cc tn hiu tc ng hoc khi cc iu kin t ra c tha mn.
Ngn ng VHDL cung cp kh nng m t nhng tn hiu tc ng vo cc qu trnh
bng danh sch cc tn hiu tc ng. Khi gi tr ca cc tn hiu trong danh sch tc
ng b thay i, qu trnh c kch hot v bt u thc hin.



Trn hnh 6.6 ta c m hnh kin trc ca h thng gm ba qu trnh i,j,k. Mi
qu trnh I v j c hai tn hiu tc ng cn qu trnh k ch c mt. u ra ca qu
trnh i ni vi u vo ca qu trnh k v u ra ca qu trnh j ni vi u vo ca
qu trnh i. C ba qu trnh cng thc hin ng thi v cc tn hiu tc ng dng
kim sot tin trnh thc hin cc qu trnh.
ii. M hnh iu khin thi gian
S thay i gi tr tn hiu ti nhng thi im thi gian xc nh c th hin
qua thi im m phng ca h thng. Thi im m phng trong ngn ng
VHDL l thi im ti c cc s kin xut hin trn ng tn hiu. Khi nim
thi im m phng trn thc t l khc vi khi nim thi gian ng h ni ti. Cc
qu trnh trong VHDL c kch hot li mt khi c s thay i gi tr ca tn hiu
trong danh sch tn hiu tc ng. Khi qu trnh to nn gi tr cho tn hiu u ra, h
thng m phng s ch nh lng t thi gian trc khi gi tr c gi ra u ra.
Lc ta ni rng h m phng thc hin vic nh chng trnh cho giao tc sau
thi im m phng xc nh. H thng m phng ca VHDL cng cho php nh
.
..
..

.
Tn hiu
Tn hiu
Qu trnh j
Qu trnh i
Qu trnh k
M hnh qu trnh
Tn hiu
Tn hiu
Hnh 6.6:M hnh hot ng ca mt qu trnh process


chng trnh cho mt s bt k cc giao tc i vi ng tn hiu ra. Tp hp tt c
cc giao tc i vi tn hiu trong mt qu trnh gi l VHDL cung cp m hnh hai
giai on: chu trnh m phng.
- Trong giai on 1: gi tr ca cc tn hiu s thc hin giao dch trong thi
gian hin ti c lm mi.
- Trong giai on 2: nhng process nhn thng tin ti nhng tn hiu tc ng
s thc hin tnh ton cho ti khi b treo. Kt thc giai on 2, thi im m
phng s nhn gi tr mi v chu trnh thc hin li.
Nh thit k c th ch nh thi gian tnh t thi im hin thi m gi tr s c
gi ti tn hiu ra trong cc cu lnh gn tn hiu. Nu trong cu lnh gn tn hiu
khng ch r gi tr thi gian tr hoc gi tr ny bng 0 th thi gian trc mc nh
delta ca b m phng s c s dng nh lch trnh cho thao tc. Thi gian tr
ny khng thay i thi im xut hin tn hiu ng h m phng nhng c s
dng kt thc mt chu trnh m phng v bt u mt chu trnh mi. Nu gi tr
mi c gn cho tn hiu khc vi gi tr c, trn ng tn hiu xut hin s kin
.
Chu trnh m phng
Kt thc m phng
Giai on mt
: Cp nht tin
hiu
Bt u m phng
Giai on 2 :
Thc hin tnh ton
iu khin lch trnh
cc giao dch
Hnh : chu trnh m phng ca qu trnh




b. Biu din kin trc theo dng d liu
Phong cch m t kin trc theo dng d liu c t h thng nh cc biu din
song song ca cc dng d liu v dng cc tn hiu iu khin. Theo phng php
ny chng ta m t cc dng thng tin, hnh vi lun chuyn cc dng d liu theo
thi gian ca cc hm lgic t hp nh mch cng, mch so snh, mch gii m v
cc phn t lgic c s. V d.
architecture DATAFLOW of FULL_ADDER is
signal S:BIT;
begin
S<=A or B;
Sum <= S xor Cin affer 10 ns;
Cout <= ( A and B) or ( S and Cin) affer 5 ns;
end DATAFLOW;
Trong v d ny ta c ba biu thc gn tn hiu song song. Mi biu thc gn ny
c th hiu nh mt qu trnh vi tn hiu v bn phi ca php gn l cc tn hiu
nm trong danh sch cc tn hiu tc ng cu qu trnh. V d, trong php gn th
nht, ng tn hiu S s nhn gi tr A xor B sau khi c s kin xut hin trn ng
A, hoc trn ng B hoc trn c hai ng A v B. y chng ta khng t gi
tr tng minh ca thi gian tr. Do m phng tin trnh thc hin qu trnh
theo thi gian, h thng s dng thi gian tr mc nh l delta. Trong php gn th
hai, ng tn hiu Sum nhn gi tr biu thc S xor Cin sau 10ns so vi thi im c
cc s kin trn cc u vo S v Cin ca phn t xor. Cng tng t nh vy, ng
tn hin Cout s nhn gi tr ( A and B) or ( S and Cin) sau 5ns so vi thi im c s
kin trn cc ng tn hiu A,B,S hoc Cin.


Cc hng s c s c th c dng nh cc tham s tr. Trong v d ny, chng
ta thy cc khai bo ca tham s tr ca phn khai bo thc th v vic s dng
chng trong kin trc.
V d.
Entity FULL_ADDER is
Generic ( N: TIME:= 5ns );
Port ( A,B,Cin: in BIT; Sum, Cout: out BIT );
End FULL_ADDER;
Architecture DATAFLOW of FULL_ADDER is
Signal S: BIT;
Begin
S <= A xor B;
Sum <= S xor Cin affer 2*N;
Cout <= (A and B) or ( S and Cin) affer N;
End DATAFLOW;
c. Biu din kin trc bng cu trc
Phong cch m t kin trc thng qua cu trc xc nh cu trc ca thc th s
dng cc khai bo ca cc phn t thnh phn v cc phin bn ca cc phn t thnh
phn. Cc m t cu trc cha danh sch cc phn t hot ng ng thi v lin kt
gia cc phn t . V d, khi ta m t cu trc ca mch cng mt bit
FULL_ADDER. Mch FULL_ADDER c thit k trn c s cc thnh phn l
HALF_ADDER v OR_GATE. Cu trc c thit k ca mch cng mt bit cha
hai mch na tng v mt phn t lgic c bn l OR_Gate. Cc phn t ny lin kt
vi nhau bng cc tn hiu.
architecture ATRUCTURE of FULL_ADDER is
component HALF_ADDER
port ( L1,L2: in BIT ;


Carry,Sum ; out BIT );
end component;
component OR_GATE
port ( L1,L2: in BIT;
O: out BIT );
end component;
signal N1,N2,N3 : BIT;
begin
HA1 : HALF_ADDER port map ( A,B,N1,N2 );
HA2 : HALF_ADDER port map ( N2,Cin,N3,Sum );
OR1 : OR_GATE port map (N1,N3,Cin );
end STRUCTURE;

Khi phc tp ca thit k tng ln, nh thit k thng phn tch h thng
thnh nhng h thng con. Cc h thng con ny lin kt cht ch theo chc nng

HA1

OR1

HA2
N
1
N
2
N
3
C
out
sum
A
B
Hnh 6.8:Cu trc mc kin trc ca mch cng 1 bt cu hai tn hiu
C
in


trong thnh phn ca h thng tng th. Mi h thng con li c th c phn tch
thnh nhng phn h mc thp hn na. Trong ngn ng VHDL, mc cao nht
ca thit k ngi ta s dng m hnh kin trc theo phong cch kin trc ca thc
th.
Mi phin bn ca thnh phn mch c m t bng cc hp en trong biu din
cu trc vi cc lin kt u vo v lin kt u ra c m t r rng. Cc phin bn
thnh phn phi tng thch vi cc thc th. Cc thc th ny s m t cc chc
nng ca thnh phn mch bng cc m hnh kin trc theo biu din cu trc hoc
hnh vi. V d, i vi mch cng mt bit ca hai tn hiu, ta c mch cng s c
xy dng t hai mch na tng v mt phn t OR. Khi theo cc m t kin trc
ca cc thc th bng cc m t cu trc, thc th FULL_ADDER c to bi hai
thc th HALF_ADDER v mt thc th OR_GATE. Trong thc th
HALF_ADDER c th c xy dng t cc phn t XOR v AND.
M t thc th HALF_ADDER theo cu trc t cc phn t AND v XOR.
entity HALF_ADDER is
port ( I0, I1: in BIT; S, C0: out BIT );
end HALF_ADDER;
architecture STRUCTURE of HALF_ADDER is
component XOR_GATE
port ( I0, I1: in BIT; S, C0: out BIT );
end component;
component AND2_GATE
port ( I0, I1: in BIT; S, C0: out BIT );
end component;
begin
U1: XOR_GATE port map ( I0,I1,S);
U2: AND2_GATE port map ( I0,I1,C0);


end STRUCTURE;

Mt thnh phn ca thc th nu trn c th xy dng t cc thc th khc m t
cc chc nng ca chng. V d phn t XOR_GATE c th c m t theo hnh vi
nh sau.
Entity XOR_GATE;
port ( I0, I1: in BIT; S, C0: out BIT );
end XOR_GATE;
architecture BEHAVIOR of XOR_GATE is
begin
O <= I0 xor I1 affer 10 ns;
End BEHAVIOR;
Biu din cu trc ca cc phn cp thit k nh hng ti qu trnh phn tch
thit k. iu ny xut pht t cc c im cu h thng c thit k. mt mc
phn cp bt k, h thng c cu to bi cc lin kt cu nhng thnh phn mc
ang xt. Biu din cu trc ca kin trc cha danh sch cc hp en. mc thp
nht ca qu trnh phn tch, ta phi m t hnh vi ca cc phn t nm trong thit k
mc ny. Qu trnh phn cp c th biu din di dng cy phn cp. Ti mc
thp nht ca phn cp, ta phi m t hnh vi ca cc thc th theo trnh t m m
hnh mch s c m phng.
3. Cc gi thit k
Mc ch chnh ca cc gi l tp hp cc phn t c th dng chung gia hai
hoc nhiu n v thit k. Mt gi bao gm hai thnh phn: phn khai bo gi v
phn thn gi.
- Phn khai bo gi cha tt c cc khai bo ca mi tn. Nhng tn ny s
c cc n v thit k dng khi s dng gi. Thng thng phn khai bo
cha mt s kiu d liu chung, cc hng v m t ca cc chng trnh con.


- Phn thn gi bao gm cc phn thn ca cc chng trnh con m t trong
phn khai bo gi. Phn thn ny l n i vi bn ngoi. Phn thn ca gi
khng bt buc phi c nu khng c chng trnh con c m t trong gi.
V d, ta c khai bo gi nh sau. Gi ny khai bo mt s kiu bin, hng v
chng trnh con.
Package EX_PKG is
Subtype INT8 is INTEGER range 0 to 255
Constant ZERO : INT8 :=0;
Constant MAX : INT8 := 100;
Procedure Increcment ( variable count : inout INT8 N)
End EX_PKG;
Do trong khai bo c th tc Increcment nn ta cn phi c thn ca gi tng
ng vi khai bo gi trn.
Package body EX_PKG is
Procedure Increcment ( variable Data : inout INT8 ) is
Begin
If ( Count >= MAX ) then
Count := ZERO;
Else
Count := Count + 1;
End if
End Increcment;
End EX_PKG;

4. Cc cu hnh
Mt thc th c th c mt vi kin trc. Trong qu trnh thit k, ta c th cn
phi th nghim mt vi bin th ca thit k bng cch s dng cc kin trc khc


nhau. Cu hnh l thnh phn c bn ca n v thit k. Cu hnh cho php gn cc
phin bn ca thc th o nhng kin trc khc nhau. Cu hnh cng c th c s
dng thay th mt cch nhanh chng cc phn t ca thc th trong biu din cu
trc ca thit k.
C php ca m t cu hnh:
Configuration tn_cu_hnh of tn_thc_th is
{ phn_khai_bo_ca_cu_hnh }
For c_t_ca_khi
{ mnh__use }
{cc_phn_t_ca_cu_hnh }
End for;
V t phn_khai_bo_ca_cu_hnh cho php cu hnh s dng cc phn t trong
cc gi v cc th vin.
V t c_t_ca_khi xc nh cu hnh cho kin trc ca thc th
5. Cc th vin thit k
Phn tch VHDL l qu trnh kim tra thit k VHDL cho ng c php v ng
ngha. Sau khi phn tch VHDL, cc n v thit k s c lu d trong cc th vin
s dng sau ny. Th vin thit k c th cha cc phn t th vin sau.
Gi: l nhng m t, khai bo c dng chung
Thc th: l nhng m t thit k c dng chung.
Kin trc: nhng thit k chi tit c dng chung.
Cu hnh: l nhng phin bn ca thc th c dng chung.
Cc n v th vin l cu trc VHDL c th c phn tch ring r theo trnh t
nht nh.
Trong ngn ng VHDL c th vin thit k c bit c tn l WORK . Khi chng
ta bin dch mt chng trnh vit trn ngn ng VHDL nhng khng ch r th vin
ch, chng trnh ny s c bin dch v cha vo th vin WORK. V d lnh


vc My-Design.vhd s kim tra c php chng trnh nm trong tp My-
Design.vhd, dch
Chng trnh ri cha vo th vin WORK. Hnh 6.10 ch ra cc phng thc
s dng cc th vin thit k trong VHDL.
6.3 Cc kiu d liu
Ngn ng VHDL c ba dng i tng: bin, tn hiu v hng. Phn khai bo trong
cc cu trc ngn ng s lit k cc i tng s s dng, cc kiu ca cc i tng
v gi tr ban u m chng s nhn trong qu trnh m phng.
1. Cc i tng d liu
Trong ngn ng VHDL ngi ta phn loi 3 loi i tng: bin, tn hiu v hng.
Cc i tng c c t da vo cc t kha. Nhng t kha ny phi xut hin
phn u ca khai bo i tng.
a. Hng
Hng l i tng c khi to bng nhng gi tr nht nh khi c to nn trong
qu trnh thc hin v sau gi tr ca hng khng thay i. Hng c th c khai
bo trong cc gi, thc th, kin trc, chng trnh con, khi v qu trnh. C php
khai bo hng
Constant tn_hng { ,tn_hng }: kiu [ :=gi_tr ];
V d.
Constant CHAR7 : BIT_VECTOR (4downto 0) :=00111;
Constant MSB : INTEGER :=5;
b. Bin
Bin l i tng d liu dng cha nhng kt qu trung gian. Bin ch c th
c khai bo bn trong cc qu trnh hoc chng trnh con. Bin lun i i vi
kiu, do bin phi c khai bo kiu, xc nh khong gii hn hoc gi tr khi
to ban u. Mt cch mc nh, gi tr khi to ca bin l gi tr thp nht trong cc
gi tr thuc min xc nh ca kiu. Bin c c php khai bo nh sau.
variable tn_bin { , tn_bin } : kiu [: gi_tr_khi_to ];



c. Tn hiu
Tn hiu l i tng d liu dng kt ni gia cc qu trnh hoc ng b cc qu
trnh. Khai bo tn hiu s to tn hiu mi c cc gi tr ca kiu xc nh. Tn hiu
c th c khai bo trong phn khai bo gi, khai bo thc th, khai bo kin trc
v trong khi. Cc tn hiu c c php khai bo nh sau.
signal tn_tn_hiu {, tn_tn_hiu } : kiu [ := gi_tr_khi_to ];
2. Cc kiu d liu
Trong i tng d liu trong ngn ng VHDL u phi c nh ngha bi cc
kiu d liu. Ngn ng VHDL cho php s dng cc kiu c s to nn cc i
tng phc tp hn.
Kiu phi c khai bo trc khi d dng. Khai bo kiu xc nh tn kiu v min
xc nh ca kiu.
Cc kiu d liu chnh trong ngn ng VHDL:
- Kiu lit k.
- Kiu s nguyn.
- Kiu c nh ngha trc ca VHDL.
- Kiu mng.
- Kiu bn ghi.
- Kiu STD_LOGIC.
- SIGNED v UNSIGNED.
- Cc kiu con.
a. Kiu lit k
Kiu lit k c nh ngha bng cch lit k tt c cc gi tr c th c ca kiu.
Cc gi tr ny do ngi s dng xc nh v c th l cc tn hoc nhng k t.
C php ca kiu lit k.
Type tn_kiu is ( gi_tr_lit_k {, gi_tr_lit_k } );



Trong ngn ng VHDL kiu lit k c c im khc vi kiu lit k ca cc ngn
ng lp trnh khc. Mi gi tr trong thnh phn cu bin c th xut hin trong hai
hoc nhiu hn kiu lit k.
b. Kiu s nguyn.
Kiu nguyn l min xc nh ca cc s nguyn. Tt c cc php ton ton hc
thng thng u p dng c cho s nguyn. Cc php ton thc hin trn kiu
nguyn l : +,- ,* ,/. Quy tc c php khai bo kiu nguyn c dng nh sau.
type tin_kiu is range min_s_nguyn;
min_s_nguyn l min con ca tp hp s nguyn.
c. Cc kiu c nh ngha trc trong VHDL
Sau y l mt s kiu chun c m t trong gi standard.
- boolean: kiu lit k c 2 gi tr false hoc true vi quan h false < true. Cc
php tc ng ln i tng kiu boolean l php ton lgic v quan h.
- Bit: kiu lit k vi 2 gi tr 0 v 1. Cc php ton lgic c th thc hin
trn cc i tng kiu Bit v tr li gi tr kiu Bit.
- Character: kiu lit k vi min xc nh l tp hp cc k t ASII. Cc k
t khng hin c biu din bng tn cha 3 k t.
- Integer: kiu s nguyn vi nhng gi tr dng hoc m ( t -
2,147,483,647 n 2,147,483,647 ).
- Natural: l kiu con ca s nguyn v dng ch cc s nguyn khng m
s t nhin.
- Positive: l kiu con ca kiu s nguyn s dng biu din cc s dng.
-Bit_vector: l kiu biu din mng cc Bit.
- String: kiu d liu bao gm mng cc Charater
- Real: m t cc s thc trong gii hn t -1.0E+38 n 1.0E + 38


- Physical type Time: kiu Time c s dng biu din cc gi tr thi
gian dng trong qu trnh m phng.
d. Kiu mng
Tng t nh trong cc ngn ng lp trnh truyn thng, trong ngn ng VHDL,
phn t kiu mng l nhm cc phn t cng kiu v c truy cp ti nh mt i
tng. Phn t kiu mng trong ngn ng VHDL c nhng c im nh sau.
- Cc phn t ca mng c th l mi kiu trong ngn ng VHDL.
- S lng cc ch s ca mng c th nhn mi gi tr dng.
-Mng ch c mt v ch mt ch s dng truy nhp ti phn t.
Min bin thin ca ch s xc nh s phn t ca mng v hng sp xp ch
s dng trongn mng, t ch s cao xung cc ch s thp hoc ngc li.
- Kiu ca ch s c th l kiu nguyn hoc kiu lit k.
Khc vi cc ngn ng lp trnh truyn thng, trong ngn ng VHDL mng c
chia lm hai loi: mng c rng buc v mng khng rng buc.
-Mng c rng buc l mng trong kiu ca ch s c min xc nh c
quy nh mt cch tng minh.
- Mng khng rng buc l kiu mng trong min xc nh ca kiu ch s
v hng sp xp ca cc ch s khng xc nh mc d s lng chiu ca
mng c ch r.
e. Kiu bn ghi
Bn ghi l nhm ca mt hoc nhiu phn t thuc nhng kiu khc nhau v c
truy cp ti nh mt i tng. Bn ghi c nhng c im sau.
- Mi phn t ca bn ghi c truy nhp ti theo tn trng.
- Cc phn t ca bn ghi c th nhn mi kiu ca ngn ng VHDL k c
mng v bn ghi.
f. Cc kiu trong gi Standard Logic


m hnh ha cc tn hiu c th nhn nhiu hn hai gi tr, trong ngn ng VHDL
xc nh gi Standard Logic ( tng ng vi chun IEEE Std 1164 1993 ). Hai kiu
d liu c s trong gi ny l STD_ULOGIC v STD_LOGIC.
STD_ULOGIC xc nh kiu d liu gm chn gi tr. Cc gi tr tn hiu kiu
STD_ULOGIC khng th tham gia vo cc php ton lgic v s hc c bn. Trong
trng hp ny ta phi m rng cc php ton s hc v lgic c bn bng cch cung
cp cc hm quyt nh.

STD_LOGIC l kiu c xc nh. Cc hm quyt nh ca kiu ny c cung cp
bi gi Standard Logic.
Tng t nh BIT v BIT_VECTOR, ngn ng VHDL cung cp 2 kiu
STD_ULOGIC_VECTOR v STD_LOGIC_VECTOR.


g. Kiu signed v unsigned
Kiu c du signed v khng du unsigned c s dng i vi nhng i tng s
c truy cp ti nh cc bit v nh cc s nguyn. Hai kiu ny c nh ngha
trong hai gi NUMERIC_BIT va NUMERIC_STD nh sau.
type signed is array ( natural range<>) of BIT/STD_LOGIC;
type unsigned is array ( natural range<>) of BIT/STD_LOGIC;
s
1
S
2
s


h. Kiu con
Cc kiu con l mt tp hp con ca cc kiu c nh ngha khc. Php khai
bo kiu con c th nm mi v tr cho php khai bo kiu. S khc bit gia kiu
con v kiu l ch kiu con ch l tp con ca mt kiu hoc mt kiu con c
nh ngha trc.
Kiu con thng dng gii hn cc dng d liu trong cc php gn v trn cc
ng d liu.
6.4 Ton t v biu thc
Trong ngn ng VHDL, cc biu thc l cc cng thc. Cc cng thc ny xc nh
cc tc ng tnh ton ln cc i tng d liu. Cc biu thc thc hin cc tnh
ton s hc v lgic s dng cc ton t vi mt s cc ton hng. Cc ton t c
trng cho php ton s c thc hin cn cc ton hng l cc ngung d liu cho
cc php ton.
1. Cc ton t
Cc ton t c phn chia theo cc mc u tin v trt t tnh ton. Trong bng
6.1 a ra cc nhm php ton vi mc u tin tng dn. Cc quy c v trt t
thc hin cc php ton trong biu thc c th hin nh sau:
- Trong biu thc cc php ton c mc u tin ln hn s c thc hin
trc. Cc du ngoc n cng gip xc nh ng trt t tnh ton biu thc.
Cc php ton trong nhm vi cng mt mc u tin s c thc
hin t tri qua phi trong cc biu thc.

Bng 6.1.Cc ton t v mc u tin.
Cc php ton lgic And, or, nand, nor, xor
Cc php ton quan h =, /=, <, >, <=, >=
Cc php ton cng +, -, &
Ton t du +,-


Cc php ton nhn *,/,mod, rem
Cc php ton khc **, abs, not

a. Cc php ton lgic
Trong ngn ng VHDL, cc php ton lgic gm c and, or, nand, nor, xor v
not. Cc php ton ny c tc ng ln cc d liu kiu BIT, Boolean v mng mt
chiu cc BIT. i vi cc php ton hai ngi and, or, nand, nor, xor, cc ton hng
phi cng kiu. Trong trng hp cc ton hng l cc mng mt chiu cc BIT th
cc mng phi c cng di. Cc php ton nh phn xc nh cc hm trn cc bit
ca nhng phn t mng c cng ch s, k qu s l mt mng c cng di v
gii hn cc ch s. Php ton mt ngi not xc nh php o bit i vi ton hng
ca n. Trong trng hp ton hng l mt mng th php ton not tc ng ln tt
c cc phn t ca mng.
b. Cc php ton quan h
Cc php ton quan h gm cc php ton so snh =, /=, <, <=, >,
>=. Cc php ton so snh l cc php ton hai ngi v cc ton hng phi c cng
kiu. Kt qu so snh nhn kiu Boolean. Kt qu tr v gi tr true nu quan h
c nghip ng v nhn gi tr false trong trng hp ngc li.
Cc quan h = v /= xc nh vi mi kiu d liu. Cn cc quan h cn
li <, <=, >, >= ch xc nh vi cc kiu lit k, s nguyn, mng mt
chiu cc lit k hoc s nguyn.
c. Cc php ton cng
Cc php ton cng bao gm +, , &. Cc php ton +, thc hin
trn cc i tng kiu integer. Php ton ni & p dng vi cc i tng l
mng thanh ghi. Php ton ny xy dng mng mi bng cch ghp ni hai mng
nm trong ton hng vi nhau. Mi ton hng ca php ton & c th l mt mng
hoc phn t ca mng. Cc php ton ny cng thc hin vi cc ton hng c kiu
signed v unsigned.


d. Cc php ton nh du
Cc php ton mt ngi +, , abs thc hin vi cc ton hng dng s v
tr li gi tr cng kiu.
e. Cc php ton nhn
Cc php toan nhn **, * , / , mod, rem thc hin trn cc kiu integer.
Php ton ** th hin nng ln ly tha;* php nhn; / php chia; mod ly
mdun; rem ly phn d.
2. Cc ton hng
Trong mt biu thc, cc ton t dng cc ton hng tnh cc gi tr ca chng.
Thng thng trong ngn ng VHDL c nhiu dng ton hng. Cc ton hng cng
c th l chnh cc biu thc.
Cc dng ton hng trong ngn ng VHDL bao gm:
- Cc hng, k hiu nh x, 1001, 345;
- Cc tn, nh danh;
- Cc ch s;
- Cc tn ngn v bit danh;
- Cc tn thuc tnh;
- Cc biu thc nh kiu;
-Cc php gi hm;
- Cc biu thc chuyn i kiu.
a. Cc hng v gi tr k hiu
Cc hng k v gi tr k hiu hoc l gi tr s, gi tr k t, cc gi tr litk k, cc
gi tr xu.
- Cc gi tr s l cc hng gi tr nguyn. Cc gi tr s c biu din ty
thuc theo h c s m gi tr biu din.
Trong h c s mi cc gi tr s c vit nh bnh
thng.


Trong h c s khc t 2 16, ta vit di dng
c_s # gi_tr_hng
- Cc hng k t l cc k t ring l c vit trong hai ngoc n.
- Cc hng lit k l cc hng c xc nh trong nh ngha kiu lit k. Trong
ngn ng VHDL, cc gi tr lit k ca cc kiu lit k khc nhau c th trng
nhau.
- Cc gi tr xu k t l biu din ca mng k t mt chiu cc k t. C hai
dng hng xu: cc xu k t v xu cc bit.
Xu k t l chui cc k t nm gia hai du mc kp.
Xu cc bt c biu din tng t nh xu k t, nhng
phn bit cc dng xu nh phn, octal v hexa bng cc k
t ch h c s.
b. Cc tn v nh danh
Cc nh danh i khi cn gi mt cch n gin l tn. nh danh l cc tn i vi
hng, bin, tn hiu, thc th, ca cc cng, chng trnh con v ca cc khai bo
tham s. Cc t kha trong ngn ng VHDL cng l nh danh. Cc tn phi bt u
t ch ci v ch cha ch ci, ch s v du gch ni _. Du gch ni khng th l
k t sau cng trong mt nh danh. Trong ngn ng VHDL cc tn v nh danh
khng phn bit theo ch hoa v ch thng.
c. Tn c ch s ha
Nhng tn ny xc nh mt phn t ca i tng mng. C php m t ca tn ch
s nh sau:
tn_mng (biu_thc)
trong biu_thc phi tr li gi tr l ch s ca phn t mng trong min xc nh
ca ch s.
d. Tn gn v bit danh
Tn ngn xc nh chui cc phn t ca i tng mng. Hng ca cc ch s phn
t mng l to hoc downto. Tuy nhin chiu ch s ca tn ngn phi tng thch vi


chiu ch s ca kiu mng tng ng. Tn ngn c th s dng cng vi cc bit
danh (alias).
e. Thuc tnh
Thuc tnh l d liu gn lin vi i tng trong ngn ng VHDL. Thuc tnh trong
ngn ng VHDL ca cc bin hoc tn hiu tng ng vi nhng gi tr c th v
c xc nh theo quy tc c php sau:
Tin_t_thuc_tnh
Cc thuc tnh c nh ngha trc trong ngn ng VHDL l left, right, low, high,
range, reverse-range,length.
- Cc thuc tnh left hoc right tr li ch s ca phn t bn tri nht hoc
bn phi nht ca kiu d liu.
- Cc thuc tnh high, low tr li ch s ca phn t cao nht hoc thp nht
ca kiu d liu.
-Cc thuc tnh range v reverse_range xc nh khong cch ca ch s .
- Thuc tnh length a ra s lng cc phn t ca mt BIT_VECTOR.
-Cc thuc tnh even v stable ch c i vi cc tn hiu. Cc thuc tnh ny
ch rng trn ng tn hiu ang xt c xut hin s kin hay gi tr trn
ng tn hiu n nh ti thi im hin ti.
f. Cc nhm
Cc nhm kt hp mt hoc nhiu gi tr vo mt gi tr kt hp ca kiu mng hoc
kiu bn ghi. Nhm c dng gn gi tr cho i tng kiu mng hoc bn ghi
khi to trong cc biu thc gn. Vic nh a ch s cc phn t c c t theo
tn hoc theo v tr .
-c t theo tn: S tng ng ca cc phn t ca nhm v phn t ca i tng
c gn c ch r theo tn ca tng phn t v gin tr ca chng.
- c t theo v tr: Mi phn t nhn gi tr ca chng trong biu thc theo trt t .
Khi gn gi tr cho nhm, ta c th khng cn thit t gi tr cho tt c cc phn t
ca nhm .


g. Cc biu thc nh kiu
Cc biu thc nh kiu l nhng biu thc hoc nhm dng xc nh r nhng
tnh trng mp m. V d nh trong trng hp hai kiu lit k c nhng gi tr lit k ging
nhau. C php ca biu thc nh kiu nh sau:
Tn_kiu( biu_thc )
Biu _thc phi c kiu trng vi tn_kiu.
h. Chuyn i kiu
Php chuyn i kiu cung cp phng tin bin i gi tr ca nhng i tng thuc
nhng kiu c quan h cht ch vi nhau. V d nh kiu real v kiu integer. C php ca
php bin i kiu nh sau:
Tn_kiu( biu_thc )
6.5 Cc cu trc tun t
Trong ngn ng VHDL, kin trc xc nh chc nng ca thc th. Trong kin trc cha
phn khai bo ca cc kiu, cc tn hiu, cc hng, cc thnh phn v cc chng trnh con.
Theo sau phn khai bo l cc cu trc thc hin ng thi. Cc cu trc thc hin ng
thi c th l cc biu thc gn tn hiu song song, cc khi v cc lnh khi to phin bn
ca thnh phn. Cc lnh thc hin ng thi c kt ni vi nhau bng nhng tn hiu.
Mi khi lnh thc hin ng thi trong mt kin trc xc nh mt n v tnh ton bao
gm cc thao tc tnh ton nh: c tn hiu, thc hin cc tnh ton trn cc tn hiu v
gn cc gi tr tnh c cho cc tn hiu ra.
Trong ngn ng VHDL, mt kin trc thc hin ng thi l mt qu trnh (
process ). Qa trnh l mt cu trc quan trng c s dng m t hnh vi hot ng
ca mch. Trong mt kin trc tt c cc qu trnh s c thc hin ng thi khi m
phng.
Mt qu trnh c xy dng t nhng cu trc tun t - hay cn gi l cc lnh
tun t. Trong thi gian m phng, cc lnh tun t trong mt qu trnh s c thc hin
ln lt trong mt chu trnh v hn bt u t lnh th nht n lnh th n v sau vic
thc hin qu trnh li quay tr li lnh u. Vic thc hin mt qu trnh trong qu trnh m
phng trn ngn ng VHDL b dng li khi gp lnh wait v c kch hot li khi c s


thay i trng thi ca t nht mt trong cc tn hiu nm trong danh sch cc tn hiu tc
ng.
Cc lnh tun t trong ngn ng VHDL gm c:
- Cu lnh gn cho bin.
- Cu lnh gn cho tn hiu.
- Cu lnh if;
- Cu lnh case;
- Cu lnh rng null;
- Cc lnh vng lp;
Php gn bin
Trong ngn ng VHDL, php gn bin c tc dng tng t php gn ngn ng lp
trnh truyn thng. Php gn bin thit lp gi tr mi cho bin. C php ca php gn
bin nh sau:
Bin:=biu_thc;
V tri ca biu thc phi l bin c khai bo t trc. V phi ca php gn l biu
thc. php gn c th thc hin c biu thc v tri v bin v phi ca php
gn phi cng kiu.
Khi mt bin c gn gi tr, php gn c thc hin vi thi gian m phng bng
khng. iu c ngha l s thay i gi tr ca bin c xy ra tc thi ngay ti thi
im m phng hin ti.
Cc bin ch c khai bo trong cc qu trnh hoc chng trnh con v c s dng
lu tr cc kt qu trung gian. Mt bin c khai bo bn trong mth qu trnh hoc
chng trnh con s tn ti cc b trong qu trnh hoc chng trnh con v khng
th c truy cp ti t cu trc song song khc.

2. Php gn tn hiu


Trong ngn ng VHDL, tn hiu l mt dng i tng c bit. Php gn tn hiu dng
thay i gi tr ca tn hiu. Cc tn hiu lun c biu din kt hp vi biu din
thi gian. Php gn tn hiu thay i gi tr ca tn hiu tng ng theo thi gian v ph
thuc vo cc m hnh qu trnh tr trong cc phn t mch. Khi tn hiu c gn gi
tr, gi tr mi khng c gn vi tn hiu mt cch tc thi m phi sau mt thi
gian c nh lch trnh trc trong thi im m phng tip theo tng ng vi m
hnh tr. Php gn tn hiu c c php nh sau:
tn_hiu_ch <= [transport ] biu_thc [ after thi_gian ]
Trong mt qu trnh, vic gn gi tr ca biu thc cho tn hiu s c lm tr khi chu
trnh m phng ang thc hin v c kim sot bi ton t wait.
Khi tn hiu c gn gi tr trong qu trnh, php gn s xc nh mt b iu khin tn
hiu. Trong mt qu trnh, mt tn hiu ch c th c mt iu khin, iu c ngha l
bn trong mt qu trnh tn hiu ch c th xut pht t mt ngun. Nu tn hiu c
gn gi tr trong nhiu qu trnh khc nhau, chng ta ni rng tn hiu c nhiu iu
khin.
Nh cp trong chng ba, trong thit k mch, chng ta phn bit hai dng thi
gian tr khi ta iu khin cc thao tc trn tn hiu theo thi gian: thi gian tr qun tnh
v thi gian tr lan truyn.
- Thi gian tr qun tnh c th hin mc nh trong ngn ng VHDL. Gi tr thi
gian tr qun tnh l di gii hn cn thit ca tn hiu tc ng thit k c th
phn ng vi s xut hin tn hiu u vo. Nu thi gian tn ti ca tn hiu u vo
khng vt qu gi tr thi gian tr qun tnh th mch s khng phn ng vi s thay
i ca tn hiu.
- Thi gian tr lan truyn l thi gian tr xut hin khji tn hiu i qua mch.
T kha transport c dng trong trng hp thi gian tr trong php gn l thi
gian tr lan truyn. Nu khng s dng t kha transport trong php gn tn hiu, thi
gian tr s c coi l thi gian tr qun tnh mt cch mc nh.

3. Cu lnh if


Cu lnh if to nn phn nhnh trong khi thc hin chng trnh. Ty theo kt qu ca
biu thc iu kin m c th hoc mt s lnh hoc khng c lnh no s c thc
hin. Cu lnh if c cu trc nh sau:
if < iu_kin> then
{ < cu_lnh_tun_t>}
{elsif <iu_kin> then }
{ < cu_lnh_tun_t>}
[else { < cu_lnh_tun_t>} ]
end if
Trong mi nhnh ca ton t if c th cha mt hoc nhiu cu lnh tun t. u tin
biu thc iu kin c tnh ton, nu kt qu cho gi tr true, cc cu lnh tun t
nm sau t kha then s c thc hin tc thi. Trong trng hp ngc li, biu thc
iu kin sau t kha elsif cho gi tr true, cc cu lnh sau t kha then tip theo s
c thc hin
4. Cu lnh case
Cu lnh case c s dng trong trng hp mt biu thc kim sot nhiu r
nhnh trong chng trnh VHDL. Cc lnh tng ng vi mt trong cc la chn s
c thc hin nu biu thc kim sot c gi tr bng gi tr tng ng ca la chn.
Cu lnh case c c php nh sau:
case <biu_thc> is
when <la_chn> =>
{ < cu_lnh_tun_t>}
{ when <la_chn> =>
{ < cu_lnh_tun_t>}}
end case
5. Cu lnh rng null
Cu lnh rng c c php nh sau:


Null;
Trong ngn ng VHDL, khi chng trnh m phng gp phi cu lnh null, n s b
qua lnh ny v thc hin cu lnh tip theo. Thng thng cu lnh null dng ch
trng hp khng thc hin lnh mt cch tng minh khi c cc iu kin tr li gi tr
true. Do cu lnh null thng c dng trong cc cu lnh case i vi cc la chn
khng cn thao tc.

6. Cc lnh vng lp
Lnh lp loop cha thn vng lp gm dy cc cu lnh s c thc hin khng hoc
nhiu ln. Cu lnh loop c c php nh sau:
[<nhn>:][<s__lp>] loop
{ < lnh_tun_t>}
{next [<nhn>][when<iu_kin>];}
{exit [<nhn>][when<iu_kin>];}
end loop
Vi nhng vng lp khng cha <s__lp>, cc lnh trong dy lnh tun t s c
thc hin cho ti khi c ngt bi cu lnh exit. Trong ngn ng VHDL, cu lnh next
cng c th c dng thay i trnh t thc hin thn ca vng lp.
Vng lp cha <s__lp> dng for l mt dng khc ca vng lp. Vng lp for l
cu lnh tun t nm trong qu trnh process, v cho php thn ca vng lp thc hin
theo s lng xc nh cc ln lp.
S lp while l s lp trong qu trnh lp c thc hin nu biu thc iu
kin lp nhn gi tr true. Vng lp dng khi gi tr ca biu thc iu kin tr thnh
false hoc qu trnh thc hin thn vng lp gp lnh exit. Cng tng t nh vng lp
for, cu lnh next cng c dng thay i trt t lp.
i vi cc vng lp trong cc nhnh cha php gn tn hiu phi c t nht mt cu
lnh wait. Nu khng tha mn iu kin ny, qu trnh m phng c th khc i.
Chng ta hy xt v d on chng trnh sau.


Signal S: integer range 0 to 10;
Process
Variable I: integer range 0 to 10;
Begin
Wait until ( CLKevent and CLK= 0);
I := 0;
While (I < 10) loop
S <=I;
I := I+1;
End loop;
End process;

7. Cu lnh next
Cu lnh next ch dng trong cc vng lp. Lnh ny c tc dng loi b vic thc hin
cc cu lnh nm gia cu lnh next v cui vng lp khi iu kin trong cu lnh c
nghim ng. Lnh next c cu trc c php nh sau:
Next [< nhn_vng_lp >][ when <iu_kin>]
Trong trng hp c cc vng lp lng nhau th vic thc hin lnh next s c xc
nh mt cch tng minh bng < nhn_vng_lp >. Nu khng c nhn vng lp trong
cu lnh, lnh next c tc dng ln vng lp trong cng cha lnh next.

8. Cu lnh exit
Cu lnh exit c th c dng bn trong cc vng lp. Cu lnh ny c tc dng b qua
cc lnh cn li ca vng lp v thc hin ngay lnh tip sau ca vng lp va kt thc.
Lnh exit c cu trc c php nh sau:
Exit [< nhn_vng_lp >][ when <iu_kin>]
9. Cu lnh wait


Lnh wait iu khin b m phng ngng vic thc hin cc qu trnh hoc cc chng
trnh con cho ti khi iu kin bn trong cu lnh c nghim ng.
Ta c th ni rng iu kin trong cu lnh wait ch c th c nghim ng khi xut
hin cc s kin trn ng tn hiu. Nh vy, cc i tng d liu tham gia trong iu
kin phi l cc tn hiu. Cc iu kin tip tc ca qu trnh b dng c th c
biu th di 3 dng sau y trong ngn ng VHDL:
Wait
[ on <tn_tn_hiu >{, <tn_tn_hiu>}]
[ until <biu_thc_lgic>]
[ for <biu_thc_thi_gian>];
- Cu lnh wait on: ch cho chng ta danh sch cc ng tn hiu v b m phng s
ch s kin (s thay i trng thi cc tn hiu).
- Cu lnh wait until: s dng vic thc hin qu trnh cho ti khi biu thc nhn gi tr
true. Cu lnh wait loi ny s to ra mt danh sch ngm nh cc tn hiu tc ng
trong biu thc lgic. Mi khi c bt k mt s kin xut hin trn ng tn hiu trong
danh sch ny, biu thc lgic s c tnh. Trong trng hp lnh wait until khng
cha biu thc lgic, chng ta hiu rng cu lnh s l wait until true.
-Cu lnh wait for: s dng vic m phng qu trnh mt thi gian bng gi tr thi gian
c ch nh bn trong iu kin. Sau khong thi gian c ch nh, b m phng
thc hin lnh tip theo sau lnh wait. Nu biu thc thi gian khng c, chng ta hiu
cu lnh wait c ngha nh sau:
Wait for time hight
iu ny c ngha l chng ta khng ch nh tng minh v thi gian ch.
Trong m phng mch, lnh wait c th c dng thit lp ng h cho ch
ng b. Trong cc m hnh thit k VHDL, lnh wait ngng qu trnh thc hin cho ti
khi xut hin sn dng hoc sn m ca tn hiu.
10. Php gi chng trnh con v lnh return
Trong ngn ng VHDL c 2 dng chng trnh con:


- Th tc: procedure c th tr li nhiu gi tr;
- Hm: function ch tr li 1 gi tr v c th tham gia vo cc biu thc.
Cu lnh return dng kt thc hot ng ca mt chng trnh con v ch c s
dng trong hm hoc th tc. i vi hm, s c mt ca cu lnh return l bt buc
cn trong th tc th khng bt buc. Lnh return c c php nh sau:
Return <biu_thc>
6.6 Cc cu trc song song
Trong ngn ng VHDL, mt cu trc c th cha mt hoc nhiu cu trc song song.
Mi cu trc song song xc nh mt n v tnh ton bao gm cc thao tc c tn hiu,
thc hin cc tnh ton trn gi tr tn hiu v gn cc tn hiu cho cc tn hiu ra. Cu
trc song song xc nh cc thnh phn v cc qu trnh lin kt nhng thnh phn
bng nhng cu trc v hnh vi ca cc thc th. Cc cu trc song song s c thc
hin ng thi trong qu trnh m phng khng ph thuc vo trt t xut hin ca
chng trong kin trc.
Trong ngn ng VHDL c cc cu trc song song sau:
- Cu trc process;
- Cc php gn tn hin song song;
- Php gn tn hiu c iu kin;
- Php gn tn hiu c la chn;
- Khi;
-Php gi chng trnh con song song;
1. Qu trnh process
Qu trnh tnh ton process c to thnh t mt tp hp cc cu lnh tun t. Tt c
cc qu trnh process trong mt thit k c thc hin mt cch song song. Tuy vy,
ti mt thi im xc nh ch c mt cu lnh tun t c thc hin trong mi qu
trnh process. Mt qu trnh process lin kt vi phn cn li ca thit k thng qua cc
thao tc c cc gi tr t cc tn hiu u vo, cc cng c khai bo ngoi qu trnh


hocghi gi tr vo cc tn hiu, cng . Mt qu trnh tnh ton process c m t
theo quy tc c php sau:
[<nhn>:] process[(< danh_sch_cc_tn_hiu_tc_ng>)]
{<phn_khai_bo>}
Begin
{<lnh_tun_t>}
End process [<nhn>];
- Cc khai bo bin, khai bo hng, khai bo kiu, kiu con;
- Thn chng trnh con, khai bo cc bit danh, lut use.
Nu qu trnh cha <danh_sch_cc_tn_hiu_tc_ng> th lc qu trnh ny s
tng t nh qu trnh khng cha danh sch tn hiu tc ng nhng li cha lnh wait
v tr cu lnh cui cng trong qu trnh:
Wait on <danh_sch_cc_tn_hiu_tc_ng>;
Vic thc hin mt qu trnh process bao gm vic thc hin lp li cc cu trc tun t
cha bn trong thn chng trnh. Sau khi cu lnh cui cng c thc hin, vic m
phng qu trnh s c bt u li t cu lnh tun t u tin ca qu trnh. iu ny
lm cho vic m phng hot ng ca qu trnh nh mt vng lp v hn bao gm tt c
cc cu lnh tun t bn trong qu trnh. Vic thc hin m phng qu trnh process c
th b dng li bng cu lnh wait v c th b kch hot li khi xut hin s kin trn
cc ng tn hiu trong danh sch tn hiu tc ng.

2. Cc php gn tn hiu song song
Mt dng khc ca php gn tn hiu trong ngn ng VHDL l php gn tn hiu song
song. Php gn ny c s dng bn ngoi cc process v bn trong cc kin trc.
Dng n gin nht ca php gn tn hiu song song co cu trc c php nh sau:
< tn_hiu_ch><=<biu_thc>[ after <biu_thc_thi_gian>];
Trong , <tn_hiu_ich> l tn hiu nhn gi tr ca <biu_thc>. Cng ging nh
trng hp php gn tn hiu tun t, lut after s c b tng hp mch b qua.


Php gn tn hiu song song tng ng vi mt qu trnh process cha php gn tn
hiu.

3. Php gn tn hiu c iu kin
Php gn tn hiu c iu kin l cu lnh song song thc hin php gn gi tr ca cc
biu thc cho mt tn hiu ch ty theo cc iu kin t ra. Trong cc biu thc ca
lnh gn, ngoi tr biu thc cui cng, nhng biu thc khc c i km vi iu
kin gn. Khi mt iu kin no nhn gi tr bng true, biu thc tng ng vi iu
kin s c gn cho tn hiu ch. Ti mt thi im thi gian, ch c mt biu thc
c s dng cho php gn. Php gn tn hiu c iu kin c m t theo quy tc c
php sau:
<tn_hiu_ch><={ <biu_thc>[after <biu_thc_thi_gian>]
When<iu_kin> else}
<biu_thc>[after <biu_thc_thi_gian>];

4. Php gn tn hiu theo la chn
Php gn tn hiu theo la chn thc hin php gn cho mt tn hiu ch vi biu thc
with. Gi tr ca biu thc la chn nm sau t kha with c s dng ging nh lnh
case. Php gn c thc hin khi c xut hin s kin lm thay i gi tr ca biu
thc la chn. C php ca cu lnh c biu din nh sau:
With <biu_thc_la_chn> select
<tn_hiu_ch><={<biu_thc>[after <biu_thc_thi_gian>]
When <tn_hiu_la_chn>,}
<biu_thc>[after <biu_thc_thi_gian>]
When <gi_tr_la_chn>;

5. Khi


Khi bao gm mt tp hp cc cu lnh song song. Mt kin trc c th c phn tch
thnh mt s cc cu trc lgic. Mi khi biu din mt thnh phn ca m hnh v
thng c s dng t chc mt tp hp cc cu trc song song phn cp. Khi
c biu din theo quy tc c php sau:
< nhn >: block
{< phn_khai_bo>}
Begin
{<cu_lnh_song_song>}
End block [<nhn>];
< phn_khai_bo> xc nh cc i tng tn ti cc b trong khi v c th c cc
dng sau:
- Khai bo hng, kiu, kiu con v tn hiu;
- Thn chng trnh con;
- Khai bo cc bit danh;
- Khai bo cc thnh phn;
-Lut use;
Trnh t ca mi <cu_lnh_song_song> trong khi khng quan trng bi v cc cu lnh
lun c kch hot. Cc <cu_lnh_song_song> lun truyn thng tin thng qua cc tn
hiu. Cc i tng c khai bo trong mt khi block th xc nh trong ton b khi, bao
gm c cc khi con. Nu trong mt khi con c khai bo mt i tng trng tn vi mt
i tng khi bao n, khi khai bo ca i tng khi con s che lp i tng
khi bn ngoi.
6. Gi chng trnh con song song
Php gi chng trnh con song song tng ng vi cc qu trnh process bao gm
cc php gi chng trnh con tun t tng ng. Mi php gi chng trnh con song
song tng ng vi mt qu trnh process khng cha dy danh sch cc tn hiu tc
ng, phn khai bo rng v phn thn cha mt php gi chng trnh con, tip theo l
mt cu lnh wait.


6.7 Cc chng trnh con v cc gi chng trnh
1. Cc chng trnh con
Trong ngn ng VHDL c hai dng chng trnh con l procedure v function. Cc
chng trnh con c th c s dng ti mi v tr trong m t VHDL. Cc gi chng
trnh xc nh tn ca mi i tng c th c chia s gia cc thc th.
- Cc th tc procedure s c g n nh mt cu lnh v c th tr li nhiu gi tr.
Mt th tc procedure c php thay i gi tr cc i tng tng ng vi cc tham
s hnh thc ca procedure. Nh vy, cc tham s ca mt th tc procedure c th c
cc dng in, out v inout.
- Cc hm function s c s dng nh mt biu thc v ch c php tr li duy nht
mt gi tr. Hm function thng c s dng thc hin tnh ton trn cc gi tr
ca tham s v khng c mc ch thay i gi tr ca cc i tng c gn kt vi
tham s. Do cc tham s ca hm phi c dng in v thuc nhm cc tn hiu signal
hoc hng constant. i vi hm function, chng ta phi m t kiu ca gi tr tr li.
Mt m t chng trnh con c phn chia thnh hai phn: phn khai bo chng trnh
con v thn ca chng trnh con. Phn khai bo a ra cc thng tin v giao din ca
chng trnh con v phn thn chng trnh con m t cc chc nng ca chng trnh
con.
Phn khai bo chng trnh con c m t theo quy tc c php sau:
< khai_bo_chng_trnh_con>::=
Procedure <ten_thu_tuc><danh_sach_tham_so>
Funtion < tn_hm> <danh_sach_tham_s>
Return<kiu_gi_tr_li>;
< danh_sach_tham_so> ::= [class]<danh_sach_tn>
[mode] <kiu>[:= <biu_thc>];
Trong :
Nhm class: constant, variable, signal;
Dng mode: in, out , inout.


Nu khng c ch r, tham s s c coi rng c mode l in mt cch mc nh.
Cng tng t nh vy, tham s c dng in s c class l hng constant mt cch mc
nh v tng ng ca dng out v inout l bin variable.
Phn thn ca chng trnh con c m t theo quy tc c php sau:
< khai_bo_chng_trnh_con> is
{ < phn_khai_bo_ca_chng_trnh_con>}
Begin
{< lnh_tun_t >}
End [<tn_chng_trnh_con >];
Khi gi chng trnh con, cc i tng thc t tng ng vi tham s hnh thc lp
variable phi l cc bin; tng ng vi lp constant phi l hng s hoc biu thc v
tng ng vi lp signal phi l tn hiu. Cc hng s v bin c truyn theo gi tr,
cn tn hiu c truyn theo a ch. Do i vi lp i tng tn hiu th mi tc
ng ln tham s truyn vo thn chng trnh con cng chnh l tc ng trc tip ln
tn hiu c truyn vo.
2. Cc hm quyt nh
Chng ta bit rng, mi tn hiu u xut pht t mt ngun. Ni cch khc l mi tn
hiu c mt iu khin. Trong nhiu trng hp, v d nh khi cc ng tn hiu b
chm li, tn hiu i ra khi nt chp s c tng hp t cc tn hiu i vo nt theo
mt lut xc nh. Trong trng hp ny, chng ta ni rng tn hiu i ra khi nt chp
c nhiu iu khin. Ngn ng VHDL cho php chng ta c th xc nh cc tn hiu
xut pht t nhiu ngun nu s dng nhng hm quyt nh. Nhng hm quyt nh
ny dng xc nh gi tr ca ng tn hiu t nhng gi tr nhn c t nhiu
ngun iu khin.
i vi qu trnh m phng, cc hm quyt nh c th l mi hm bao gm c chng
trnh vit trn ngn ng VHDL. Trong nhng mch thc, kt qu ca cc hm quyt
nh l lin kt cc tn hiu v cng cho qua mt phn t lgic c bit c mt u ra.
Trong k thut, ch c mt s gii hn. Trong cc phn cng ch c mt vi kiu thc


hin cc hm quyt nh nh lin kt dng Or, lin kt dng And hoc lin kt dng ba
trng thi
Cac tn hiu c cc hm quyt nh to ra nu khai bo ca tn hiu cha c cc hm
quyt nh hoc khai bo kiu con ca tn hiu cha hm quyt nh. V d:
Signal NODE: WIRE_AND BIT;
Subtype RESOLVED_STD is WIRE-OR STD_ULOGIC;
Trong v d ny, khai bao th nht cho chng ta thy tn hiu NODE l tn hiu c
xc nh vi hm quyt inh l WIRE_AND. Mi khi xut hin s kin trn ng tn
hiu NODE, hm WIRE_AND c gi v tr li gi tr kiu BIT l gi tr ca tn
hiu NODE. Khai bo th hai xc nh kiu con c quyt nh RESOLVED_STD.
Cc tn hiu c khai bo thuc kiu RESOLVED_STD l nhng tn hiu c quyt
nh. Di y chng ta thy cch xc nh v s dng cc tn hiu c quyt nh:
- Xc nh kiu tn hiu ( nu cn thit);
- Xc nh hm quyt nh. Hm ny s nhn cc tn hiu vo v tr li tn hiu thuc
kiu c xc inh.
- Khai bo kiu con ca kiu tn hiu km vi hm quyt nh;
- Khai bo v s dng cc tn hiu c quyt nh
3. Cc gi chng trnh
Cc kiu d liu, hng s v chng trnh con c th c khai bo bn trong cc khai
bo thc th hoc bn trong thn ca cc kin trc. Cc khai bo ny l cc b trong
nhng kin trc tng ng v thc th khc khng th truy cp ti nhng i tng .
Tuy nhin trong nhiu trng hp nhng kin trc khc nhau cng c th phi chia s
nhng i tng chung no . Cc gi chng trnh trong ngn ng VHDL cho php
chng ta thc hin cc khai bo chung cho nhiu thc th khc nhau. Mt gi chng
trnh ca ngn ng VHDL c biu din thnh hai phn: phn khai bo gi v thn ca
gi.
Phn khai bo gi m t cc giao din ca gi v c cu trc c php nh sau:
Package < tn_ca_gi >is


{< cc_khai_bo_thuc_gi>}
End [ < tn_gi >];
Cc khai bo thuc gi c th l cc:
- Khai bo kiu, kiu con, tn hiu, hng, bit danh;
- Khai bo thnh phn, chng trnh con;
- Lut use;
- V c th cha c cc package khc.
Cc khai bo tn hiu trong gi to nn mt s vn trong qu trnh tng hp mch bi
v mt tn hiu khng th phn phi gia hai thc th. Cch gii quyt thng dng vn
ny l tn hiu s c khai bo nh mt tn hiu cc b. Ni cch khc, nu hai thc
th s dng cng mt tn hiu trong gi, mi thc th s nhn c mt phin bn sao
chp ca tn hiu ny.
Thn ca mt gi xc nh cc hnh vi ca gi. Thn ca mt gi lun phi cng tn vi
khai bo gi. Phn thn gi c bt u bi t kha package body. Cc thng tin trong
thn ca gi khng th nhn thy c t cc thit k hoc thc th s dng gi . Nh
vy t cc thit k v cc thc th chng ta ch c th truy cp ti cc i tng trong
gi thng qua cc giao din c xc nh trong phn khai bo gi m khng th can
thip trc tip vo bn trong gi. Ni mt cch khc gi l mt hp en vi cc giao
din c a ra phn khai bo. Thn ca gi c m t theo quy tc c php nh sau:
Package body <ten_ca_goi > is
{ < cc_khai_bo_trong_than_gi>
End [< tn_ca_gi>];
Trong phn khai bo trong thn gi c th cha cc:
- Khai bo kiu, kiu con, hng;
- Thn chng trnh;
- Lut use.


Cc phn t c m t trong phn khai bo gi khng th nhn thy c mt cch t
ng t cc th vin khc. Lut use ng trc mt n v chng trnh s lm cho tt
c cc phn t trong phn khai bo gi c th c truy cp t n v chng trnh .
Hi ng chun ha IEEE xc nh hai th vin cho ngn ng VHDL l STD v IEEE.
Mi th vin cha mt s gi nh:
- STANDARD v TEXTIO i vi th vin STD. Gi STANDARD xc nh cc kiu
d liu quan trng nh integer, boolean, Bit
- STD_LOGIC_1164, NUMERIC_BIT, NUMERIC_STD i vi th vin IEEE. Cc
gi ny cha cc kiu v nhng hm quan trng cho qu trnh tng hp v m phng
bng ngn ng VHDL.
Trong chng ny chng ta kho st nhng c im c bn ca ngn ng VHDL
mt ngn ng m t phn cng in hnh. Ngn ng ny c dng m hnh ha
mch trong cng ngh thit k, ch to mch vi tch hp cao v siu cao. Nhng
thnh phn chnh ca ngn ng nh cc lnh tun t, cc lnh song song, cc chng
trnh con, cc phng php m t thc th v phng php lun biu din mch theo
cu trc, hnh vi hoc theo dng d liu c cp ti. Trong chng tip theo
chng ta s dng ngn ng VHDL xy dng cc m hnh nhng mch lgic c bn.


Chng VII: M hnh ho mch bng ngn ng VHDL
7.1 M hnh ho trn mc cu trc
Cc mch s thng c biu din theo mt cu trc phn cp cc thnh phn.
Mi thnh phn c tp hp cc cng lin kt vi cc thnh phn khc. Mt
thit k bao gm mt tp cc phin bn ca mch c xt trn chi tit mc
khc nhau. Mt phin bn mch trn mt mc chi tit c th ca thit k c
to thnh t cc m t nhng thnh phn trn mc chi tit v nhng phn t
ny c lin kt thng qua cc tn hiu ti cc cng ca chng xt trn mc chi
tit ny. Khi m t mch bng ngn ng VHDL, vic phn tch thit k thng
qua cc khai bo thnh phn mch v cc biu thc m t ca thnh phn.
Khi m t hnh vi ca mch, thnh phn c s ca hnh vi l cc cu lnh m t
qu trnh (process), cn khi m t cu trc, n v c s s l cc cc cu lnh
m t phin ca thnh phn. Nhng cu lnh m t qu trnh v cc cu lnh m
t phin bn thnh phn cn c gi vo trong thn ca m t kin trc. Cc
chc nng m t s c chc nng phn cp cc n v thit k. Mt trong nhng
c tnh quan trng ca VHDL l ngn ng ny cho php m hnh ha thit k
trn nhng mc tru tng v cc chi tit khc nhau. Ni mt cch khc cc
biu din kin trc c th bao gm cc cu lnh m t qu trnh, cc cu lnh
m t thnh phn.
1. Khai bo thnh phn
Mt kin trc c th s dng nhng thc th c m t mt cch c lp.
Nhng thc th ny cha trong th vin thit k v c th c s dng trong
cc khai bo thnh phn v cc cu lnh m t cc phin bn ca thnh phn.
Trong phn m t ca thit k, mi cu lnh khai bo thnh phn tng ng vi
mt thc th. c th m phng hoc tng hp mt thit k no , thc th
v cc m t kin trc ca tt c cc thnh phn mch phi c bin dch trc
trong th vin thit k.
Trong qu trnh m phng hoc tng hp thit k, thc th v m t kin trc
i vi mi thnh phn cn phi c bin dch trong th vin thit k.


Cch m t cu trc thnh phn cng tng t nh cch thc m t thc th.
Trc ht m t cu trc ca thnh phn, chng ta phi xc nh r cc giao
din ca thnh phn, cc giao din ny chnh l cc ng tn hiu vo v ra
khi thnh phn. Trc khi c s dng cc thnh phn phi c khai bo
mt cch tng minh theo quy tc c php sau:
Component<tn_thnh _phn>
[port(<khai_bo_cc_b>)]
End Component;
2. M t cc phin bn ca thnh phn
Cc thnh phn m t trong kin trc c th c khi to bng cc cu lnh to
phin bn thnh phn. Ti cc v tr c to ra, phin bn ca thnh phn c
biu din thng qua cc thuc tnh bn ngoi nh tn, kiu hoc hng tn hiu
ti cc cng vo/ra, nhng cc tn hiu bn trong thnh phn khng c biu
din tng minh, cc cu lnh khi to sinh ra cc phin bn ca thnh phn v
kt ni chng to ln mt danh sch lin kt ca thit k.
Cu lnh to phin bn thnh phn c cu trc c php nh sau:
<nhn_khi_to>:<tn_thnh_phn>
Portmap([<tn_cng_cc_b>=>]<biu_thc>
{[<tn_cng_cc_b>=>]<biu_thc>});
cu truc port map nh x cc cng ca phn t vo cc tn hiu. nh x ny c
th hiu nh vic kt ni cng tng ng ca phn t vo ng tn hiu. Cc
cng c m t tromg khai bo thnh phn l nhng cng cc b. Trong khi ,
cc cng ca cc phin bn thnh phn c gi l cng thc. Trong cc cu lnh
to phin bn thnh phn, cu trc port map t tng ng mi cng thc ca
phin bn vi mt cng cc b ca thnh phn. Mi cng thc phi l i tng
dng tn hiu. Trong ngn ng VHDL a ra hai phng php nh x cc cng
cc b vo cc cng thc: nh x theo v tr v nh x theo tn.




- Khi s dng nh x theo v tr, chng ta a ra danh sch cc tn hiu tun
theo ng trt t m cng c khai bao.
-i vi trng hp nh x theo tn, chng ta s dng cu trc nh x tng
minh t tng ng mi cng vi cc tn hiu thc.
3. Cu trc Generate
Cu lnh khi to Generate l cu lnh song song c nh ngha bn trong cc
kin trc v c dng m t cc phin bn thnh phn. Cu lnh Generate
c cu trc nh sau:
<nhn_khi_to> : <s__khi_to> generate
{<cc_cu_lnh_song_song>}
End generate [<nhn_khi_to >];
Trong ngn ng VHDL, c hai loi s khi to: s khi to for v s
khi to if.
- S for dng m t cc cu trc c tnh quy lut. S ny a ra cc
tham s khi to v cc bc lp.
- Thng thng trong nhiu thit k s xut hin v lin kt gia cc phn t
khng tun theo quy lut lp. i vi nhng trng hp ny, ngn ng VHDL
cung cp kh nng m t mch s dng s if. Khc vi cu lnh if tun t,
cu lnh if khi to khng cha cc nhnh else v elsif.
4. Cc cu hnh
Cc khai bo thnh phn v cc phin bn ca thnh phn ch cha m t bn
ngoi ca mt phn t mch trn mt mc chi tit nht nh. Cc thc th ny
khng th s dng c trong qu trnh m phng bi v chng khng cha
nhng thng tin m t v chc nng ca phn t. Trong ngn ng VHDL, c
ch lin kt ny c th hin trong cc cu hnh ca phn t.




Sau khi tt c cc thc th v kin trc ca tng phn t c bin dch v
cha trong cc th vin, chng ta c th tin hnh dch m hnh ca b cng y
, chng trnh dch s i snh tng nh dng ca cc thnh phn trong m
t thit k vi cc thc th trong th vin ang s dng. Nu ng vi mi thnh
phn trong thit k c th tm thy thc th m phng cho m hnh thit k ca
b cng FullAdder.
Trong trng hp mt thc th c nhiu kin trc th vic chn mc nh kin
trc c dch sau cng c th khng la chn c kin trc cn thit, do
cn phi biu din cu hnh mt cch tng minh.
5. Biu din cu hnh
Mt thc th c th c nhiu kin trc. Mi kin trc c th l m hnh thut
ton, kin trc khc c th l mc thanh ghi truyn t hoc c th l m hnh
cu trc. Trn kha cnh thit k, chng ta cn la chn cc kin trc ca phn
t mt cch thch hp v phi ghi r cc khai bo thc th v cc kin trc s
c la chn. Nh vy, mt cu hnh s cung cp cho chng ta cch la chn
nhng khai bo thc th v kin trc i vi nhng phin bn ca thnh phn
c m t trong thn kin trc ca thit k.
Cu hnh ca mt c t thnh phn c biu din theo quy tc c php sau:
For<danh_sch_phin_bn>:<tn_thnh_phn>use<c_t_gn_kt>
7.2 M hnh ho trn mc thanh ghi truyn t
Mt thit k trn mc thanh ghi truyn t bao gm mt tp hp cc thanh ghi
lien kt vi cc mch t hp. Trong mc ny, chng ti s trnh by mi quan h
gia cc cu trc trn mc thanh ghi trong ngn ng VHDL v mch lgic s c
tng hp.
1.M hnh ha t hp
Mt qu trnh khng cha cu lnh if vi tn hiu iu khin theo sn ln
hoc sn xung hoc khng cha cu lnh wait vi cc s kin ca tn hiu gi l
qu trnh t hp. Mt qu trnh t hp s c tng hp bng cc mch t hp.


m t mch lgic t hp, cc bin v tn hiu trong mt qu trnh process
khng c nhn gi tr gn khi to trc bi v mch t hp khng cha cc
phn t nh. Khi trong m hnh mch c cc bin hoc tn hiu c khi to gi
tr trc, iu ny s tng ng vi vic trong mch phi c nhng phn t lu
tr cc gi tr khi to. Nh vy khi m hnh ha cu trc, chng trnh m phng
s sinh ra cc phn t nh lu tr cc gi tr khi to. Mch tr thnh mch c
nh. Thm vo , trong cc m hnh mch t hp, cc tn hiu v bin cn phi
c gn gi tr trc khi c s dng.
Mi cu lnh tun t tr cc lnh wait, loop v if vi nhng tn hiu iu
khin theo sn u c th dng m t cc mch lgic t hp. Cc php ton s
hc nh +, - , *,.. ; cc php ton quan h v cc php ton lgic u c th c s
dng trong biu thc.
Cng c tng hp c th thc hin chia s ti nguyn nu c cc thao tc loi
tr trong biu din thit k.
2. Cc mch trigo iu khin theo mc (mch lt )
Cc mch lt l cc trigo lm vic vi ch ng b theo mc. Cc trigo lm
vic theo sn v trigo lm vic theo mc thng c s dng trong cc phn t
nh mt bit.
Ni chung, hnh ci ca cc mch trigo lm vic theo mc s c xy dng
trn nhng cu lnh iu kin if khng y . C th hiu cu lnh iu kin if
khng y l cu lnh if ch c mt nhnh then v khng cha nhnh else. Nh
vy, mi tn hiu hoc bin khng c iu khin bi tt c cc kh nng c th c
ca iu kin u c m phng thnh nhng phn t trigo lm vic theo mc.
trnh s xut hin ca cc phn t trigo lm vic theo mc khng mong
mun, chng ta phi gn tn hiu vi tt c cc kh nng c th c ca iu kin
trong cc cu lnh r nhnh.
Chng ta c th m t nhng phn t trigo lm vic theo mc vi hai u tn
hiu thit lp gi tr 0 hoc 1 khng ng b. on chng trnh di y s
biu din phn t trigo lm vic theo mc c gi tr s thit lp v 0 khi tn hiu


u vo khng ng b RST nhn gi tr bng 1. Nh vy trong v d ny, tn
hiu RST l tn hiu kch hot vi mc gi tr tn hiu cao.
V d, nu RST = 1 => thit lp trng thi ca trigo v 0.
Signal S,RST, Din, Dout : BIT;
Process (S,RST, Din )
Begin
If (RST =1) then
Dout <= 0;
Else (S =1 ) then
Dout <= Din;
End iF;
End process;
Nu chng ta mun i tn hiu RST thnh tn hiu kch hot vi mc gi tr
thp, iu kin trong cu lnh if s chuyn t ( RST = 1) thnh ( RST = 0).
3. Xy dng mch ng h hai pha
Cc mch ng h hai pha c th c m t bng cch s dng cc trigo lm
vic theo mc. Mch ng h hai pha c biu din bng hai qu trnh. Trong ,
mt qu trnh m t mch t hp v mch lt tng mt, qu trnh m t mch t hp
v mch tt tng th hai.
V d, thit k ca mch ng h hai pha s c m t bng on chng
trnh trn ngn ng VHDL nh sau:
Entity TwoPhase is
Port( A,B: in BIT ;Ph1, Ph2: in BIT; Z: buffer BIT );
End TwoPhase;
Architecture Implement oF TwoPhase is
Signal D:BIT;
Begin


Process (A,Z,Phi_1)
Begin
If (Phi_1 = 1) then
D <= A or Z;
End iF;
End process;
Process( B,D, Phi_2)
Begin
If (Phi_2 =1) then
Z <= B and (not D);
End iF
End process
End Implement;
4. Cc mch trigo lm vic theo sn (flip flop)
Cc qu trnh cha cc tn hiu if hoc wait iu khin theo sn ln ( hoc
sn xung) l cc qu trnh c nh gi. Cc mch trigo iu khin theo sn
ln hoc sng xung ca tn hiu s c to ra t m t trn ngn ng VHDL
nu php gn tn hiu ( hoc php gn bin ) c thc hin theo sn ln hoc
sn xung ca cc tn hiu iu khin.
Thuc tnh event ca tn hiu c dng biu din s bin thin ca tn
hiu. Khi chng ta cn xc nh s bin thin ca tn hiu, thuc tnh event s cho
ra gi tr lgic ty theo trn ng tn hiu c xut hin s kin hay khng. Thuc
tnh stable cng cho gi tr lgic v c s ngha ngc li vi thuc tnh event.
Trong cc chng trnh trn ngn ng VHDL, cc bin cng c th siinh ra
cc trigo iu khin theo sn tn hiu. Chng ta bit rng, khi mt bin c khai
bo trong mt qu trnh process, gi tr ca bin s khng ri khi qu trnh ( c
ngha l gi tr cu bin c khai bo bn trong mt qu trnh s khng c s


dng bn ngoi qu trnh). Nh vy, thi im m mt bin s sinh ra mt trigo
iu khin theo sn trong qu trnh m phng l thi im khi bin c s dng
trc lc c gn gi tr bn trong qu trnh VHDL s tnh hai phn t lm vic
theo sn khi c m phng.
V d: on chng trnh to ra hai phn t trigo iu khin theo sn trong
qu trnh m phng.
Signal CLK, Din, Dout: BIT;
Process (CLK)
Variable TMP: BIT;
begin
if (CLKevent and CLK =1 ) then
DOut <= TMP;
TMP := Din;
End if;
End process;
5. Thit lp v xa gi tr ng b v khng ng b trong cc mch trigo
iu khin theo sn tn hiu (flip flop)
Gi tr ca cc phn t flip flop c th c lp hoc xa mt cch ng b
da vo s xut hin tn hiu trn cc u vo tng ng ca phn t. Php gn gi
tr ch c thc hin khi xut sn ca tn hiu ng b. Cn trong cc thi im
khng c tn hiu ng b, s thay i gi tr tn hiu trn cc u thit lp hoc
xa khng nh hng ti trng thi ca phn t nh.
Tt c cc php gn bn trong cu lnh if phn ng vi sn (ln hoc xung)
ca tn hiu s c trc dng thit lp trng thi ca phn t nh trong ton b thi
gian hnh thnh sn tn hiu ng h. Phn t flip flop vi cc u thit lp hoc
xa trng thi c th c m hnh ha bng cch xc nh thi im u vo ng
b s c thit lp theo s xut hin sn tn hiu ng h. on chng trnh
di y s tng ng vi mch flip flop c cu trc c m t hnh 7.10.


V d:
Signal CLK, Din, Dout, SRDT: BIT;
Process ( CLK );
If (CLKevent and CLK =1) then
If ( SRST = 1) then
Dout 0;
Else
Dout Din;
End if
End if;
End process;
Trong nhiu trng hp, vic thit lp hoc xa gi tr ca phn t nh khng
ph thuc vo thi gian ng h.
6. S chung m t mch c nh
Nu xt trn quan im cu trc v chc nng, mch c nh lun c
chia thnh hai phn: cc thnh phn t hp v cc mch nh ng b. Tng ng
vi cch phn chia chc nng v cu trc nh vy, m hnh ca mch c nhos bao
gm hai phn: mt phn m t cc cu trc v chc nng t hp; mt phn m t
cc cu trc v chc nng mch nh ng b.
- Trong phn m t cc thnh phn t hp, chng ta biu din nhng thnh
phn mch c hnh vi ph thuc vo s thay i gi tr tn hiu nm trong danh
sch tn hiu tc ng. Tt c cc tn hiu c tham chiu ti trong phn m t
cc thnh phn t hp phi c lit k trong danh sch cc tn hiu tc ng.
-Trong phn m t cc mch nh ng b, chng ta biu din cc thnh phn
mch c hnh vi ph thuc vo s xut hin cc sn ca tn hiu ng b. Cc
thao tc i vi tn hiu trong phn ny cha cc php kim tra s kin trn
ng tn hiu v kim tra sn tn hiu .


V d, on chng trnh sau m t mch to xung c s thit k mc lgic
nh trn hnh 7.12.
Entity Pulser is
Port ( CLK, PB: in BIT; Pulse: out BIT);
End Pulser;
Architechture BHV of Pulser is
Signal Q1, Q2: BIT;
Begin
Process( CLK, Q1, Q2 )
Begin
If ( CLKevent and CLK =1 ) then
Q1 <= PB;
Q2 <= Q1;
End if;
Pulse <= ( not Q1 ) nor Q2;
End process;
End BHV;
Cn phn chc nng nh ng b theo sn ln c biu din bng cu
lnh if kim tra s kin:
If ( CLKevent and CLK = 1) then
Q1 <= PB;
Q2 <= Q1;
End if;
7. Cc thanh ghi
Cc dng thanh ghi khc nhau cng thng c s dng trong cc mch c
nh. Hnh v biu din s ca thanh ghi bn bit lm vic trong ch ng b


bng tn hiu ng h CLK. Thanh ghi c thit lp gi tr ban u bng 1111
khi xut hin tn hiu thit lp khng ng b ASYNC. Khi xut hin sn ln ca
tn hiu ng b CLK, cc bit u vo ca thanh ghi c truyn ti u ra ng
thi. Vi thanh ghi nh th, chng ta c on chng trnh trn ngn ng VHDL
tng ng m t hnh vi ca mch.
V d:
Signal CLK, ASYNC : BIT;
Signal Din, Dout: BIT_VECTOR (3 downto 0);
Process (CLK, ASYNC )
Begin
If (ASYNC =1) then
Dout <= 1111;
Elsif (CLKevent and CLK =1 ) then
Dout <= Din;
End if;
End process;
7.3 M hnh ho cc automat hu hn
Mt thit k mch s c th c chia lm hai thnh phn: b x l d liu
v b iu khin. Mi quan h gia b iu khin v b x l d liu trong
mch c biu din trn hnh 7.14.
B x l d liu thc hin cc thao tc i vi d liu cha trong cc phn
t nh theo cc lnh do b iu khin a ra. B iu khin a ra cc lnh
iu khin thch hp cho b x l d liu ti mi thi im thi gian. Vi
nhng lnh iu khin t b iu khin, b x l d liu c th thc hin chc
nng v thao tc thch hp xc nh c cc tn hiu u ra cn thit. B
iu khin nhn nhng thng tin phn hi t b x l d liu cc thng tin
trng thi x l d liu. Cc thng tin phn hi ny c s dng lm cc bin
quyt nh xc nh dy chuyn trng thi ca mch.


B iu khin l nhng mch tun t c cc trng thi c dng xc
nh cc lnh iu khin cho h thng. Ti mt trng thi hin thi, da vo
nhng thng tin trng thi v thng tin u vo ( thng tin u vo do b x l
d liu cung cp hoc l cc tn hiu thit lp t bn ngoi) B iu khin
chuyn sang trng thi mi v khi to cc lnh iu khin mi v to ra cc gi
tr ra tng ng. B iu khin thng c xy dng t cc mch tun t - cc
thanh ghi trng thi v cc mch t hp. Cc thanh ghi trng thi lu gi cc
trng thi hin thi, cn mch t hp to ra cc mch iu khin v trng thi
mi da trn trng thi hin thi v cc tn hiu u vo. Cc mch tun t c
mt s hu hn cc trng thi gi l otomat hu hn.
My otomat hu hn l mt b su < X,Y,S,s
0
, , >, trong :
1 X Tp cc tn hiu vo ca otomat:
X={x
1
(t),, x
n
(t)}

2 Y- Tp cc tn hiu ra ca otomat:
Y={y
1
(t),, y
n
(t)}

3 S-Tp cc trng thi ca otomat:
S={s
1
(t),, s
n
(t)}

4 s
0
Trng thi ban u ca otomat:
s
0
(t) S
5 Hm (s,x) hm chuyn trng thi ca otomat
6 Hm (s,x) hm u ra ca otomat
Tng ng vi cc phng php tnh ton, hm chuyn trng thi v
hm ra, chng ta c cc loi otomat khc nhau. Hai loi otomat thng
dng l otomat Moore v otomat Mealy. Chng ta s dng ngn ng
VHDL m t 2 m hnh otomat ny.


1. M hnh ha Otomat Moore
Otomat Moore l mt otomat hu hn c hm chuyn trng thi v hm
ra c dng nh sau:
s(t) = (s(t-1),x(t))
y(t) = (s(t)) t= 1,2,
Trong otomat moore, tn hiu u ra thi im hin thi ch ph
thuc vo trng thi hin thi ca otomat; cn trng thi thi im
hin thi s c tnh thng qua tn hiu u vo ti thi im hin thi
v trng thi trc ca otomat
Theo s khi trn hnh 7.15, otomat moore c th biu din bao gm mt
mch t hp xc nh trng thi mi ca otomat thng qua tn hiu vo v trng
thi trc ; mt h mch nh lu gi trng thi. i vi otomat moore, tn hiu
u ra ch ph thuc vo trng thi hin thi, do , chng ta cn mt mch t hp
na xc nh tn hiu ra. Mch t hp xc nh tn hiu ra s c ni trc tip vi
h mch nh trng thi bi v tn hiu ra ch ph thuc vo trng thi ca otomat
thi im hin thi. Cc phn t nh ca otomat moore thng c iu khin bng
tn hiu ng h, do cc tn hiu ra cng c ng b ha theo ng h. Nh vy
otomat moore l mt otomat vi u ra ng b. V l chng ta khng cn quan
tm ti nhng kh khn c th xut hin do cc qu trnh qu hoc cnh tranh
gia cc phn t trong mch ca otomat gy ra. Cc tn hiu ra c tnh qua mch t
hp nh c tn hiu t cc h nh ca trng thi.
Chng ta c th biu din otomat moore trn ngn ng VHDL tng t nh
khi biu din cc mch c nh trn mc thanh ghi. Qu trnh biu din otomat hu
hn s c chia thnh 2 phn h: phn h t hp v phn h mch tun t. Tn hiu
ha trng thi khng ng b khi to gi tr cho cc thanh ghi v a otomat v
trng thi ban u. Cng vi s xut hin sn tn hiu ng b CLK, gi tr ca
trng thi mi c gn cho trng thi hin thi. i vi otomat moore, tn hiu u
ra ch ph thuc vo trng thi hin thi nn mch t hp xc nh u ra khng kt
ni vi cc tn hiu u vo.


2. M hnh ha otomat Mealy
Otomat mealy c cc hm chuyn trng thi v hm ra c biu din theo h
thc sau:
S(t) = (s(t-1),x(t))
y(t) = (s(t)) t= 1,2,
i vi otomat mealy, cc tn hiu u ra ph thuc vo trng thi v tn hiu
u vo thi im hin thi. ngn chn s thay i gi tr u ra trong thi gian
hin ti ca xung ng b, chng ta phi ng b ha hot ng ca otomat mealy
khng ng b. t c iu ny, tn hiu i vo h mch nh trng thi phi
c ng b bng xung ng h v khi tn hiu u ra phi c xc nh ch
trong thi gian l sn ca xung ng h.
Otomat mealy cng c m t trong ngn ng VHDL bng 2 phn h: phn
h mch t hp xc nh hm ra vi hm chuyn trng thi v phn h mch nh
ng b.
Otomat mealy c th c xy dng theo 2 dng: dng mch khng ng b
u ra v dng mch ng b u ra
Xt v d xy dng mch iu khin thc hin cng hai s du phy tnh.
Otomat mealy tng ng c gin chuyn trng thi. Otomat mealy nhn c cc
thng s sau:
Cc tn hiu vo l: X= {x
1
,x
2
,x
3
};
Cc tn hiu ra l: Y= {y
1
,y
2
,y
3
,y
4
};
Cc trng thi l: S= {S
0,
S
1
,S
2
,S
3
};
Nh vy chng ta thy rng, vi cng mt thut ton thit k theo m hnh
mealy s tit kim trng thi h so vi thit k theo m hnh moore.on chng
trnh di y biu din otomat mealy theo thit k khng ng b ca thut ton
cng hai s c du phy tnh nu mc trc:
Entity AsyncMealy is
Port ( CLK,RST: in BIT;


X: in BIT- VECTOR ( 3 downto 1);
Y: out BIT VECTOR ( 4 downto 1);
End AsyncMealy;
Architecture Implement of AsyncMealy is
Begin
Process (CLK,RST,X)
Type StateType is (S0,S1,S2,S3);
Variable State, NextState: StateType;
Begin
If(RST =1) then
State = S0;
Elsif (CLKevent and CLK =1) then
State = NextState;
End if;
Case State is
When S0 =>
If (X(1) =1) then
Y(1) = 1;
NextState := S1;
Elsif (X(2) = 1)then
Y(3) = 1;
NextState :=S2;
Else Y(2) = 1;
NextState := S2;
End if;
When S1 =>


if (X(2) = 1) then
Y(3) =1;
NextState :=S2;
Else Y(2) = 1;
NextState :=S2;
End if;



Ta thy rng trong otomat mealy khng ng b s xut hin ra khng ng b vi
s xut hin ca tn hiu u vo, iu ny c th dn ti nhng kt qu thc hin
php tnh sai. khc phc nhc im ny ca oto mat mealy khng ng b,
chng ta s thm vo trong mch mt h nh ng b. H nh ny nm gia mch
t hp tnh ton hm ra vi u ra ca otomat. Thng thng cc phn t ca mch


Mch t hp
Thanh ghi trng thi
clock
input
Output
Hnh 7.19:S nguyn l ca tmat mealy
Hot ng theo c ch khng ng b


nh ng b ny l cc phn t flip-flop. Cc phn t flip-flop ny c ng b
theo 2 sn ging nh thanh ghi trng thi. Khi xut hin xung ng h, h mch
nh u ra nhn gi tr ra do mch t hp xc nh hm ra tnh ton c. Trong
ton b khong thi gian sau khi xung ng h thit lp sn, h mch nh khng
thay i trng thi. i vi VD trn thit k vi mch ng b u ra s c biu
din bng ngn ng VHDL nh sau y:


Entity AsyncMealy is
Port ( CLK,RST: in BIT;
X: in BIT- VECTOR ( 3 downto 1);
Y: out BIT VECTOR ( 4 downto 1);
End AsyncMealy;
Architecture Implement of AsyncMealy is
Begin
Process (CLK,RST,X)
Type StateType is (S0,S1,S2,S3,S);
Variable State: StateType;
Begin
If(RST =1) then
State = S0;
Elsif (CLKevent and CLK =1) then
State = NextState;
End if;
Case State is


When S0 =>
If (X(1) =1) then
Y(1) = 1;
State := S1;
Elsif (X(2) = 1 )then
Y(3) = 1;
State :=S2;
Else Y(2) = 1;
State := S2;
End if;

..







Kt lun: Nh vy, trong chng ny chng ta a ra nhng phng php m hnh ha
cu trc v chc nng ca nhng mch logic c bn- cc mch t hp v cc mch tun t
s dng nhng cu trc c bn trong ngn ng VHDL.


Mch t hp
clock
input
Output
Hnh :S nguyn l ca tmat mealy
Hot ng theo ch ng b u ra
clock


Chng VIII: Cc phng php kim tra li mch logic
8.1 Cc m hnh li logic
Bi ton pht hin li trong cc mch lgic l bi ton xc nh s lgic
c thit k thc hin c cc chc nng ra. gii quyt bi ton ny
chng ta cn phi xy dng phng php pht hin li v cui cng l xy dng m
hnh li. Ta thy rng theo quan im phn loi mch da vo hot ng ca
chng, cc mch lgic c chia thnh cc mch t hp v cc mch tun t.
Nh thy trong cc mc trc, trn quan im v hot ng, cc mch t
hp c th hin cc trng thi ca cc u ra mi thi im thi gian c xc
nh hon ton bng cc trng thi ca u vo ti cng mt thi im.
Nu xt trn quan im cu trc, cc mch t hp hon ton khng cha vng
tn hiu phn hi. Nu xt trn kha cnh pht hin li, cc mch t hp l nhng i
tng nghin cu kh n gin.
Nu xt trn quan im hnh vi, trong hot ng ca cc mch tun t xut
hin cc trng thi bn trong; cn xt trn quan im cu trc cc mch ny cha cc
vng phn hi. iu lm cho vic pht hin li trong cc mch tun t l v cng
phc tp.
Vi mch cn kim tra l mch lgic nn ta gi thit rng trong khi mch c li,
mch vn thc hin cc chc nng nh mt mch lgic. Cc li tha mn iu kin
ny gi l cc li lgic.
Cc li lgic biu hin nh hng ca cc li vt l ln hnh vi ca cc h
thng c m hnh ha. V trong qu trnh m hnh ha, cc phn t mch chng ta
tch bit cc chc nng lgic v hnh vi thi gian; nn ta phn chia thnh cc nhm
li sau:
- Nhm cc li nh hng n cc chc nng lgic ca phn t;
- Nhm cc li nh hng n tr ca tn hiu i qua phn t;
Khi ta m t cc li vt l nh li lgic ta c cc li im nh sau:
- Th nht l, bi ton lgic li tr thnh bi ton lgic hn l bi ton vt
l.


- Th hai l, mt s li lgic tr ln khng ph thuc vo cng ngh theo
ngha: cng mt m hnh li c th s dng trong nhiu cng ngh khc
nhau.
- Th ba l, cc b gi tr th nghim pht hin li lgic c th c s
dng i vi cc li vt l c hnh vi trong mch cha hon ton c
hiu r hoc qu phc tp c th phn tch.
Mt m hnh li c th l m hnh n hoc m hnh tng minh.
- M hnh li tng minh xc nh mt khng gian li, trong tng li
c xc nh c lp.
- M hnh li n xy dng khng gian li bng cch xc nh c la chn
cc li ty theo mc quan tm, ch yu thng qua cc tnh cht ca
chng.
Nu cho trc li lgic v m hnh mch, v nguyn l chng ta s xc nh
c chc nng lgic ca mch i vi s tn ti ca li ny trong mch. Ty theo
m hnh mch cc li lgic c th c chia thnh cc loi sau:
- Cc li c xc nh gn lin vi m hnh cu trc c gi l cc li cu
trc. nh hng ca cc li cu trc l lm thay i s lin kt gia cc
thnh phn mch.
- Cc li c xc nh gn lin vi m hnh chc nng ca mch c gi
l cc li chc nng.
Mc d cc li ngu nhin hoc li t bin c mt thng xuyn trong mch,
vic m hnh ha nhng li yu cu cc d liu thng k v s xut hin sc xut
ca chng. Thng thng chng ta khng c y nhng thng tin v mt thng
k, do i vi nhng t bit hoc xut hin khng thng xuyn, tt nht l s
dng cc phng php kim nghim trc tuyn. Trong gio trnh ny chng ta nghin
cu n cc li thng trc.
Vic lm n gin ha bi ton pht hin li bng gi thit v li n l
c bin minh bi chin lc kim tra thng xuyn. Chin lc kim tra thng
xuyn c th c pht biu nh sau: Chng ta cn kim tra h thng mt cch


thng xuyn sao cho sc xut xut hin nhiu hn mt li gia hai ln kim tra lin
tip l nh. Nhng trng hp xut hin nhiu hn mt li c th l:
- Cc li vt l c th xut hin trong mch gia hai ln kim tra l trong
nhng li vt l , mt s li c th tng ng vi nhiu li lgic. iu
ny c kh nng xy ra ln i vi nhng mch c tch hp cao trong
nhiu li vt l c th nh hng ti b mt tinh th trn c mt s
cc thnh phn mch.
- Trong nhng mch mi c sn xut, th trong nhng ln th nghim u
nhng li kp c th xut hin.
- Trong trng hp nhng php th khng pht hin c nhng li n l
bt k lc no, mch c th cha nhng li cha th pht hin. Nhng
li n ny, khi xut hin cc li n l th hai gia hai ln kim tra, s to
ra nhiu li kp trong mch.
Cc li c trng do cc ng kt ni to ln thng l: ngn mch v h
mch.
- Cc li ngn mch l nhng li xut hin cc ng truyn khng c
php lin kt b chp.
- Cc li h mch l kt qu ca s t cc kt ni. Trong nhiu cng ngh,
s h mch trn nhng ng tn hiu mt chiu vi mt nhnh phn k s
lm cho ng tn hiu vo tr thnh b ngt v nhn mt gi tr lgic
c nh.





8.2 Bi ton pht hin li
1. Pht hin li trong cc mch t hp.
Cho Z(x) l hm logic ca mch t hp N vi x l vector gi tr u vo bt k v Z(x)
biu din nh x thc hin bi mach N. Vi mt vec t gi tr u vo c th t = (x
1
, x
2
,
,x
n
) ta s c Z(t) l p ng ca mch N i vi vecto t. i vi mch c nhiu u ra
Z(t) cng l vecto
Nu trong mch xut hin li f, mch N s chuyn thnh mch N
f
. ta gi thit mch N
f

cng l mch t hp vi hm chc nng Z
f
(x). Mch c kim nghim bng cch t dy
T ca cc vecto gi tr th nghim t
1
, t
2
, , t
m
ln cc u vo ca mch v so snh nhng
gi tr thu c trn u ra theo l thuyt ca mch N tng ng vi nhng vecto u vo
.
Ta c nh ngha sau:
Vecto gi tr kim nghim t c gi l pht hin li f nu: Z
f
(t)<>Z(t). Khi p dng
nh ngha ny cn ch :
- Cc vecto gi tr kim nghim trong dy T c th c s dng khng ph thuc vo
trnh t p dng, i vi mch t hp N, dy T c gi l tp hp cc vecto gi tr kim
nghim .
- nh ngha ny khng p dng c nu mch cha li N
f
tr thnh mch tun t.
Cc ng tn
hieu bi nghn
H mch
H mch
R nhnh
Cc ng tn hiu
b nghn
a)
b)
Hnh :Li h mch
a)loic h mch n b)li h mch kp



- Trong nh ngha ny chng ta gi thit rng vic kim tra li bng cch t cc gi
tr th nghim v thu nhn cc kt qu thng qua cc chn ca phn t v so snh hon ton
ca cc kt qu nhn c.
2.Pht hin li trong mch tun t
Kim tra mch tun t phc tp hn so vi mch t hp. c th pht hin c li,
chng ta cn phi s dng chui cc vecto gi tr kim nghim v p ng ca mch tun t
s l hm i vi cc trng thi ban u ca mch. C th minh ha nh sau:
Gi thit T l chui cc vecto th nghim v R(q, T) l p ng ca mch tun t N
i vi chui T bt u t trng thi q. Gi thit rng khi trong mch N xut hin li f, mch
N tr thnh mch N
f
v R
f
(q
f
, T) l p ng ca mch cha li N
f
i vi chui T bt u t
trng thi q
f
.
8.3 Cc phng php thut ton tng hp cc gi tr th nghim
1. Phng php da trn s kch hot ng truyn
Cc phng php to dy gi tr th nghim c chia lm hai nhm:
- Cc phng php tm cc vecto gi tr u vo c th pht hin mt li cho trc.
- Cc phng php tm cc li c th c pht hin s dng mt vecto gi tr kim
nghim cho trc. Cc phng php thuc nhm ny c gi l cc phng php m
hnh ha li.
Phng php m hnh ha li khng th gi l phng php thut ton v nu qu trnh
m hnh ha khng c thc hin vi mi kh nng c th c ca cc vecto gi tr
u vo, khng th m bo c vic tm ra cc vecto gi tr kim nghim cho tt c
cc li c th c pht hin.
Cc phng php thut ton to cc vecto gi tr th nghim pht hin li c s
dng hin nay u da trn khi nim kch hot ng truyn.
Kch hot ng truyn l phng php xc nh cc vecto gi tr th nghim da trn
vic tm ng m theo s khc bit gia cc gi tr tn hiu khi mch cha li v
khi mch khng cha li c truyn ra bn ngoi. Ni cch khc l chng phi xc
nh c cc ng dn mn cm vi li.
8.4 Phng php m hnh ho li
1. Bi ton m hnh ha li:


Vic to cc vecto th nghim tm li bng cc phng php thut ton cho php
ta thc hin i vi mi li c th pht hin c. Nh vy phng php thut ton l
phwong php to vecto gi tr th nghim tm li y . Khi phc tp ca mch tng,
thi gian to b gi tr pht hin li s tng nhanh. Theo l thuyt thi gian to b gi tr
th nghim s tng theo lut hm m i vi s lng phn t logic tham gia vo mch. i
vi nhng mch trong thc t, thi gian to b gi tr th nghim s t l bc hai bc ba so
vi s tng ln ca s lng cc phn t logic c bn trong mch.
Phng php m hnh ha li l nh sau: ta thc hin m hnh ha logic mch cha li
tng ng vi mt vecto gi tr u vo no . Nu nhn c cc gi tr u ra ca mch
trong trng hp xut hin li v trong trng hp khng b li khc nhau, nh vy vecto
gi tr u vo c coi l vecto gi tr th nghim pht hin li ang xt. Phng php xc
nh cc li l phng php xc nh cc li c th c pht hin s dng mt vecto gi tr
u vo cho trc.
Phng php m hnh ha li v c bn da trn qu trnh qu trnh m hnh ha
logic mch trong hai trng hp: cha li v khng cha li.
C 3 phng php m hnh ha li: Phng php m hnh ha li song song; phng php
m hnh ha li suy din; phng php m hnh ha li cnh trnh.
1. Phng php m hnh ha li song song:
Khi thc hin m hnh ha li, gi tr trn cc ng tn hiu c m t bng mt t
my. Do mt t my c cha n hang ch s nh phn, th chng ta c th thc hin
c qu trnh m hnh ha i vi n vecto gi tr u vo mt cch song song.
V d:











Vi mt t my gm 16 bit, ta c thc hin qu trnh m hnh ha song song i vi
tt c cc vecto gi tr u vo. Trong trng hp ny, cc li c th c biu din
bng cch thit lp c nh cc gi tr 0 , 1 trn cc ng tn hiu b li, khng ph
thuc vo gi tr u vo. i vi mch trn, chng ta thc hin qu trnh m hnh ha
li vi cc vecto gi tr u vo c biu din trn cc t my 8-bit; cc gi tr trn
cc ng tn hiu v trn u ra c biu din nh sau:
a:01010101 e:11110000 11110000 l:11110011 11111111
b:00110011 f:11110000 11110000 m:01010001 01010101
c:00001111 g:11110000 11110000 n:00001100 00000000
d:00000001 h:11110011 11111111 p:01011101 01010101
I:11110011 11111111 khng li b li
J:00001110 00001110
K:00001100 00000000
Khi m hnh ha theo phng php trn, chng ta thy cc gi tr u vo tham gia
vo qu trnh m hnh ha mt cch ng thi trn tt c cc bit ca t my do
phng php ny gi l m hnh ha li vi u vo song song.
Vi mch trn, thc hin qu trnh m hnh ha mt cch ng thi vi cc li:
g/0, g/1, h/0, j/0, j/1, k/0, k/1, m/1;
tng ng vi b gi tr u vo: (a, b, c, d) = (1, 0, 1, 0).
a:11111111 e:00000000 i:01000000 m:01000001
b:00000000 f:00000000 j:11101111 n:10101011
c:11111111 g:01000000 k:10111011 p:11101011
d:00000000 h:01000000 l:01000000
M hnh ha li song song
Ta thy b gi tr u vo nh nhau (cng bng 1010) i vi tt c cc li nu
trn. Cc gi tr c sp xp trong t my tng ng vi cc li theo trnh t nu trn.
Sau khi thc hin qu trnh m hnh ha logic vi tt c cc li cho, chng ta nhn
c t my biu din cc gi tr u ra p = 1101011. Trong trng hp nu xut
hin cc li hng s j/0 hoc k/0 gi tr tn hiu u ra p khc vi gi tr u ra ca
mch trong trng hp khng c li ( trong trng hp khng c li, u ra p nhn gi


tr bng 1 tng ng vi vecto gi tr u vo 1010, cn trong trng hp xut
hin li j/0 hoc k/0, u ra p nhn gi tr bng 0). T suy ra vecto gi tr u vo
(1, 0, 1, 0) l vecto gi tr kim nghim pht hin cc li hng s j/0, k/0.
2. M hnh ha li suy din:
Theo phng php m hnh ha li song song, ta a ra vecto cc gi tr u vo, cc
li v sau kim tra kh nng pht hin cc li a ra bng cc vecto gi tr u vo
ang xt. Trong trng hp thc hin kim tra thnh cng, vecto gi tr u vo ang
xt c coi l vecto gi tr kim tra pht hin li cho; nu thc hin m hnh ha
li khng thnh cng, chng ta phi thc hin qu trnh m hnh ho li cho b gi tr
u vo v li khc. Nh vy, trong phng php m hnh ha li ny, mi quan h
logic gia cc li v cc vecto gi tr u vo khng c thit lp v do hiu qu
ca qu trnh to cc b gi tr kim nghim pht hin li khng cao.
Phng php m hnh ha li suy din l phng php s dng cc php ton suy
din tp hp thc hin qu trnh m hnh ha.
V d: Xt phn t AND c 3 li vo.

0 a
1 b d
1 c
Nu cc u vo nhn gi tr a = 0, b = 1, c = 1, u ra s nhn gi tr d = 0. Do
cc li hng s do vecto gi tr u vo (a, b, c) = (0, 1, 1) pht hin c s l: a/1,
d/1 . Nu cc u vo a = b = c = 1 ta c d = 1. Suy ra tp hp cc li hng s c
th pht hin c bng vecto gi tr u vo (a, b, c) = (1, 1, 1) s l {a
0
, b
0
, c
0
, d
0
}.
Chng ta c th nhn c tp hp ny theo nhng lut sau:
Lut suy din C: cc php tp hp i vi phn t A v cc gi tr u vo ca phn
t :
- ng tn hiu vo a ca phn t l ng vo t bn ngoi. Nu gi tr tn hiu
ny bng 1, ta c L
a
= {a
0
}; nu gi tr ng tn hiu bng 0 th L
a
= {a
1
};
- Hm ra ca phn t A c biu din di dng tng hoc tch. Nu gi tr ng
ca ng tn hiu a bng 0, th k hiu a trong biu thc s thay bng L
a
, k hiu a s


c thay bng
a
L . Nu gi tr ng ca ng tn hiu a bng 1, th k hiu a trong biu
thc s thay bng
a
L , k hiu a s c thay bng
a
L .
- Tch logic v tng logic trong biu thc c thay bng cc php ton tp hp giao
v hp. Nu gi tr ng ca u ra bng 0 th biu thc ny c thay bng L, nu l 1-
L
- Trong trng hp gi tr ng ca ng tn hiu ra f bng 0 th ta hp tp hp
{f
1
} vo L; nu gi tr u ra bng 1, ta s hp tp hp {f
0
} vo L. Kt qu l nhn c
tp hp L
f
.
4. M hnh ha li cnh tranh:
Trong phng php m hnh ha suy din trnh by trn, danh sch cc li c
th pht hin bng mt vecto gi tr u vo cho trc c tm thy bng cch lan truyn
tun t li theo cc mc phn hng.
8.5 Mt s phng php lm n gin ho qu trnh kim tra pht hin li
Vi s pht trin ca cng ngh VLSI, kch thc v phc tp ca cc mch s tng
nhanh. Khi s lng cc phn t mch tng, thi gian cn thit to cc b gi tr th
nghim pht hin li tng. i vi cc mch phc tp nh cc b vi x l, bi ton kim tra
li tr nn ht sc phc tp. gii quyt vn ny, chng ta khng th ch gii hn
vic tm ra nhng phng php kim tra c hiu qu m cn phi tm cch thit k nhng
mch cho php lm dn gin ha bi ton pht hin li ngay t u.
lm n gin ha qu trnh kim tra v pht hin li, chng ta cn phi gii quyt
2 bi ton:
- Bi ton th nht l gim thi gian to cc vecto gi tr th nghim. Bi ton ny
c gii quyt bng cch xy dng nhng thut ton to vecto gi tr th nghim
hiu qu hn.
- Bi ton th 2 l gim s lng cc php kim tra v nhm mc ch l lm gim
thi gian kim tra mch.
Bn cnh , khi thit k nhng mch d kim tra theo cc mc ch nu trn li ny
sinh ra cc vn mi:
- Tng s lng thit b lm n gin ha qu trnh kim tra mch.
- Gim tc lm vic do h qu ca vic lm n gin ha qu trnh kim tra.


Nh vy thit k mch d kim tra c th coi l thit k mch logic vi kh nng
them mt s lng ti thiu thit b b sung vo mch m khng lm thay i chc
nng v cc tham s ca mch ban u kt hp vi kh nng thc hin kim tra mch
bng mt s lng nh cc vecto gi tr kim nghim nhn c t nhng phng
php n gin.
1. Cc gii hn v cu trc ca s :
Xt phng php thit k nhng mch d kim tra bng vic da trn xy dng
nhng mch logic c mt dng nht nh. Nhng mch thng c cu trc
dng ma trn hai chiu. V cu trc ca mch c tnh quy lut cao cho nn chng
ta c th tng hp cc vecto gi tr kim nghim cho nhng mch loi ny mt
cch tng i d dng.
Mi hm logic c th biu din di dng t hp cc php ton XOR ca cc tch
logic. Biu din hm di dng nh vy cho php thc hin di dng mach 2
tng ca cc php ton logic AND v XOR.
V d:
3 2 1 3 1 3 2 2 1 3 2 1
) , , ( x x x x x x x x x x x x f =

S c biu din mch hai tn nh sau:





Cc vecto gi tr th nghim cho nhng mch loi ny c cu trc kh n gin.
Cu trc ny bao gm gi tr 0 i vi mt bin v gi tr 1 i vi cc bin
cn li.
Nu s lng cc tch ca n bin logic bng p, chng ta c th thy rng s lng
cc vecto gi tr th nghim s bng (2n+4) v s lng cc i cc tng mch s
bng p. Nu so snh vi cc phng php xy dng cc vecto gi tr th nghim
thng thng , s lng cc vc t gi tr th nghim khng ln.
2. Bin th ca s mch v cc phn t them mi:
n gin ha bi ton pht hin li trong cc mch logic, ta cn tng tnh d
quan st v kh nng kim sot mch. Do ta a vo trong mch nhng phn


t b sung v thc hin vic bin i s ca mch sao cho mch khng thay
i v chc nng. Bn canh , ta cn phi xc nh c mc ch chnh khi
nghin cu xy dng mch kim tra.
Nu xut pht im l s lng cc tiu cc b gi tr th nghim, nh vy chng
ta c th bin i mch in sao cho c th pht hin c li ch cn t nht l ba
b gi tr th nghim. S lng ny c a ra da vo nhn xt nh sau: c
th pht hin c li ca cc phn t AND v OR c hai u vo, ta cn t nht 3
b gi tr kim nghim. V vy c th ni 3 b gi tr th nghim l cn di theo
l thuyt.
pht hin li cho mch AND c 2 u vo, chng ta cn phi kim tra phn t
vi 3 b gi tr u vo: (0, 1), (1, 0), (1, 1). Do phn t AND c th c
kim tra bi bt k 2 trong s cc dy gi tr u vo sau:
S
A
= {011, 101, 110}
i vi phn t OR, vic kim tra c th c m bo bi bt k 2 trong s cc
dy gi tr u vo sau:
S
0
= {001, 010, 100}
c th pht hin c li dng cc dy gi tr u vo nu trn th mch cn
phi c bin i nh sau:
1. Mch phi c chuyn i thnh mch ch cha cc phn t AND, OR,
NOT.
2. Phn t AND (hoc OR) c s lng u vo l 3 hoc hn s c trin khai
thnh t hp lim kt tun t ca cc phn t AND (hoc OR) c hai u vo.
3. Bt u t cc u vo, chng ta chn cc b gi tr th nghim t trong cc
chui S
A
v S
0
tng ng vi dng ca phn t. Truyn cc gi tr ny ti u
ra ca mch.
4. Nu trong qu trnh truyn gi tr, khng nhn cc dy tn hiu t S
A
hoc S
0
,
chng ta cn phi thm vo ng tn hiu phn t AND hoc OR c 2 u
vo
5. Lp li bc 3 v bc 4 cho ti khi trn tt c cc phn t trong mch thit
lp c cc gi tr th nghim.
V d:








Ti liu hc tp, tham kho:
[1] Nguyn Linh Giang, Thit k mch bng my tnh, nh xut bn KHKT
[2] Tng Vn On, Thit k mch s vi VHDL, nh xut bn KHKT
[3] Phm Vit Bnh, Thit k mch s vi VHDL, nh xut bn KHKT
[4] VHDL programing
[5] Thomas J.Wilderotter : A designers guide to VHDL synthesis
[6] Zainalabedin Navabi : VHDL Analysis and Modeling of Digital Systems
[7] http://www.vhdl-online.de

You might also like