You are on page 1of 12

Bài Giảng Kỹ Thuật Số Chương 4

4.6. MÁY TRẠNG THÁI


Heä tuaàn töï coøn coù teân goïi khaùc laø maùy traïng thaùi (State Machine), teân naøy
thöôøng söû duïng khi duøng moät heä tuaàn töï ñeå ñieàu khieån 1 heä thoáng soá thöïc hieän
moät thuû tuïc hoaëc moät thuaät toaùn töøng böôùc moät. Coù theå ñònh nghóa caùc maùy
traïng thaùi baèng caùc giaûn ñoà traïng thaùi, hoaëc moät kieåu löu ñoà ñaëc bieät ñöôïc goïi laø
löu ñoà maùy traïng thaùi hay löu ñoà SM (State Machine) duøng ñeå moâ taû ñaëc tính
laøm vieäc cuûa moät maùy traïng thaùi
Trong thieát keá soá, thöôøng söû duïng töø maùy traïng thaùi ñeå chæ caùc maïch ñoàng boä
nhö mạch đếm… ở ñoù caùc giaù trò ra thay ñoåi töø moät traïng thaùi nhò phaân naøy sang
moät traïng thaùi nhò phaân khaùc khi maïch ñöôïc cung caáp xung clock.
SM coù hai loaïi: Moore vaø Mealy.
4.6.1. Máy trạng thái kiểu MOORE
Sô ñoà khoái maùy traïng thaùi kieåu Moore vaø moät maïch counter nhò phaân 2bit laø moät
ví duï cho maùy traïng thaùi kieåu Moore

Giaûi maõ Löu tröõ t.thaùi


Caùc t/hieäu t.thaùi keá hieän taïi
ngoaøi

Caùc FF Giaûi maõ


ngoõ ra

Clock

X1 Q1+ Q1
X2 Maïng toå D1 Heä toå Z1
CK
Xm hôïp hôïp
Q +2 Q2
Z2
Q1 D2 (cho
CK
Q2 caùc
ngoõ
Q +k Qk Zn
Dk ra)
Qk CK

Clock

GV: Nguyễn Trọng Hải Trang 104


Bài Giảng Kỹ Thuật Số Chương 4

4.6.2. Máy trạng thái kiểu MEALY


Sô ñoà khoái maùy traïng thaùi Mealy

Logic ra
Traïng thaùi Caùc giaù trò
Giaù trò Logic Kích
Boä nhôù G
hieän haønh ra (Output)
vaøo thích
traïng thaùi traïng thaùi
keá
Ngoõ CK

Clock
X1 Z1
X2
HEÄ Z2
TOÅ Zn
HÔÏP Q+ D1
Q1
Xm 1
CK
Q+
2 Q2
Q1 D2
Q2 CK

Qk
Qk Qk+ Dk
CK

Clock

4.7. LƯU ĐỒ MÁY TRẠNG THÁI


Caùc löu ñoà SM coøn ñöôïc goïi laø löu ñoà ASM (Algorithmic State Machine). Löu
ñoà SM cho nhieàu thuaän lôïi trong vieäc deã hieåu hôn hoaït ñoäng cuûa moät heä thoáng
soá baèng caùch quan saùt thay vì laø giaûn ñoà traïng thaùi töông ñöông. Coù theå chuyeån
moät löu ñoà SM cho tröôùc thaønh nhieàu daïng töông ñöông, vaø moãi daïng daãn tröïc
tieáp ñeán moät caøi ñaët phaàn cöùng.
Ba thaønh phaàn chính cuûa moät löu ñoà SM

tên trạng Mã trạng


thái thái nhánh nhánh
đúng sai
danh
1 0 sách xuất
điều kiện
theo điều
kiện

(a) Hoäp traïng thaùi (b) Hoäp quyeát ñònh (c) Hoäp xuaát theo ñk

GV: Nguyễn Trọng Hải Trang 105


Bài Giảng Kỹ Thuật Số Chương 4

