Inhoud

42
Digitale elektronica --1-- Inhoud Synthese van sequentiële netwerken incrementele gedragsbeschrijvingen toestandsminimalisatie toestandsassignatie

description

Inhoud. Synthese van sequentiële netwerken incrementele gedragsbeschrijvingen toestandsminimalisatie toestandsassignatie. Het syntheseprobleem. Opgave: gegeven het gewenst sequentieel I/O-gedrag, leid een circuit af dat dit gedrag correct realiseert, en dit op een optimale manier - PowerPoint PPT Presentation

Transcript of Inhoud

Digitale elektronica --1--

Inhoud Inhoud

Synthese van sequentiële netwerken – incrementele gedragsbeschrijvingen– toestandsminimalisatie– toestandsassignatie

Digitale elektronica --2--

Het syntheseprobleemHet syntheseprobleem

Opgave:• gegeven het gewenst sequentieel I/O-gedrag,

leid een circuit af dat dit gedrag correct realiseert, en dit op een optimale manier

• Deelproblemen:– hoe gewenst gedrag specificeren– wat zijn de optimaliteitscriteria?– wat zijn de synthesestappen en de optimalisaties?

Digitale elektronica --3--

Incrementele gedragsbeschrijvingen

Incrementele gedragsbeschrijvingen

Sequentieel gedrag is relatie tussen ingangs- en uitgangssequenties– Niet rechtstreeks te vertalen naar structuur

van circuit– Relatie naar circuit wel duidelijk vanuit een

incrementeel gedragsmodel: ttt of transitiediagram

Doel: zo snel mogelijk komen tot incrementeel model uitgaande van initiële gedragsbeschrijving

Digitale elektronica --4--

Incrementele gedragsbeschrijvingen

Incrementele gedragsbeschrijvingen

Methode– vertaal opgelegde I/O-sequenties naar

‘algoritme’ in goto-stijl, dat de correcte outputs berekent

– elke plaats in algoritme stelt informatie voor over voorbije inputs

– doel: hou zo weinig mogelijk informatie bij om outputs correct te kunnen berekenen

– gedrag is realiseerbaar als eindige automaat als procedure een eindig algoritme oplevert

Digitale elektronica --5--

Incrementele gedragsbeschrijvingen

voorbeeld 1

Incrementele gedragsbeschrijvingen

voorbeeld 1Opgave

– realiseer synchroon sequentieel circuit dat alle optredens van 11010 detecteert in een binaire sequentie. Input =X, output=Y

Analyse– synchroon = aanwezigheid van kloksignaal,

inputsymbolen aangelegd één per klokperiode

– timing van output: twee mogelijkheden

Digitale elektronica --6--

Incrementele gedragsbeschrijvingen

voorbeeld 1

Incrementele gedragsbeschrijvingen

voorbeeld 1Algoritme

Stap Kennis Y X=0 X=1

1 [begin] 0 2 3

2 [0 gezien] 0 4 5

3 [1 gezien] 0

4 [00 gezien] 0

5 [01 gezien] 0

Digitale elektronica --7--

Incrementele gedragsbeschrijvingen

voorbeeld 1

Incrementele gedragsbeschrijvingen

voorbeeld 1Algoritme

Stap Kennis Y X=0 X=1

1 [begin] 0 2 3

2 […(11+1101)’0 gezien] 0 2 3

3 […(1+110)’1 gezien] 0 2 4

4 [..11 gezien] 0 5 4

5 [..110 gezien] 0

Digitale elektronica --8--

Incrementele gedragsbeschrijvingen

voorbeeld 1

Incrementele gedragsbeschrijvingen

voorbeeld 1Algoritme

Stap Kennis Y X=0 X=1

1 [begin] 0 2 3

2 […(11+1101)’0 gezien] 0 2 3

3 […(1+110)’1 gezien] 0 2 4

4 [..11 gezien] 0 5 4

5 [..110 gezien] 0 2 6

nn-1 [..1101 gezien] 0 nn 4

nn [..11010 gezien] 1 2 3

Digitale elektronica --9--

Incrementele gedragsbeschrijvingen

voorbeeld 2

Incrementele gedragsbeschrijvingen

voorbeeld 2Opgave

– realiseer asynchroon sequentieel circuit dat de waarde op D opslaat en naar buiten brengt bij een stijgflank op C

Analyse– asynchroon = afwezigheid van kloksignaal,

inputveranderingen aangelegd volgens SIC en fundamentele mode

C

DQ

Digitale elektronica --10--

Incrementele gedragsbeschrijvingen

voorbeeld 2

