Flip-flop Macchine sequenziali



Documenti analoghi
Circuiti sequenziali e elementi di memoria

Flip-flop, registri, la macchina a stati finiti

Livello logico digitale

Macchine sequenziali

FSM: Macchine a Stati Finiti

Reti sequenziali sincrone

Sintesi di Reti Sequenziali Sincrone

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

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

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

Macchine sequenziali sincrone. Macchine sincrone

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Laurea Specialistica in Informatica

Architettura dei Calcolatori Reti Sequenziali Sincrone

I CONTATORI SINCRONI

Registri. «a2» Copyright Daniele Giacomini --

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Calcolatori Elettronici B a.a. 2006/2007

ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

Chapter 1. Circuiti sequenziali: macchine a stati

Sintesi di Reti Sequenziali Sincrone

Verifica di Sistemi. 2. Il latch SR a porte NOR non accetta la condizione: a. S=0, R=0 b. S=1, R=1 c. S=0, R=1 d. S=1, R=0

Laboratorio di Architettura degli Elaboratori A.A. 2015/16 Circuiti Logici

Macchine sequenziali

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche

Macchine a Stati finiti

LATCH E FLIP-FLOP. Fig. 1 D-latch trasparente per ck=1

Testi di Esercizi e Quesiti 1

CONTATORI ASINCRONI. Fig. 1

Introduzione ai microcontrollori

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Esercitazione 1 (Capitolo 2) Reti Logiche

Macchine combinatorie

x y z F x y z F F = x z + y z + yz + xyz G = wyz + vw z + vwy + vwz + v w y z Sommario

PROGRAMMAZIONE MODULARE

Circuiti integrati. Circuiti integrati

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Automi. Sono così esempi di automi una lavatrice, un distributore automatico di bibite, un interruttore, una calcolatrice tascabile,...

Corso di Laurea in Informatica Architetture degli Elaboratori

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche

Lezione 8. La macchina universale

Informazione analogica e digitale

CAPITOLO 2 CIRCUITI SEQUENZIALI

Memorie ROM (Read Only Memory)

Struttura del calcolatore

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

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

Elementi di Architettura e Sistemi Operativi. problema punti massimi i tuoi punti problema 1 6 problema 2 7 problema 3 7 problema 4 10 totale 30

Architettura dei Calcolatori Parte Operativa e Parte Controllo

Appunti di reti logiche. Ing. Luca Martini

Esercitazione RSS FONDAMENTI DI INFORMATICA B. Università degli studi di Parma Dipartimento di Ingegneria dell informazione DIDATTICA A DISTANZA

APPUNTI DI ELETTRONICA DIGITALE

Programmazione modulare a.s

Esercizi per il recupero del debito formativo:

1 Carattere 1 2 Carattere 2 4 Carattere 4 X Carattere diverso da 1, 2, 4. Porta chiusa Porta aperta

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Luigi Piroddi

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Corso di Reti Logiche. Macchine Sequenziali. Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

Architettura del computer (C.Busso)

Circuiti Sequenziali

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Laboratorio di Architettura degli Elaboratori - A.A. 2012/13

Reti sequenziali e strutturazione firmware

4 3 4 = 4 x x x 10 0 aaa

Latch pseudo-statico. Caratteristiche:

Controllo Remoto tramite Telefono Cellulare

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

INTRODUZIONE ALLE MACCHINE A STATI

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Logica e codifica binaria dell informazione

Codifica binaria dei numeri relativi

Esame di INFORMATICA

Algoritmi e strutture dati. Codici di Huffman

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

Fasi di creazione di un programma

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

CPU. Maurizio Palesi

LSS Reti Logiche: circuiti sequenziali

Informatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011

Sistema acquisizione dati

Algebra booleana e circuiti logici. a cura di: Salvatore Orlando

I.I.S. Primo Levi Badia Polesine A.S