• Traïng thaùi cuûa moät heä thoáng ñöôïc bieåu dieån baèng hoäp traïng thaùi (state box),
hoäp traïng thaùi coù theå chöùa moät danh saùch giaù trò ra. Maõ traïng thaùi coù theå ñaët
beân caïnh hoäp ôû phaàn treân. Teân traïng thaùi ñöôïc ñaët trong hình troøn beân traùi
hoäp traïng thaùi.
• Hoäp quyeát ñònh (decision box) ñöôïc bieåu dieãn baèng moät kyù hieäu hình thoi
vôùi caùc nhaùnh ñuùng vaø sai. Ñieàu kieän ñaët trong hoäp laø moät bieåu thöùc
Boolean ñöôïc xaùc ñònh ñeå laáy nhaùnh naøo.
• Hoäp xuaát theo ñieàu kieän (conditional output box) chöùa danh saùch vaø caùc giaù
trò ra theo ñieàu kieän phuï thuoäc vaøo caû traïng thaùi cuûa heä thoáng vaø caùc giaù trò
vaøo
Moät löu ñoà SM ñöôïc xaây döïng töø caùc khoái SM (SM block) moãi khoái SM chöùa
chính xaùc moät hoäp traïng thaùi cuøng vôùi caùc hoäp quyeát ñònh vaø caùc hoäp xuaát theo
ñieàu kieän lieân heä vôùi traïng thaùi ñoù.
Moät khoái SM coù chính xaùc moät ñöôøng vaøo vaø moät hoaëc nhieàu ñöôøng ra vaø moâ taû
hoaït ñoäng cuûa maùy trong thôøi gian maø maùy ñang trong traïng thaùi.
Khi moät heä thoáng soá ñi vaøo traïng thaùi lieân heä vôùi moät khoái SM cho tröôùc, caùc
giaù trò ra ôû danh saùch xuaát trong hoäp traïng thaùi seõ trôû thaønh ñuùng. Caùc ñieàu kieän
trong caùc hoäp quyeát ñònh seõ ñöôïc ñònh trò ñeå xaùc ñònh xem ñöôøng naøo ñi theo
qua khoái SM. Khi treân ñöôøng ñi coù gaëp moät hoäp xuaát theo ñieàu kieän thì caùc giaù
trò ra töông öùng seõ trôû thaønh ñuùng. Moät ñöôøng daãn qua khoái SM töø ngoõ vaøo ñeán
ngoõ ra ñöôïc goïi laø ñöôøng daãn noái gheùp (link path)
Ví dụ, moät khoái SM

S1 Z1, Z2

nhaùnh a 0 1 nhaùnh b
X1

0 1
Z3, Z4 X3

0 1 Z5
X3

1 2 3 n

n ñöôøng ra
khi vaøo traïng thaùi S1, caùc giaù trò ra Z1 vaø Z2 = 1. Neáu giaù trò vaøo X1 vaø X2 ñeàu
baèng 0 thì Z3 vaø Z4 baèng 1 vaø ôû cuoái thôøi gian traïng thaùi, maùy ñi vaøo traïng thaùi

GV: Nguyễn Trọng Hải Trang 106


Bài Giảng Kỹ Thuật Số Chương 4

keá qua ñöôøng ra 1, ngöôïc laïi neáu X1 =1 vaø X3 = 0, giaù trò ra Z5 = 1 vaø ñi vaøo
traïng thaùi keá qua ñöôøng ra 3
Toång quaùt thì moät khoái SM coù theå ñöôïc veõ baèng nhieàu daïng khaùc nhau. Hai khoái
SM sau laø töông ñöông.

S1 Z1 S1 Z1

0 1 0 1
X1 X2

Z2 1 1
X1 X1
0 0
0 1
X3 Z2 Z2

S2 S3 S2 S3

Ví dụ, Veõ moät khoái SM töông ñöông vôùi khoái SM sau.

0 1
A

C 1

0 1
B
0 Z1