Incrementele gedragsbeschrijvingen

voorbeeld 2Algoritme

D=0 D=1Stap Kennis Q

C=0 C=1 C=1 C=0

1 [begin] 0 1 2 4

2 [C ,D=0 gezien] 0 3 2 5

3 [C ,D=0 gezien] 0 3 2 3

4 [C=0,D gezien] 0 7 6 4

5 [C ,D gezien] 0 8 5 9

Digitale elektronica --11--

Incrementele gedragsbeschrijvingen

voorbeeld 2

Incrementele gedragsbeschrijvingen

voorbeeld 2Algoritme= primitieve ttt

D=0 D=1Stap Kennis Q

C=0 C=1 C=1 C=0

1 [begin] 0 1 2 4

2 [C ,D=0 gezien] 0 3 2 5

3 [C ,D=0 gezien] 0 3 2 4

4 [C=0,D gezien] 0 3 6 4

5 [C ,D gezien] 0 2 5 4

6 [D ,C gezien] 1 7 6 8

7 [D=1, C , D gezien] 1 9 7 6

8 [D=1, C gezien] 1 9 6 8

Digitale elektronica --12--

Incrementele gedragsbeschrijvingen

voorbeeld 3

Incrementele gedragsbeschrijvingen

voorbeeld 3Opgave

– realiseer synchroon sequentieel circuit dat Y=1 genereert telkens een priem aantal maal X=1 is geweest

Analyse– synchroon = aanwezigheid van kloksignaal,

inputsymbolen aangelegd één per klokperiode

C

XY 1 2 2 3 3 4 5 6 7

Digitale elektronica --13--

Incrementele gedragsbeschrijvingen

voorbeeld 3

Incrementele gedragsbeschrijvingen

voorbeeld 3Algoritme ... termineert niet!

gedrag niet realiseerbaar met eindige automaat

Stap Kennis Y X=0 X=1

0 [0 maal 1 gezien] 0 0 1

1 [1 maal 1 gezien] 1 1 2

2 [2 maal 1 gezien] 1 2 3

3 [3 maal 1 gezien] 1 3 4

4 [4 maal 1 gezien] 0 4 5

Digitale elektronica --14--

Toestandsminimalisatiedoelstelling

Toestandsminimalisatiedoelstelling

Waarom?– Meestal bevat primitieve ttt te veel rijen en

kan men een ttt vinden met minder rijen, die zelfde gedrag heeft

– Wanneer mag men een rij uit een tabel schrappen?

Toestandsequivalentie

Digitale elektronica --15--

Toestandsminimalisatieequivalentie

Toestandsminimalisatieequivalentie

Definities– (ttt A,a) (dit is ttt A in toestand a) is equivalent

met (ttt B, b) als beide onder alle inputsequenties precies dezelfde outputs genereren vanuit resp. a en b als begintoestand

– toestanden a en b zijn equivalent, a~b, in dezelfde ttt a.s.a (ttt,a) ~ (ttt,b)

– als a equivalent is met b, mag men de rij die correspondeert met a schrappen, als alle referenties naar a vervangen worden door referenties naar b

Digitale elektronica --16--

Toestandsminimalisatieequivalentie

Toestandsminimalisatieequivalentie

Berekening– verfijn de definitie van equivalentie:

– op basis hiervan kan men een effectieve procedure uitwerken, aangezien S eindig is

– twee toestanden zijn niet equivalent als zij verschillende outputs generen, of als zij leiden naar een niet-equivalent koppel

~ a.s.a x X: ( , ) ( , )

( , ) ~ ( , )u u

S S

a b f a x f b x

f a x f b x

Digitale elektronica --17--

Toestandsminimalisatieequivalentie

Toestandsminimalisatieequivalentie

Voorbeeld 1: tabel volledig bepaald

0 1

0

0

0

0

0

0

1

X X Y

A B C

B B C

C B D

D E D

E B F

F G D

G B C

, ,

, ,,

, ,

,, , ,

,

, , ,, ,

, , ,

B

C C D C D

B E B ED B E

C D C D

B EE C F C F D F

D F

B G B G B GF B G E G

C D C D D F

G

A B C D E F

( )

( )

( )

( )

( )

( )

AB

C

D

E

F

G

Digitale elektronica --18--

Toestandsminimalisatiereductie

Toestandsminimalisatiereductie

Voorbeeld 1: tabel volledig bepaald

0 1

0

0

0

0

0

1

X X Y

A C

C D

D E D

E F

F G

A

D

A

G A C

A

~A B

Digitale elektronica --19--

Toestandsminimalisatieequivalentie

