Sintesi Sequenziale Sincrona. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sintesi Sequenziale Sincrona. Mariagiovanna Sami Corso di reti Logiche 8 Anno"

Transcript

1 Sintesi Sequenziale Sincrona Mariagiovanna Sami Corso di reti Logiche 8 Anno

2 Introduzione Le uscite di un circuito sequenziale in un dato istante di tempo t dipendono: Dalla condizione iniziale del circuito (se è possibile forzare inizialmente il circuito stesso in un predefinito stato iniziale); Dalla sequenza di ingressi, applicata in un arco temporale finito, fino all istante considerato Questo aspetto implica che il dispositivo deve mantenere memoria degli eventi passati In un generico istante t l informazione relativa al contenuto di questa memoria è rappresentata dal concetto di stato Nota: le reti combinatorie possono essere considerate un caso particolare di sistema sequenziale dove lo stato è unico 09/04/

3 Progetto di reti sequenziali L'ottimizzazione di circuiti sequenziali è in costante evoluzione Si devono distinguere circuiti sequenziali sincroni e asincroni: Circuito sequenziale sincrono: oltre agli ingressi di informazione esiste un ingresso di controllo cui si applica il segnale di clock: il circuito risponde agli eventi esterni (= configurazioni di valori applicate agli ingressi di informazione) solo quando il segnale di clock è attivo; Circuito sequenziale asincrono: non esiste ingresso di clock (quindi manca il concetto di istante temporale ), gli eventi esterni sono variazioni dei valori degli ingressi. In questo corso si studieranno solo circuiti sincroni (oggi di gran lunga i più diffusi). 09/04/

4 Il modello di un circuito sincrono può essere Modello del circuito sequenziale Comportamentale (descrive l evoluzione degli stati e delle uscite del dispositivo) La transizione fra gli stati è descritta mediante tabelle o diagrammi Le informazioni sugli stati sono esplicite Le informazioni sull'area e sui ritardi sono implicite Strutturale Il modello del circuito è costituito da un insieme di componenti (registri e logica combinatoria) collegati tra loro Le informazioni sugli stati sono implicite Le informazioni su area e ritardi sono esplicite 09/04/

5 Modello del circuito sequenziale Di norma: Nella fase di analisi, viene fornito un modello strutturale da cui si deve dedurre la tabella degli stati (e quindi il comportamento) del circuito; Nella fase di sintesi si parte da una descrizione (più o meno formalizzata) del comportamento che si chiede al circuito; da questa descrizione si deduce la tabella degli stati e delle uscite che costituisce il punto di partenza per la sintesi logica vera e propria. 09/04/

6 Modello comportamentale Il modello generale delle macchine sequenziali a cui si fa riferimento è quello delle Macchine a Stati Finiti Deterministiche (Finite State Machine - FSM). Con questo modello le macchine sequenziali vengono descritte tramite la teoria degli automi Macchine a stati finiti deterministiche Condizioni per la fisica realizzabilità: il numero di stati è finito e il comportamento della macchina in un istante t non dipende da eventi futuri Dato uno stato ed una configurazione di ingresso lo stato prossimo in cui la macchina si porta è identificato univocamente ( determinismo) 09/04/

7 Sintesi comportamentale di FSM (1) Una macchina sequenziale è definita dalla quintupla (I,U,S,δ,λ ) I - Alfabeto di Ingresso È costituito dall'insieme finito dei simboli di ingresso Con n linee di ingresso si hanno 2 n simboli U -Alfabeto d'uscita È costituito dall'insieme finito e non vuoto dei simboli d'uscita Con m linee d'uscita si hanno 2 m simboli S - Insieme degli Stati Insieme finito e non vuoto degli stati. Spesso si definisce anche uno stato iniziale (o stato di reset) in cui la macchina deve portarsi all accensione o all applicazione del segnale di reset δ - Funzione stato prossimo λ - Funzione d uscita 09/04/

8 Sintesi comportamentale di FSM (2) Funzione stato prossimo δ Per ogni stato presente e per ogni simbolo di ingresso la funzione δ definisce lo stato prossimo: δ : S I S Ad ogni coppia {stato, simbolo di ingresso} è associato, se specificato, uno ed uno solo stato prossimo. La funzione stato prossimo definisce l evoluzione della macchina nel tempo, in risposta agli eventi in ingresso Funzione d'uscita λ Genera il simbolo d'uscita: esistono due alternative: Macchine di Mealy: l uscita dipende sia dallo stato presente sia dall ingresso: λ : S I U Macchine di Moore: l uscita dipende solamente dallo stato presente: λ : S U 09/04/

9 Macchine di Mealy e Macchine di Moore Macchine di Mealy la funzione di uscita costituisce la risposta della macchina quando, trovandosi in un dato stato presente, riceve un simbolo di ingresso; nelle macchine di Mealy, l uscita va letta mentre la macchina subisce una transizione di stato Macchine di Moore la funzione di uscita costituisce la risposta della macchina associata allo stato in cui si trova nelle macchine di Moore, l uscita viene letta mentre la macchina si trova in un determinato stato E possibile trasformare una macchina di Mealy in una macchina di Moore equivalente, e viceversa 09/04/

10 Architettura generale di una rete sequenziale sincrona Struttura generale di una macchina sequenziale (Huffman): Ingressi (anche ingressi primari ) x 1 x 2 x n RETE COMBINATORIA δ; λ z 1 z 2 z n Uscite (anche uscite primarie ) Stato Presente S t y 1 Y 1 Stato Prossimo S t+1 FF 1 y 1, y 2 y k : variabili di stato presente (anche ingressi di stato ) y 2 FF 2 Y 2 Y 1, Y 2 Y k : variabili di stato prossimo (anche uscite di stato) Nota: la Memoria di stato coincide con i Registri di stato solo nel caso di bistabili di tipo D y k FF k Memoria di stato Y k Clock 09/04/

11 Architettura generale: macchina di Mealy Struttura generale di una macchina di Mealy: x 1 x 2 x n Ingressi RETE COMBINATORIA λ RETE COMBINATORIA δ z 1 z 2 z n Uscite Stato Presente S t y 1 Y 1 Stato Prossimo S t+1 FF 1 y 2 FF 2 Y 2 y k FF k Y k Memoria di stato Clock 09/04/

12 Architettura generale: macchina di Moore Struttura generale di una macchina di Moore: x 1 x 2 x n Ingressi RETE COMBINATORIA δ z 1 z 2 z n Uscite RETE COMBINATORIA λ y k y 2 y 1 Stato Presente S t FF 1 FF 2 Y 1 Y 2 Y k Stato Prossimo S t+1 FF k Memoria di stato Clock 09/04/

13 Il processo di sintesi: generalità Riferendosi al modello generale di rete sincrona, la sintesi di una rete sequenziale partendo dalla descrizione comportamentale consiste in: Identificazione delle funzioni δ e λ Sintesi della rete combinatoria che le realizza Elementi di memoria: Flip-Flop (i flip-flop di tipo D sono quelli usati più comunemente) La sintesi della funzione di stato prossimo δ dipende dal tipo di bistabili utilizzati. La sintesi della funzione di uscita λ non dipende dal tipo di bistabili utilizzati. 09/04/

14 Il processo di sintesi: generalità La sintesi della funzione δ dipende dai bistabili utilizzati: x 1 x 2 x n FUNZIONI δ; λ z 1 z 2 z n Ingressi Uscite Stato Presente S t y 1 Y 1 y k y 2 FF 1 FF 2 FF k STATO PROSSIMO/ INGRESSI FLIP-FLOP Y 2 Y k Stato Prossimo S t+1 Registri di stato Clock 09/04/

15 Il comportamento di una FSM può essere descritto mediante la Tabella degli stati Tabella degli stati Gli indici di colonna sono i simboli di ingresso i α I Gli indici di riga sono i simboli di stato s j S che indicano lo stato presente In ogni casella si indicano: Per le macchine di Mealy: la coppia {u β,s j } u β = λ(i α, s j ) è il simbolo di uscita s j = δ(i α, s j ) è il simbolo stato prossimo S 1 t S 2 t.. i 1 i 2.. S j t+1 /u j S k t+1 /u k... S m t+1 /u m S l t+1 /u l Per le macchine di Moore: il simbolo stato prossimo s j i s j = δ(i α, s j ) è il simbolo stato prossimo 1 i 2.. i simboli d'uscita sono associati allo stato presente S t 1 S t+1 j S t+1 k... S t 2 S t+1 m S t+1 l u 1 u /04/

16 Diagramma degli stati Nella fase di sintesi, spesso conviene far precedere alla stesura della Tabella degli stati una rappresentazione grafica ad essa equivalente, denominata Diagramma degli stati, ricavata dalla descrizione informale ( a parole ) del comportamento della macchina. Il diagramma degli stati è un grafo orientato G(V,E,L) V -Insieme dei nodi Ogni nodo rappresenta uno stato Per le macchine di Moore, ad ogni nodo è associato un simbolo d'uscita () E -Insieme degli archi Ogni arco rappresenta le transizioni di stato, e gli è sempre associato il simbolo di ingresso che le provoca Per le macchina di Mealy, ad ogni arco è associato anche un simbolo di uscita () L - Insieme delle etichette degli archi: Ingressi e Uscite (macchina di Mealy) Ingressi (macchina di Moore) 09/04/

17 Macchina di Mealy: Esempio Equivalenza delle due rappresentazioni nel caso di una macchina di Mealy Diagramma degli stati Tabella degli stati 0/ /1 s 0 1/1 0/1 s 1 0/0 S 0 S 1 /1 S 2 /1 S 1 S 3 /0 S 2 /1 s 2 1/0 1/0 s 3 0/0 S 2 S 1 /1 S 3 /0 S 3 S 3 /0 S 0 /0 09/04/

