Moduli logici Moduli logici Interfacciamento di dispositivi logici Parametri statici e dinamici Circuiti logici combinatori Circuiti logici sequenziali Esempi e misure su circuiti digitali Esempi ed esercizi 2 2005 Politecnico di Torino 1
egistri ivisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale 4 2005 Politecnico di Torino 2
egistri Un egistro è un insieme di Flip-Flop () con il Clock in comune (ed eventualmente anche il eset) 0 1 2 3 0 n0 1 n1 2 n2 3 n3 INPUT ATA ATCE OUTPUTS 5 egistri Un egistro è un insieme di Flip-Flop () con il Clock in comune (ed eventualmente anche il eset) Esistono egistri di tipo atch, Positive-Edge-Triggered, Negative-Edge-Triggered INPUT ATA 0 1 2 3 0 n0 1 n1 2 n2 3 n3 ATCE OUTPUTS 6 2005 Politecnico di Torino 3
egistri Un egistro è un insieme di Flip-Flop () con il Clock in comune (ed eventualmente anche il eset) Esistono egistri di tipo atch, Positive-Edge-Triggered, Negative-Edge-Triggered INPUT ATA Il egistro in figura può essere visto come un PIPO (Parallel In - Parallel Out) 0 1 2 3 0 n0 1 n1 2 n2 3 n3 ATCE OUTPUTS 7 Shift-egister Uno Shift-egister è un insieme di Filp-Flop () collegati in cascata ( n -> n+1 ) con il Clock in comune (ed eventualmente anche il eset) SEIA IN SEIA OUT n n n 1 2 3 8 2005 Politecnico di Torino 4
Shift-egister Uno Shift-egister è un insieme di Filp-Flop () collegati in cascata ( n -> n+1 ) con il Clock in comune (ed eventualmente anche il eset) o Shift-egister converte un dato seriale in uno parallelo (SIPO -> Serial In - Parallel Out) SEIA IN SEIA OUT n n n 1 2 3 9 Shift-egister Esistono anche Shift-egister che caricano il dato in parallelo (con un segnale di controllo Parallel oad - P) 0 0 PAAE INPUT ATA 1 2 1 2 PAAE OUTPUT ATA 3 3 SEIA IN SIN SOUT P SEIA OUT 10 2005 Politecnico di Torino 5
Shift-egister In tal modo il dato è convertito da parallelo a seriale (PISO -> Parallel In - Serial Out) 0 0 PAAE INPUT ATA 1 2 1 2 PAAE OUTPUT ATA 3 3 SEIA IN SIN SOUT P SEIA OUT 11 Shift-egister Con il egistro riportato in figura si possono ottenere tutte le diverse combinazioni tra ingressi ed uscite seriali e parallele 0 0 PAAE INPUT ATA 1 2 1 2 PAAE OUTPUT ATA 3 3 SEIA IN SIN SOUT P SEIA OUT 12 2005 Politecnico di Torino 6
egistri ivisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale 14 2005 Politecnico di Torino 7
ivisore di frequenza per 2.. 4 Ogni stadio divide per 2: m stadi dividono per 2 m 1 2 n n 1 2 n1 n2 15 Contatore asincrono Il circuito è un contatore asincrono: le uscite commutano sfasate nel tempo nm commuta rispetto al fronte del Clock con un ritardo T pd = m T pd-ff 1 2 n n n1 n2 n1 n2 =... 16 2005 Politecnico di Torino 8
J-FF come divisore/contatore Il J-FF con J, = 1 cambia stato a ogni colpo di Clock, quindi permette di realizzare un contatore asincrono a tre stadi con Flip-Flop di tipo J Negative-Edge-Triggered J n J n J n 1 2 3 17 J-FF come divisore/contatore Su 1, 2, 3 si genera una sequenza crescente di numeri binari 1 2 3 4 5 6 7 8 1 2 3 000 001 010 011 100 101 110 111 000 18 2005 Politecnico di Torino 9
egistri ivisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale 20 2005 Politecnico di Torino 10
Contatore sincrono Anche questo è un contatore, però sincrono 1 2 3 4 21 Contatore sincrono Anche questo è un contatore, però sincrono e uscite commutano tutte sincrone con il fronte di discesa del Clock 1 2 3 4 22 2005 Politecnico di Torino 11
Contatore sincrono Anche questo è un contatore, però sincrono e uscite commutano tutte sincrone con il fronte di discesa del Clock al terzo FF in poi tutti gli stadi sono uguali 1 2 3 4 23 Contatore sincrono: massima frequenza a massima frequenza di funzionamento è legata al ritardo del FF -> e della catena di AN 1 2 3 4 24 2005 Politecnico di Torino 12
Contatore sincrono: massima frequenza a massima frequenza di funzionamento è legata al ritardo del FF -> e della catena di AN 1 2 3 4 25 2005 Politecnico di Torino 13
egistri ivisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale 27 Macchine a Stati Finiti (FSM) Un contatore è il caso più semplice di FSM (Finite State Machine) 28 2005 Politecnico di Torino 14
Macchine a Stati Finiti (FSM) Un contatore è il caso più semplice di FSM (Finite State Machine) Per un contatore a 2 bit le uscite hanno la sequenza... 29 Macchine a Stati Finiti (FSM) Un contatore è il caso più semplice di FSM (Finite State Machine) Per un contatore a 2 bit le uscite hanno la sequenza... Si può associare ad ogni combinazione delle uscite uno stato e rappresentare con degli archi i passaggi da stato a stato 30 2005 Politecnico di Torino 15
Macchine a Stati Finiti (FSM) a rappresentazione grafica di quanto detto risulta STATO 1 0 A B A B C C 31 FSM per timer di una lavatrice al diagramma a stati del contatore si potrebbe realizzare una unità di controllo semplice, ad esempio il timer di una lavatrice! STATO 1 0 A B A CAICA ACUA B AVA C C CENTIFUGA ASCIUGA 32 2005 Politecnico di Torino 16
Stato Presente e Stato Futuro al diagramma ricavo che se sono nello stato A (Stato Presente) il prossimo stato sarà lo stato B (Stato Futuro) STATO 1 0 A B A CAICA ACUA B AVA C C CENTIFUGA ASCIUGA 33 ete di Stato Futuro 'evoluzione della FSM nell'esempio fatto avviene attraverso un contatore Nei casi più complessi il contatore è sostituito da una rete combinatoria che determina l'evoluzione della FSM (ete di Stato Futuro) E' la rete che calcola lo Stato Futuro 34 2005 Politecnico di Torino 17
ete di Stato Futuro Per il nostro esempio del contatore COUNTE 0 1 INPUT ETE I STATO FUTUO n n C C ESET ESET STATO PESENTE STATO FUTUO 35 ete di uscita Con una rete combinatoria si possono attivare dei segnali (uscite) che comandano degli attuatori COUNTE CAICA C 0 1 AVA CENTIFUGA ESET ASCIUGA 36 2005 Politecnico di Torino 18
Struttura di una FSM: Variabili di Stato Stati sono memorizzati in FF (Variabili di Stato) ETE I USCITA OUTPUT INPUT ETE I STATO FUTUO n n ESET 37 Struttura di una FSM: ete di Stato Futuro Stati sono memorizzati in FF (Variabili di Stato) ete combinatoria di Stato Futuro che sente sia le Variabili di Stato che gli ingressi e comanda l'evoluzione della FSM ETE I USCITA OUTPUT INPUT ETE I STATO FUTUO n n ESET 38 2005 Politecnico di Torino 19
Struttura di una FSM: ete di Uscita Stati sono memorizzati in FF (Variabili di Stato) ete combinatoria di Stato Futuro ete di Uscita che genera le uscite della FSM ETE I USCITA OUTPUT INPUT ETE I STATO FUTUO n n ESET 39 2005 Politecnico di Torino 20
egistri ivisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale 41 Catena completa A - - A A IMITATOE AMPIFICATOE FITO SAMPE/O A/ EABOAZIONE IGITAE CONVETITOE /A FITO I ICOSTUZIONE A 42 2005 Politecnico di Torino 21
Elaborazione digitale I dati della sequenza in ingresso non devono accumularsi all interno del blocco di elaborazione: in-0 in-1 in-2 in-3 out-0 out-1 out-2 EABOAZIONE IGITAE 43 Elaborazione digitale I dati della sequenza in ingresso non devono accumularsi all interno del blocco di elaborazione: deve essere generato un dato valido in uscita ogni T s =1/F s : F s è il Throughput (quantità di dati forniti/sec) del sistema in-0 in-1 in-2 in-3 out-0 out-1 out-2 EABOAZIONE IGITAE 44 2005 Politecnico di Torino 22
Elaborazione digitale I dati della sequenza in ingresso non devono accumularsi all interno del blocco di elaborazione: deve essere generato un dato valido in uscita... il risultato dell elaborazione di in-j compare in uscita con un ritardo T el (tempo di elaborazione o latenza) in-0 in-1 in-2 in-3 Tel out-0 out-1 out-2 EABOAZIONE IGITAE 45 Elaborazione digitale I dati della sequenza in ingresso non devono accumularsi all interno del blocco di elaborazione: deve essere generato un dato valido in uscita... il risultato dell elaborazione di in-j compare... T el può essere > o < di T s in-0 in-1 in-2 in-3 Tel out-0 out-1 out-2 EABOAZIONE IGITAE 46 2005 Politecnico di Torino 23
Elaborazione digitale I dati della sequenza in ingresso non devono accumularsi all interno del blocco di elaborazione: deve essere generato un dato valido in uscita... il risultato dell elaborazione di in-j compare... T el può essere > o < di T s T s e T el sono due parametri diversi in-0 in-1 in-2 in-3 Tel out-0 out-1 out-2 EABOAZIONE IGITAE 47 Elaborazione digitale Il blocco di elaborazione digitale può lavorare in modo puramente combinatorio a patto di garantire un dato valido ogni T s solitamente possibile quando l elaborazione non risulta troppo pesante 48 2005 Politecnico di Torino 24
Elaborazione digitale Il blocco di elaborazione digitale può lavorare in modo puramente combinatorio può suddividere l elaborazione in più fasi in cascata utilizzando elementi di memoria intermedi permette di aumentare la complessità mettendo in cascata più moduli 49 Elaborazione digitale Il blocco di elaborazione digitale può lavorare in modo puramente combinatorio può suddividere l elaborazione in più fasi dato che l elaborazione deve svolgersi ogni T s solitamente i blocchi di elaborazione digitale lavorano in modo sincrono rispetto al segnale C, con frequenza F s = F ck segnale di cadenza, di Clock, di orologio 50 2005 Politecnico di Torino 25
Elaborazione combinatoria Nella catena non sono presenti elementi di memoria o di risincronizzazione (egistri, atch) il tempo di elaborazione T el dipende solo dal ritardo T p dei circuiti logici presenti nel modulo: T el = T p detta anche elaborazione asincrona in Elaborazione combinatoria (ritardo Tp) out in-0 in-1 in-2 in-3 Tel out-0 out-1 out-2 out-3 51 egistri e atch Il egistro legge il dato di ingresso in con il segnale di Clock e lo mantiene stabile all uscita o fino al Clock successivo i i-0 i-1 i-2 in o o-0 o-1 o-2 o ATC 52 2005 Politecnico di Torino 26
egistri e atch Il egistro legge il dato di ingresso in con il segnale di Clock e lo mantiene stabile all uscita o fino al Clock successivo Garantisce che il dato di ingresso alla logica combinatoria rimanga stabile per il tempo T s, durante il quale può essere svolto il calcolo delle uscite i i-0 i-1 i-2 in o o-0 o-1 o-2 o ATC 53 Elaborazione sincrona Nella catena sono inseriti egistri (), con funzione di risincronizzazione il tempo di elaborazione T el dipende dal periodo T s del segnale di sincronizzazione: T el = T s ; deve essere T s > T p in Elaborazione sincrona Elaborazione combinatoria (ritardo Tp) out in-0 in-1 in-2 in-3 Tel out-0 out-1 out-2 Fs=Fck 54 2005 Politecnico di Torino 27
Elaborazione pipeline Nella catena sono presenti elementi di risincronizzazione in sequenza il ritardo T el (tempo di latenza) è un multiplo di T s => T el = T s ; T s > T p viene generato un nuovo dato ogni T s Elaborazione pipeline in-0 in-1 in-2 in-3 in F1 Tp F2 Tp out Tel (latenza) out-0 out-1 Fck 55 Elaborazione pipeline I blocchi combinatori F 1, F 2,... possono essere spezzati per ottenere T p inferiori in Fck F1 Tp1 F2 Tp1 out in Fck F1 Tp2 F2 Tp2 F3 Tp2 F4 Tp2 out 56 2005 Politecnico di Torino 28
Elaborazione pipeline In questo modo posso lavorare con T s inferiori in Fck F1 Tp1 F2 Tp1 out 1 > Tp1 in Fck F1 Tp2 F2 Tp2 F3 Tp2 F4 Tp2 out 2 > Tp2 Ma 2 < 1!! 57 Elaborazione pipeline Aumento il Troughput, che è il tempo più importante per avere sistemi più veloci! in Fck F1 Tp1 F2 Tp1 out 1 > Tp1 in Fck F1 Tp2 F2 Tp2 F3 Tp2 F4 Tp2 out 2 > Tp2 Ma 2 < 1!! 58 2005 Politecnico di Torino 29
Sommario lezione B5 egistri ivisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale omande di riepilogo 59 2005 Politecnico di Torino 30