Toestandsminimalisatieequivalentie

Voorbeeld 2: tabel NIET volledig bepaald

00 01 11 10

0

0

0

0

0

1

0

1

1

1

y

A A B C

B D B E

C A F C

D D B G

E B E G

F H F I

G D F G

H J H F

I J F I

J J B I

,

,

,

,,

,

,,

,

, , , ,

, ,

B A D

A DC

E F

A DD C G

C G

E FE C G

C G

F

G A D E F A D E F

H

I

J H B H B

A B C D E F G H I

Digitale elektronica --20--

Toestandsminimalisatiereductie

Toestandsminimalisatiereductie

Is geen equivalentierelatie meer!

00 01 11 10

0

0

0

0

0

1

0

1

1

1

y

A A B C

B D B E

C A F C

D D B G

E B E G

F H F I

G D F G

H J H F

I J F I

J J B I

( , , , , )

( , )

( , )

( , )

( , )

( )

( )

AB AC AD AE AG

BD BE

CD CG

DE DG

FH FI

HI

I J

Digitale elektronica --21--

Toestandsminimalisatiereductie

Toestandsminimalisatiereductie

Zoeken van maximaal compatibele klassen

( , , , , )

( , )

( , )

( , )

( , )

( )

( )

AB AC AD AE AG

BD BE

CD CG

DE DG

FH FI

HI

I J

AB

C

D

EF

G

H

I

J

( )

( )

( )

( )

ABDE

ACDG

FHI

I J

Digitale elektronica --22--

Toestandsminimalisatiereductie

Toestandsminimalisatiereductie

Zoeken van minimale stabiele bedekking

– stabiel: opvolgerverzamelingen steeds volledig in een originele verzameling– bedekking: alle originele toestanden aanwezig– minimaal: met minimum aantal blokken

Digitale elektronica --23--

Toestandsminimalisatiereductie

Toestandsminimalisatiereductie

Zoeken van minimale stabiele bedekking

( )

Opzoeken

priemcompatibelen

( ) ( , )

( ) ( , )

( ) ()

(

( )

( ) (

()

)

)

AB AD

ABDE AD CG

ACDG AD CG

FHI

I J

BDE

00 01 11 10

0

0

0

0

0

1

0

1

1

1

y

A A B C

B D B E

C A F C

D D B G

E B E G

F H F I

G D F G

H J H F

I J F I

J J B I

Minimale bedekking:

( ) ( , )

( ) ( , )

( ) ()

( ) ()

ABDE AD CG

ACDG AD CG

FHI

I J

Digitale elektronica --24--

Toestandsminimalisatiereductie

Toestandsminimalisatiereductie

Zoeken van minimale stabiele bedekking

00 01 11 10

0

0

0

0

0

1

0

1

1

1

y

A A B C

B D B E

C A F C

D D B G

E B E G

F H F I

G D F G

H J H F

I J F I

J J B I

Minimale bedekking:

( )

( )

( )

( )

a ABDE

b ACDG

c FHI

d I J

00 01 11 10

0

0

1

1

y

a a a a b

b b a c b

c d c c c

d d a c d

Digitale elektronica --25--

ToestandsassignatieToestandsassignatie

Doelstelling:

• vastleggen van minimum aantal toestandsvariabelen (cellen, lussen)

• optimale afbeelding van toestanden op bitpatronen:– voor synchrone automaten: economie– voor asynchrone automaten: correctheid, dan

economie

Digitale elektronica --26--

Toestandsassignatiesynchrone automaten

Toestandsassignatiesynchrone automaten

Aantal mogelijkheden:

2

Minimum aantal bits:

log

Aantal mogelijkheden:

2 (2 )!!

(2 )!

Aantal wezenlijk verschillende mogelijkheden:

(2 1)!

2 ! (2 )! !

n n

n

n

D n n

n r

N rr r

NN

n r n

Digitale elektronica --27--

Toestandsassignatiesynchrone automaten: afstandsmethode

Toestandsassignatiesynchrone automaten: afstandsmethode

Concept:– probeer assignatie zo te doen dat twee-niveauminimalisatie van functies zo eenvoudig mogelijk wordt– dit kan door eentjes in karnaugh-kaarten te clusteren– aantal heuristische regels die “aantrekkingskracht” tussen toestanden voorstellen

Digitale elektronica --28--

Toestandsassignatiesynchrone automaten: afstandsmethode

Toestandsassignatiesynchrone automaten: afstandsmethode

Regels:

1 2 1

1 2

naburig met als

1 ( ) {0,1} : ( , ) ( , )