18 Macchina di Moore: Esempio Equivalenza delle due rappresentazioni nel caso di una macchina di Moore Diagramma degli stati S 0 /00 0 S 1 / S 2 /10 1 S 3 /11 0 Tabella degli stati 0 1 U S 0 S 1 S 2 00 S 1 S 3 S 2 01 S 2 S 1 S 3 10 S 3 S 3 S /04/

19 Passi della Sintesi di una FSM 1. Realizzazione del diagramma degli stati a partire dalle specifiche funzionali (informali) del comportamento del sistema. È il passo che richiede maggior intuito. Se la specifica della macchina prevede uno stato iniziale (o di reset ), si inizia da tale stato e ad esso si applicano tutte le possibili configurazioni di ingresso; altrimenti, è necessario identificare una sequenza di ingresso (possibilmente breve) che consenta di identificare in modo univoco uno stato da cui iniziare e che si tratta come se fosse lo stato iniziale. Ogni configurazione di ingresso può portare a uno stato già esistente oppure a un nuovo stato che viene aggiunto al diagramma Per ogni nuovo stato introdotto, si applicano tutte le configurazioni di ingresso. Il procedimento termina quando non vengono più introdotti nuovi stati 09/04/

20 Controllore di parità (dispari) Passi della Sintesi di una FSM: Esempio Una macchina sequenziale sincrona di tipo Moore ha un ingresso x e un uscita z. L uscita z assume il valore 1 se e solo se sull ingresso si è presentato un numero dispari di 1. In ogni altro caso è z uguale a 0. All accensione la macchina riconosce parità dispari non verificata (è quindi definito esplicitamente lo stato di RESET). Nel diagramma degli stati si inserisce innanzitutto lo stato iniziale P (che corrisponde alla condizione pari, e cui è associata uscita 0). Fino a quando l ingresso vale 0, la condizione non cambia e si resta in P. RESET 0 P/0 09/04/

21 Passi della Sintesi di una FSM: Esempio 0 Se in ingresso giunge il simbolo 1, si deve introdurre un nuovo stato: il numero di 1 presenti nella sequenza è infatti ora dispari. Si indica con D il nuovo stato, cui è associata uscita 1, e si introduce un arco da P a D con etichetta 1. Quando la macchina si trova in D, se arrivano uno o più 0 consecutivi la sequenza mantiene un numero dispari di 1, quindi si resta in D; se arriva un simbolo 1, il numero di 1 presenti nella sequenza diventa pari e ci si riporta in P (arco da D a P marcato con il simbolo 1). Non si sono introdotti altri stati, quindi il diagramma è terminato. Reset P /0 1 D /1 0 S t x 0 1 P P D D D P S t+1 Z 09/04/

22 Passi della Sintesi di una FSM 2. A partire da diagramma degli stati si costruisce la tabella degli stati: questa non introduce alcuna informazione aggiuntiva. Definisce la cardinalità iniziale dell insieme degli stati e le funzioni δ e λ in forma astratta. Si noti: in genere, da una specifica iniziale si possono dedurre più diagrammi degli stati (e quindi tabelle degli stati) con diverso numero di stati ma che pure rappresentano tutti correttamente il comportamento della macchina specificata; occorre quindi prevedere un passo relativo alla 3. Riduzione del numero degli stati: fase di ottimizzazione sequenziale, che si riconduce alla identificazione di una macchina equivalente (con lo stesso comportamento) a quella rappresentata dalla tabella degli stati cui si è giunti nelle prime fasi, ma minima che ha cioè il minimo numero di stati fra tutte le macchine che rispecchiano il comportamento richiesto. I criteri per la riduzione del numero degli stati verranno affrontati in seguito. 09/04/

23 Passi della Sintesi di una FSM 4. Nella tabella degli stati, gli stati stessi sono identificati con nomi (simbolici). Per potere passare alla successiva sintesi digitale occorre assegnare ad ogni stato una codifica binaria così da identificare le variabili di stato che compaiono nel modello generale della FSM. Questa fase comporta alcuni passi successivi, e precisamente: 1. Identificazione del numero minimo di bit necessari per la codifica, e quindi delle variabili di stato (se σ è la cardinalità dell insieme degli stati, il numero minimo delle variabili di stato sarà pari a log 2 σ ). y i indica il valore presente della variabile di stato, Y i quello prossimo. Si determina così anche il numero di flip-flop necessari a realizzare la macchina 09/04/

24 Passi della Sintesi di una FSM 2. Assegnamento di una codifica (configurazione tra quelle disponibili nel codice, una volta determinato il numero di bit) ad ogni stato. Si noti che la scelta della codifica influenza in modo significativo la realizzazione e complessità circuitale della funzione stato prossimo δ (anche in funzione dei bistabili utilizzati). Non esistono criteri praticamente utilizzabili che garantiscano un assegnamento ottimo: si possono adottare euristiche che portino a un buon assegnamento. 3. Costruzione della tabella delle transizioni, dedotta dalla tabella degli stati e delle uscite sostituendo ai nomi simbolici degli stati le codifiche ora assegnate. 09/04/

25 Passi della Sintesi di una FSM: Esempio Costruzione della tabella delle transizioni della FSM Sia data la tabella degli stati 0 1 U S 0 S 1 S 00 2 S 1 S 3 S 01 2 S 2 S 1 S 3 10 S 3 S 3 S 0 11 Assegnamento degli stati 4 stati 2 variabili di stato y 0 y 1 (quindi 2 bistabili) Assegnamento banale S 0 =00 S 1 =01 S 2 =11 S 3 =10 Tabella delle transizioni y 0 y I U Y 0 Y 1 = stato prossimo z 09/04/

26 Passi della Sintesi di una FSM 5. Dalla tabella delle transizioni, una volta scelto il tipo di bistabili che si intende utilizzare (ovviamente sincrono) si passa alla costruzione della tabella delle eccitazioni. Questa si ottiene partendo dalla tabella delle transizioni della macchina e da quella delle eccitazioni del bistabile scelto. Al termine di questo passo, per ogni bistabile si hanno le funzioni di commutazione relative ai suoi ingressi che consentono la transizione stato presente - stato prossimo 6. Sintesi ottimizzata sia della rete combinatoria che realizza la funzione stato prossimo sia della rete combinatoria che realizza la funzione d'uscita 09/04/

27 Passi della Sintesi di una FSM Struttura generale Ingressi Rete combinatoria per realizzare λ derivata dalla tabella delle transizioni Uscite Stato Prossimo S t+1 Rete combinatoria derivata dalla tabella delle eccitazioni Stato Presente S t eccitazioni Registri di stato Rete combinatoria per realizzare δ per la trasformazione stato-eccitazione Nota bene: se il bistabile scelto è il FF D, la tabella delle eccitazioni coincide con la tabella delle transizioni 09/04/

28 Passi della Sintesi di una FSM La tabella delle transizioni descrive la relazione tra i bit di stato presente e quelli di stato futuro. La configurazione binaria dello stato presente corrisponde all uscita dei bistabili relativi La configurazione binaria dello stato prossimo precisa quello che si desidera ottenere A seconda del tipo di bistabile scelto, variano i segnali che devono essere generati per realizzare la transizione stato presente stato prossimo desiderata. I segnali di ingresso di un bistabile prendono il nome di eccitazioni La tabella delle eccitazioni di un bistabile rappresenta il mezzo di collegamento tra la tabella delle transizioni e la tabella delle eccitazioni di una specifica macchina a stati. 09/04/

29 Passi della Sintesi di una FSM Es.: Si scelgano bistabili SR Tabella delle transizioni y 0 y I U Y 0 Y 1 = stato prossimo z Tabella delle eccitazioni del FF SR Q Q* C S R Tabella delle eccitazioni con FF SR y 0 y I U 00 0-,10 10, ,01 10, ,-0-0, ,0-01,0-11 S 0 R 0 S 1 R 1 z Dalla tabella delle eccitazioni posso sintetizzare le reti combinatorie (es., usando le mappe di Karnaugh) che realizzano S 0 R 0 S 1 R 1 in funzione di y 0,y 1 e I 09/04/

30 Diagramma degli stati - Esempio 1: specifiche Specifiche Una macchina sequenziale sincrona ha un ingresso x e un uscita z. L uscita z assume il valore 1 se e solo se sull ingresso si sono presentati almeno due 0 seguiti esattamente da due 1 (z va a 1 in corrispondenza del secondo 1 su x). In ogni altro caso è z uguale a 0. Considerazioni: specifiche funzionali analitiche: non è necessario ulteriore raffinamento delle specifiche dalle specifiche, la macchina da sintetizzare è una macchina di Mealy la macchina è un riconoscitore di sequenze nella forma x = z = /04/

31 Diagramma degli stati - Esempio 1: stato iniziale caso (a) (a) Le specifiche non indicano la presenza di uno stato di reset; occorre quindi identificare uno stato da usare come stato iniziale per la stesura del diagramma degli stati. Si analizzano le specifiche: z assume il valore 1 se e solo se sull ingresso si sono presentati almeno due 0 seguiti esattamente da due 1 Si deduce che una sequenza di tre o più 1 su x, indipendentemente dalla successione di valori ricevuti precedentemente sull ingresso, porta la macchina in uno stato in cui Non si è all interno di una sequenza da riconoscere ( sequenza utile ); Sicuramente l uscita vale 0. Potrebbe col prossimo simbolo in ingresso iniziare una sequenza utile, ove il simbolo fosse 0; Chiamiamo questa sequenza di tre o più 1 non utile a fini del riconoscimento; la sequenza di esattamente tre 1 su x è la minima sequenza non utile (una sequenza di soli due 1 non sarebbe univoca per l uscita, in quanto in corrispondenza del secondo 1 l uscita potrebbe valere 1 - sequenza precedente riconosciuta - oppure 0 - sequenza precedente non riconosciuta) Si prende quindi come stato da cui iniziare la realizzazione del diagramma quello cui si giunge con tre 1 consecutivi su x, indipendentemente dai valori precedenti. 09/04/

