Mäluga süsteemide disain  L13. Mäluga süsteemid, abstraktne automaat  L14. Automaatide realiseerimine.  L15.

Download Report

Transcript 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