2 ( 1) {0,1} : ( , ) ( , )

( , ) ( , )

3 ( 1) , {0,1} met , naburig:

( , ) ( , )

4 ( 1) {0,1} : ( , ) ( ,

i

i

i

i

nS S S

nS S

S Sn

S Sn

u uS

p q

w n X f p X f q X

w X f p X p f q X q

f p X q f q X p

w X X X X

f r X p f r X q

w n X f p X f q X )

Digitale elektronica --29--

Toestandsassignatiesynchrone automaten: afstandsmethode

Toestandsassignatiesynchrone automaten: afstandsmethode

1 2 1 2

1 2

( , , , , , , , , , )

naburig met als

1 ( 3) {0,1} : ( , ) ( , )

2 ( 1) {0,1} : ( , ) ( , )

( , ) ( , )

()

3 ( 1) , {0,1} met , naburig:

( , )

(

( , )

i

i

i

nS S

nS S

S S

n

S S

AC AE AG CE CG EG AG

p q

w X f p X f q X

w X f p X p f q X q

f p X q f q X p

w X X X X

f r X p f r

CD

X

CF D

q

F

4 ( 2

, , , , , )

( , , , , , ,

) {0,1}

, , , )

: ( , ) ( , )inu uw X f p X

AC AD ED AF GD AC

AC AD AE AF C

f q

D CE CF DE D

X

F EF

0 1

0

0

0

0

0

1

X X Y

A C

C D

D E D

E F

F G

A

D

A

G A C

A

Digitale elektronica --30--

Toestandsassignatiesynchrone automaten: afstandsmethode

Toestandsassignatiesynchrone automaten: afstandsmethode

A

C

D

E

F

G6 5

7

95

77

73

57

13

4

DF7

000

001

010

100

110

111

C

A

F

D

G

E

Digitale elektronica --31--

Toestandsassignatiesynchrone automaten: afstandsmethode

Toestandsassignatiesynchrone automaten: afstandsmethode

0 1

001 001 000 0

000 001 100 0

100 111 100 0

111 001 010 0

010 110 100 0

110 001 000 1

X X Y

0000

0001

0011

0010

0100

0101

0111

0110

1100

1101

1111

1110

1000

1001

1011

1010

X

S1

S2

S3

0000

0001

0011

0010

0100

0101

0111

0110

1100

1101

1111

1110

1000

1001

1011

1010

X

S1

S2

S3

0000

0001

0011

0010

0100

0101

0111

0110

1100

1101

1111

1110

1000

1001

1011

1010

X

S1

S2

S3

0000

0001

0011

0010

0100

0101

0111

0110

1100

1101

1111

1110

1000

1001

1011

1010

X

S1

S2

S3

d

d

d

d

S1 S2

S3 Y

000

001

010

100

110

111

C

A

F

D

G

E

d

d

d

d

d

d

d

d

d

d

d

d

Digitale elektronica --32--

Toestandsassignatiesynchrone automaten: eindresultaat

Toestandsassignatiesynchrone automaten: eindresultaat

0 1

001 001 000 0

000 001 100 0

100 111 100 0

111 001 010 0

010 110 100 0

110 001 000 1

X X Y

1

2

3

X S2' S3' + X' S1 S2' + S1' S2

X' S1 S2' + X' S1' S2 + X S2 S3

X' S2' + X' S1

S1 S2 S3'

s

s

s

Y

Digitale elektronica --33--

Toestandsassignatiesynchrone automaten: partitiemethode

Toestandsassignatiesynchrone automaten: partitiemethode

Methode steunt op concept stabiele partitie• is partitie van toestandsruimte

• voor elke input X wordt elk blok afgebeeld door fs op een verzameling volledig begrepen in een blok:

1 2( , , , ) met

, :

, {0,1} : ( , )I

k

i j

ii

nS i j

B B B

i j B B

B S

i X j f X B B

Digitale elektronica --34--

Toestandsassignatiesynchrone automaten: partitiemethode

Toestandsassignatiesynchrone automaten: partitiemethode

Essentie van stabiele partitie:

• Wanneer men een stabiele partitie heeft met k blokken kan men j = log2 k bits (S1,...,Sj) gebruiken om het blok aan te geven

• de waarde van fS op deze bits hangt enkel af van de huidige waarde van deze bits (en de input)

• de overige bits (Sj+1,...,Sj+m) dienen om in elk blok de toestand uniek te identificeren; m = max log2 |Bi|

Digitale elektronica --35--

Toestandsassignatieeigenschappen van stabiele partities

