Architetture sincrone e asincrone Sintesi di circuiti sequenziali

Documenti analoghi
Circuiti sincroni circuiti sequenziali:bistabili e latch

Circuiti sincroni Circuiti sequenziali: i bistabili

Flip-flop, registri, la macchina a stati finiti

Circuiti sequenziali: macchine a stati finiti

Sintesi di circuiti sequenziali

Circuiti sequenziali e latch

Flip-flop, registri, la macchina a stati finiti

Macchine a Stati finiti

Calcolatori Elettronici A a.a. 2008/2009

Circuiti sequenziali e latch

ALU + Bistabili. Sommario

ALU + Bistabili. Prof. Alberto Borghese Dipartimento di Informatica Università degli Studi di Milano

I bistabili ed il register file

I flip-flop ed il register file. Sommario

Calcolatori Elettronici

Macchine sequenziali

Reti sequenziali. Nord

Circuiti sequenziali

AXO Architettura dei Calcolatori e Sistemi Operativi. reti sequenziali

Macchine Sequenziali

Livello logico digitale

Macchine Sequenziali

Memorie. Laboratorio di Architetture degli Elaboratori I Corso di Laurea in Informatica, A.A Università degli Studi di Milano

AB=AB. Porte logiche elementari. Livello fisico. Universalità delle porte NAND. Elementi di memoria: flip-flop e registri AA= A. Porta NAND.

Sintesi Sequenziale Sincrona

Sintesi di Reti sequenziali Sincrone

Elementi di memoria Ciascuno di questi circuiti è caratterizzato dalle seguenti proprietà:

Introduzione. Sintesi Sequenziale Sincrona. Modello del circuito sequenziale. Progetto e strumenti. Il modello di un circuito sincrono può essere

Il Livello Logico-Digitale. I circuiti sequenziali

Reti logiche (2) Circuiti sequenziali

Reti logiche (2) Circuiti sequenziali

Es. 07 Bistabile asincrono SC, Latch. Flip Flop sincrono D. Hold Time e Set Time, Flip flop sincrono J K, Flip flop

I circuiti sequenziali

Cenni alle reti logiche. Luigi Palopoli

Università degli Studi di Cassino e del Lazio Meridionale Corso di Calcolatori Elettronici Elementi di memoria e Registri

Sintesi di Reti Sequenziali Sincrone

Calcolatori Elettronici

Università degli Studi di Cassino

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Elementi di memoria

Circuiti sequenziali

Capitolo 6. Reti asincrone. Elaborazione asincrona Procedimenti di sintesi e analisi Memorie binarie

Gli elementi di memoria: i bistabili I registri. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Esercitazione del 26/03/ Soluzioni

Automi a stati finiti

Corso di Calcolatori Elettronici I Flip-flop

1. Automi a stati finiti: introduzione

Reti Sequenziali. Reti Sequenziali. Corso di Architetture degli Elaboratori

Elettronica dei Sistemi Digitali Registri di memoria CMOS e reti sequenziali

Corso di Calcolatori Elettronici I Elementi di memoria ing. Alessandro Cilardo

Campionamento e memoria. Sommario. Sommario. M. Favalli

Modelli per le macchine digitali

I Indice. Prefazione. Capitolo 1 Introduzione 1

Esercizi Logica Digitale,Circuiti e Bus

Calcolatori Elettronici B a.a. 2004/2005

Tecniche di Progettazione Digitale Elementi di memoria CMOS e reti sequenziali p. 2

Circuiti Combinatori. Circuiti Combinatori. Circuiti Combinatori. Circuiti Combinatori

Circuiti Sequenziali

Q1 D. CK Qn CK Q1. E3x - Presentazione della lezione E3

ANALISI E PROGETTO DI CIRCUITI SEQUENZIALI

Prima prova intercorso. Lezione 10 Logica Digitale (4) Dove siamo nel corso. Un quadro della situazione

Introduzione - Modello. Introduzione - progetto e strumenti

Calcolatori Elettronici Lezione 4 Reti Sequenziali Asincrone

Multiplexer. Multiplexer 2 a 1 (a 1 bit) e sua implementazione. Multiplexer 2 a 1 (a 32 bit) e sua implementazione

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

