calcolatori elettronici parte iii - webalice.it sequenziali1.pdf · calcolatori elettronici parte...

70
Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone Esempi: Flip Flop Esempi: Flip Flop Macchina a stati ridotti Progettazione Macchine sincrone Registri

Upload: vuongkhuong

Post on 15-Feb-2019

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Calcolatori ElettroniciParte III

Macchine Sequenziali: definizioni fondamentaliMacchine Asincrone e SincroneEsempi: Flip Flop Esempi: Flip FlopMacchina a stati ridottiProgettazione Macchine sincrone Registri

Page 2: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

.. Dalle MC alle MSConcetto di Stato

Q= insieme degli StatiI= insieme degli ingressiU= insieme delle Uscite

QxI

τ

q’=τ(q,i)

Q

Page 3: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

.. Dalle MC alle MS (2)M={Q,I,U,τ,ω}=macchina sequenziale

Dτ=Dω=QxI = Macchine Completamente specificate

QxIω

u=ω(q,i)

U

Dω Modello di MealyUscita f(stato, ing)

Page 4: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

… Mealy and Moore

Mealy: u=ω(q,i)Moore: u=ω’(q), q∈Q’⊆Q

Modelli equivalentiMEALY: la sequenza di uscita è contemporanea alla sequenza di ingressoMOORE: l’uscita varia quando la macchina assume lo stato successivo

Page 5: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

EsempioTabella di Huffman

q1q3

q2

?

I2/u1I1/-

I1/u1I1/u2

I2/u1

Q2/u2Q1/u1Q3

-/-Q1/-Q2

Q1/u1-/u2Q1

I2I1

τ ωDiagrammi stati

Page 6: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Modello a Blocchi (1)Interpretazione del modello fondamentale