32 Diagramma degli stati - Esempio 1: stato iniziale caso (a) 1 1 1/0 B: primo 0 C: secondo 0 0/0 0/0 1/0 D: primo 1 dopo almeno due 0 1/1 E: secondo 1 sequenza riconosciuta 1/0 A B C D 0/0 0/0 1/0 B B 0/0 A E 1/0 101: non una sequenza utile - si porta nello stato A 010: lo 0 può essere il primo di una sequenza utile - si porta nello stato B 0110: lo 0 può essere il primo di una sequenza utile - si porta nello stato B 111: si torna nello stato A 09/04/

33 Tabella degli stati - Esempio 1 - caso (a) Tabella degli stati 0 1 A B,0 A,0 B C,0 A,0 C C,0 D,0 D B,0 E,1 E B,0 A,0 A = Riduzione della tabella degli stati (banale!!) A B,0 A,0 A B,0 A,0 B C,0 A,0 B C,0 A,0 C C,0 D,0 C C,0 D,0 D B,0 E,1 D B,0 A,1 E B,0 A,0 09/04/

34 Diagramma degli stati - Esempio 1: stato iniziale caso (b) (b) Scelta dello stato iniziale per la stesura del diagramma degli stati dalle specifiche:.. z assume il valore 1 se e solo se sull ingresso si sono presentati almeno due 0 seguiti esattamente da due 1.. una sequenza di due o più 0 su x, indipendentemente dalla successione di valori di x ricevuti precedentemente, porta la macchina in uno stato in cui si è presentata la parte iniziale, indispensabile, della sequenza da riconoscere. Inoltre, sicuramente l uscita vale 0. La sequenza di due o più 0 è chiaramente identificabile e fa parte della sequenza utile a fini del riconoscimento la sequenza di esattamente due 0 su x è la minima sequenza identificabile come parte di una sequenza utile stato iniziale = stato in cui la macchina si porta con due 0 su x, indipendentemente dai valori in ingresso precedenti 09/04/

35 Diagramma degli stati - Esempio 1 - caso (b) 0 0/0 B: primo 1 dopo almeno due 0 1/0 1/1 D: secondo 1 sequenza riconosciuta 0/0 A B D C 0/0 0/0 1/0 A: riconosciuti almeno due 0 0/0 C 1/0 E 1/0 C: primo 0 0/0 E: sequenza non utile 09/04/

36 Specifiche Diagramma degli stati - Esempio 2: specifiche Si vuole realizzare un controllore di semaforo all incrocio tra via Mazzini e via Garibaldi mediante una macchina sequenziale sincrona. La macchina riceve un segnale di sincronismo con periodo di un minuto. Esiste un pulsante P per attraversamento pedonale. Normalmente il semaforo alterna un minuto VERDE su via Mazzini e ROSSO su via Garibaldi, poi un minuto VERDE su via Garibaldi e ROSSO su via Mazzini, e così via Se si preme il pulsante P, alla scadenza del minuto si porta il ROSSO su entrambe le strade e lo si mantiene per due minuti indipendentemente dal valore poi presente su P al termine dei due minuti riparte il funzionamento normale con la configurazione VERDE-ROSSO per la via in cui precedentemente ai due minuti era ROSSO e successivamente, dopo una nuova alternanza, si prende in considerazione P 09/04/

37 Considerazioni: Diagramma degli stati - Esempio 2: specifiche le specifiche funzionali non sono immediatamente traducibili in una FSM: è utile un ulteriore raffinamento dalle specifiche, la macchina da sintetizzare è una macchina di Moore: infatti le uscite devono mantenere il loro valore stabile nell intervallo tra due impulsi di sincronismo Riscrittura delle specifiche: la macchina ha Due uscite G e M; ogni uscita vale 0 se semaforo rosso, 1 se semaforo verde; Un ingresso primario: P vale 1 se premuto, 0 altrimenti; Il passaggio del tempo è segnalato semplicemente dal clock. sintetizzare una macchina sequenziale sincrona di tipo Moore con un ingresso P e due uscite G e M. Se P=0, le due uscite si alternano a 1 ad ogni impulso di sincronismo. Se P=1, le due uscite vanno a 0 per due impulsi di sincronismo. Successivamente, ritornano ad alternarsi con un 1 su quella che precedentemente era 0. Solo dopo una nuova alternanza, P viene preso in considerazione. 09/04/

38 Diagramma degli stati - Esempio 2: stato iniziale Scelta dello stato iniziale per la stesura del diagramma degli stati Si sceglie uno stato in cui non è richiesto attraversamento pedonale: ad esempio, stato a con uscite 01 e ingresso 0 1 0; 1 0; 1 0; 1 b/10 d/00 f/00 h/01 a/ a/01 c/00 e/00 g/10 b/ ; 1 0; 1 0; 1 09/04/

39 Sintesi: Esempio 3 Si sintetizzi la funzione stato prossimo della seguente FSM nell ipotesi di utilizzare bistabili di tipo SR Tabella degli stati Z S0 S0 S0 S2 S1 1 S1 S1 S1 S0 S1 0 S2 S2 S3 S0 S2 1 S3 S3 S3 S2 S3 0 Codifica S0 00 S1 01 S2 11 S3 10 Tabella delle transizioni Z /04/

40 Sintesi: Esempio 3 Tabella delle eccitazioni di un bistabile di tipo SR Tabella delle transizioni Q Q SR I 1 I 0 Tabella delle eccitazioni (con SR) Q 1 Q /04/

41 Sintesi: Esempio 3 Le quattro mappe di Karnaugh che si ottengono sono quindi: I 1 I 0 I 1 I 0 Q 1 Q 0 Q 1 Q Set 0 = Q 1 Q 0 I 1 +I 1 I 0 Q 0 =Q 1 Q 0 I 1 +Set 1 Q 1 Q 0 I 1 I Set 1 = I 1 I 0 Q 0 Res 0 =Q 0 I 0 Q 1 Q 0 I 1 I Res 1 =I 1 I 0 Q 0 = I 1 Res 0 09/04/