Flip flop: tempificazione latch ed edge-triggered

Capitolo 6. Reti asincrone. 6.1 Elaborazione asincrona. Esigenze. 6.1 Elaborazione asincrona 6.2 Memorie binarie 6.3 Analisi e Sintesi

CPU a ciclo multiplo: l unità di controllo

Circuiti Combinatori. Circuiti Combinatori. Circuiti Sequenziali. Circuiti Sequenziali

Analisi e Progetto di Macchine Sequenziali ing. Alessandro Cilardo

Sintesi di Reti sequenziali Sincrone

Flip-flop Macchine sequenziali

I CONTATORI. Definizioni

Architettura degli elaboratori - II Le architetture multi-ciclo

Gli elementi di memoria: i bistabili

Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate. Architettura degli elaboratori Bistabili e Clock

Capitolo 6. Reti asincrone. 6.1 Elaborazione asincrona. Reti sequenziali asincrone (struttura) Reti sequenziali asincrone (comportamento)

Reti logiche sequenziali

Reti logiche sequenziali

Macchine a Stati finiti

Page 1. ElapB3 21/09/ DDC 1 ELETTRONICA APPLICATA E MISURE. Lezione B3: circuiti sequenziali. Ingegneria dell Informazione

FONDAMENTI DI INFORMATICA Lezione n. 7. Esercizi di progetto di circuiti sequenziali

Esercitazione del 03/04/ Soluzioni

Michele Angelaccio / Berta Buttarazzi. Reti logiche. PARTE SECONDA Reti sequenziali

PSPICE Circuiti sequenziali principali

Le reti sequenziali sincrone memorizzano il proprio stato in dei FF-D

Fondamenti di informatica II 1. Sintesi di reti logiche sequenziali

Capitolo 3. Modelli. Macchine combinatorie Macchine sequenziali asincrone sincrone

Capitolo 4 Reti Sequenziali. Reti Logiche T

LOGICA SEQUENZIALE. Un blocco di logica puramente combinatoria è un. blocco con N variabili di ingresso e M variabili di uscita

Capitolo 6. Reti asincrone. 6.1 Struttura, comportamento e corretto impiego. Reti sequenziali asincrone (struttura)

Transcript:

Architettura degli Elaboratori e delle Reti Architetture sincrone e asincrone Sintesi di circuiti sequenziali Federico Pedersini ipartimento di Informatica Uniersità degli Studi di Milano L 8 1 Circuiti combinatori Circuiti combinatori = circuiti senza memoria: Le uscite al tempo t dipendono unicamente dagli ingressi al tempo t out i = f i ( in 1, in 2,!, in M ), i =1!N Ogni uscita out i è una funzione logica degli ingressi in i... in M Indipendenza dal tempo È impossibile modificare la storia del circuito è non c è memoria in 1 in 2 out 1 out 2 in M out N Circuito combinatorio L 8 2

Circuiti sequenziali Circuiti combinatori = circuiti senza memoria Gli output al tempo t dipendono unicamente dagli input al tempo t Out = f ( In ) Per consentire ad un dispositio di mantenere le informazioni, sono necessari circuiti con memoria Circuiti sequenziali = circuiti con memoria (stato) La memoria contiene lo stato (X) del sistema: Out = f ( In, X ) In Out In Out X combinatorio sequenziale L 8 3 Circuiti sequenziali Circuiti sequenziali, o con memoria Sono essenziali perché... In un sistema di elaborazione di informazioni è necessario poter conserare per un certo tempo le informazioni C = A + B;... C = C + 1; conserare per un certo tempo è MEMORIZZARE + A ALU C B L 8 4

ata races Sono essenziali perché... al crescere della complessità dei circuiti combinatori, si erificano fenomeni critici: ata races : transizioni spurie (glitch) su un segnale che dee rimanere costante è C è un limite alla complessità dei circuiti combinatori! Soluzione: data race spezzo il circuito in SEZIONI inserisco tra le sezioni delle BARRIERE al segnale, che APRO solo quando i segnali sono STABILI. L 8 5 Struttura di architetture sincrone In in out circuito combinatorio in out circuito combinatorio in out Out sync sync sync Clock Cancello Circuito combinatorio Cancello Sincronizzazione: la logica combinatoria dee terminare la propria commutazione in tempo utile imensionamento del periodo di clock T: La commutazione del clock dee aenire dopo che la logica combinatoria abbia terminato tutte le commutazioni Il tempo necessario alla logica combinatoria per commutare dipende dal cammino critico L 8 6