Controllo con macchina a stati finiti

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Circuiti sequenziali

Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

Circuiti sequenziali. Circuiti sequenziali e applicazioni

Macchine a stati finiti sincrone

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Misure di frequenza e di tempo

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

Circuiti sincroni circuiti sequenziali:bistabili e latch

Comparatori. Comparatori di uguaglianza

Transcript:

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 ingressi in quello stesso istante Circuti sequenziali Il valore delle uscite in un determinato istante dipende dal valore degli ingressi in quell istante E dal valore degli ingressi in istanti precedenti

Esempio: bistabile X = X 2 = X X 2 Y A B Y 2 A Tabella verità NOR B X = X 2 = X X 2 Y Y 2 Se un ingresso vale allora l uscita vale Se un ingresso vale allora l uscita vale l altro ingresso negato

Bistabile X Y A B X = X 2 = X 2 Y 2 X Y X = X 2 = X Y X = X 2 = X 2 Y 2 X 2 Y 2

Equazioni bistabile stato attuale, prossimo stato R S S R SR x x = SR + R NOTA Con R=S= il bistabile mantiene lo stato precedente ( =) uesta rete è in grado di memorizzare un bit

Bistabile: temporizzazione Reset Set S R - - Non usata Reset Set tempo

Bistabile: input ammissibili Con R=S= il bistabile mantiene (hold) lo stato acquisito Con R o S diversi da si cambia lo stato La configurazione di ingresso R=S= non è ammessa, poiché se da questa si passa a R=S= sono possibili due configurazioni per l uscita. La configurazione effettiva non è cioè prevedibile R S Hold Reset Set S R?

Sincronizzazione A B A= B= R= = FF S= Al tempo t sia A=, = e = Se i valori A e B cambiano contemporaneamente al tempo t allora, l uscita rimane a Tuttavia nella realtà i cambiamenti di A e B non sono contemporanei: ad esempio può succedere che A cambi prima di B (che cambia a t 2 ) In questo modo si avrà una configurazione temporanea A=B= e commuta a = uando B varia, continuerà ancora a valere = t t t 2

Segnale di sincronizzazione Un clock ha le seguenti caratteristiche: E un segnale binario E un segnale periodico (durata T) frequenza del clock f=/t Fronte di discesa Fronte di salita Periodo T In realtà le transizioni -> e -> non sono istantanee

Bistabili Sincroni Utilizzano un segnale di controllo CK, detto Clock Livello, chiamati Latch trasparenti L ingresso viene sentito, e l uscita può variare, durante tutto il periodo in cui C= (oppure C=) Fronte di salita, chiamati (positive edge triggered) Flip-Flop L uscita cambia in base al valore dell ingresso in corrispondenza della transizione di C da ad Fronte di discesa (negative edge triggered) Flip-Flop L uscita cambia in base al valore dell ingresso in corrispondenza della transizione di C da ad Master-Slave Flip-Flop Segnale d ingresso campionato su un fronte, uscita cambia sull altro Nota: Spesso letteratura si usa il termine Flip-Flop per indicare in modo generico un bistabile (quindi anche i latch)

Esempio, Latch RS R S CK R S CK? CK S R uando CK= allora si ha il consenso alla transizione

Perché abilitare sui fronti? Sia d il tempo in cui CK= e t il ritardo di propagazione del FF assumiamo che d>t Esiste un problema nel collegamento in cascata di bistabili. Durante CK= l uscita di FF modifica l uscita di FF2 poiché d>t. In alcuni casi questo non è il comportamento voluto (registri a scorrimento) d Durata clock alto R= FF 2 FF2 CK S= CK t Ritardo di propagazione 2

Abilitazione sul fronte di discesa Usando FF con abilitazione sul fronte di discesa si ottiene il comportamento desiderato. Ad ogni ciclo di clock cambia lo stato di un solo flip-flop R= 2 CK S= CK 2