{ }[ ][ ])(),()(

)(),()(,......,, Spazio dei tempi

Page 7: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Modello a Blocchi (2)

Una macchina macchina sequenzialesequenzialepuò essere realizzata con una macchina combinatoriaed un elemento di ritardo

M Cω,τ

i(tk) u(tk)

q’(tk)q(tk)

Page 8: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Osservazione[ ]

[ ][ ]

),(),(

))(),....(),((....)(,)(),()(),()(

01

0

0011

kk

kk

kkkk

kkk

JqqJqu

tititqtititqtitqtu

δλ

λτωω

==

====

+

−−

…. Se la sequenza Jk è applicabile allo stato iniziale , ovvero se è definita una uscita finale

Page 9: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchine AsincroneDef. Uno stato q si dice stabile per l’ingresso i se τ(q,i)=qDef. Una macchina si dice asincrona se, ∀i, ∀qi1, la sequenzaτ(qi1, i)= qi2

τ(qi2, i)= qi3

…..τ(qin, i)= qin

termina in uno stato stabile

Page 10: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchina AsincronaUna Macchina con sequenza di ingressi a livelli Funziona solo se è asincrona

QjQj

QjQ”j

Q”iQi’

Q’iQiQi

I2I1 •Una transizione Orizzontale•K transizioni verticaliCICLO LUNGO KCICLO LUNGO K(k>1)

gli stati instabiliConducono la macchinaVerso uno stato stabile

Page 11: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

tempificazione

M Cω,τ

∆s

i(tk) u(tk)

q’(tk)q(tk)

Εc

∆s= ∆c+ ∆l∆c=ritardo combinatorio puro∆l=ritardo sulle linee di reaz.Ec=ritardo inerziale della MC

d > k(d > k(∆∆ss ++EEcc))

Page 12: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchine SincroneUna macchina è sincrona se non è asincrona.

… in altre parole, in una macchina asincrona è la variazione di un segnale preente ad uno degli ingressi che può determinare l’evoluzine della macchina imponendo un cambiamento di stato …… in una macchina sincrona, le variazioni degli ingressi dati vengono campionate dal segnale presente sull’ingresso di sincronismo, e solo quando tale segnale assume un particolare valore, la macchina può evolvere ….

Page 13: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Esempio: Flip Flop RS fondamentale

S0-S1S1S1

S0-S1S0S010110100

RSS

FFRS

R

SF

F’

S0 S101

10

00,10

00,01

-111

-1010110100

RSFp

0=+=

RSRFpSF

Page 14: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Analisi del FFRS

''

XRXXSX

↓=

↓=

00000011

0000010101

1000011100

1000001010

10110100X’XRS

00

Page 15: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

tempificazione

D > 2 R, K = 2… ma che succede se cio’ non si verifica? …

00000011

0000010101

1000011100

1000001010

10110100X’XRS

00

oscillazione

Page 16: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Sintesi di FF RS fondamentale

S0-S1S1S1

S0-S1S0S010110100RS

S Per evitare un alea multipla, aggiungo uno stato neutro Sn per passare da un set 01 ad un reset 10

S0 Sn S1

?

01

10

01

10

00

00,1000,01

Page 17: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Sintesi di FF RS (2)

-001010

----11

00-010101

10-01-00

10110100X’XRS

10

xSxSx ↓== .'''. xRxRx ↓==

Sn=00S1=01S0=10

…. Ritrovo il circuitoa NOR incrociate

Page 18: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Esempio: Flip Flop T sincrono

S0 S11

10

0

T

11

1010Fp

TFFTF pp +=

TFRFTS

TFFFTFFTFFTF

pp

ppppppp

==

++=++=

e ; posto

)(

RTFTF pp ==+Ricavo l’eq. del FF RS

T.. Toogle, Trigger

Page 19: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Esempio: Flip Flop T asincronoA commutazione sul fronte

Di salitaDi discesa

0

1

1

0

U

1

1

0

0

u

S3S0S3

S3S2S2

S1S2S1

S1S0S0

10Ts

T

1 1

0 0F

S0 S1 S2 S3

CONTATORE MOD 2!!

Page 20: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Alee essenziali

Dati i ed i’:τ(q,i)=q

τ(q,i’)=q’

τ(q’,i)=q’’

τ(q’’,i’)=q’’’

Se q’’’≠q’ si dice che la macchina contiene un alea essenziale.

Page 21: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

… intuitivamenteMacchina composta da “sezioni” differenti“Esiste sempre una combinazione di valori dei ritardi delle macchine componenti tale che, se è verificata la rel. prec.,la macchina termina nello stato q’’’ “(Unger)L’alea essenziale è legata alla struttura della tabella degli stati e NON E’ quindi eliminabile tramite adeguato progetto delle RC

Si può rendere sufficientemente elevati i ritardi sulla linea di reazione per evitare alee di regime

∆l>∆c+Ec

Opp ∆l =0

Page 22: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Equivalenza tra statiPer Macchine Completamente Specificate

… due stati q e q’ di M e M’ sono equivalenti se per ogni sequenza di ingresso applicata a tali stati, le uscite finali sono uguali

JJqJqMqMq ∀=⇔≡ ),'(),()'(')( λλ

Page 23: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Equivalenza tra macchineDue macchine M e M’ sono equivalentise per ciascun stato di M esiste almento uno stato di M’ ad esso equivalente e viceversa

≡∈∃∈∀≡∈∃∈∀

⇔≡qqMqMqqqMqMq

MM': ''

':'' '

Page 24: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

CompatibilitàMacchine non compl. Specificate

Non ha senso applicare a ciascun stato tutte le possibili sequenze di ingresso!

IncompatibilitàDue stati q e q1 sono incompatibili se esiste almeno una sequenza di ingresso applicabile sia a q che a q1 per la quale le uscite sono differenti

),(),(:~ 11 JqJqJqq λλ ≠∃⇔Due stati sono Compatibili se … NON SONO incopatibili!

Page 25: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Compatibilità (0ss)

1) La compatibilità gode diProprietà riflessivaProprietà simmetrica

NON VALE LA PROPRIETA’ TRANSITIVA

313221 ~,~,~ qqqqqq

2) q1 e q2 sono compatibili se:Sono compatibili per sequenze di lunghezza 1 (se le uscite sono definite)Gli stati seguenti sono compatibili

Page 26: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

… proprietà 2) è alla base di algoritmi per individuare la compatibilità tra stati.Si può dimostrare la (2) applicando ricorsivamente la definizione a stati correnti e agli stati seguenti

Q1 Q'1 Q'’1 Q'’’1I1/u1

Q2 Q’2 Q”2 Q’’’2I1/u1

J[1] J[1] J[1]

Stessa uscitaStato prossimoCompatibile …

Page 27: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Inclusione in uno statoUna macchina M’ in q’ include una macchina M in q se qualsiasi sequenza di ingresso applicabile ad M in q lo è anche per M’ in q’ e le uscite finali sono uguali

q(M) a eapplicabil ),'(),()()'('

JJqJqMqMq

∀=⇔⊇ λλ

Page 28: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Inclusione tra macchineUna macchina M’ include una macchina M se per qualsiasi stato q di M ne esiste uno q’ di M’ tale che M’ in q’ include M in q

qqMqMqMM ⊇∈∃∈∀⇔⊇ ':'''… due macchine M ed M’ sono dunque equivalenti se M include M’ ed M’ include M

Page 29: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchina a stati ridottiMinimizzare una macchina M significa trovare una M’ con un numero ridotto di stati tale che

M’ ⊇ M (macchine n.c.s) opp M’≡M (c.s.)Def. Un insieme di stati è compatibile se tutti gli stati sono compatibili tra loroUn insieme compatibile è massimo se non è contenuto in nessun altro insieme compatibileEs:

QA=(q1,q2,q4) QB (q1,q2,q4,q5)

Page 30: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

… minimizzazioneData una macchina M(Q,I,U,ω,τ), sia Fla famiglia delle classi di compatibilità massima di M,

F(S1,S2,….Sk) Si compat. Max

F è “copertura” di Q, Q=∪i Si

…. Se M è c.s, F è una partizione, ovveroSi ∩ Sj = ∅ ∀i≠j

Page 31: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

ovvero

S1S1

S2S2 QQ

S3S3

partizionecopertura

Page 32: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Proprietà di F

definita è se ,),( kkiki uSquiq ∈∀=ω1)

Copertura chiusa ),(, kiki SsiqSq ∈=∈∀ τ2)