Perchè esiste il clock? oe il cancello iene inserito, si sincronizza l attiità di elaborazione Altrimenti i cammini critici renderebbero il funzionamento del circuito sempre più casuale. Cancelli = Barriere di sincronizzazione tra circuiti Memorizzano l ingresso ad un certo istante à dispositii di memorizzazione: registri Lo mantengono stabile in uscita, per un certo periodo à orologio in comune: segnale di clock Orologio in comune à circuiti sincroni Presenza di registri à circuiti sequenziali (con memoria) L 8 7 Circuiti sincroni e asincroni Architettura sincrona: l elaborazione e propagazione dei segnali è scandita da un orologio comune a tutto il circuito (clock) Il Clock regola l attiità dei cancelli Il circuito ha il tempo di stabilizzarsi (transitori critici) fino al successio impulso di Clock Architettura asincrona: l elaborazione e propagazione dei segnali aiene in modo incontrollato, secondo le elocità di reazione dei circuiti Non ci sono cancelli Non deo mai aspettare l impulso di clock massima elocità Progettazione sincrona il controllo dei transitori/cammini critici è limitato alla parte di circuito tra due cancelli (porte di sincronizzazione) Progettazione asincrona eo progettare il circuito in modo che nessun transitorio/cammino critico causi problemi analisi di tutti i transitori critici possibili. Eccezioni: TRANSPUTER (INMOS, UK) Architettura di calcolatore con CPU asincrona Complessità enorme, sia di progettazione che di programmazione progetto abbandonato. L 8 8

Clock clock(t) V H ampiezza (V) clock(t) Oscillatore (quarzo) V L T t (sec) Periodo: T [s] durata di 1 ciclo (secondi) Frequenza: f [Hz]=[s 1 ] numero di cicli al secondo T = 1/f Tempo di salita e discesa trascurabile, rispetto al periodo T. L 8 9 Utilizzo del clock Liello alto (t) Liello basso Fronte di discesa T C Fronte di salita t Architettura sensibile ai lielli: Le ariazioni di stato aengono quando il clock è alto (basso). La parte bassa (alta) del ciclo di clock permette la propagazione tra sottocircuiti, così che i segnali si siano stabilizzati quando il clock cambia liello. Architettura sensibile ai fronti: Le ariazioni di stato aengono in corrispondenza di un fronte di clock (salita o discesa). L 8 10

Circuiti sequenziali Circuiti combinatori = circuiti senza memoria Gli output al tempo t dipendono unicamente dagli input al tempo t Out = f ( In ) Per consentire ad un dispositio di mantenere le informazioni, sono necessari circuiti con memoria Circuiti sequenziali = circuiti con memoria (stato) La memoria contiene lo stato (X) del sistema: Out = f ( In, X ) in out in out X combinatorio sequenziale L 8 11 Latch & Bistabili Elemento cardine dei circuiti sequenziali è lo stato Lo stato riassume il funzionamento negli istanti precedenti e dee essere immagazzinato (memorizzato) Elemento base della memoria è il bistabile dispositio in grado di mantenere indefinitamente un alore in ingresso Il suo alore di uscita coincide con lo stato Tipologie di bistabile Bistabili non temporizzati (asincroni) / temporizzati (sincroni). Bistabili (sincroni) che commutano sul liello (latch) o sul fronte (flip-flop) Memoria: insieme di bistabili (bistabili registri memorie) L 8 12

Latch Set-Clear (SR) asincrono A B Porta NOR A + B Una coppia di porte NOR retroazionate può memorizzare un bit! Latch Set-Clear L 8 13 Funzionamento del Latch SC (SR) Latch Set-Reset (Set-Clear) Funzionamento: Set: C = 0, S 1 1 (~ 0) Reset: S = 0, C 1 0 (~ 1) Comportamenti anomali: S = 1, C: 0 1 =~=0 (anomalia) L 8 14

