Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy...

20
1 1 I207 - Digitaalloogika ja -süsteemid - L14 © Peeter Ellervee L12. Mäluga süsteemid, abstraktne automaat L13. Automaatide realiseerimine. L14. Automaatide realiseerimine, minimeerimine ja tükeldamine Mäluga süsteemide disain 2 I207 - Digitaalloogika ja -süsteemid - L14 © Peeter Ellervee 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

Transcript of Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy...

Page 1: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

1

1I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

L12. Mäluga süsteemid, abstraktneautomaat

L13. Automaatide realiseerimine.

L14. Automaatide realiseerimine,minimeerimine ja tükeldamine

Mälugasüsteemide disain

2I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

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ünteesja minimeerimine

Page 2: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

2

3I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Moore automaat

it st st+1 ot

0--- S11---

S1S2

10000

-00- S4-01- S5-1--

S2

S3

01000

--0- S7--1-

S3S6

01100

---- S4 S6 00100---- S5 S6 00110---1 S8---0

S6S9

00010

---1 S8---0

S7S9

00010

---- S8 S1 00001---1 S8---0

S9S9

00000

4I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Mealy automaat

it st st+1 ot

0--- S1 100001---

S1S2 10000

---- S2 S3 01000-00- S4 00100-01- S4 00110-10- S5 01100-11-

S3

S4 01100---- S4 S6 00010---- S5 S6 00010---1 S1 00001---0

S6S6 00000

Page 3: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

3

5I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Moore automaat - kodeerimine

it st st+1 ot

0--- S1 00001---

S1 0000S2 0011

10000

-00- S4 1100-01- S5 0101-1--

S2 0011

S3 0110

01000

--0- S7 1000--1-

S3 0110S6 0001

01100

---- S4 1100 S6 0001 00100---- S5 0101 S6 0001 00110---1 S8 0010---0

S6 0001S9 0100

00010

---1 S8 0010---0

S7 1000S9 0100

00010

---- S8 0010 S1 0000 00001---1 S8 0010---0

S9 0100S9 0100

00000

Siirete arvS1 - 2, S2 - 1,S3 - 1, S4 - 1,S5 - 1, S6 - 3,S7 - 1, S8 - 3,S9 - 3

D-trigerid

6I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Mealy automaat - kodeerimine

it st st+1 ot

0--- S1 000 100001---

S1 000S2 001 10000

---- S2 001 S3 111 01000-00- S4 101 00100-01- S4 101 00110-10- S5 110 01100-11-

S3 111

S4 101 01100---- S4 101 S6 100 00010---- S5 110 S6 100 00010---1 S1 000 00001---0

S6 100S6 100 00000

JK-trigerid

Naabrid:S1-S2, S2-S3, S3-S4, S3-S5, S4-S6, S5-S6, S6-S1

Page 4: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

4

7I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

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

8I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Mealy automaat - funktsioonid

JK-trigerid

jkt+1 - JK-trigerite sisendid

Kasutamata olekukoodid:010, 011

it st st+1 jkt+1 ot

0--- S1 000 0- 0- 0- 10000 1---

S1 000 S2 001 0- 0- 1- 10000

---- S2 001 S3 111 1- 1- -0 01000 -00- S4 101 -0 -1 -0 00100 -01- S4 101 -0 -1 -0 00110 -10- S5 110 -0 -0 -1 01100 -11-

S3 111

S4 101 -0 -1 -0 01100 ---- S4 101 S6 100 -0 0- -1 00010 ---- S5 110 S6 100 -0 -1 0- 00010 ---1 S1 000 -1 0- 0- 00001 ---0

S6 100 S6 100 -0 0- 0- 00000

Page 5: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

5

9I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Mealy automaat - funktsioonid

xxxx qqq | jkjkjk yyyyy1234 123 | 112233 12345---------+-------------0--- 000 | 0-0-0- 100001--- 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 | ------ -----

Siirde- ja väljundfunktsioon:

10I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Mealy automaat - funktsioonid

.i 7

.o 110---000 0-0-0-100001---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

espresso sisend:

.i 7

.o 11---1100 01000000001-01--1- 000000000101---0-- 00001000000-10--11 00000101100-11--11 00010001100----101 00000100010----0-0 00000010000-0---11 00010000100----0-1 10100001000-----10 00010000010.e

espresso väljund:

Page 6: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

6

11I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Mealy automaat - skeem

.i 7

.o 11---1100 01000000001-01--1- 000000000101---0-- 00001000000-10--11 00000101100-11--11 00010001100----101 00000100010----0-0 00000010000-0---11 00010000100----0-1 10100001000-----10 00010000010.e