Data una macchina M(Q,I,U,ω,τ), la macchina M’(F,I,U,ω’,τ’) è una macchina a stati ridotti che include M

ω’ e τ’ definite con 1) e 2)…. Anche se occorre verificare che il numero di stati sia realmente ridotto ……

Page 33: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Metodo ricorsivoMacchina c.s.

… riflettendo sulle uscite ….

I1 (1,3,5,7)(2,4,6)I2 (1,3,5,6,7)(2,4)… 6 appartiene a 2

insieme diversi …(1,3,5,7)(2,4)(6)

Q5/u2Q5/u1Q7Q2/u2Q1/u2Q6Q3/u2Q4/u1Q5Q3/u1Q2/u2Q4Q5/u2Q1/u1Q3Q7/u1Q4/u2Q2Q7/u2Q2/u1Q1

I2I1

Page 34: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Metodo ricorsivo

Verifica comp. Stati prossimi

(1,3,5,7) (2,1,4,5)NC!NC!(1,5)(3,7) CC(2,4) (3,7) CC(2,4)(6)(1,5)(3,7)(2,4)(6)(1,5)(3,7)so, s1, s2, s3so, s1, s2, s3

Q5/u2Q5/u1Q7Q2/u2Q1/u2Q6Q3/u2Q4/u1Q5Q3/u1Q2/u2Q4Q5/u2Q1/u1Q3Q7/u1Q4/u2Q2Q7/u2Q2/u1Q1

I2I1(1,3,5,7)(2,4)(6)

Page 35: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Metodo ricorsivo

(2,4)(6)(1,5)(3,7)(2,4)(6)(1,5)(3,7)s0, s1, s2, s3

Q5/u2Q5/u1Q7Q2/u2Q1/u2Q6Q3/u2Q4/u1Q5Q3/u1Q2/u2Q4Q5/u2Q1/u1Q3Q7/u1Q4/u2Q2Q7/u2Q2/u1Q1

I2I1s0, s1, s2, s3

s2/u2s2/u1s3s3/u2s0/u1s2s0/u2s2/u2s1s3/u1s0/u2s0

I2I1

Page 36: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Metodo Tabellare (Paul&Unger)