Tabella delle transizioni Un circuito sequenziale non si può rappresentare mediante una tabella di erità Per i circuiti sequenziali si definisce la tabella delle transizioni Tabella delle transizioni: * = f(, I ) = f(, S,C ) : alore dell uscita attuale: stato corrente *: uscita al tempo successio: stato prossimo *= f(,i) \ I SC = 00 SC = 01 SC = 11 SC = 10 0 0 0 X 1 1 1 0 X 1 * = Clear / Reset SET L 8 15 Tabella delle transizioni Tabella delle transizioni f : SC * = f ( I, ) SC=00 SC=01 SC=11 SC=10 =0 0 0 X 1 =1 1 0 X 1 Considerando lo stato come ingresso ottengo la tabella delle erità di *: * = S +C S C * 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 X 1 1 1 X L 8 16

Latch SR sincrono Latch Set-Reset (SR) sincrono Struttura: Latch SR + Porte AN tra il clock e gli ingressi. Solo quando il clock è alto i cancelli (porte AN) fanno passare gli input LATCH S R S R L 8 17 Sintesi della funzione logica Tabella delle transizioni: *= f(s,r,t,) T S R * 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 X 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 X T SR = 00 SR = 01 SR = 11 SR = 10 00 0 0 0 0 01 1 1 1 1 11 1 0 X 1 10 0 0 X 1 * = T +TR +TS = ( ) = T +T R + S clock alto * = ~R + S (bistabile) clock basso * = (status quo) L 8 18

Analisi della funzione logica sintetizzata Latch Set-Reset (SR) sincrono * = T +T ( R + S) S R T =1 * = R + S : Set : S =1, R = 0 * = +1=1 Reset : S = 0, R =1 * = 0 + 0 = 0 T = 0 * = : "status quo" L 8 19 Comportamento del Latch Latch SR un po scomodo: 2 ingressi separati per memorizzare 0 o 1 IEA: piloto S e R con un solo ingresso: = 1 à S=1, R=0 (Set) à =1 = 0 à S=0, R=1 (Reset) à =0 (R) LATCH : (S) Clock ALTO (=1): L uscita insegue l ingresso (con 3Δτ di ritardo) Clock BASSO (=0): L uscita rimane bloccata sull ultimo alore assunto L 8 20

Latch sincrono LATCH sincrono: Memorizza il alore presente all ingresso dati quando il clock è alto, altrimenti (clock=0) si mantiene sul alore memorizzato if = 1 then *= else *= (T) -Latch L 8 21 La struttura del latch _ basso alto L 8 22

Tabella delle transizioni alla tabella delle transizioni calcolo l espressione logica della funzione stato prossimo * = f(t,,): Tabella delle transizioni T * 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 Funzione stato prossimo * = f(, T,): * = T + T + T + T = T + T Clock T alto: * = (input) Clock T basso * = (status quo) T =1 * = T = 0 * = = L 8 23 Latch: Bistabili leel-sensitie I latch sono dispositii trasparenti: per tutto il tempo in cui il clock è a liello alto, il alore di iene riportato in uscita Clock = 1 è *= (uscita collegata all ingresso) Possono funzionare come cancelli? NO! Nel momento in cui apro (T=1), i segnali possono attraersare TUTTI gli stadi. Soluzione: cancello doppio uando apro in ingresso, l uscita è chiusa, e iceersa. In -latch -latch T circuito combinatorio -latch -latch T circuito combinatorio -latch -latch T Out Clock L 8 24

Bistabili edge sensitie : i Flip-Flop FLIP-FLOP: bistabile edge sensitie (attio sui fronti del clock): lo stato (uscita) commuta solo in corrispondenza del fronte di salita o di discesa del clock. T FlipFlop T Flip-Flop tipo T configurazione Master-Slae : master master = slae slae Master Slae master Flip-Flop tipo T L 8 25 Flip-flop: struttura master slae FLIP (clock ALTO): aperto lo stadio MASTER, chiuso lo stadio SLAVE Uscita bloccata su un alore precedentemente memorizzato FLOP (clock BASSO): chiuso lo stadio MASTER, aperto lo stadio SLAVE Ingresso chiuso, uscita bloccata sul alore contenuto in MASTER m = s m m = s m L 8 26