espresso väljund: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’ )

12I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Moore automaat - funktsioonid

it st st+1 dt+1 ot

0--- S1 0000 00001---

S1 0000 S2 0011 0011

10000

-00- S4 1100 1100-01- S5 0101 0101-1--

S2 0011

S3 0110 0110

01000

--0- S7 1000 1000--1-

S3 0110 S6 0001 0001

01100

---- S4 1100 S6 0001 0001 00100 ---- S5 0101 S6 0001 0001 00110 ---1 S8 0010 0010---0

S6 0001 S9 0100 0100

00010

---1 S8 0010 0010---0

S7 1000 S9 0100 0100

00010

---- S8 0010 S1 0000 0000 00001 ---1 S8 0010 0010---0

S9 0100 S9 0100 0100

00000

D-trigerid

dt+1 - D-trigerite sisendid

Kasutamata olekukoodid:0111, 1001, 1010, 1011, 1101, 1110, 1111

Page 7: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

7

13I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Moore automaat - funktsioonid

xxxx qqqq | dddd1234 1234 | 1234----------+-----0--- 0000 | 00001--- 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

qqqq | yyyyy1234 | 12345-----+------0000 | 100000011 | 010000110 | 011001100 | 001000101 | 001100001 | 000101000 | 000100010 | 000010100 | 000000111 | -----1001 | -----1010 | -----1011 | -----1101 | -----1110 | -----1111 | -----

xxxx qqqq | dddd1234 1234 | 1234----------+--------1 1000 | 0010---0 1000 | 0100---- 0010 | 0000---1 0100 | 0010---0 0100 | 0100---- 0111 | -------- 1001 | -------- 1010 | -------- 1011 | -------- 1101 | -------- 1110 | -------- 1111 | ----

Väljundfunktsioon:

Siirdefunktsioon:

14I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

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-- 00011---0000 0011---1-001 0010---0-0-1 0100-----1-1 0001.e

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

Page 8: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

8

15I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Moore automaat - skeem

.i 4

.o 50000 10000-010 00001--01 0001010-- 00010--11 0100011-- 00100-1-1 00100-11- 01100.e

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’

16I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Mealy või Moore?

Mealy vähem olekuid -->

vähem mäluelemente

keerulisemadväljundfunktsioonid

puhverdamata väljundid --> asünkroonse tagasiside oht

Moore rohkem olekuid -->

rohkem mäluelemente

lihtsamadväljundfunktsioonid

“puhverdatud” väljundid

Juhtosa Operatsioonosa

operatsioonid

tingimused

Page 9: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

9

17I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Näidisprojekt #1 – valgusfoor

Valgusfoor kui digitaalsüsteem andmeosa + juhtosa

Kogutsükkel 30 sek., andurid puuduvad roheline 12 sek. punane

kollane 3 sek. kollane+punane

punane 12 sek. roheline

kollane+punane 3 sek. kollane

Andmeosa – loendur (0...14)

Juhtosa – automaat I={<12,≥12}, O={R1,Y1,G1,R2,Y2,G2,rst_cnt(?)}

18I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Valgusfoor – andmeosa

andmeosa

juhtosa

≥12rst_cnt

R1 Y1 G1

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”

R2 Y2 G2

http://www.itcollege.ee/~lrv/I207/tlc-datapath.txt

Page 10: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

10

19I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Valgusfoor – juhtosa

Esimene pool GSA-st

G1, R2

Y1, Y2, R2

≥12

≥12

+

+

it st st+1 ot

! ≥12 S1 ≥12

S1 S2

G1, R2

! ≥12 S3 ≥12

S2 S2

Y1, Y2, R2

! ≥12 S3 ≥12

S3 S4

R1, G2

! ≥12 S4 S1 ≥12 S4

Y1, R1, Y2

Automaadi tabel

Kodeering? 4 olekut → 2 bitti → 00, 01, 11 & 10 (naaberkodeering)

20I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Valgusfoor – tabel

it st st+1 ot

0 S1 1

S1 S2

001 100

0 S3 1

S2 S2

010 110

0 S3 1

S3 S4

100 001

0 S1 1

S4 S4

110 010

Automaadi tabel Kodeeritud S/V

it st st+1 ot

! ≥12 S1 ≥12

S1 S2

G1, R2

! ≥12 S3 ≥12

S2 S2

Y1, Y2, R2

! ≥12 S3 ≥12

S3 S4

R1, G2

! ≥12 S1 ≥12

S4 S4

Y1, R1, Y2

Page 11: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

11