Q5/u2Q5/u1Q7Q2/u2Q1/u2Q6Q3/u2Q4/u1Q5Q3/u1Q2/u2Q4Q5/u2Q1/u1Q3Q7/u1Q4/u2Q2Q7/u2Q2/u1Q1

I2I1

216324742557345513721I2I1

Analizzando le uscite divido in tre classiincompatibili

Page 37: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Metodo Tabellare (2)

216324742557345513721I2I1

654321

X4-53-5

X1-55-5

X2-57-5

7

XXXXX6

X1-45-3

X2-47-3

5

X4-27-3

X4

X2-17-5

3

X2

Page 38: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Metodo Tabellare (3)

216324742557345513721I2I1

654321

X4-53-5

X1-55-5

X2-57-5

7

XXXXX6

X1-45-3

X2-47-3

5

X4-27-3

X4

X2-17-5

3

2-1, 2-5, 1-4,4-5 NCNCX2

X

X

X

X

Page 39: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Metodo Tabellare (4)

654321

X4-53-5

X1-55-5

X2-57-5

7

XXXXX6

X1-45-3

X2-47-3

5

X4-27-3

X4

X2-17-5

3

X2

X

X

X

X

(6),(3,7),(2,4),(1,5)

65

437

2

1

Grafo diGrafo dicompatibilitàcompatibilità

Page 40: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Stati ridotti per M. N.C.S.

Copertura… i punti di n.s. sono utili per individuare gli insiemi di compatibilità

7/u4

-/-

7/-

4/u2

4/-

2/u2

2/-

I2

5/-

5/-

5/u3

5/-

-/-

5/-

-/-

I3

-/-3/-7

6/u43/-6

6/--/-5

-/-1/-4

6/-3/u13

-/-1/-2

6/-1/u11

I4I1

Page 41: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchine n.c.s. (stati rid)(1,2,3,4,5,6,7)

i1

Tutti comp.(2,4) e (7) sono inc(2,4) e (7) sono inc., ma la presenza di n.s. ……

i3

ok

i4

ok.i2

(1,2,3,4,5,6), (1,3,5,67)AnalisiUscite

Page 42: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchine n.c.s. (stati rid)(2)(1,3,5,6,7)

i1 i2

(1,3,-,3,3) =(1,3)COMP

(2,4,7,-,7)INCOMP

Passo passo …3 NC con 5 e 7

(1,3,6)(1,5,6,7)

i2 AnalisiStato Prossimo

Page 43: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchine n.c.s. (stati rid)(3)(1,3,6)(1,5,6,7) (1,2,4,5,6)(1,2,3,4,6)

(1,3,6)⊂ (1,2,3,4,6) si cancella (1,3,6)

(1,5,6,7) (1,2,4,5,6)(1,2,3,4,6)

I2 2 e 7 sono NC 1 NC con (5,7)

(2,7,-,7)

(1,6) (5,6,7) (1,2,3,4,6)(1,2,4,6)(2,4,5,6)AnalisiStato Prossimo(1,6)⊂ (1,2,3,4,6) si cancella (1,6)

(1,2,4,6) ⊂ (1,2,3,4,6) si cancella (1,2,4,6)

Page 44: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchine n.c.s. (stati rid)(4)(5,6,7) (1,2,3,4,6)(2,4,5,6)

I2 I2

(7,-,7) (2,4,7,-)

5 NC con 2 e con 4

(5,6,7) (1,2,3,4,6)(2,4,6)(5,6) (5,6) ⊂ (5,6,7) si cancella (5,6)(2,4,6) ⊂ (1,2,3,4,6) si cancella (2,4,6)

Page 45: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

… ovvero ….Non essendovi altre incompatibilità, si haS1=(1,2,3,4,6) S2=(5,6,7);

S2/u4

S1/u2

I2

S2/u3

S2/-

I3

S2/u4S1/-S2

S2/u4S1/u1S1

I4I1

S2/u4

S1/u2

I2

S2/u3

S2/-

I3

S1/u4S1/-S2

S1/u4S1/u1S1

I4I1

Page 46: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Con il metodo tabellare

B/-A/-EA/1A/1DC/-E/-CB/0D/0BA/0E/0A10