Funzionamento: FLIP = 1 m = s m m Flip m = s m m t L 8 27 Funzionamento: FLOP = 0 m = s m m m = s Flop m m t L 8 28

Funzionamento dei Flip-Flop Fronte di SALITA FLIP Attiato lo stadio MASTER Uscita (stadio slae) inariata T FlipFlop T Fronte di ISCESA FLOP Attiato stadio SLAVE Memorizzato il dato sull ingresso: à STATO Presenta il dato memorizzato in uscita: STATO à Ingresso isolato T(t) (t) (t) t L 8 29 Latch: Bistabili leel-sensitie I latch sono dispositii trasparenti: per tutto il tempo in cui il clock è a liello alto, il alore di iene riportato in uscita Clock = 1 è *= (uscita collegata all ingresso) Possono funzionare come cancelli? SÌ! Nel momento in cui apro (T=1), i segnali possono attraersare TUTTI gli stadi. Soluzione: cancello doppio uando apro in ingresso, l uscita è chiusa, e iceersa. In FF circuito combinatorio FF circuito combinatorio FF Out T T T Clock L 8 30

Sincronizzazione mediante flip-flop I cancelli deono disaccoppiare i diersi sottosistemi logici memorizzare i segnali e rilanciarli, tutto ad un determinato istante prima e dopo, uscite non sensibili agli ingressi Cancello doppio: ingresso e uscita, mai aperti contemporaneamente Cancelli: registri costituiti da gruppi di flip-flop L 8 31 Registri Registro: unità di memorizzazione di parole di N bit Struttura: N Flip-flop tipo T Operazioni: LETTURA: I dati memorizzati sono sempre leggibili sulle uscite. SCRITTURA: un fronte di salita (o discesa) su WRITE memorizza i alori presenti sugli ingressi Registro N bit: N linee ingresso 0 1 2 N 1 WRITE Comando scrittura FF 0 FF 1 FF 2... FF N 1 0 1 2 N 1 N linee uscita L 8 32

Architettura degli Elaboratori e delle Reti Circuiti sequenziali: macchine a stati finiti Proff. A. Borghese, F. Pedersini ipartimento di Scienze dell Informazione Uniersità degli Studi di Milano L 8 33 Macchine sequenziali Macchina combinatoria: U = f ( I ) senza memoria, uscita dipende solo dagli ingressi Macchina sequenziale: X* = f ( X, I ) U = g( X ) 2 funzioni: uscita e stato prossimo esiste la memoria: lo STATO in out in out X combinatorio sequenziale L 8 34

Macchine sequenziali Elemento necessario di ogni macchina sequenziale è la retroazione Uscita riportata in ingresso Bistabile: (macchina sequenziale elem.): 2 porte NOR +retroazione Macchina sequenziale sincrona Impiega bistabili sincroni S Es: Flip-Flop tipo T R macchina sequenziale rete combinatoria I T U retroazione L 8 35 Macchina a Stati Finiti - di Moore Una Macchina a Stati Finiti (FSM) è definita dalla quintupla: 3 insiemi e 2 funzioni logiche: < X, I, Y, f(), g() > X:insieme degli stati (in numero finito). I: alfabeto di ingresso: l insieme dei simboli che si possono presentare in ingresso. Con n ingressi, aremo 2 n possibili configurazioni. Y:alfabeto di uscita: l insieme dei simboli che si possono generare in uscita. Con m uscite, aremo 2 m possibili configurazioni f( ): funzione stato prossimo: X* = f( X, I ) efinisce l eoluzione della macchina nel tempo, in modo deterministico g( ): funzione di uscita: Y= g( X ) (macchina di Moore) Y= g( X, I ) (macchina di Mealy) Per il buon funzionamento della macchina è preisto talolta anche uno stato iniziale, nel quale si troa la FSM all accensione o dopo un comando di RESET L 8 36