Phaûi tuaân theo moät soá quy taéc nhaát ñònh khi xaây döïng moät khoái SM:
Thöù nhaát, vôùi moïi keát hôïp caùc bieán vaøo hôïp leä phaûi coù chính xaùc moät ñöôøng ra
ñöôïc ñònh nghóa. Ñieàu naøy laø caàn thieát vì moãi toå hôïp vaøo ñöôïc cho pheùp phaûi
daãn ñeán 1 traïng thaùi keá duy nhaát.
Thöù hai, khoâng cho pheùp coù ñöôøng hoài tieáp noäi trong moät khoái SM.

GV: Nguyễn Trọng Hải Trang 107


Bài Giảng Kỹ Thuật Số Chương 4

Ví dụ, 1 caùch veõ sai vaø 1 caùch veõ ñuùng ñoái vôùi 1 khoái SM coù ñöôøng hoài tieáp

(a) Sai (b) Ñuùng

Moät khoái SM coù theå coù nhieàu ñöôøng song song maø daãn ñeán cuøng moät ñöôøng ra,
vaø hôn moät ñöôøng trong caùc ñöôøng naøy coù theå tích cöïc ñoàng thôøi. Ngoaøi ra cuõng
coù theå bieåu dieãn baèng moät khoái SM noái tieáp töông ñöông. Trong khoái noái tieáp
naøy coù theå coù moät ñöôøng daãn noái gheùp tích cöïc duy nhaát giöõa ngoû vaøo vaø ra. Vôùi
baát cöù toå hôïp naøo cuûa caùc giaù trò vaøo, caùc giaù trò ra seõ gioáng nhö trong daïng song
song töông ñöông.
Ví dụ,

Z1 Z1

1 1 1 X1
X1 X2 X3
Z2
Z2 0 Z3 0 Z4 0

X2

(a) daïng song song Z3

X3

Z3

(b) daïng noái tieáp

GV: Nguyễn Trọng Hải Trang 108


Bài Giảng Kỹ Thuật Số Chương 4

Coù theå chuyeån moät giaûn ñoà traïng thaùi cuûa maùy tuaàn töï sang löu ñoà SM töông
ñöông moät caùch deã daøng.
Ví dụ, Giaûn ñoà traïng thaùi
1/0 1/0
S0 S1 S2
1/Z2
0/0 Za 0/0 Zb Zc

0/Z1
Vaø löu ñoà SM töông ñöông
00
S0 Za
link 1
X
0 1 01
S1 Zb
link 2
X
0 1 11 link 3
S1 Zc

0 1
X
Z1 Z2

Giaûn ñoà ñònh thì cho löu ñoà SM

clock

traïng thaùi S0 S1 S2 S2 S0 S0
X

Za
Zb
Zc
Z1
Z2

GV: Nguyễn Trọng Hải Trang 109


Bài Giảng Kỹ Thuật Số Chương 4

ÔÛ giaûn ñoà traïng thaùi, coù caû 2 giaù trò ra Moore vaø Mealy, löu ñoà SM töông ñöông
coù 3 khoái, moät khoái öùng vôùi moät traïng thaùi. Caùc giaù trò ra Moore (Za, Zb, Zc)
ñöôïc ñaët trong caùc hoäp traïng thaùi, töø ñoù chuùng khoâng phuï thuoäc vaøo giaù trò vaøo.
Caùc giaù trò ra Mealy (Z1, Z2) xuaát hieän trong caùc hoäp xuaát theo ñieàu kieän, chuùng
phuï thuoäc vaøo caû traïng thaùi vaø giaù trò vaøo. Trong ví duï naøy, moãi khoái SM chæ coù
moät hoäp quyeát ñònh, do ñoù chæ phaûi kieåm tra 1 bieán vaøo. Ñoái vôùi caû hai giaûn ñoà
traïng thaùi vaø löu ñoà SM, Zc luoân baèng 1 trong traïng thaùi S2. Neáu X=0 trong traïng
thaùi S2, Z=1 vaø traïng thaùi keá laø S0. Neáu X=1, Z2 =1 vaø traïng thaùi keá laø S2
ÔÛ giaûn ñoà ñònh thì cho löu ñoà SM, vôùi chuoãi vaøo X=1,1,1,0,0,0. Taát caû caùc thay
ñoåi traïng thaùi xaûy ra ngay sau caïnh leân cuûa xung nhòp. Vì caùc giaù trò Moore phuï
thuoäc vaøo traïng thaùi vaø chæ coù theå thay ñoåi töùc thôøi sau 1 thay ñoåi traïng thaùi hoaëc
moät thay ñoåi giaù trò vaøo. Noùi chung, taát caû caùc giaù trò ra seõ coù giaù trò ñuùng cuûa
chuùng ôû caïnh tích cöïc cuûa xung nhòp
Ví dụ, Laäp löu ñoà SM cho boä chia nhò phaân song song cho caùc soá nhò phaân
döông, soá bò chia (dividend) 6 bit cho soá chia (divisor) 3 bit ñeå coù ñöôïc thöông 3
bit.
Minh hoïa quaù trình chia
100010 110
110 101
101
000
1010
110
100