Latch D Un solo ingresso più uno di abilitazione Usato come unità elementare di memorizzazione Presenta in uscita ciò che era presente in ingresso quando il era presente il segnale per l abilitazione (CK=) R D CK D CK S CK D

Master-Slave Nel caso di master-slave si ha in corrispondenza del fronte di discesa. Master Slave R R R R CK CK CK CK S S S S

Registri Un registro è un elemento di memoria in grado di memorizzare un insieme di n bit composto da un insieme di bistabili l informazione memorizzata in un registro prende il nome di parola Scrittura Scrittura Lettura Lettura

Registri Modalità di scrittura/lettura dei dati Parallelo Seriale Operazioni sui dati: Scorrimento a destra Scorrimento a sinistra Scorrimento circolare

Registro parallelo-parallelo D D D2 D3 D D D D Clock 2 3

Registri Un registro è composto da più flip-flop D che utilizzano gli stessi segnali di controllo C C IN IN2 IN3 INn FF FF2 FF3 FFn OUT OUT2 OUT3 OUTn IN(n:) R E G OUT(n:) C IN(4:) xc xd xe xf OUT(4:) xc xd xe xf

Barrel Shifter a a a i+ i i- SH d/s z i

Registro circolare (n=4) D D D2 D3 Write/Read D D D D Clock

Reti sequenziali Il valore in uscita è funzione della sequenza di valori forniti in input fino a quel momento Hanno una memoria Varie classi di reti, vedremo la più semplice Level Level Clocked (LLC) La sequenza è definita mediante un segnale di clock Gli ingressi e le uscite sono a livelli : il livello del segnale d ingresso determina il livello del segnale d uscita L ingresso cambia solo dopo che l uscita è stabile Altre reti (es. ad impulsi )

Addizionatore (macchina sequenziale) Al clock i-esimo arriva in ingresso una coppia di bit del numero da sommare; l uscita è pari al bit i-esimo della somma

Macchine sequenziali: schema LC LC: circuiti combinatori M: memoria

Macchine LLC Ingressi x x 2 x n RETE COMBINATORIA w,d Uscite z z 2 z m La rete combinatoria realizza le funzioni d e w (tabelle di verità) y FF y Rete sincrona LLC (Level Level Clocked) y 2 FF 2 y 2 La macchina cambia stato ad ogni fronte attivo del clock (ogni colpo di clock ) y k Stato Presente FF k y k Stato Futuro Le uscite dipendono dai livelli dei valori d ingresso (non dalle variazioni) Clock f Registri di stato Prima di cambiare nuovamente le uscite diventano stabili

Macchina a stati finiti (FSM) FSM = <I,O,S, d,w> I alfabeto finito di ingresso (per comodità I =2 n ) S insieme degli stati, S = 2 k O alfabeto di uscita, O = 2 m d : S x I Æ S, funzione stato successivo w : S Æ O (Moore) oppure w : S x I Æ O (Mealy) funzione di uscita Se serve specificare uno stato iniziale s Œ S, FSM= <I,O,S, d,w,s > Una FSM può essere realizzata come rete LLC

Diagramma degli stati Il diagramma degli stati è un grafo orientato etichettato G(V,A,L) i nodi rappresentano gli stati della macchina gli archi le transizioni di stato le etichette le condizioni di transizione Macchina di Mealy: l uscita dipende dallo stato e dall ingresso Macchina di Moore: l uscita dipende solo dallo stato

Flip/Flop S-R Ingresso: Set Reset (S-R) solo uno dei due ingressi può essere pari ad uno. Stati:,,, uscita= stato del flip flop: macchina di Moore

Riconoscitore di sequenza Macchina che riconosce la sequenza ciao Input: {a,b,c,...,z} Per semplicità assumiamo che il simbolo di negazione su una lettera individui una qualunque lettera tranne la lettera stessa (ad es. a indica b,c,...,z); analogamente per più lettere Uscita: Si, No