La macchina sequenziale di Huffman i 1 y 1... i M x 1 x* 1... y N Uscite Ingressi y i =g( x i ) x K x* K x i *=f( x i, i j ) Stato Stato prossimo L 8 37 Macchina di Moore: State Transition Table (STT) STT: State Transition Table (Tabella delle transizioni di stato) Per ogni coppia: <stato attuale, ingresso> definisco stato prossimo x* Per ogni stato attuale, definisco l uscita y i 1 i 2 i N Y x 1 x*(x 1, i 1 ) x*(x 1, i 2 ) x*(x 1, i N ) y(x 1 ) x 2 x*(x 2, i 1 ) x*(x 2, i 2 ) x*(x 2, i N ) y(x 2 ) (x i X, i j I) à y=g(x i ) ; x*=f( x i, i j ) Esempio: macchina di Moore à M stati (log 2 M bit di stato), N ingressi (log 2 M bit d ingresso): x M x*(x M, i 1 ) x*(x M, i 2 ) x*(x M, i N ) y(x M ) L 8 38

Macchina di Moore: State Transition Graph (STG) STG: State Transition Graph (iagramma degli Stati o Grafo delle transizioni) Ad ogni nodo è associato uno stato: x i X... ed un alore della funzione d uscita: y i Y, y i =g(x i ) Un arco orientato da uno stato x i ad uno stato x j, contrassegnato da un simbolo (di ingresso) i K, rappresenta una transizione che si erifica quando la macchina, essendo nello stato x i, ricee come ingresso i K i K I x I X x J X x J = f(x I,i K ) y I = g(x I ) y J = g(x J ) L 8 39 Sintesi circuito sequenziale Sequenza operazioni di sintesi di un circuito sequenziale mediante modello a FSM: x1 i 2 i 5 x2 I = { i 1, i 2,, i M }, Y = { y 1, y 2,, y P } 1. efinizione insiemi ingressi I e uscite Y 2. Costruzione grafo delle transizioni STG è definizione insieme X à f(x,i) e g(x) 3. Traduzione STG è STT i 1 x3 i 1 i 1 i N Y x 1 x*(x 1, i 1 ) x*(x 1, i N ) y(x 1 ) x 2 x*(x 2, i 1 ) x*(x 2, i N ) y(x 2 ) x M x*(x M, i 1 ) x*(x M, i N ) y(x M ) 4. Codifica binaria degli elementi di X, Y, I nella STT è f(x,i) e g(x) dientano funzioni logiche! 5. Sintesi delle funzioni logiche f(x,i) e g(x) è circuito finale con struttura di Huffman x * i = f i ( x 1,, x, i 1,, i R ) y i = g i ( x 1,, x ) L 8 40

Progetto con macchina di Moore Esempio di SINTESI di FSM: controllore di un semaforo SEMAFORO: Incrocio tra 2 strade: nord-sud (NS) ed est-oest (EO) controllate da un semaforo per semplicità consideriamo solamente rosso e erde Il semaforo può commutare ogni 30 secondi Macchina sincrona, clock con frequenza =? auto NS sì / no auto EO sì / no E presente un sensore in grado di leggere, per ogni direttrice, se esiste almeno un auto in attesa, oppure un auto che si accinga ad attraersare (condizioni trattate allo stesso modo). Il semaforo dee cambiare colore, da rosso a erde, quando esiste un auto in attesa sulla sua direttrice. Se ci sono auto in attesa sulle entrambe le direttrici il semaforo dee cambiare colore (al termine del tempo di commutazione) L 8 41 SEMAFORO: Stato, Ingresso, Uscita INGRESSI Auto NS presente / non presente AutoNS=1/0 Auto EO presente / non presente AutoEO = 1/0 2 bit di INGRESSO 4 configurazioni d ingresso: I = {00, 01, 10, 11} USCITE: = STATO: Y = X LuceEO erde (LuceNS rossa) LuceNS erde (LuceEO rossa) 2 configurazioni d uscita 1 bit di USCITA STATO Semaforo NS VERE, semaforo EO ROSSO Semaforo NS ROSSO, semaforo EO VERE X = {VerdeNS, VerdeEO} 1 bit di STATO (1 flip-flop) auto NS sì / no (i NS = 1/0) auto EO sì / no (i EO = 1/0) L 8 42