Pheùp chia coù theå thöïc hieän baèng pheùp toaùn tröø vaø dòch. ñeå xaây döïng boä chia seõ
söû duïng thanh ghi soá bò chia 7 bit vaø thanh ghi soá chia 3 bit nhö sau
Thanh ghi số bị chia start
Sh
x7 x6 x5 x4 x3 x2 x1
V
Chỉ báo tràn trên
Su Điều
Bộ trừ và so khiển
sánh C (so sánh)

y3 y2 y1
clock

Số chia

Trong quaù trình chia thay vì dòch soá chia sang phaûi tröôùc moãi laàn tröø, ôû ñaây seõ
dòch soá bò chia sang traùi. Chuù yù laø caàn theâm 1 bit ôû ñaàu beân traùi thanh ghi soá bò

GV: Nguyễn Trọng Hải Trang 110


Bài Giảng Kỹ Thuật Số Chương 4

chia ñeå cho khoâng maát 1 bit khi dòch traùi soá bò chia. Thay vì duøng 1 thanh ghi ñeå
chöùa thöông soá, coù theå ñöa thöông soá töøng bit moät vaøo ñaàu beân phaûi cuûa thanh
ghi soá bò chia khi dòch traùi soá bò chia
Neáu ban ñaàu x7x6x5x4 ≥ y3y2y1 (nghóa laø neáu 4 bit traùi cuûa thanh ghi soá bò chia
vöôït quaù hoaëc baèng soá chia) thöông soá seõ lôùn hôn 8 vaø traøn treân xaûy ra. Chuù yù laø
neáu
x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 7 x 6 x 5 x 4 0000 x 7 x 6 x 5 x 4 8
≥ = ≥8
y 3 y 2 y1 y 3 y 2 y1 y 3 y 2 y1

baùo traøn vì thöông soá chæ coù 3 bit (toái ña baèng 7)


Tín hieäu dòch (Sh = shift) seõ dòch soá bò chia sang traùi moät vò trí. Tín hieäu tröø (Su
= Subtract) seõ tröø soá chia cho 4 bit taän cuøng beân traùi cuûa thanh ghi soá bò chia vaø
ñaët bit thöông soá (bit taän cuøng beân phaûi thanh ghi soá bò chia) leân 1. Neáu soá chia
lôùn hôn 4 bit taän cuøng beân traùi cuûa soá bò chia, ngoõ ra cuûa boä so saùnh laø C=0,
ngöôïc laïi C=1. Maïch ñieàu khieån taïo ra chuoåi caùc tín hieäu dòch vaø tröø mong
muoán. Baát cöù luùc naøo C=1, tín hieäu tröø ñöôïc taïo ra vaø bit thöông soá ñöôïc ñaët leân
Giaûn ñoà traïng thaùi cuûa maïch ñieàu khieån

Start’/0 C.Start/V
S0
Stop C’.Start/Sh
C/Su
C’/0 C/Su
S1
S3

C’/Sh C’/Sh
S2

C/Su