A/1A/1D

B/-A/-EC/-E/-C

B/0D/0BA/0E/0A10

Potenziale compatibilitàPer le uscite non specificate

Page 47: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Paul&Unger con m.n.c.s.

A/1A/1D

B/-A/-EC/-E/-C

B/0D/0BA/0E/0A10

DCBA

A-BA-EB-C

A-DA-BE

A-EA-C

XXD

E-D√C

E-DB

X

√ = compatibili assegnando opp. L’uscita n.s.

Attenzione: la Attenzione: la compacompatibilitàtibilità NON è transitivaNON è transitiva

Page 48: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Paul&Unger con m.n.c.s.

DCBA

A-BA-EB-C

A-DA-BE

A-EA-C

XXD

E-D√C

E-DB B

A C

E D

ED ED

AEAC

AEBC

AB

AB

Classi di comp. Massima: (ABC) | DE(ACE) |AB, AE, BC(CDE)|AB

Page 49: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Algoritmo euristicoB

A C

1. Si sceglie una classe di comp. Massima2. Si rimuovono dal grafo tutti i nodidi questa classe ed i rel. Archi3. Se ho ancora poligoni chiusi, ritorna ad 1.

E D

ED ED

AEAC

AEBC

AB

AB

2. Rimuovo i nodi1. Scelgo (ABC) | ED DE AB S0=ABC

S1=DE3. Non ho poligoni

Page 50: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

osservazioni

5/c-/a63/-1/-52/d6/b43/d-/b3-/-4/-25/c3/a1I2I1 S=(1,2,3,4,5,6)

Si ottieneS1(1,2,6)S2(5,6)S3(2,3)S4(3,4,5)Ma S1∪S4 mi forniscono S.Posso eliminare S2 ed S3?

Page 51: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

osservazioniNO:NO:

infatti:I1:

S1(126) (34-)S4S2(56) (1-)⊂S1S3(23) (4-) ⊂S4S4(345) (-61) ⊂S1

I2:S1(126) (5-5) ⊂ S2,S4S2(56) (35)⊂S4S3(23) (-3) ⊂S4,S3S4(345) (323) ⊂S35/c-/a6

3/-1/-52/d6/b43/d-/b3-/-4/-25/c3/a1I2I1

Se elimino S3, per i2 su S4 finisco in uno stato di non Se elimino S3, per i2 su S4 finisco in uno stato di non determinazionedeterminazione

Page 52: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Esercizi da fare a casaDeterm la macchina a stati ridotti della macchinac.s. descritta dalla seguente tabella

0/007/007/007/007

2/11

2/00

6/00

6/00

2/11

6/00

6/01

I2

5/00

5/00

6/11

6/11

5/00

4/11

2/00

I3

6/003/106

6/002/015

3/002/014

3/002/013

6/003/102

5/012/011

7/113/000

I4I1

MetodoRicorsivoE metodoDi P&U

Page 53: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Esercizi da fare a casaDeterm la macchina a stati ridotti della macchinan.c.s. descritta dalla seguente tabella

F/-

E/0

-/-

-/-

B/-

E/1

I2

-/-

F/-

C/0

-/-

E/1

A/-

I3

-/-D/0F

-/-A/-E

-/--/-D

B/1F/0C

F/1-/-B

C/1-/-A

I4I1

MetodoRicorsivoE metodoDi P&U

Page 54: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchine Sincrone

1) Macchine AsincroneIngressi a livelli

E per le macchine Sincrone?Posso avere ingressi a livelli per le MS sincr?

q0 q1 Q2I1/u1 I2/u2 Non ho stati stabili

Non è asincronaChe succede se hoI1 ed I2 a livelli?

Page 55: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchine Sincrone a livelli (modello teorico)

q0 q1 Q2I1/u1 I2/u2

t0 lo stato è q0t1=to+∆ lo stato varia da q0 a q1 …

In PERFETTO sincronismo con la variazione di I1 I2!Se ciò non accade, o sto ancora in q0 e applico I2, o sto gia in q2 ma applico I1.SU (qo,I2) e (q1,I1) la macchina è non Specificata

PER la macchina Sincrona si ipotizzano seuqenze impulsive di ingressi

