Mäluga süsteemide disain L13. Mäluga süsteemid, abstraktne automaat L14. Automaatide realiseerimine. L15.
Download ReportTranscript Mäluga süsteemide disain L13. Mäluga süsteemid, abstraktne automaat L14. Automaatide realiseerimine. L15.
Mäluga süsteemide disain
L13. Mäluga süsteemid, abstraktne automaat
L14. Automaatide realiseerimine.
L15. Automaatide realiseerimine, minimeerimine ja tükeldamine
© Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 1
Automaadi süntees
Plokk-skeem
Automaadi tabel / olekudiagramm
Automaadi (olekute) minimeerimine
Olekute (sisendite, väljundite) kodeerimine
sümbolite asendamine bittidega (bitivektoritega)
Siirde ja väljundfunktsiooni süntees ja minimeerimine
© Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 2
© Peeter Ellervee
Moore automaat
i t --- --- ---1 ---0 ---1 ---0 --- ---1 ---0 0-- 1-- -00 -01 -1- --0 --1 s t S1 S2 S3 S4 S5 S6 S7 S8 S9 I207 - Digitaalloogika ja süsteemid - L15 s t+1 S6 S6 S8 S9 S8 S9 S1 S8 S9 S1 S2 S4 S5 S3 S7 S6 o t 10000 01000 01100 00100 00110 00010 00010 00001 00000 3
Mealy automaat
i t 0-- 1-- --- -00 -01 -10 -11 --- --- ---1 ---0 S4 S5 S6 s t S1 S2 S3 s t+1 S1 S2 S3 S4 S4 S5 S4 S6 S6 S1 S6 o t 10000 10000 01000 00100 00110 01100 01100 00010 00010 00001 00000 © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 4
Moore automaat - kodeerimine
i t 0-- 1-- -00 -01 -1- --0 --1 --- --- ---1 ---0 ---1 ---0 --- ---1 ---0 © Peeter Ellervee S1 s t 0000 S2 0011 S3 0110 S4 S5 S6 1100 0101 0001 S7 1000 S8 S9 0010 0100 S1 S2 S4 S5 S3 S7 S6 S6 S6 S8 S9 S8 S9 S1 S8 S9 s t+1 0000 0011 1100 0101 0110 1000 0001 0001 0001 0010 0100 0010 0100 0000 0010 0100 o t 10000 01000 01100 00100 00110 00010 00010 00001 00000 I207 - Digitaalloogika ja süsteemid - L15 D-trigerid Siirete arv S1 - 2, S2 - 1, S3 - 1, S4 - 1, S5 - 1, S6 - 3, S7 - 1, S8 - 3, S9 - 3 5
Mealy automaat - kodeerimine
i t 0-- 1-- --- -00 -01 -10 -11 --- --- ---1 ---0 S1 s t 000 S2 S3 S4 S5 S6 001 111 101 110 100 S1 S2 S3 S4 S4 S5 S4 S6 S6 S1 S6 s t+1 000 001 111 101 101 110 101 100 100 000 100 o t 10000 10000 01000 00100 00110 01100 01100 00010 00010 00001 00000 Naabrid: S1-S2, S2-S3 , S3-S4, S3-S5, S4-S6, S5-S6, S6-S1 © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 JK-trigerid 6
Funktsioonide süntees
Kodeeritud automaadi tabel
Siirdefunktsioon sisendi kood & oleku kood -> uus oleku kood muutus koodi bittides -> aktiivsed mäluelementide sisendid osaline määratus Väljundfunktsioon sisendi kood & oleku kood -> aktiivsed väljundsignaalid © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 7
Mealy automaat - funktsioonid
JK-trigerid i t 0--- 1--- ---- -00- -01- -10- -11- ---- ---- ---1 ---0 s t s t+1 S1 000 S1 000 S2 001 S2 001 S3 111 S3 111 S4 101 S4 101 S5 110 S4 101 S4 101 S6 100 S5 110 S6 100 S6 100 S1 000 S6 100 © Peeter Ellervee jk t+1 0- 0- 0- 0- 0- 1- 1- 1- -0 -0 -1 -0 -0 -1 -0 -0 -0 -1 -0 -1 -0 -0 0- -1 -0 -1 0- -1 0- 0- -0 0- 0- o t 10000 10000 01000 00100 00110 01100 01100 00010 00010 00001 00000 I207 - Digitaalloogika ja süsteemid - L15 jk t+1 - JK-trigerite sisendid Kasutamata olekukoodid: 010, 011 8
Mealy automaat - funktsioonid
© Peeter Ellervee Siirde ja väljundfunktsioon:
xxxx qqq | jkjkjk yyyyy 1234 123 | 112233 12345 ---------+------------ 0--- 000 | 0-0-0- 10000 1--- 000 | 0-0-1- 10000 ---- 001 | 1-1--0 01000 -00- 111 | -0-1-0 00100 -01- 111 | -0-1-0 00110 -10- 111 | -0-0-1 01100 -11- 111 | -0-1-0 01100 ---- 101 | -00--1 00010 ---- 110 | -0-10- 00010 ---1 100 | -10-0- 00001 ---0 100 | -00-0- 00000 ---- 010 | ------ ---- ---- 011 | ------ -----
I207 - Digitaalloogika ja süsteemid - L15 9
Mealy automaat - funktsioonid
espresso sisend:
.i 7 .o 11 0---000 0-0-0-10000 1---000 0-0-1-10000 ----001 1-1--001000 -00-111 -0-1-000100 -01-111 -0-1-000110 -10-111 -0-0-101100 -11-111 -0-1-001100 ----101 -00--100010 ----110 -0-10-00010 ---1100 -10-0-00001 ---0100 -00-0-00000 ----010 ---------- ----011 ---------- .e
© Peeter Ellervee espresso väljund:
.i 7 .o 11 ---1100 01000000001 -01--1- 00000000010 1---0-- 00001000000 -10--11 00000101100 -11--11 00010001100 ----101 00000100010 ----0-0 00000010000 -0---11 00010000100 ----0-1 10100001000 -----10 00010000010 .e
I207 - Digitaalloogika ja süsteemid - L15 10
Mealy automaat - skeem
espresso väljund:
.i 7 .o 11 ---1100 01000000001 -01--1- 00000000010 1---0-- 00001000000 -10--11 00000101100 -11--11 00010001100 ----101 00000100010 ----0-0 00000010000 -0---11 00010000100 ----0-1 10100001000 -----10 00010000010 .e
© Peeter Ellervee j1 = j2 = q1’ q3 k1 = x4 q1 q2’ q3’ k2 = x2 x3 q2 q3 + x2’ q2 q3 + q2 q3’ j3 = x1 q1’ k3 = x2 x3’ q2 q3 + q1 q2’ q3 y1 = q1’ q3’ y2 = x2 x3’ q2 q3 + x2 x3 q2 q3 + j1 ( y2 = x2 x3’ q2 q3 + x2 x3 q2 q3 + q1’ q3 ) y3 = x2 x3’ q2 q3 + x2 x3 q2 q3 + x2’ q2 q3 y4 = x2’ x3 q2 + q1 q2’ q3 + q2 q3’ y5 = k1 ( = x4 q1 q2’ q3’ ) I207 - Digitaalloogika ja süsteemid - L15 11
Moore automaat - funktsioonid
i t 0--- 1--- S1 -00- -01- -1-- --0- S2 S3 --1- ---- ---- S4 S5 ---1 ---0 ---1 S6 S7 ---0 ---- ---1 ---0 S8 S9 © Peeter Ellervee s t 0000 0011 0110 1100 0101 0001 1000 0010 0100 S1 S2 S4 S5 S3 S7 S6 S6 S6 S8 S9 S8 S9 S1 S8 S9 s t+1 d t+1 0000 0000 0011 0011 1100 1100 0101 0101 0110 0110 1000 1000 0001 0001 0001 0001 0001 0001 0010 0010 0100 0100 0010 0010 0100 0100 0000 0000 0010 0010 0100 0100 o t 10000 01000 01100 00100 00110 00010 00010 00001 00000 I207 - Digitaalloogika ja süsteemid - L15 D-trigerid d t+1 - D-trigerite sisendid Kasutamata olekukoodid: 0111, 1001, 1010, 1011, 1101, 1110, 1111 12
Moore automaat - funktsioonid
Väljundfunktsioon: Siirdefunktsioon:
xxxx qqqq | dddd 1234 1234 | 1234 ----------+---- 0--- 0000 | 0000 1--- 0000 | 0011 -00- 0011 | 1100 -01- 0011 | 0101 -1-- 0011 | 0110 --0- 0110 | 1000 --1- 0110 | 0001 ---- 1100 | 0001 ---- 0101 | 0001 ---1 0001 | 0010 ---0 0001 | 0100 xxxx qqqq | dddd 1234 1234 | 1234 ----------+---- ---1 1000 | 0010 ---0 1000 | 0100 ---- 0010 | 0000 ---1 0100 | 0010 ---0 0100 | 0100 ---- 0111 | --- ---- 1001 | --- ---- 1010 | --- ---- 1011 | --- ---- 1101 | --- ---- 1110 | --- ---- 1111 | ----
© Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15
qqqq | yyyyy 1234 | 12345 -----+----- 0000 | 10000 0011 | 01000 0110 | 01100 1100 | 00100 0101 | 00110 0001 | 00010 1000 | 00010 0010 | 00001 0100 | 00000 0111 | ---- 1001 | ---- 1010 | ---- 1011 | ---- 1101 | ---- 1110 | ---- 1111 | -----
13
Moore automaat - skeem
.i 8 .o 4 -00---11 1100 -01---11 0101 ---110-- 0010 --0--11- 1000 ---010-- 0100 --1--11- 0001 ---10100 0010 ---00100 0100 -1----11 0110 ----11-- 0001 1---0000 0011 ---1-001 0010 ---0-0-1 0100 -----1-1 0001 .e
© Peeter Ellervee Siirdefunktsioon: d1 = x2’ x3’ q3 q4 + x3’ q2 q3 d2 = x2’ x3’ q3 q4 + x2’ x3 q3 q4 + x4’ q1 q2’ + x4’ q1’ q2 q3’ q4’ + x2 q3 q4 + x4’ q2’ q4 d3 = x4 q1 q2’ + x4 q1’ q2 q3’ q4’ + x2 q3 q4 + x1 q1’ q2’ q3’ q4’ + x4 q2’ q3’ q4 d4 = x2’ x3 q3 q4 + x3 q2 q3 + q1 q2 + x1 q1’ q2’ q3’ q4’ + q2 q4 I207 - Digitaalloogika ja süsteemid - L15 14
.i 4 .o 5 0000 10000 -010 00001 --01 00010 10-- 00010 --11 01000 11-- 00100 -1-1 00100 -11- 01100 .e
Moore automaat - skeem
Väljundfunktsioon: y1 = q1’ q2’ q3’ q4’ y2 = q3 q4 + q2 q3 y3 = q1 q2 + q2 q4 + q2 q3 y4 = q3’ q4 + q1 q2’ y5 = q2’ q3 q4’ © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 15
Mealy või Moore?
Mealy vähem olekuid --> vähem mäluelemente keerulisemad väljundfunktsioonid puhverdamata väljundid --> asünkroonse tagasiside oht Juhtosa operatsioonid Moore rohkem olekuid --> rohkem mäluelemente lihtsamad väljundfunktsioonid “puhverdatud” väljundid Operatsioonosa tingimused © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 16
Näidisprojekt #1 – valgusfoor
Valgusfoor kui digitaalsüsteem andmeosa + juhtosa Kogutsükkel 30 sek., andurid puuduvad roheline kollane punane kollane+punane 12 sek.
3 sek.
12 sek.
3 sek.
punane kollane+punane roheline kollane Andmeosa – loendur (0...14) Juhtosa – automaat I={<12, ≥12}, O={R1,Y1,G1,R2,Y2,G2,rst_cnt(?)} © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 17
Valgusfoor – andmeosa
Andmeosa = loendur 0…14 → 4 bitti (0…15!) asünkroonne nullimine kui loendur == 15 (e. 4-NAND) 12 sek. == 0…11 3 sek. == 12…14 e. ≥12 ≥12 == 1100+1101+1110 (+1111 määramatusena) ≥12 == 11-- (e. 2-AND)
rst_cnt
vajalikkus?
sõltub juhtosa “tarkusest” © Peeter Ellervee andmeosa
rst_cnt
≥12 juhtosa R1 Y1 G1 R2 Y2 G2 http://enos.itcollege.ee/~lrv/I207/tlc-datapath.txt
I207 - Digitaalloogika ja süsteemid - L15 18
Valgusfoor – juhtosa
Esimene pool GSA-st Automaadi tabel
– +
G1, R2 ≥12
+
Y1, Y2, R2 ≥12
–
i t ! ≥12 ≥12 ! ≥12 ≥12 ! ≥12 ≥12 ! ≥12 ≥12 s t S1 S2 S3 S4 s t+1 S1 S2 S3 S2 S3 S4 S1 S4 Kodeering?
4 olekut → 2 bitti → 00, 01, 11 & 10 (naaberkodeering) o t G1, R2 Y1, Y2, R2 R1, G2 Y1, R1, Y2 © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 19
Valgusfoor – tabel
Automaadi tabel i t ! ≥12 ≥12 ! ≥12 ≥12 ! ≥12 ≥12 ! ≥12 ≥12 s t S1 S2 S3 S4 s t+1 S1 S2 S3 S2 S3 S4 S1 S4 o t G1, R2 Y1, Y2, R2 R1, G2 Y1, R1, Y2 Kodeeritud S/V i t 0 1 0 1 0 1 0 1 s t S1 S2 S3 S4 s t+1 S1 S2 S3 S2 S3 S4 S1 S4 o t 001 100 010 110 100 001 110 010 © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 20
Valgusfoor – JK-trigerid
JK-trigerid ja naaberkodeering i t 0 1 0 1 0 1 0 1 s t S1 [00] S2 [01] S3 [11] S4 [10] © Peeter Ellervee s t+1 S1 [00] S2 [01] S3 [11] S2 [01] S3 [11] S4 [10] S1 [00] S4 [10] j 1 k 1 j 2 k 0 – 0– 0 – 1– 1 – –0 0 – –0 –0 –0 –0 –1 –1 0– –0 0– 2 o t 001 100 010 110 100 001 110 010 I207 - Digitaalloogika ja süsteemid - L15 JK-trigerid 21
# Siirded .i 3 .o 4 000 0-0 100 0-1 001 1--0 101 0--0 011 -0-0 111 -0-1 010 -10 110 -00 .e
# Tulemus 0-1 1000 0-0 0100 10- 0010 11- 0001
© Peeter Ellervee
Valgusfoor – JK-trigerid
# Väljundid .i 2 .o 6 00 001100 01 010110 11 100001 10 110010 .e
# Tulemus 00 001100 01 010110 11 100001 10 110010 # Siirded j1 = i’ q2 k1 = i’ q2’ j2 = i q1’ k2 = i q1 # Väljundid Y1 = Y2 = q1 xor q2 R1 = q1 R2 = q1’ G1 = q1’ q2’ G2 = q1 q2
I207 - Digitaalloogika ja süsteemid - L15 22
Valgusfoor – D-trigerid
D-trigerid ja naaberkodeering i t 0 1 0 1 0 1 0 1 © Peeter Ellervee s t S1 [00] S2 [01] S3 [11] S4 [10] s t+1 S1 [00] S2 [01] S3 [11] S2 [01] S3 [11] S4 [10] S1 [00] S4 [10] d 1 d 2 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 o t 001 100 010 110 100 001 110 010 I207 - Digitaalloogika ja süsteemid - L15 D-trigerid 23
# Siirded .i 3 .o 2 000 00 100 01 001 11 101 01 011 11 111 10 010 00 110 10 .e
# Tulemus 11- 10 10- 01 0-1 11
© Peeter Ellervee
Valgusfoor – D-trigerid
# Väljundid .i 2 .o 6 00 001100 01 010110 11 100001 10 110010 .e
# Tulemus 00 001100 01 010110 11 100001 10 110010 # Siirded d1 = i q1 + i’ q2 d2 = i q1’ + i’ q2 # Optimeerimist...
i’ q2 = (i + q2’)’ k = i + q2’ d1 = ((i q1)’ k)’ d2 = ((i q1’)’ k)’ # Väljundid Y1 = Y2 = q1 xor q2 R1 = q1 R2 = q1’ G1 = q1’ q2’ G2 = q1 q2
I207 - Digitaalloogika ja süsteemid - L15 24
Valgusfoor – tulemus
http://www.itcollege.ee/~lrv/I207/tlc-applet.txt
© Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 25
Näidisprojekt #2 – koodlukk
Neli nuppu (sisendid), üks relee (väljund) Kolmene kood, kindel vajutamise järjekord Juhtautomaat 4 sisendit, 1 väljund nupule vajutus ja vabastamine –> taktsignaal s/v puhverdamine on hilisem teema sisendid – kontaktide värelemine väljund – signaali võimendamine Kood – 2, 1, 4 vale kood ja/või korraga vajutamine viib algusesse © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 26
Näidisprojekt – koodlukk
Kood – 2, 1, 4 vale kood ja/või korraga vajutamine viib algusesse Olekud – algus, vajutus, vabastamine, … 0, 2+, 2-, 1+, 1-, 4+ (lahti laskmine viib 0 tagasi) näitamata kombinatsioon viib olekusse 0!
0100 0000 0 0000 OK © Peeter Ellervee 0001 4+ 2+ 0100 0000 2 0000 1000 1 1+ 0001 0000 I207 - Digitaalloogika ja süsteemid - L15 1000 27
Koodlukk – VHDL mudel
Vt. http://www.itcollege.ee/~lrv/I207/koodlukk.vhd
http://www.itcollege.ee/~lrv/I207/test_koodlukk.vhd
ja Olemus, st. põhiosa
-- Siirde- ja valjundfunktsioon process ( nupud, current_state ) begin relee <= '0'; next_state <= s0; case current_state is when s0 => if nupud = "0100" then next_state <= s2p; end if; when s2p => if nupud = "0100" then next_state <= s2p; elsif nupud = "0000" then next_state <= s2m; end if; when s2m => if nupud = "0000" then next_state <= s2m; elsif nupud = "1000" then next_state <= s1p; end if; when s1p => if nupud = "1000" then next_state <= s1p; elsif nupud = "0000" then next_state <= s1m; end if; when s1m => if nupud = "0000" then next_state <= s1m; elsif nupud = "0001" then next_state <= s4p; end if; when s4p => if nupud = "0001" then next_state <= s4p; elsif nupud = "0000" then relee <= '1'; end if; end case; end process;
© Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 28
Koodlukk – simulatsioon
run 100 sec Vt. http://www.itcollege.ee/~lrv/I207/koodlukk1.gif
http://www.itcollege.ee/~lrv/I207/koodlukk2.gif
ja © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 29
Koodlukk – realisatsioon
Automaatne süntees Synopsys Design Compiler © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 30
Koodlukk – realisatsioon
nupud | st | st+ | out ------+-----+-----+--- 0000 | s0 | s0 | 0 0100 | | s2p | 0 1--- | | s0 | 0 0-1- | | s0 | 0 0-01 | | s0 | 0 ------+-----+-----+--- 0100 | s2p | s2p | 0 0000 | | s2m | 0 1--- | | s0 | 0 0-1- | | s0 | 0 0-01 | | s0 | 0 ------+-----+-----+--- 0000 | s2m | s2m | 0 1000 | | s1p | 0 -1-- | | s0 | 0 -01- | | s0 | 0 -001 | | s0 | 0 ------+-----+-----+--- 1000 | s1p | s1p | 0 0000 | | s1m | 0 -1-- | | s0 | 0 -01- | | s0 | 0 -001 | | s0 | 0 ------+-----+-----+--- 0000 | s1m | s1m | 0 0001 | | s4p | 0 1--- | | s0 | 0 01-- | | s0 | 0 001- | | s0 | 0 ------+-----+-----+--- 0001 | s4p | s4p | 0 0000 | | s0 | 1 1--- | | s0 | 0 01-- | | s0 | 0 001- | | s0 | 0 ------+-----+-----+--- nupud | st | st+ | out ------+---------+---------+--- 0000 | s0 000 | s0 000 | 0 0100 | | s2p 001 | 0 1--- | | s0 000 | 0 0-1- | | s0 000 | 0 0-01 | | s0 000 | 0 ------+---------+---------+--- 0100 | s2p 001 | s2p 001 | 0 0000 | | s2m 011 | 0 1--- | | s0 000 | 0 0-1- | | s0 000 | 0 0-01 | | s0 000 | 0 ------+---------+---------+--- 0000 | s2m 011 | s2m 011 | 0 1000 | | s1p 010 | 0 -1-- | | s0 000 | 0 -01- | | s0 000 | 0 -001 | | s0 000 | 0 ------+---------+---------+--- 1000 | s1p 010 | s1p 010 | 0 0000 | | s1m 110 | 0 -1-- | | s0 000 | 0 -01- | | s0 000 | 0 -001 | | s0 000 | 0 ------+---------+---------+--- 0000 | s1m 110 | s1m 110 | 0 0001 | | s4p 100 | 0 1--- | | s0 000 | 0 01-- | | s0 000 | 0 001- | | s0 000 | 0 ------+---------+---------+--- 0001 | s4p 100 | s4p 100 | 0 0000 | | s0 000 | 1 1--- | | s0 000 | 0 01-- | | s0 000 | 0 001- | | s0 000 | 0 ------+---------+---------+----
© Peeter Ellervee
espresso-le .i 7 .o 4 0000000 0000 0100000 0010 1---000 0000 0-1-000 0000 0-01000 0000 0100001 0010 0000001 0110 1---001 0000 0-1-001 0000 0-01001 0000 0000011 0110 1000011 0100 -1--011 0000 -01-011 0000 -001011 0000 1000010 0100 0000010 1100 -1--010 0000 -01-010 0000 -001010 0000 0000110 1100 0001110 1000 1---110 0000 01--110 0000 001-110 0000 0001100 1000 0000100 0001 1---100 0000 01--100 0000 001-100 0000 ----101 --- ----111 --- .e
I207 - Digitaalloogika ja süsteemid - L15
tulemus 00011-- 1000 010000- 0010 -00001- 0100 000010- 0001 0000--1 0110 0000-10 1100 skeem t1 = i1'i2'i3'i4 q1 t2 = i1'i2 i3'i4'q1'q2' t3 = i2'i3'i4'q1'q2 rl = i1'i2'i3'i4'q1 q2' t5 = i1'i2'i3'i4'q3 t6 = i1'i2'i3'i4'q2 q3' d1 = t1+t6 d2 = t3+t5+t6 d3 = t2+t5 natuke optimeerimist t0 = i1'i2'i3'i4' t0 = not(i1+i2+i3+i4) rl = t0 q1 q2' t5 = t0 q3 t6 = t0 q2 q3'
31
Vt. http://www.itcollege.ee/~lrv/I207/koodlukk.txt
Simulaator – http://www.falstad.com/circuit/ © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 32
Automaadi minimeerimine
Olekute arvu minimeerimine
Ekvivalentsed olekud – võrdsete sisendjadade korral väljundjadad kattuvad
Intuitiivne lähenemine
Kaks olekut on ekvivalentsed, kui nende siirded on identsed Ei pruugi alati töötada!
© Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 33
Automaadi minimeerimine
Ekvivalentsed olekud – võrdsete sisendjadade korral väljundjadad kattuvad Kaks olekut on ekvivalentsed siis ja ainult siis, kui kõikide siirete korral on järgmised olekud ja genereeritavad väljundid ekvivalentsed © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 34
Automaadi minimeerimine
i t !x1
x1 !x2 & !x3
!x2 & x3 x2 !x3
x3 x4 !x4
x4 !x4
x4 !x4
© Peeter Ellervee s t S1 S2 S3 S4 S5 S6 S7 S8 S9 s t+1 S1 S2 S4 S5 S3 S7 S6 S6 S6 S8 S9 S8 S9 S1 S8 S9 o y1 y2 y2, y3 y3 t y3, y4 y4 y4 y5 i t !x1
x1 !x2 & !x3
!x2 & x3 x2 & !x3
x2 & x3 x4 !x4
I207 - Digitaalloogika ja süsteemid - L15 s t S1 S2 S3 S4 S5 S6 s t+1 S1 S2 S3 S4 S4 S5 S4 S6 S6 S1 S6 o t y1 y1 y2 y3 y3, y4 y2, y3 y2, y3 y4 y4 y5 35
Automaatide dekompositsioon
Kaks (või enam) automaati töötavad ühtses süsteemis Sisendid: I->I 1 xI 2 x...xI
N Väljundid: O 1 xO 2 x...xO
N ->O Lisasisendid: S 1 xS 2 x...xS
N ->I i x Mida vähem lisafunktsioone ja/või mida väiksemad nad on, seda parem © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 36
Automaatide dekompositsioon
Rakendused
Olekute kodeerimine Vaheldumisi töötavad automaadid Olekudiagrammi “tükeldamine” igal komponendil on lisaolek, kus ootab kuni teised komponendid töötavad lisaolek võib kokku langeda mõne olemasoleva olekuga lisanduvad “start-stop” signaalid Võimsustarbe vähendamine – ainult töötav komponent tarbib energiat © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 37
Automaatide dekompositsioon
Vaheldumisi töötavad automaadid
© Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 38
Automaatide dekompositsioon
Vaheldumisi töötavad automaadid Lähteautomaat Komponent A 1 Komponent A 2 © Peeter Ellervee I207 - Digitaalloogika ja süsteemid - L15 39