Ban ñaàu soá bit chia 6 bit vaø soá chia 3 bit ñöôïc ñöa vaøo caùc thanh ghi thích hôïp.
Maïch vaãn ôû traïng thaùi döøng Stop (S0) cho ñeán khi coù tín hieäu Start. Neáu giaù trò
ban ñaàu cuûa C=1, thöông soá seõ caàn 4 bit trôû leân. Vì khoâng gian chæ cung caáp cho
thöông soá 3 bit, ñieàu kieän naøy laøm traøn treân do ñoù boä chia döøng vaø boä chæ traøn seõ
ñaët leân 1 baèng ngoõ ra traøn treân.
Bình thöôøng giaù trò ban ñaàu cuûa C=0, vì vaäy dòch seõ xaûy ra ñaàu tieân vaø maïch seõ
ñi vaøo traïng thaùi S1. Roài neáu C=1 thì xaûy ra tröø. Sau khi hoaøn taát tröø C seõ luoân
luoân baèng 0 vì vaäy xung nhòp keá seõ taïo ra dòch. Quaù trình naøy tieáp tuïc cho ñeán
khi xaûy ra 3 laàn dòch vaø ñieàu khieån oå trong traïng thaùi S3. Roài pheùp tröù cuoái cuøng
xaûy ra neáu caàn, vaø ñieàu khieån quay veà traïng thaùi döøng. Vôùi vd naøy seõ giaû söø laø
khi tín hieäu baét ñaàu (start) xaûy ra noù seõ laø 1 trong thôøi gian 1 clock vaø roài giöõ laø
0 cho ñeán khi heä ñieàu khieån quay veà traïng thaùi S0. Do ñoù Start seõ luoân laø 0 trong
caùc traïng thaùi S1, S2, S3

GV: Nguyễn Trọng Hải Trang 111


Bài Giảng Kỹ Thuật Số Chương 4

Töø ñoù suy ra löu ñoà SM nhö sau


00
S0
Sh
0
Start S1 01
1
0 0
C
C
1 Sh 1
V Su
S2 10

0 1
C
Sh
Su
S3 11

0
C
1
Su

S0 laø traïng thaùi baét ñaàu, neáu Start=1, tín hieäu so saùnh C ñöôïc kieåm tra, neáu C=1,
thöông soá lôùn hôn 3 bit, vì vaäy baùo traøn V=1 ñöôïc taïo ra vaø khoâng coù söï thay ñoåi
xaûy ra. Neáu C=0, Sh=1, ôû xung nhòp keá soá bò chia ñöôïc dòch sang traùi vaø traïng
thaùi chuyeån sang S1. C ñöôïc kieåm tra trong traïng thaùi S1. Neáu C=1 coù theå coù
pheùp tröø, Su=1 vaø khoâng coù söï thay ñoåi traïng thaùi. Neáu C=0, Sh=1 vaø soá bò chia
ñöôïc dòch khi traïng thaùi chuyeån sang S2. Hoaït ñoäng ôû S2 thì gioáng S1. Trong
traïng thaùi S3 traïng thaùi keá luoân laø S0, vaø C=1 laøm cho pheùp tröø xaûy ra

Ví dụ, Laäp löu ñoà Sm cho ñieàu khieån boä nhaân song song cho caùc soá nhò phaân
döông.
Nhaân nhò phaân chæ caàn pheùp toaùn dòch vaø coäng. Thay vì ban ñaàu taïo ra taát caû caùc
tích boä phaän roài coäng laïi, thì moãi tích boä phaän (partial product) ñöôïc coäng moãi
khi ñöôïc taïo ra vaø do ñoù khoâng caàn coäng moät laàn hôn 2 soá nhò phaân
Nhaân 2 soá 4 bit caàn 1 thanh ghi soá bò nhaân (multiplicant register) 4bit, moät thanh
ghi soá nhaân 4 bit vaø thanh ghi 8bit cho soá haïng tích. Thanh ghi tích soá laøm vieäc
nhö thanh ghi tích luõy laø tích luõy toång caùc tích boä phaän. Thay vì dòch soá bò nhaân
sang traùi tröôùc khi coäng, ôû ñaây seõ dòch thanh ghi tích sang phaûi