21I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Valgusfoor – JK-trigerid

JK-trigerid ja naaberkodeering

it st st+1 j1k1 j2k2 ot

0 S1 [00] 0– 0– 1

S1 [00] S2 [01] 0– 1–

001 100

0 S3 [11] 1– –0 1

S2 [01] S2 [01] 0– –0

010 110

0 S3 [11] –0 –0 1

S3 [11] S4 [10] –0 –1

100 001

0 S1 [00] –1 0– 1

S4 [10] S4 [10] –0 0–

110 010

JK-trigerid

22I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Valgusfoor – JK-trigerid

# Siirded.i 3.o 4000 0-0-100 0-1-001 1--0101 0--0011 -0-0111 -0-1010 -10-110 -00-.e

# Tulemus0-1 10000-0 010010- 001011- 0001

# Väljundid.i 2.o 600 00110001 01011011 10000110 110010.e

# Tulemus00 00110001 01011011 10000110 110010

# Siirded

j1 = i’ q2k1 = i’ q2’j2 = i q1’k2 = i q1

# Väljundid

Y1 = Y2 = q1 xor q2R1 = q1R2 = q1’G1 = q1’ q2’G2 = q1 q2

Page 12: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

12

23I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Valgusfoor – D-trigerid

D-trigerid ja naaberkodeering

it st st+1 d1 d2 ot

0 S1 [00] 0 0 1

S1 [00] S2 [01] 0 1

001 100

0 S3 [11] 1 1 1

S2 [01] S2 [01] 0 1

010 110

0 S3 [11] 1 1 1

S3 [11] S4 [10] 1 0

100 001

0 S1 [00] 0 0 1

S4 [10] S4 [10] 1 0

110 010

D-trigerid

24I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Valgusfoor – D-trigerid

# Siirded.i 3.o 2000 00100 01001 11101 01011 11111 10010 00110 10.e

# Tulemus11- 1010- 010-1 11

# Väljundid.i 2.o 600 00110001 01011011 10000110 110010.e

# Tulemus00 00110001 01011011 10000110 110010

# Siirdedd1 = i q1 + i’ q2d2 = i q1’ + i’ q2

# Optimeerimist...i’ q2 = (i + q2’)’

k = i + q2’d1 = ((i q1)’ k)’d2 = ((i q1’)’ k)’

# VäljundidY1 = Y2 = q1 xor q2R1 = q1R2 = q1’G1 = q1’ q2’G2 = q1 q2

Page 13: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

13

25I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Valgusfoor – tulemus

http://www.itcollege.ee/~lrv/I207/tlc-applet.txt

26I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

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

Page 14: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

14

27I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

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!

0 2+ 2-

1+1-4+

0100 0000

0100

1000

0001

0000 1000

0001

0000

0000OK

0000

28I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Koodlukk – VHDL mudel

Vt. http://www.itcollege.ee/~lrv/I207/koodlukk.vhd ja http://www.itcollege.ee/~lrv/I207/test_koodlukk.vhd

Olemus, st. põhiosa

-- Siirde- ja valjundfunktsioonprocess ( nupud, current_state ) beginrelee <= '0';next_state <= s0;case current_state iswhen 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;

Page 15: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

15

29I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Koodlukk – simulatsioon

run 100 sec

Vt. http://www.itcollege.ee/~lrv/I207/koodlukk1.gif ja http://www.itcollege.ee/~lrv/I207/koodlukk2.gif

30I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Koodlukk – realisatsioon

Automaatne süntees Synopsys Design Compiler

Page 16: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

16

31I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Koodlukk – realisatsioon

nupud | st | st+ | out------+-----+-----+----0000 | s0 | s0 | 00100 | | s2p | 01--- | | s0 | 00-1- | | s0 | 00-01 | | s0 | 0------+-----+-----+----0100 | s2p | s2p | 00000 | | s2m | 01--- | | s0 | 00-1- | | s0 | 00-01 | | s0 | 0------+-----+-----+----0000 | s2m | s2m | 01000 | | s1p | 0-1-- | | s0 | 0-01- | | s0 | 0-001 | | s0 | 0------+-----+-----+----1000 | s1p | s1p | 00000 | | s1m | 0-1-- | | s0 | 0-01- | | s0 | 0-001 | | s0 | 0------+-----+-----+----0000 | s1m | s1m | 00001 | | s4p | 01--- | | s0 | 001-- | | s0 | 0001- | | s0 | 0------+-----+-----+----0001 | s4p | s4p | 00000 | | s0 | 11--- | | s0 | 001-- | | s0 | 0001- | | s0 | 0------+-----+-----+----