Diagramma degli stati (Moore) c c c i /no 2/no 3/no 4/no 5/si a o c c,i c c c,a c,o c : aspetto c 2: aspetto i 3: aspetto a, 4: aspetto o; 5: parola completa

Diagramma degli stati (Mealy) c,a/no c,i/no c/no c no c/no i/no 2 c/no 3 c/no o/si 4 a/no : attesa c 2: attesa i 3: attesa a 4: attesa o

Contatore Up e Down Macchina conta modulo 4 U incrementa di uno D decrementa di uno

FSM Esempio evoluzione (Moore) w OUTPUT f INPUT d I I 2 INPUT SP SP S S 2 S 3 SF T d T pff S S 3 SF S 2 Clock f Registri di stato O T w O 2 O 3 OUTPUT I I 2 nd : S x I Æ S s /o s 2 /o 2 s 3 /o 3 w : S Æ O

Dalla macchina sequenziale alla rete Per realizzare una macchina sequenziale è necessario Codificare gli insiemi I,S,O con variabili di commutazione Realizzare le funzioni d ed w con reti combinatorie Comportamento temporale delle variabili di ingresso/uscita Ogni circuito digitale risponde ai nuovi valori di ingresso producendo la nuova uscita in modo stabile solo un tempo di ritardo d durante il quale sono esauriti tutti i transitori Considereremo solo la realizzazione di reti di tipo LLC (Level Level Clocked)

Dalla macchina alla rete x,x 2,..,x n variabili di ingresso a livelli 2 n I z,x 2,..,z m variabili di uscita a livelli 2 m O y,y 2,..,y k variabili di stato 2 k S Variabile impulsiva, ck, che ha lo scopo di far commutare lo stato

Reti LLC La rete sequenziale lavora con le seguenti ipotesi: Variabili d ingresso di tipo a livello (i valori in ingresso rimangono fissi per un periodo T sufficientemente lungo per far assumere all uscita il nuovo valore di regime, ossia T>d) Variabili di uscita a livello Segnale di abilitazione positive or negative edge trigger, o a livello (in quest ultimo caso la variabile di commutazione deve essere pari ad per un periodo di tempo sufficiente per far commutare i flip-flop, ma inferiore al minimo tempo di commutazione dei circuiti combinatori che calcolano lo stato successivo, altrimenti si potrebbero avere più commutazioni)

Dal modello strutturale al circuito X d Z X d w Y Y Y ck Y Mealy ck Moore w Z

Rete LLC per macchine di Mealy (flip-flop di tipo D) x x 2 x n Ingressi RETE COMBINATORIA w,d z z 2 z m Uscite Stato Presente S y y Stato Successivo S FF y 2 FF 2 y 2 y k FF k y k Registro di stato Clock

Esempio: contatore UP-DOWN modulo 4 U U D D D D 3 2 U I={U,D} O={,,2,3} S={,,2,3} ingresso U NOTA: uscita = stato stato 2 3 U D uscita 2 3 3 2 2 3

Codifica simboli I x U D S y 2 y 2 3 O z 2 z 2 3 stato ingresso 2 3 U D uscita 2 3 3 2 2 3 y 2 y x z 2 z

Sintesi funzioni d e w In questo semplice esempio, l uscita è uguale allo stato w(y 2 y )=z 2 z y 2 y x x y 2 y y = y Mappe di Karnaugh y y 2 y 2 y x y 2 =y 2 y x+y 2 y x +y 2 y x + y 2 y x

Realizzazione mediante rete combinatoria Ingresso Uscita x RETE COMBINATORIA w z z 2 y FF y y 2 FF 2 y 2 Clock

Realizzazione mediante ROM Ingresso Uscita x Memoria ROM z z 2 y 2 y Clock FF FF 2 y y 2 Indirizzo Struttura parola nella ROM y 2 y x y 2 y z 2 z