GV: Nguyễn Trọng Hải Trang 112


Bài Giảng Kỹ Thuật Số Chương 4

Soá bò nhaân → 1101


Soá nhaân → 1011
Caùc tích boä phaän 1101
1101
10111
0000
100111
1101
Tích soá 10001111
Sô ñoà khoái cuûa boä nhaân song song
Thanh ghi tích soá
M=1: coäng &dòch
Thanh ghi tích luõy Soá nhaân
PC M=0: dòch

N Ad: tín hieäu coäng


Ñieàu
C Sh: tín hieäu dòch
Boä coäng Ad khieån PC
PC: xung clock
M: bit boä nhaân
Sh
N: tín hieäu start
C: soá nhôù
Soá bò nhaân

Ví duï, nhaân 13 x 11 ñöôïc laøm laïi sau ñaây chæ vò trí caùc bit trong caùc thanh ghi ôû
moãi thôøi ñieåm xung nhòp

Noäi dung ban ñaàu cuûa t.ghi tích 000001011 M(11)


luõy (coäng soá bò nhaân vì M=1) 1101 (13)
Sau khi coäng 011011011
Sau khi dòch phaûi 001101101 M=1
Coäng soá bò nhaân vì M=1 1101
Sau khi coäng 100111101
Sau khi dòch phaûi 010011110 M=0
Boû qua coäng vì M=0
Sau khi dòch 001001111 M=1
coäng soá bò nhaân vì M=1 1101
Sau khi coäng 100011111
Sau khi dòch (ñaùp soá) 010001111

Ñöôøng chaám chaám laø ñöôøng chia giöõa boä nhaân vaø tích soá
Maïch ñieàu khieån phaûi ñöôïc thieát keá ñeå cho ra chuoãi caùc tín hieäu coäng vaø dòch
ñuùng.

GV: Nguyễn Trọng Hải Trang 113


Bài Giảng Kỹ Thuật Số Chương 4

Giaûn ñoà traïng thaùi cho ñieàu khieån boä nhaân, SV giaûi thích töông töï nhö maïch chia
N’/0

- /Sh S0 MN/Ad

S7 S1
M’N/Sh - /Sh
M/Ad M’N/Sh
S2
S6
M’N/Sh
M/Ad
- /Sh M’N/Sh
S3
S5
M/Ad S4 - /Sh

N’/0
Ad Ñieàu khieån N

Sh Coäng - dòch PC S0
MN/Ad M’N/Sh
K=1 neáu n-1 laàn dòch M/Ad M’/Sh
Boä ñeám S0 S0
- /Sh
(a) Ñieàu khieån boä nhaân
(b) Giaûn ñoà traïng thaùi cuûa
N’/0
ñieàu khieån coäng dòch

S0 M’N/Sh
MN/Ad (c) Giaûn ñoà traïng thaùi cuoái
K/Sh M’K/Sh cuûa ñieàu khieån coäng dòch
M’K’/Sh
K’/Sh S0
S0
M/Ad

Laäp löu ñoà SM cho ñieàu khieån boä nhaân, ñieàu khieån naøy taïo ra chuoãi caùc xung
coäng vaø dòch mong muoán cuûa boä nhaân nhò phaân. Boä ñeám seõ ñeám soá laàn dòch vaø
xuaát K=1 tröôùc khi laàn dòch cuoái cuøng xaûy ra. Löu ñoà SM cho ñieàu khieån boä
nhaân töông öùng vôùi giaûn ñoà traïng thaùi hình (c)

GV: Nguyễn Trọng Hải Trang 114


Bài Giảng Kỹ Thuật Số Chương 4

S0

0
N
1
1 0
M
Ad Sh

S1 Sh S2

1 0 1 0
K M

Ad Sh

1 0
M

GV: Nguyễn Trọng Hải Trang 115

You might also like