Toestandsassignatieeigenschappen van stabiele partities

Beide operaties bewaren stabiliteit: stabiele partities vormen tralie

• Minimaal element: alle singletons• Maximaal element: hele toestandsruimteTralie kan gegenereerd worden uit atomen

1 2 1 2

1 2

1 2 1 2

1 2

Twee operaties: lub en glb

lub( , ) ( ) transitieve sluiting van paarsgewijze

unies van blokken uit en

glb( , ) ( ) paarsgewijze doorsneden van

blokken uit en

Digitale elektronica --36--

Toestandsassignatiezoeken naar stabiele partities

Toestandsassignatiezoeken naar stabiele partities

Tralie van stabiele partities kan berekend worden door

• alle atomen op te sporen. Atomen zijn kleinste niet-triviale elementen.

• Atomen kunnen gevonden worden door voor elk koppel toestanden de minimale stabiele partitie te zoeken die dit koppel bevat

• alle andere elementen te vormen door herhaalde combinaties van gekende elementen: leidt tot dekpunt

Digitale elektronica --37--

Toestandsassignatiezoeken naar stabiele partities: voorbeeld

Toestandsassignatiezoeken naar stabiele partities: voorbeeld

0 1

0

0

0

0

0

1

X X Y

A A C

C A D

D E D

E A F

F G D

G A C

EG: (AEG)(CF)(D)

A,CC,D

A,E

C,F

A,D

A,G

A,F

C,G

C,E

D,F

D,G

E,F

E,G

F,GD,E

Digitale elektronica --38--

Toestandsassignatiezoeken naar stabiele partities: voorbeeld

Toestandsassignatiezoeken naar stabiele partities: voorbeeld

0 1

0

0

0

0

0

1

X X Y

A A C

C A D

D E D

E A F

F G D

G A C

EG: (AEG)(CF)(D)

DF: (AEG)(CDF)

A,CC,D

A,E

C,F

A,D

A,G

A,F

C,G

C,E

D,F

D,G

E,F

E,G

F,GD,E

Digitale elektronica --39--

Toestandsassignatiezoeken naar stabiele partities: voorbeeld

Toestandsassignatiezoeken naar stabiele partities: voorbeeld

0 1

0

0

0

0

0

1

X X Y

A A C

C A D

D E D

E A F

F G D

G A C

EG: (AEG)(CF)(D)

DF: (AEG)(CDF)CG: (ACDEFG)

A,CC,D

A,E

C,F

A,D

A,G

A,F

C,G

C,E

D,F

D,G

E,F

E,G

F,GD,E

Digitale elektronica --40--

Toestandsassignatieencoderen met stabiele partities: voorbeeld

Toestandsassignatieencoderen met stabiele partities: voorbeeld

0 1

0

0

0

0

0

1

X X Y

A A C

C A D

D E D

E A F

F G D

G A C

(AEG)(CF)(D)

(AEG)(CDF)

(ACDEFG)

(AG)(CF)(D)(E)

(A)(C)(D)(E)(F)(G)

bit 1

bit 2

bit 3

1 2 3

0 0 0

1 0 0

1 1 1

0 1 0

1 0 1

0 0 1

S S S

A

C

D

E

F

G

Digitale elektronica --41--

Toestandsassignatieencoderen met stabiele partities: voorbeeld

Toestandsassignatieencoderen met stabiele partities: voorbeeld

(AEG)(CF)(D)

(AEG)(CDF)

(ACDEFG)

(AG)(CF)(D)(E)

(A)(C)(D)(E)(F)(G)

bit 1

bit 2

bit 3

1 2 3

0 0 0

1 0 0

1 1 1

0 1 0

1 0 1

0 0 1

S S S

A

C

D

E

F

G

0 1

000 000 100 0

100 000 111 0

111 010 111 0

010 000 101 0

101 001 111 0

001 000 100 1

X X Y

1

2 1 2

3 1 2 3

1

1 3

1 2

'

'

S

s X

s S S

s S S S S X

X

S X

Y S S

Digitale elektronica --42--

Toestandsassignatieencoderen met stabiele partities: resultaat

Toestandsassignatieencoderen met stabiele partities: resultaat

1 2 3

0 0 0

1 0 0

1 1 1

0 1 0

1 0 1

0 0 1

S S S

A

C

D

E

F

G

0 1

000 000 100 0

100 000 111 0

111 010 111 0

010 000 101 0

101 001 111 0

001 000 100 1

X X Y

1

2 1 2

3 1 2 3

1

1 3

1 2

'

'

S

s X

s S S

s S S S S X

X

S X

Y S S