Funzionamento: uscita Funzione uscita Funzione uscita: Y = g(x) Per ogni stato, definire l uscita della macchina Uscita STATO Y = X VerdeNS Verde sulla direttrice NS, rosso sulla direttrice EO VerdeEO Verde sulla direttrice EO, rosso sulla direttrice NS Luce Verde NS / Rosso EO = VerdeNS Luce Verde EO / Rosso NS = VerdeEO L 8 43 Funzionamento: stato prossimo Funzione stato prossimo Stato prossimo: eoluzione dello stato, in funzione dello stato attuale e degli ingressi attuali X i+1 = X i * = VerdeNS X(t+1) = X* = f( X(t), I ) Se X(t)= VerdeNS AN non ci sono auto sulla direttrice EO Se X(t)= VerdeEO AN ci sono auto sulla direttrice NS VerdeNS ~autoeo + VerdeEO autons X* = VerdeNS X i+1 = X i * = VerdeEO Se X(t)= VerdeEO AN non ci sono auto sulla direttrice NS Se X(t)= VerdeNS AN ci sono auto sulla direttrice EO VerdeEO ~autons + VerdeNS autoeo X* = VerdeEO L 8 44

STG del semaforo Sintesi State Transition Graph (STG): AutoNS = 0 (00,01) AutoEO = 1 (01,11) AutoEO = 0 (00,10) VerdeEO LuceVerde EO AutoNS = 1 (10,11) VerdeNS LuceVerde NS Risultato: Funzione stato prossimo: VerdeNS* = VerdeNS ~autoeo + VerdeEO autons VerdeEO* = VerdeEO ~autons + VerdeNS autoeo Funzione uscita: Y = X L 8 45 STT del semaforo Sintesi State Transition Table (STT): X I(i EO,i NS ) i EO =0 i NS =0 i EO =0 i NS =1 i EO =1 i NS =0 i EO =1 i NS =1 Uscita VerdeNS VerdeNS VerdeNS VerdeEO VerdeEO Luce VerdeNS VerdeEO VerdeEO VerdeNS VerdeEO VerdeNS Luce VerdeEO Funzione stato prossimo: X* = f(x, I) Funzione uscita: Y = g(x) L 8 46

STT del semaforo: COIFICA binaria Codifica binaria della STT: Stato: (VerdeNS/RossoEO, RossoNS/VerdeEO) Ingresso: 2 Variabili: (AutoEO, AutoNS) 1 = presente, 0 = assente 4 Configurazioni: I = (i EO,i NS ) = {00, 01, 10, 11} Uscita: (Luce_VerdeNS, Luce_VerdeEO) Y = {0, 1} VerdeNS/RossoEO è 0 RossoNS/VerdeEO è 1 X = {0, 1} X I(i EO,i NS ) 00 01 10 11 Uscita Y 0 0 0 1 1 0 1 1 0 1 0 1 L 8 47 Sintesi della MSF del semaforo Sintesi del circuito: 2 stati (0,1) 1 flip-flop T 2 linee di ingresso 1 linea d uscita Architettura di Huffman: Rete combinatoria che implementa: stato prossimo: f(x,i) uscita: g(x) I i EO i NS 2 reti combinatorie: X* = f (X,I) Y = g (X ) X X* T Clock Y L 8 48

Sintesi della MSF del semaforo Mediante la STT codificata in binario, posso esprimere X* e Y come somma di prodotti: cerco i mintermini: X* = X i EO i NS + X i EO i NS + X i EO i NS + X i EO i NS = = X i EO + X i NS Y = X X I(i EO,i NS ) 00 01 11 10 Y 0 0 0 1 1 0 1 1 0 0 1 1 L 8 49 MSF del semaforo: sintesi del circuito funzioni logiche rete combinatoria: X* = X i EO i NS + X i EO i NS + X i EO i NS + X i EO i NS = I i EO i NS 2 reti combinatorie: X* = f (X,I) Y = g (X ) Y = X i EO + X i NS Y = X X X* rete combinatoria T Clock i EO Y T = 30 sec i NS X X* clock(t) 30 sec t (sec) L 8 50