… e particolari organi di memoria per lo schema di ritardo

Page 56: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchine a ingressiImpulsivi

Sequenza di ingresso del tipoBase, impulso, base …. Nx>Nb≥1

Ipotesi: per ciascun ingresso a livello, gli stati interni sono tutti stabili

STATI STABILI per gli ingressi a livelloSTATI QUALSIASI per gli ingressi impulsiviMACCHINA SINCRONA o MACCHINA ASINCRONA a seconda delle proprietà della parte della tabella relativa agli ingressi impulsivi

Per Macchine Asincrone, la durata dell’impulso deve essere tale da garantirne l’voluzionePer Macchine Sincrone, l’impulso deve avere durata sufficiente a che avvenga la transizione al nuovo stato

Page 57: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchina Asincrona ad Ing. Impulsivi

Q2Q3Q0Q3Q3Q3Q3

Q2Q1Q2Q3Q2Q2Q2

Q0Q1Q2Q1Q1Q1Q1

Q0Q3Q0Q1Q0Q0Q0

I’2I’1I2I1I02I01

IimpI0

Page 58: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Macchina Sincrona ad Ing. Impulsivi

Q3

Q2

Q1

Q0

I01

I0

Q3

Q2

Q1

Q0

I02

Q2

Q1

Q0

Q3

I2

Q0

Q3

Q2

Q1

I1

I imp

Q3

Q2

Q1

Q0

Page 59: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

FLIP FLOP RS ABILITATO

A=1A=0

10Q0-Q1Q1Q1-Q1Q1Q1

01Q0-Q1Q0Q0-Q0Q0Q0

u1011010010110100

Page 60: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Flip Flop DSe a = 1 e D=0

Memorizza 0

Se a = 1 e D = 1Memorizza 1…. Latch

F

F’

D

a

S0S1S1S1S1

S0S1S0S0S010110100aD

S

01111

01010110100aD

S

Page 61: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Flip Flop D

DaRaDS

=

=Se pongo

aDaFF p +=

01111

01010110100aD

Fp

aFaD

aDFDaFaFaDaaDFaFaD

DaFaDDaFaDF

p

ppppp

pp

+

=+++=+++

=++=+=

)(

)()(

Implicanti già compresi

Page 62: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

D con RS fondamentale

Page 63: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

D a variazione sul fronte

Il flip flop edge edge triggeredtriggered acquisisce il segnale di posizionamento da D solo all’atto delle variazione 0 1 (fronte di salita) opp 1 0 (fronte di discesa) di D

11↑

00↑

Fp-0

DA

usciteingressi

Page 64: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

D edge triggered (flusso)

D

A

00111010111111101111-01000100000100001010

D

-

A=0 A=1

00101100 01

Page 65: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Flip Flop JK

k=KAj=JA

S0S0S1S1S1

S0S1S1S0S010110100kj

S

A=1

Si comporta comeFF RSSi comporta

Come FF T

Page 66: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Flip Flop JK (2)

S0S0S1S1S1

S0S1S1S0S010110100kj

S

00111

011010110100kj

Fp

JAFAFKFJAFAKFF

jFkFF

ppppp

pp

++=++=

+=

)(

Page 67: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Flip Flop JK (2)

)()(

;

AKFJAFFAKFJAF

RFSF

KAFRJAFS

ppppp

p

pp

++=+++=

+=

==

Set, reset pre-caricano uno statoIniziale al flip/flop

Page 68: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Master SlaveS

MS

R

F

F’S

S

R

F

F’R

c

c

Slave porta in uscitaMasteracquisisce

Page 69: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Master Slave

Page 70: Calcolatori Elettronici Parte III - webalice.it Sequenziali1.pdf · Calcolatori Elettronici Parte III Macchine Sequenziali: definizioni fondamentali Macchine Asincrone e Sincrone

Esempi di Flip Flop

A comm. Del fronte d’ab.

A comm. Del fronte d’ab.

A comm. Delfronte

Edge Triggered

Impulsivo

ImpulsivoImpulsivoImpulsivoAbilitato

fondamentaleSincronofondamentalefondamentale

JKTDRS

Master Slave, Master Slave, LatchLatch, Misti, Misti