espresso-le

.i 7

.o 40000000 00000100000 00101---000 00000-1-000 00000-01000 00000100001 00100000001 01101---001 00000-1-001 00000-01001 00000000011 01101000011 0100-1--011 0000-01-011 0000-001011 00001000010 01000000010 1100-1--010 0000-01-010 0000-001010 00000000110 11000001110 10001---110 000001--110 0000001-110 00000001100 10000000100 00011---100 000001--100 0000001-100 0000----101 --------111 ----.e

nupud | st | st+ | out------+---------+---------+----0000 | s0 000 | s0 000 | 00100 | | s2p 001 | 01--- | | s0 000 | 00-1- | | s0 000 | 00-01 | | s0 000 | 0------+---------+---------+----0100 | s2p 001 | s2p 001 | 00000 | | s2m 011 | 01--- | | s0 000 | 00-1- | | s0 000 | 00-01 | | s0 000 | 0------+---------+---------+----0000 | s2m 011 | s2m 011 | 01000 | | s1p 010 | 0-1-- | | s0 000 | 0-01- | | s0 000 | 0-001 | | s0 000 | 0------+---------+---------+----1000 | s1p 010 | s1p 010 | 00000 | | s1m 110 | 0-1-- | | s0 000 | 0-01- | | s0 000 | 0-001 | | s0 000 | 0------+---------+---------+----0000 | s1m 110 | s1m 110 | 00001 | | s4p 100 | 01--- | | s0 000 | 001-- | | s0 000 | 0001- | | s0 000 | 0------+---------+---------+----0001 | s4p 100 | s4p 100 | 00000 | | s0 000 | 11--- | | s0 000 | 001-- | | s0 000 | 0001- | | s0 000 | 0------+---------+---------+----

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'

32I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Vt. http://www.itcollege.ee/~lrv/I207/koodlukk.txt

Simulaator – http://www.falstad.com/circuit/

Page 17: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

17

33I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Automaadi minimeerimine

Olekute arvu minimeerimine

Ekvivalentsed olekud – võrdsetesisendjadade korral väljundjadad kattuvad

Intuitiivne lähenemine Kaks olekut on ekvivalentsed,

kui nende siirded on identsed

Ei pruugi alati töötada!

34I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Automaadi minimeerimine

Ekvivalentsed olekud – võrdsete sisendjadadekorral väljundjadad kattuvad

Kaks olekut on ekvivalentsed siis ja ainult siis,kui kõikide siirete korral on järgmised olekud jagenereeritavad väljundid ekvivalentsed

Page 18: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

18

35I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Automaadi minimeerimine

it st st+1 ot

!x1 S1 S1 y1 x1 S2 y1 1 S2 S3 y2

!x2 & !x3 S3 S4 y3 !x2 & x3 S4 y3, y4 x2 & !x3 S5 y2, y3 x2 & x3 S4 y2, y3

1 S4 S6 y4 1 S5 S6 y4 x4 S6 S1 y5 !x4 S6 0

it st st+1 ot

!x1 S1 S1 y1 x1 S2

!x2 & !x3 S2 S4 y2 !x2 & x3 S5

x2 S3 !x3 S3 S7 y2, y3 x3 S6 1 S4 S6 y3 1 S5 S6 y3, y4 x4 S6 S8 y4 !x4 S9 x4 S7 S8 y4 !x4 S9 1 S8 S1 y5 x4 S9 S8 0 !x4 S9

36I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Automaatide dekompositsioon

Kaks (või enam) automaatitöötavad ühtses süsteemis

Sisendid: I->I1xI2x...xIN Väljundid: O1xO2x...xON->O

Lisasisendid: S1xS2x...xSN->Iix

Mida vähem lisafunktsioone ja/võimida väiksemad nad on, seda parem

Page 19: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

19

37I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

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õneolemasoleva olekuga

lisanduvad “start-stop” signaalid

Võimsustarbe vähendamine –ainult töötav komponent tarbib energiat

38I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Automaatide dekompositsioon

Vaheldumisi töötavad automaadid

Page 20: Mäluga süsteemide disain - enos.itcollege.eeenos.itcollege.ee/~lrv/I207/fsm-synt2.pdf · Mealy automaat it st st+1 ot 0--- S1 10000 1---S1 S2 10000---- S2 S3 01000-00- S4 00100-01-

20

39I207 - Digitaalloogika ja -süsteemid - L14© Peeter Ellervee

Automaatide dekompositsioon

Vaheldumisi töötavad automaadidLähteautomaat Komponent A1 Komponent A2