42 Riduzione del numero degli stati Il numero minimo di elementi di memoria (flip-flop) necessari a memorizzare tutti gli stati dell insieme S è: N FF,min = log 2 S Nel modello di una macchina a stati possono esistere stati ridondanti L identificazione ed eliminazione di tali stati comporta: Numero minore di elementi di memoria Reti combinatorie meno costose per riduzione del numero di bit necessari per codificare gli stati (minore numero di ingressi e di uscite alle reti combinatorie che realizzano la funzione stato futuro e la funzione d uscita. per aumento dei gradi di libertà nella sintesi combinatoria (condizioni di indifferenza dovute all utilizzo parziale delle configurazioni che possono codificare lo stato) 09/04/

43 Riduzione del numero degli stati Esempio Macchina con 8 stati, 1 ingresso ed 1 uscita Macchina con 3 stati, 1 ingresso ed 1 uscita Funzione λ, δ Funzione λ1, δ1 3 Elementi di memoria Eliminando 5 stati 3 stati implicano l uso di 2 bistabili e 3 codifiche tra le 4 possibili. 0 1 a b/0 c/1 b a/0 c/0 c b/0 a/0 - -/- -/- 09/04/

44 Riduzione del numero degli stati Scopo della riduzione del numero degli stati: individuare la macchina minima equivalente a quella data La macchina minima equivalente è funzionalmente equivalente alla macchina data e dotata del minimo numero di stati Si affronta dapprima il problema della riduzione degli stati per macchine completamente specificate tali cioè che per ogni coppia (stato presente - simbolo d ingresso) siano specificati stato prossimo e simbolo di uscita (se la macchina è di Mealy) oppure (per la macchina di Moore) per ogni stato presente sia specificato il simbolo di uscita e per ogni coppia (stato presente - simbolo d ingresso) sia specificato lo stato prossimo Inoltre, deve essere prevista l eliminazione degli stati non raggiungibili dallo stato di reset, se questo è specificato 09/04/

45 Riduzione del numero degli stati: macchine equivalenti Date due macchine completamente specificate M1 e M2 queste si dicono equivalenti se e solo se per ogni stato s i di M1, esiste uno stato s j di M2 tale che ponendo la macchina M1 in s i e la macchina M2 in s j e applicando alle due macchine una qualunque sequenza di ingresso I, le due sequenze di uscita sono identiche (e viceversa per M2 rispetto ad M1) Si noti: nella definizione di equivalenza si sono considerate solo le relazioni ingresso-uscita, quindi le due macchine possono avere insiemi di stati diversi, in particolare insiemi di diversa cardinalità 09/04/

46 Riduzione del numero degli stati: sequenze di uscite e di stati Sia data una macchina completamente specificata, e sia I α una generica sequenza di ingresso i j,i j+1,..., i k ; applicandola a partire da un generico stato s i si ottengono: 1. Una sequenza di stati S α = s i+1 = δ(s i,i j ), s i+2 = δ(s i+1,i j+1 ) Una sequenza d'uscita U α che nel caso di maccina di Mealy sarà data da u i = λ(s i,i j ), u i+1 = λ(s i+1,i j+1 ), e nel caso di macchina di Moorte da u i = λ(s i ), u i+1 = λ(s i+1 ), Più concisamente, si indicherà U α = λ(s i,i α ) 09/04/

47 Riduzione del numero degli stati: stati indistinguibili di una stessa macchina Data una macchina completamente specificata due stati s i e s j appartenenti ad S sono indistinguibili se: U α,i = λ(s i, I α ) = λ(s j, I α ) = U α,j I α In altre parole, ponendo la macchina in s i oppure in s j e applicando una qualsiasi sequenza di ingresso, le sequenze di uscita prodotte sono identiche. L indistinguibilità tra s i e s j si indica con il simbolo ~: s i ~ s j 09/04/

48 Riduzione del numero degli stati: stati equivalenti di una stessa macchina La relazione di indistinguibilità gode di tre proprietà: Riflessiva: s i ~s i Simmetrica: s i ~s j s j ~s i Transitiva: s i ~s j s j ~s k s i ~s k Quindi, la relazione di indistinguibilità è una relazione d'equivalenza. Due stati indistinguibili sono equivalenti e possono essere sostituiti con un solo stato. In generale, un insieme di stati tra loro equivalenti può essere raggruppato in unica classe di equivalenza. 09/04/

49 Riduzione del numero degli stati: stati equivalenti di una stessa macchina Si definisce classe massima di equivalenza una classe di equivalenza che non è contenuta in nessun altra classe più grande; L insieme delle classi massime di equivalenza determina l insieme degli stati della macchina minima equivalente 09/04/

50 Riduzione del numero degli stati: partizione di equivalenza Formalmente, una relazione di equivalenza induce sull'insieme S degli stati una partizione Π e di equivalenza costituita da m classi C 1,..., C m tale che due stati appartengono alla stessa classe se e solo se sono equivalenti due stati appartengono a classi diverse se e solo se non sono equivalenti C 1 C... C 2 m = S, e C i C j = i, j : i j Il nuovo insieme degli stati è formato dalle classi della partizione Esempio: b a d c b a d c α β 09/04/

51 Riduzione del numero degli stati: macchina minima Una macchina M è minima se non esiste nel suo insieme degli stati nessuna coppia di stati equivalenti Il problema della riduzione degli stati può quindi essere ricondotto a quello della costruzione di una macchina equivalente minima a quella data. data una macchina M e la sua partizione di equivalenza indotta dall indistinguibilità tra stati, la macchina M il cui insieme degli stati è costituito dai blocchi della partizione di equivalenza è la macchina minima equivalente a quella data ed è unica (è equivalente per costruzione, minima per costruzione, unica per le caratteristiche di equivalenza) 09/04/

52 Riduzione del numero degli stati: identificazione degli stati equivalenti La definizione di indistinguibilità tra stati è di difficile applicabilità perché richiederebbe di considerare tutte le sequenze di ingresso (a priori infinite) Si ricorre ad una regola introdotta da Paull Unger: due stati s i e s j appartenenti ad S sono indistinguibili se e solo se per ogni simbolo di ingresso i a : λ(s i,i a )=λ(s j,i a ) (Le uscite sono uguali per ogni simbolo di ingresso δ(s i,i a )~δ(s j,i a ) (Gli stati prossimi sono indistinguibili) La regola di Paull Unger è iterativa 09/04/

53 Riduzione del numero degli stati: identificazione degli stati equivalenti (i) Applicando la regola di Paull Unger agli stati di una macchina, si possono ottenere tre casi 1. s i ~ s j Se i simboli d'uscita sono diversi e/o Se gli stati prossimi sono già stati verificati come distinguibili 2. s i ~ s j Se i simboli di uscita sono uguali e Se gli stati prossimi sono già stati verificati come indistinguibili 3. s i ~ s j se s k ~ s h (vincolo) Se i simboli di uscita sono uguali e Se gli stati prossimi non sono ancora stati verificati come indistinguibili 09/04/

54 Riduzione del numero degli stati: identificazione degli stati equivalenti (ii( ii) Poiché gli insiemi S ed I hanno cardinalità finita, dopo un certo numero di passi i vincoli vengono risolti e ci si troverà in una delle due condizioni: a) s i ~ s j b) s i ~ s j L analisi del caso 3. può portare a costruire sequenze di vincoli nei quali è presente circolarità del vincolo: l indistinguibilità di una coppia di stati è vincolata dall indistinguibilità della stessa coppia di stati o più in generale dalla stessa sequenza, in modo circolare 09/04/

55 Riduzione del numero degli stati: tabella delle implicazioni (i) Le relazioni di indistinguibilità o equivalenze possono essere identificate attraverso l'uso della Tabella delle Implicazioni La tabella ha le seguenti caratteristiche: Mette in relazione ogni coppia di stati E' triangolare (per sfruttare la proprietà simmetrica) e priva della diagonale principale (per sfruttare la proprietà riflessiva) Esempio S1 S2 S3 S0 S1 S2 09/04/

56 Riduzione del numero degli stati: tabella delle implicazioni (ii( ii) Ogni elemento della tabella contiene: Il simbolo di non equivalenza; Il simbolo di equivalenza (se gli stati associati sono equivalenti) Le coppie di stati a cui si rimanda la verifica, se non è possibile pronunciarsi sull equivalenza degli stati associati all elemento Sulla tabella così ottenuta si procede ad una analisi di tutte le coppie di stati. Esempio: S1 x S2 x ~ S3 S1,S2 x x S0 S1 S2 09/04/

57 Riduzione del numero degli stati: tabella delle implicazioni (iii( iii) Per ogni coppia di stati: Analisi delle coppie di stati Una coppia marcata come equivalente non richiede alcuna ulteriore verifica Se si trova un rimando ad un altra coppia: 1. Se tali stati sono equivalenti anche gli stati della coppia in esame sono equivalenti 2. Se tali non sono equivalenti anche gli stati della coppia in esame non sono equivalenti Se gli stati della coppia cui si rimanda dipendono da una ulteriore coppia di stati si ripete il procedimento in modo iterativo fino a quando ci si riconduce ad uno dei due casi precedenti (si ricordi la circolarità del vincolo) L'algoritmo termina quando non sono più possibili eliminazioni Le coppie rimaste sono equivalenti 09/04/

58 Riduzione del numero degli stati: Esempio Tabella degli stati b x Tabella delle implicazioni 0 1 a h/0 g/1 b c/0 e/0 c b/0 a/0 d e/1 c/0 e h/0 d/1 f e/1 h/0 g a/1 c/0 h d/0 f/1 c d e f g h x ae x x x dg x x x x x x ch x x x ae x ae ch dh x x x dh x x fg df a b c d e f g x 09/04/

59 Riduzione del numero degli stati: Esempio b c d e f g h x x ae x x x dg ~ ~ x x x x x x ch x x x ae x ae ~ ch dh x x x dh x x fg df a b c d e f g x Coppia d;f d;f c;h ma c;h distinguibile: risultato d;f distinguibile (X) Coppia f;g f;g a;e e f;g c;h. c;h è distinguibile: risultato f;g distinguibile (X) Coppia a;h a;h d;h e a;h f;g. d;h è distinguibile: risultato a;h distinguibile (X) Coppia e;h e;h d;h e e;h d;f. d;h è distinguibile: Risultato e;h distinguibile (X) Coppia a;e a;e d;g ma d;g a;e. Quindi a;e d;g a;e: risultato a~e e d~g Coppia b;c b;c a;e poiché a~e (passo 1) anche b~c; 09/04/

60 Costruzione della partizione di equivalenza e della macchina minima Le relazioni d'equivalenza sono rappresentabili su un grafo di equivalenza: Vertice: rappresenta uno stato Lato: due vertici sono uniti da un lato se e solo se sono equivalenti Le classi di equivalenza sono i sottografi completi del grafo (o clique): a h b g c f d e Π e = { {a, e}, {b, c}, {d, g}, h, f } = = { α, β, δ, h, f } 0 1 a h/0 g/1 b c/0 e/0 c b/0 a/0 d e/1 c/0 e h/0 d/1 f e/1 h/0 g a/1 c/0 h d/0 f/1 0 1 α h,0 δ,1 β β,0 α,0 δ α,1 β,0 f α,1 h,0 h δ,0 f,1 09/04/

61 Riduzione del numero degli stati: Esempio 1 Diagramma degli stati Tabella degli stati 1/01 0/10 a 1/11 c 0/10 d 0/01 0/00 1/11 1/01 0/00 g b 0/00 1/11 1/11 f e 1/01 0/10 1/ a g/00 c/01 b g/00 d/01 c d/10 a/11 d c/10 b/11 e g/00 f/01 f f/10 e/11 g a/01 f/11 09/04/

62 Riduzione del numero degli stati: Esempio 1 Tabella degli stati Tabella delle implicazioni 0 1 a g/00 c/01 b g/00 d/01 c d/10 a/11 d c/10 b/11 e g/00 f/01 f f/10 e/11 g a/01 f/11 b c d e f g cd x x x x ab cf fd x x x x ae x df be cf x x x x x x a b c d e f 09/04/

63 Riduzione del numero degli stati: Esempio 1 b Analisi della tabella delle implicazioni cd Coppia a;b a;b c;d ma c;d a;b quindi a;b c;d a;b: risultato a~b e c~d c d e f g x x x x ab cf fd x x x x ae x df be cf x x x x x x a b c d e f Coppia a;e a;e c;f ma c;f a;e e c;f d;f quindi a;e c;f d;f ma d;f b;e e d;f c;f quindi a;e c;f d;f b;e ma b;e d;f quindi a;e c;f d;f b;e quindi a~e, c~f, d~f e b~e A questo punto, l analisi delle altre coppie è già risolta 09/04/

64 Riduzione del numero degli stati: Esempio 1 b c d e f g Tabella delle implicazioni cd ~ x x x x ab ~ ~ ~ cf fd x x ~ ~ x x ae x df be cf x x x x x x a b c d e f f Grafo di equivalenza g e a d b c Partizione Π e = { {a, b, e}, {c, d, f}, g } = { α, β, g } Tabella ridotta degli stati 0 1 α g/00 β/01 β β/10 α/11 g α/01 β/11 09/04/

65 Sintesi: Esempio 2 Sintetizzare una macchina di Moore secondo le specifiche: La FSM ha due ingressi A e B; La FSM ha un uscita Z, che assume valore iniziale 1 Quando A=1, l uscita assume il valore di B e tale valore permane fino a quando si presenta la condizione A = B = Z = 1 Al presentarsi della condizione su indicata, il ruolo assunto da A e B viene scambiato Si sceglie innanzitutto uno stato iniziale: si seleziona uno stato s 0 in cui l uscita vale 1, l ingresso controllante è A e gli ingressi sono A=B=0. 09/04/

66 Sintesi: Esempio 2 A=0;B=1 A=0;B=0 A=1;B=1 A=1;B=0 A=0;B=1 A=0;B=0 Tabella degli stati S0/1 A controlla A=1;B=0 S1/0 A controlla Z S0 S0 S0 S2 S1 1 A=1 B=1 A=1 B=1 S1 S1 S1 S0 S1 0 S2 S2 S3 S0 S2 1 A=1;B=1 S3 S3 S3 S2 S3 0 S2/1 B controlla A=0;B=1 S3/0 B controlla A=1;B=0 A=0;B=0 A=1;B=0 A=0;B=1 A=0;B=0 09/04/

67 Sintesi: Esempio 2 Tabella degli stati Tabella delle implicazioni Z S0 S0 S0 S2 S1 1 S1 S1 S1 S0 S1 0 S2 S2 S3 S0 S2 1 S3 S3 S3 S2 S3 0 S1 x S0,S3 S2 S1,S2 x S3 x S2,S0 x S0 S1 S2 09/04/

68 Riduzione del numero degli stati: Esempio 3 Tabella degli stati Tabella delle implicazioni S1 S2/0 S8/1 S6/0 S3/0 S2 S7/0 S1/1 S5/1 S8/1 S3 S4/0 S8/1 S7/0 S5/0 S4 S6/0 S3/1 S1/1 S8/1 S5 S2/0 S8/1 S7/0 S1/0 S6 S1/1 S6/0 S3/1 S7/1 S7 S3/1 S6/0 S5/1 S7/1 S8 S1/1 S2/1 S8/1 S7/1 S2 x S2,S4 S3 S6,S7 x S3,S5 S6,S7 S4 x S5,S1 x S3,S1 S5 S6,S7 x S4,S2 x S3,S1 S5,S1 S6 x x x x x S7 x x x x x S3,S1 S3,S5 S8 x x x x x x x S1 S2 S3 S4 S5 S6 S7 09/04/

69 Riduzione del numero degli stati: Esempio 3 Grafo di equivalenza Tabella delle implicazioni S2 x S2,S4 S3 S6,S7 x ~ S3,S5 S6,S7 S4 x S5,S1 x ~ S3,S1 S5 S6,S7 x S4,S2 x S3,S1 ~ S5,S1 ~ S6 x x x x x S7 x x x x x S3,S1 S3,S5 ~ S8 x x x x x x x S1 S2 S3 S4 S5 S6 S Partizione e = { {S1, S3, S5}, {S2, S4}, {S6, S7}, S8 } = ={ a, b, c, S8 } /04/

70 Riduzione del numero degli stati: Esempio 3 Grafo di equivalenza Tabella ridotta degli stati a b/0 S8/1 c/0 a/0 b c/0 a/1 a/1 S8/1 c a/1 c/0 a/1 c/1 S8 a/1 b/1 S8/1 c/1 Partizione e = { {S1, S3, S5}, {S2, S4}, {S6, S7}, S8 } = ={ a, b, c, S8 } 09/04/

71 Riduzione del numero degli stati: eliminazione degli stati irraggiungibili Uno stato è non raggiungibile se non esiste alcuna sequenza di transizioni di stato che porti dallo stato iniziale in tale stato. Gli stati irraggiungibili possono essere eliminasti senza modificare il comportamento della macchina. 0/10 Reset 1/11 c 0/10 d Reset Transizioni di RESET 0/01 -/00 1/11 1/01 0/01 -/00 g 0/00 b g 1/11 1/11 0/00 1/11 1/11 0/00 f e f e 0/10 1/11 1/11 0/10 09/04/

72 Assegnamento degli stati La riduzione del numero degli stati minimizza il numero di variabili di stato che descrivono la macchina da sintetizzare A pari numero di stati la complessità della rete combinatoria che sintetizza la funzione δ dipende dal particolare assegnamento scelto per gli stati L assegnamento degli stati permette di passare dalla tabella degli stati in tabella delle transizioni, che rappresenta in forma iniziale (manca la scelta del bistabile) l insieme delle tabelle delle eccitazioni della macchina (soggette ad effettiva sintesi) Le adiacenze di 1 (o 0) nelle corrispondenti mappe di Karnaugh consentono di ottenere reti combinatorie più o meno complesse, a pari metodo di ottimizzazione 09/04/

73 Scelta del codice Il processo di codifica degli stati porta a identificare per ogni rappresentazione simbolica dello stato una corrispondente rappresentazione binaria. Si distinguono due problemi: 1. Scelta del codice: si può scegliere A minimo numero di bit (n di elementi di memoria= log 2 S codifica densa ) One-Hot (n di elementi di memoria= S codifica sparsa ) Distanza Minima: gli stati che sono in corrispondenza delle transizioni più frequenti sono posti a distanza Hamming più piccola possibile mantenendo il vincolo del minimo numero di bit. 2. Identificazione della codifica di ogni stato. 09/04/

74 Codifica degli stati Scelto il codice, la codifica degli stati influisce sia sull area sia sulle prestazioni del dispositivo. Il problema della identificazione della codifica ottima è un problema NP-completo Impone l uso di euristiche per prevedere l influenza sul processo di ottimizzazione della codifica scelta. Ad esempio, il numero possibili codifiche per il codice a minimo numero di bit è: log 2 S ( 2 1)! log 2 S ( 2 S )! log S! Con S = 8 si hanno 840 possibili codifiche Spesso, scelto il codice, si preferisce non ricorrere ad alcuna specifica strategia di codifica - il costo della strategia di codifica rispetto alla affidabilità del risultato ottenuto è ritenuto eccessivo. 2 09/04/

75 Scelta del codice Codifiche semplici : binario naturale e one-hot con codifica casuale Binario Naturale: Il numero di bit è quello minimo Al primo stato corrisponde si associa la configurazione di bit che codifica il numero 0, al secondo stato quella che codifica il numero 1... L ordinamento degli stati è quello determinato in fase di realizzazione della tabella degli stati. One-Hot: Il numero di bit per la codifica dello stato è pari al numero degli stati In ogni codifica, un solo bit assume valore 1. Tutti i bit rimanenti assumono valore 0 Le codifiche degli stati sono tutte a distanza di Hamming 2 09/04/

76 Scelta del codice Esempio: sia data la tabella delle transizioni di una macchina con tre stati, si confrontino la codifica binaria naturale e quella one-hot: S 0 S 1 S 2 Binario naturale One-Hot /04/

77 Codifica a numero minimo di bit: flip-flop flop D Consideriamo il caso di codifica a numero minimo di bit e utilizzo di flip flop D Si possono usare metodi euristici per determinare codifiche che possano produrre macchine con reti combinatorie semplificate da una buona scelta dell associazione codifica-stato Nel caso di bistabili D è possibile identificare dei criteri di scelta semplici, poiché la tabella delle transizioni della macchina coincide con la tabella delle eccitazioni I criteri di scelta si basano sul principio di generare il più possibile 1 (o 0) adiacenti nella tabella delle transizioni (eccitazioni) 09/04/

78 Codifica a numero minimo di bit: flip-flop flop D Metodo utilizzabile a mano su macchine con un numero di stati ridotto: si basa su considerazioni che generano vincoli di codifica: 1. Se due stati s i e s j hanno, per la stessa configurazione di ingresso, lo stesso stato futuro è opportuno che s i e s j abbiano codifiche adiacenti, in modo da avere coppie di 1 o di 0 adiacenti sulle colonne Esempio punto 1. Tabella degli stati Tabella delle transizioni Z Codifica S0 S0 S0 S2 S1 1 S1 S1 S1 S0 S1 0 S2 S2 S3 S0 S2 1 S3 S3 S3 S2 S3 0 S0 00 S1 01 S2 11 S Z /04/

79 Codifica a numero minimo di bit: flip-flop flop D 1. Se due stati s i e s j sono stati prossimi dello stesso stato per configurazioni di ingresso adiacenti, è opportuno che abbiano codifiche adiacenti, per avere coppie di 1 o di 0 adiacenti sulle righe 1. Nel caso di macchina di Mealy è possibile esprimere un criterio anche relativo all uscita (se s i e s j hanno uscite identiche, per qualche ingresso, è opportuno che i due stati abbiano codifiche adiacenti) Esempio punto 2. Tabella degli stati Z S0 S0 S0 S2 S1 1 S1 S1 S1 S0 S1 0 S2 S2 S3 S0 S2 1 S3 S3 S3 S2 S3 0 Codifica S0 00 S1 01 S2 11 S3 10 Tabella delle transizioni Z /04/

80 Codifica a numero minimo di bit: flip-flop flop D I vincoli imposti dai tre criteri di adiacenza possono generare conflitti e comunque può risultare impossibile soddisfarli A questi vincoli si può associare una priorità e un peso relativo: priorità: regola 1., priorità max, regola 2., priorità media, regola 3., priorità min peso: cardinalità del vincolo derivante dell esame della tabella degli stati, dopo aver applicato le regole esposte Noi considereremo solo le regole 1. e 2. e il peso 09/04/

81 Codifica degli stati: Esempio a c c b c a c e d d b c e e e 5 stati: 3 variabili di stato Stati aventi lo stesso stato prossimo a,b condividono c a,d condividono c c,e condividono e Stati prossimi con ingressi adiacenti a,c stato presente b e,d stato presente c b,c stato presente d Cardinalità dei vincoli Adiacenze Cardinalità a,b 1 a,c 1 a,d 1 a,e 0 b,c 1 b,d 0 b,e 0 c,d 0 c,e 1 d,e 1 09/04/

82 Codifica degli stati: Esempio 1 Cardinalità dei vincoli Adiacenze Cardinalità a,b 1 a,c 1 a,d 1 a,e 0 b,c 1 b,d 0 b,e 0 c,d 0 c,e 1 d,e 1 Dalla tabella dei vincoli, si costruisce il grafo, i cui archi hanno un peso pari alla cardinalità dei vincoli. Il peso viene usato se non è possibile soddisfare tutti i vincoli Grafo dei vincoli con archi pesati a d e c b 09/04/

83 Scelta dell assegnamento Il grafo dei vincoli, il linea di principio, rappresenta l insieme dei sotto-cubi di adiacenza che devono essere riportati nella mappa di codifica. Ciò è possibile solo se il grafo ottenuto è costituito da soli n-cubi o da unioni di sottocubi Se il grafo non è costituito da soli n-cubi o da unioni di n-cubi, è necessario tagliare alcuni archi La scelta viene fatta eliminando il minimo numero di archi possibile e utilizzando il peso come criterio secondario 09/04/

84 Codifica degli stati: Esempio 1 d a Grafo iniziale: non è un unione di sotto-cubi Mappa per la codifica (variabili di stato) b a c b 1 d e e c d a Codifica a 000 Grafo ridotto tagliando il numero minore di archi e c b b 100 c 010 d 001 e /04/

85 Codifica degli stati: Esempio 2 Stati aventi lo stesso stato prossimo Tabella degli stati S0 S0 S0 S2 S1 S1 S1 S1 S0 S1 S2 S2 S3 S0 S2 S3 S3 S3 S2 S3 4 stati: 2 variabili di stato s0,s1 condividono s1 s0,s3 condividono s2 s2,s3 condividono s3 s1,s2 condividono s0 Stati prossimi con ingressi adiacenti s0,s2 stato presente s0 s1,s2 stato presente s0 s0,s1 stato presente s0 s0,s1 stato presente s1 s0,s1 stato presente s1 s2,s3 stato presente s2 s0,s3 stato presente s2 s0,s2 stato presente s2 s2,s3 stato presente s3 s2,s3 stato presente s3 Cardinalità dei vincoli Adiacenze Cardinalità s0,s1 4 s1,s2 2 s0,s2 2 s2,s3 4 s0,s3 2 09/04/

86 Codifica degli stati: Esempio 2 Cardinalità dei vincoli Adiacenze Cardinalità s0,s1 4 s1,s2 2 s0,s2 2 s2,s3 4 s3,s0 2 Dalla tabella dei vincoli, si costruisce il grafo, i cui archi hanno un peso pari alla cardinalità dei vincoli. Il peso viene usato se non è possibile soddisfare tutti i vincoli Grafo dei vincoli con archi pesati s s1 2 s2 4 s3 09/04/

87 Codifica degli stati: Esempio 2 s s1 Grafo iniziale: non è un unione di sotto-cubi Mappa per la codifica (variabili di stato) s0 s1 2 1 s3 s2 s2 4 s3 Grafo ridotto tagliando il numero minore di archi s s1 Codifica s0 00 s1 01 s2 11 s3 10 s2 4 s3 09/04/

88 Altri criteri di assegnamento Esistono metodi che hanno lo scopo di individuare per la funzione δ una dipendenza ridotta dalle variabili di stato Il metodo assegna, se possibile, gli stati in modo da identificare dei moduli che dipendono da un numero di variabili di stato inferiore a quello totale della FSM Il metodo partiziona le variabili di stato (i bistabili) e quindi individua dei moduli costituiti da un sottoinsieme di bistabili e una rete combinatoria che realizza δ solo per quel sottoinsieme di variabili di stato le reti combinatorie risultanti sono in generale localmente meno complesse perché dipendono, oltre che dagli ingressi, da un numero ridotto di variabili di stato 09/04/

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

Introduzione. Sintesi Sequenziale Sincrona. Modello del circuito sequenziale. Progetto e strumenti. Il modello di un circuito sincrono può essere Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone di Macchine Senza Processo di Ottimizzate a Livello Comportamentale Sintesi comportamentale e architettura generale Diagramma

Dettagli

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Il problema dell assegnamento degli stati versione del 9/1/03 Sintesi: Assegnamento degli stati La riduzione del numero

Dettagli

Introduzione - Modello. Introduzione - progetto e strumenti

Introduzione - Modello. Introduzione - progetto e strumenti intesi equenziale incrona intesi Comportamentale di reti equenziali incrone di Macchine enza Processo di Ottimizzate a Livello Comportamentale Introduzione intesi comportamentale e architettura generale

Dettagli

Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti Sequenziali Sincrone Sintesi di Reti Sequenziali Sincrone Maurizio Palesi Maurizio Palesi 1 Macchina Sequenziale Una macchina sequenziale è definita dalla quintupla (I,U,S,δ,λ ) dove: I è l insieme finito dei simboli d ingresso

Dettagli

Sintesi di Reti sequenziali Sincrone

Sintesi di Reti sequenziali Sincrone Sintesi di Reti sequenziali Sincrone alcolatori ElettroniciIngegneria Telematica Sintesi di Reti Sequenziali Sincrone na macchina sequenziale è definita dalla quintupla δ, λ) dove: I è l insieme finito

Dettagli

Macchine sequenziali. Automa a Stati Finiti (ASF)

Macchine sequenziali. Automa a Stati Finiti (ASF) Corso di Calcolatori Elettronici I Macchine sequenziali Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso

Dettagli

Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti Sequenziali Sincrone Sintesi di Reti Sequenziali Sincrone Maurizio Palesi Maurizio Palesi 1 Macchina Sequenziale Una macchina sequenziale è definita dalla quintupla (I,U,S,δ,λ) dove: I è l insieme finito dei simboli d ingresso

Dettagli

Automi a stati finiti

Automi a stati finiti 1. Automi a stati finiti: introduzione Automi a stati finiti Supponiamo di avere un sistema che si può trovare in uno stato appartenente ad un insieme finito di stati possibili. Ex: Immaginiamo un incrocio

Dettagli

1. Automi a stati finiti: introduzione

1. Automi a stati finiti: introduzione 1. Automi a stati finiti: introduzione Supponiamo di avere un sistema che si può trovare in uno stato appartenente ad un insieme finito di stati possibili. Ex: Immaginiamo un incrocio tra due strade regolate

Dettagli

Progetto di Contatori sincroni. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Progetto di Contatori sincroni. Mariagiovanna Sami Corso di reti Logiche 8 Anno Progetto di Contatori sincroni Mariagiovanna Sami Corso di reti Logiche 8 Anno 08 Introduzione Per le reti sequenziali esistono metodologie di progettazione generali, che partendo da una specifica a parole

Dettagli

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

I Bistabili. Maurizio Palesi. Maurizio Palesi 1 I Bistabili Maurizio Palesi Maurizio Palesi 1 Sistemi digitali Si possono distinguere due classi di sistemi digitali Sistemi combinatori Il valore delle uscite al generico istante t* dipende solo dal valore

Dettagli

Esercitazioni di Reti Logiche. Lezione 5

Esercitazioni di Reti Logiche. Lezione 5 Esercitazioni di Reti Logiche Lezione 5 Circuiti Sequenziali Zeynep KIZILTAN zeynep@cs.unibo.it Argomenti Circuiti sequenziali Flip-flop D, JK Analisi dei circuiti sequenziali Progettazione dei circuiti

Dettagli

FSM: Macchine a Stati Finiti

FSM: Macchine a Stati Finiti FSM: Macchine a Stati Finiti Introduzione Automi di Mealy Automi di Moore Esempi Sommario Introduzione Automi di Mealy Automi di Moore Esempi Sommario Introduzione Metodo per descrivere macchine di tipo

Dettagli

RIDUZIONE DEL NUMERO DI STATI DI UN AUTOMA

RIDUZIONE DEL NUMERO DI STATI DI UN AUTOMA RIDUZIONE DEL NUMERO DI STATI DI UN AUTOMA Il numero degli stati di un automa può risultare elevato, perché l insieme stesso degli stati può essere ridondante, in quanto vi possono essere più stati che

Dettagli

Macchine sequenziali

Macchine sequenziali Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine sequenziali Lezione 14 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Automa a Stati Finiti (ASF) E una prima astrazione di

Dettagli

Corso di Reti Logiche

Corso di Reti Logiche Corso di Reti Logiche Minimizzazione degli Stati nelle Macchine Sequenziali Dipartimento di Informatica e Sistemistica Università Degli Studi di Napoli Federico II 1 Le Macchine o Automi E necessario individuare

Dettagli

Reti Sequenziali. Reti Sequenziali. Corso di Architetture degli Elaboratori

Reti Sequenziali. Reti Sequenziali. Corso di Architetture degli Elaboratori Reti Sequenziali Reti Sequenziali Corso di Architetture degli Elaboratori Caratteristiche 1 Caratteristiche delle reti sequenziali Reti combinatorie: il valore in uscita è funzione (con il ritardo indotto

Dettagli

Reti sequenziali. Nord

Reti sequenziali. Nord Reti sequenziali Nord Ovest Est Semaforo a due stati verde/rosso Sud Vogliamo definire un circuito di controllo per produrre due segnali NS ed EO in modo che: Se NS è on allora il semaforo è verde nella

Dettagli

COMPITO A Esercizio 1 (13 punti) Dato il seguente automa:

COMPITO A Esercizio 1 (13 punti) Dato il seguente automa: COMPITO A Esercizio 1 (13 punti) Dato il seguente automa: 1/0 q8 1/0 q3 q1 1/0 q4 1/0 q7 1/1 q2 1/1 q6 1/1 1/1 q5 - minimizzare l automa usando la tabella triangolare - disegnare l automa minimo - progettare

Dettagli

I Indice. Prefazione. Capitolo 1 Introduzione 1

I Indice. Prefazione. Capitolo 1 Introduzione 1 I Indice Prefazione xi Capitolo 1 Introduzione 1 Capitolo 2 Algebra di Boole e di commutazione 7 2.1 Algebra di Boole.......................... 7 2.1.1 Proprietà dell algebra.................... 9 2.2

Dettagli

Metodo di Quine- McCluskey

Metodo di Quine- McCluskey Metodo di Quine- McCluskey Maurizio Palesi Maurizio Palesi Definizioni Date due funzioni f(x,x 2,,x n ) e g(x,x 2,,x n ) si dice che f copre g (oppure g implica f) e si scrive f g se f(x,x 2,,x n )= quando

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici RETI SEQUENZIALI : ESERCIZI Massimiliano Giacomin 1 Implementazione di contatori Un contatore è un dispositivo sequenziale che aggiorna periodicamente il suo stato secondo una regola

Dettagli

Fondamenti di informatica II 1. Sintesi di reti logiche sequenziali

Fondamenti di informatica II 1. Sintesi di reti logiche sequenziali Titolo lezione Fondamenti di informatica II 1 Sintesi di reti logiche sequenziali Reti combinatorie e sequenziali Fondamenti di informatica II 2 Due sono le tipologie di reti logiche che studiamo Reti

Dettagli

Flip-flop, registri, la macchina a stati finiti

Flip-flop, registri, la macchina a stati finiti Architettura degli Elaboratori e delle Reti Lezione 9 Flip-flop, registri, la macchina a stati finiti Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell nformazione Università degli Studi di

Dettagli

I CONTATORI. Definizioni

I CONTATORI. Definizioni I CONTATORI Definizioni. I contatori sono dispositivi costituiti da uno o più flip-flop collegati fra loro in modo da effettuare il conteggio di impulsi applicati in ingresso. In pratica, i flip-flop,

Dettagli

Prova d esame di Reti Logiche T 10 Giugno 2016

Prova d esame di Reti Logiche T 10 Giugno 2016 Prova d esame di Reti Logiche T 10 Giugno 2016 COGNOME:.. NOME:.. MATRICOLA: Si ricorda il divieto di utilizzare qualsiasi dispositivo elettronico (computer, tablet, smartphone,..) eccetto la calcolatrice,

Dettagli

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente Routing Introduzione Il livello 3 della pila ethernet ha il compito di muovere i pacchetti dalla sorgente attraversando più sistemi Il livello di network deve quindi: Scegliere di volta in volta il cammino

Dettagli

Esercitazioni di Reti Logiche

Esercitazioni di Reti Logiche Esercitazioni di Reti Logiche Sintesi di Reti Sequenziali Zeynep KIZILTAN Dipartimento di Scienze dell Informazione Universita degli Studi di Bologna Anno Academico 2007/2008 Sintesi dei circuiti sequenziali

Dettagli

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Per ogni lezione, sintetizzare i circuiti combinatori o sequenziali che soddisfino le specifiche date e quindi implementarli e

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello. livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello. livello Minimizzazione di Reti Logiche Combinatorie Multi-livello livello Maurizio Palesi Maurizio Palesi 1 Introduzione I circuiti logici combinatori sono molto spesso realizzati come reti multi-livello di porte

Dettagli

Reti Logiche Appello del 1 marzo 2011

Reti Logiche Appello del 1 marzo 2011 Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Fabrizio Ferrandi prof.ssa Cristiana Bolchini Esercizio n. 1 Si consideri la macchina sequenziale sincrona a

Dettagli

Compito A. Esercizio 1 (13 punti) Minimizzare l automa descritto dalla seguente tabella degli stati

Compito A. Esercizio 1 (13 punti) Minimizzare l automa descritto dalla seguente tabella degli stati Compito A Esercizio 1 (13 punti) Minimizzare l automa descritto dalla seguente tabella degli stati stato/input x=0 x=1 A B/0 A/0 B C/0 A/0 C B/0 D/1 D B/0 E/0 E B/0 D/1 Esercizio 2. (17 punti) Realizzare

Dettagli

Ottimizzazione delle reti combinatorie

Ottimizzazione delle reti combinatorie Ottimizzazione delle reti combinatorie Ottimizzazione delle reti combinatorie L ottimizzazione di un circuito comporta normalmente un compromesso tra: Prestazioni (ritardo di propagazione) Area (o costo)

Dettagli

Circuiti sequenziali

Circuiti sequenziali Circuiti sequenziali - I circuiti sequenziali sono caratterizzati dal fatto che, in un dato istante tn+1 le uscite dipendono dai livelli logici di ingresso nell'istante tn+1 ma anche dagli stati assunti

Dettagli

Esercizi Logica Digitale,Circuiti e Bus

Esercizi Logica Digitale,Circuiti e Bus Esercizi Logica Digitale,Circuiti e Bus Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 214/214 1 2 Esercizio 1 Si consideri la funzione booleana di 3 variabili G(a,b, c) espressa dall equazione seguente:

Dettagli

Reti Logiche A Esame del 24 febbraio 2006

Reti Logiche A Esame del 24 febbraio 2006 Politecnico di Milano ipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Fabrizio Ferrandi prof.ssa Cristiana Bolchini Esercizio n. a) ata la seguente tabella di copertura: Reti Logiche

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione I circuiti logici combinatori sono molto spesso realizzati come reti multi-livello di porte logiche

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Esercitazione 2 I Flip Flop 1. ual è la differenza tra un latch asincrono e un Flip Flop? a. Il latch è abilitato da un segnale di clock b. Il latch ha gli ingressi asincroni perché questi ultimi controllano

Dettagli

Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti Sequenziali Sincrone LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 9 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it a.a. 2007-2008 http://digilander.libero.it/rosario.cerbone Sintesi di Reti Sequenziali Sincrone

Dettagli

Dalla tabella alla funzione canonica

Dalla tabella alla funzione canonica Dalla tabella alla funzione canonica La funzione canonica è la funzione logica associata alla tabella di verità del circuito che si vuole progettare. Essa è costituita da una somma di MinTerm con variabili

Dettagli

Appunti su Indipendenza Lineare di Vettori

Appunti su Indipendenza Lineare di Vettori Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo

Dettagli

Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a Due Livelli: Metodo di Karnaugh. Mariagiovanna Sami a.a.

Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a Due Livelli: Metodo di Karnaugh. Mariagiovanna Sami a.a. Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a Due Livelli: Metodo di Karnaugh Mariagiovanna Sami a.a. 2007-2008 2008 livelli: Introduzione Le reti combinatorie mostrano in ogni istante

Dettagli

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010 ASF

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010 ASF Reti Logiche 1 Prof. B. Buttarazzi A.A. 2009/2010 ASF Sommario Introduzione alle reti sequnziali La definizione di ASF ASF di Mealy e Moore Diagrammi di stato e Tabelle di flusso Automi equivalenti Minimizzazione

Dettagli

Sintesi di una rete combinatoria

Sintesi di una rete combinatoria Mappe di Karnaugh Sintesi di una rete combinatoria Offrono uno strumento per esprimere una funzione booleana f: {0,1}n {0,1} in una forma SP o PS minima. Invece della tabella di definizione si impiegano

Dettagli

Funzioni booleane. Vitoantonio Bevilacqua.

Funzioni booleane. Vitoantonio Bevilacqua. Funzioni booleane Vitoantonio Bevilacqua bevilacqua@poliba.it Sommario. Il presente paragrafo si riferisce alle lezioni del corso di Fondamenti di Informatica e Laboratorio di Informatica dei giorni 9

Dettagli

Esercizio 1. semaforo verde semaforo rosso T V1 VG 1. semaforo verde-giallo semaforo rosso T G V 2. semaforo rosso semaforo verde T V2 VG 2

Esercizio 1. semaforo verde semaforo rosso T V1 VG 1. semaforo verde-giallo semaforo rosso T G V 2. semaforo rosso semaforo verde T V2 VG 2 Esercizio 1 Il sistema di controllo di un impianto semaforico posto all incrocio di due strade deve operare secondo due distinte modalità di funzionamento, selezionate rispettivamente dal valore logico

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

Domande di Reti Logiche compito del 29/1/2016

Domande di Reti Logiche compito del 29/1/2016 Domande di Reti Logiche compito del 29/1/2016 Barrare una sola risposta per ogni domanda Il punteggio finale è -1 (n. di risposte errate + n. domande lasciate in bianco Usare lo spazio bianco sul retro

Dettagli

Esercizio 1 (12 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo.

Esercizio 1 (12 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo. Compito A Esercizio (2 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo. S / S 2 / S 3 / S 4 / S 5 / Esercizio 2 (5 punti) Progettare un circuito il cui output

Dettagli

Richiami di Algebra di Commutazione

Richiami di Algebra di Commutazione LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 6-7 Richiami di Algebra di Commutazione In questa

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Lezione 2 Reti Logiche: Sintesi Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Argomenti della lezione q Reti combinatorie Sintesi, Mappe Karnaugh Esercizi 2 Sintesi di reti

Dettagli

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754 Addizionatori: metodo Carry-Lookahead Costruzione di circuiti combinatori Standard IEEE754 Addizionatori Il circuito combinatorio che implementa l addizionatore a n bit si basa su 1-bit adder collegati

Dettagli

Calcolatori Elettronici Reti Sequenziali Asincrone

Calcolatori Elettronici Reti Sequenziali Asincrone Calcolatori Elettronici eti equenziali Asincrone Ing. dell Automazione A.A. 2/2 Gabriele Cecchetti eti equenziali Asincrone ommario: Circuito sequenziale e bistabile Definizione di rete sequenziale asincrona

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007 Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Dettagli

Flip-flop e loro applicazioni

Flip-flop e loro applicazioni Flip-flop e loro applicazioni Reti sequenziali elementari (6) L'elemento bistabile Latch o flip-flop trasparenti Temporizzazione dei flip-flop trasparenti Architettura master-slave Flip-flop non trasparenti

Dettagli

Calcolo numerico e programmazione Rappresentazione dei numeri

Calcolo numerico e programmazione Rappresentazione dei numeri Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori

Dettagli

Esercizio sugli automi di Moore

Esercizio sugli automi di Moore Esercizio sugli automi di Moore 1. Sintesi di un automa di Moore: Gestione di un sistema di inscatolamento. Si vuole costruire una rete sequenziale che controlli un sistema di inscatolamento. Braccio1

Dettagli

Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO

Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO Mappe di Karnaugh 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Le semplificazioni di una funzione logica possono essere effettuate mediante i teoremi dell'algebra di Boole. Esiste però un metodo molto

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante: Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine

Dettagli

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1. PORTE LOGICHE Premessa Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull 1. I mattoni fondamentali dei

Dettagli

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}

Dettagli

Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per:

Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per: INTRODUZIONE AI CONTATORI Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per: o Conteggio di eventi o Divisione di frequenza o Temporizzazioni Principi

Dettagli

Algebra di Boole X Y Z V. Algebra di Boole

Algebra di Boole X Y Z V. Algebra di Boole L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole che

Dettagli

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche Ing. Gestionale e delle Telecomunicazioni A.A. 27/8 Gabriele Cecchetti Algebra delle reti logiche Sommario: Segnali digitali vs. segnali analogici

Dettagli

Catene di Markov. 8 ottobre 2009

Catene di Markov. 8 ottobre 2009 Catene di Markov 8 ottobre 2009 Definizione 1. Si dice catena di Markov (finita) un sistema dotato di un numero finito n di stati {1, 2,..., n} che soddisfi la seguente ipotesi: la probabilità che il sistema

Dettagli

Macchine Sequenziali

Macchine Sequenziali Macchine Sequenziali Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Limiti delle reti combinatorie Ogni funzione di n variabili

Dettagli

Flip-flop Macchine sequenziali

Flip-flop Macchine sequenziali Flip-flop Macchine sequenziali Introduzione I circuiti digitali possono essere così classificati Circuiti combinatori Il valore delle uscite ad un determinato istante dipende unicamente dal valore degli

Dettagli

Figura 7: Ruota della Fortuna. Quanti sono i casi possibili? G. Sanfilippo - CdP - STAD - Lezione 2 del 12 Aprile pag. 15

Figura 7: Ruota della Fortuna. Quanti sono i casi possibili? G. Sanfilippo - CdP - STAD - Lezione 2 del 12 Aprile pag. 15 Figura 7: Ruota della Fortuna. Quanti sono i casi possibili? G. Sanfilippo - CdP - STAD - Lezione 2 del 12 Aprile 2012- pag. 15 Casi Possibili B= La lancetta indica il Blu V= La lancetta indica il Verde

Dettagli

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite 3 Sistemi lineari 3 Generalità Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite ovvero, in forma matriciale, a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x

Dettagli

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO Macchine a stati finiti 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Al più alto livello di astrazione il progetto logico impiega un modello, la cosiddetta macchina a stati finiti, per descrivere

Dettagli

I REGISTRI. Reti autonome e contatori

I REGISTRI. Reti autonome e contatori I REGISTRI Il flip-flop Fc carica il valore di F a ogni impulso c. Si può allora dotare la rete di un nuovo ingresso A, che "abilita" (A=1) il caricamento di F, o blocca (A=0) il flip-flop sul suo stato

Dettagli

Minimizzazione del costo di reti livelli a 2 livelli tramite mappe di Karnaugh. Mappe di Karnaugh. Sommario. Sommario. M. Favalli

Minimizzazione del costo di reti livelli a 2 livelli tramite mappe di Karnaugh. Mappe di Karnaugh. Sommario. Sommario. M. Favalli Sommario Minimiaione del costo di reti livelli a 2 livelli tramite mappe di Karnaugh Rappresentaione grafica di funioni M. Favalli Engineering Department in Ferrara 2 Mappe di Karnaugh 3 Copertura 4 Funioni

Dettagli

Circonferenza. Matteo Tugnoli. February 26, 2012

Circonferenza. Matteo Tugnoli. February 26, 2012 Circonferenza Matteo Tugnoli February 26, 2012 Versione preliminare, NON esente da errori, se il lettore riscontrasse delle imprecisioni può gentilmente segnalarle a matteo_tugnoli@yahoo.it 1 Luogo dei

Dettagli

Indice. Prefazione. sommario.pdf 1 05/12/

Indice. Prefazione. sommario.pdf 1 05/12/ Prefazione xi 1 Introduzione 1 1.1 Evoluzione della progettazione dei sistemi digitali 1 1.2 Flusso di progettazione dei sistemi digitali 2 1.3 Obiettivi del libro 6 1.4 Struttura ragionata del libro 7

Dettagli

Algebra di Boole Algebra di Boole

Algebra di Boole Algebra di Boole 1 L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole

Dettagli

Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO

Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO Strumenti utilizzati Strumento Marca e modello Caratteristiche Alimentatore Scheda ALTERA Fotocamera digitale Topward electronics TPS- 4000 ALTERA Max

Dettagli

Esercizio sugli automi di Moore

Esercizio sugli automi di Moore Esercizio sugli automi di Moore 1. Realizzazione tramite MSF di una macchinetta del caffè Supponiamo di voler modellare tramite un automa astati finiti di Moore una macchinetta del caffè che rilascia un

Dettagli

Automi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di

Automi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di Automi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di rappresentazione per descrivere programmi e specifiche. ω-automi:

Dettagli

Esercizio 4.3. Esercizio 4.4

Esercizio 4.3. Esercizio 4.4 4 Esercizio 4.3 La rete di Figura 4.1 del testo è un latch realizzato con porte NOR. Sostituendo le porte NOR con porte NAND si ottiene la rete di Figura 4.1. Figura 4.1 Rete dell Esercizio 4.3. Nella

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

ITIS E. BARSANTI POMIGLIANO D ARCO CORSO DI SISTEMI ELETTRONICI AUTOMATICI Prof. Paolo Bisconti AUTOMA A STATI FINITI

ITIS E. BARSANTI POMIGLIANO D ARCO CORSO DI SISTEMI ELETTRONICI AUTOMATICI Prof. Paolo Bisconti AUTOMA A STATI FINITI 1. GENERALITA AUTOMA A STATI FINITI L automa a stati finiti è un sistema digitale, con un numero finito di ingressi ed uscite digitali e con un numero finito di stati che, essendo numerabili, possono essere

Dettagli

LATCH E FLIP-FLOP PREMESSA

LATCH E FLIP-FLOP PREMESSA LATCH E FLIP-FLOP PREMESSA I latch e i flip flop sono circuiti digitali sequenziali che hanno il compito di memorizzare un bit. Un circuito digitale si dice sequenziale se l'uscita dipende dagli ingressi

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

Rappresentazione in complemento a 2: caratteristiche generali

Rappresentazione in complemento a 2: caratteristiche generali Rappresentazione in complemento a 2: caratteristiche generali La rappresentazione non è completamente posizionale, ma in parte sì. Guardando il bit più significativo (MSB) si capisce se il numero è positivo

Dettagli

UNIVERSITÀ di ROMA TOR VERGATA

UNIVERSITÀ di ROMA TOR VERGATA UNIVERSITÀ di ROMA TOR VERGATA Corso di PS-Probabilità P.Baldi Tutorato 9, 19 maggio 11 Corso di Laurea in Matematica Esercizio 1 a) Volendo modellizzare l evoluzione della disoccupazione in un certo ambito

Dettagli

Precorsi di matematica

Precorsi di matematica Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono

Dettagli

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer Corso di Calcolatori Elettronici I A.A. 2011-2012 Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer Lezione 12 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà

Dettagli

Esercitazioni di Reti Logiche. Lezione 4

Esercitazioni di Reti Logiche. Lezione 4 Esercitazioni di Reti Logiche Lezione 4 Progettazione dei circuiti logici combinatori Zeynep KIZILTAN zkiziltan@deis.unibo.it Argomenti Procedura di analisi dei circuiti combinatori. Procedura di sintesi

Dettagli

Teorema di Thevenin generalizzato

Teorema di Thevenin generalizzato Teorema di Thevenin generalizzato Si considerino due reti elettriche lineari, A e B, aventi rispettivamente N A e N B nodi interni. Esse si interfacciano attraverso n (n 3) fili di collegamento, in cui

Dettagli

Circuiti sequenziali e latch

Circuiti sequenziali e latch Circuiti sequenziali e latch Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano A.A. 23-24 /27 Sommario Circuiti sequenziali Latch asincroni

Dettagli

Cammini minimi fra tutte le coppie

Cammini minimi fra tutte le coppie Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un

Dettagli

Circuiti di commutazione, codifica e decodifica

Circuiti di commutazione, codifica e decodifica Circuiti di commutazione, codifica e decodifica Vediamo ora i più comuni circuiti per la codifica, decodifica e commutazione di informazioni rappresentate sotto forma binaria. Tali circuiti costituiscono

Dettagli

I2. Relazioni e funzioni

I2. Relazioni e funzioni I2. Relazioni e funzioni I2. Relazioni Una relazione è un sottoinsieme del prodotto cartesiano. Esempio I2. Dati gli insiemi ={ldo, runo, Carlo} e ={nna, arbara} si consideri la relazione, espressa in

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un

Dettagli

Architetture aritmetiche

Architetture aritmetiche Architetture aritmetiche Sommatori: : Full Adder, Ripple Carry Sommatori: Carry Look-Ahead Ahead, Carry Save, Add/Subtract Moltiplicatori: Combinatori, Wallace,, Sequenziali Circuiti per aritmetica in

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli