Registri, contatori e circuiti sequenziali
Transcript
Registri, contatori e circuiti sequenziali
Sistemi Elettronici Registri, contatori e circuiti sequenziali Moduli logici Moduli logici Interfacciamento di dispositivi logici Parametri statici e dinamici Circuiti logici combinatori Circuiti logici sequenziali Registri, contatori e circuiti sequenziali Esempi e misure su circuiti digitali Esempi ed esercizi 2 © 2005 Politecnico di Torino 1 Sistemi Elettronici Registri, contatori e circuiti sequenziali Registri, contatori e circuiti sequenziali Registri, contatori e circuiti sequenziali Registri Divisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale 4 © 2005 Politecnico di Torino 2 Sistemi Elettronici Registri, contatori e circuiti sequenziali Registri Un Registro è un insieme di Flip-Flop (D) con il Clock in comune (ed eventualmente anche il Reset) D0 D1 D2 D3 INPUT DATA CK Q0 Qn0 Q1 Qn1 Q2 Qn2 Q3 Qn3 R LATCHED OUTPUTS 5 Registri Un Registro è un insieme di Flip-Flop (D) con il Clock in comune (ed eventualmente anche il Reset) Esistono Registri di tipo Latch, Positive-Edge-Triggered, Negative-Edge-Triggered D0 D1 D2 D3 INPUT DATA CK Q0 Qn0 Q1 Qn1 Q2 Qn2 Q3 Qn3 R LATCHED OUTPUTS 6 © 2005 Politecnico di Torino 3 Sistemi Elettronici Registri, contatori e circuiti sequenziali Registri Un Registro è un insieme di Flip-Flop (D) con il Clock in comune (ed eventualmente anche il Reset) D0 D1 D2 D3 Q0 Qn0 Q1 Qn1 Q2 Qn2 Q3 Qn3 Esistono Registri di tipo CK INPUT Latch, R LATCHED DATA OUTPUTS Positive-Edge-Triggered, Negative-Edge-Triggered Il Registro in figura può essere visto come un PIPO (Parallel In - Parallel Out) 7 Shift-Register Uno Shift-Register è un insieme di Filp-Flop (D) collegati in cascata (Qn -> Dn+1) con il Clock in comune (ed eventualmente anche il Reset) SERIAL IN CK D Q D Qn Q D Qn Q1 Q SERIAL OUT Qn Q2 Q3 8 © 2005 Politecnico di Torino 4 Sistemi Elettronici Registri, contatori e circuiti sequenziali Shift-Register Uno Shift-Register è un insieme di Filp-Flop (D) collegati in cascata (Qn -> Dn+1) con il Clock in comune (ed eventualmente anche il Reset) Lo Shift-Register converte un dato seriale in uno parallelo (SIPO -> Serial In - Parallel Out) SERIAL IN CK Q D D Qn Q D Qn Q1 Q SERIAL OUT Qn Q2 Q3 9 Shift-Register Esistono anche Shift-Register che caricano il dato in parallelo (con un segnale di controllo Parallel Load - PL) PARALLEL INPUT DATA SERIAL IN D0 Q0 D1 Q1 D2 Q2 D3 Q3 SIN SOUT CK PARALLEL OUTPUT DATA SERIAL OUT PL R 10 © 2005 Politecnico di Torino 5 Sistemi Elettronici Registri, contatori e circuiti sequenziali Shift-Register In tal modo il dato è convertito da parallelo a seriale (PISO -> Parallel In - Serial Out) PARALLEL INPUT DATA SERIAL IN D0 Q0 D1 Q1 D2 Q2 D3 Q3 SIN SOUT CK PARALLEL OUTPUT DATA SERIAL OUT PL R 11 Shift-Register Con il Registro riportato in figura si possono ottenere tutte le diverse combinazioni tra ingressi ed uscite seriali e parallele PARALLEL INPUT DATA SERIAL IN D0 Q0 D1 Q1 D2 Q2 D3 Q3 SIN SOUT CK PARALLEL OUTPUT DATA SERIAL OUT PL R 12 © 2005 Politecnico di Torino 6 Sistemi Elettronici Registri, contatori e circuiti sequenziali Registri, contatori e circuiti sequenziali Registri, contatori e circuiti sequenziali Registri Divisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale 14 © 2005 Politecnico di Torino 7 Sistemi Elettronici Registri, contatori e circuiti sequenziali Divisore di frequenza per 2 .. 4 Ogni stadio divide per 2: m stadi dividono per 2m D CK Q1 Q D Qn Q2 Q Qn CK Q1 Q2 Qn1 H L H L H L Qn2 H L L H H L 15 Contatore asincrono Il circuito è un contatore asincrono: le uscite commutano sfasate nel tempo Qnm commuta rispetto al fronte del Clock con un ritardo Tpd = m Tpd-FF D CK Q Q1 Qn D Q2 Q Qn Qn1 Qn2 Qn1Qn2 = LLàLHàHLàHHàLL... 16 © 2005 Politecnico di Torino 8 Sistemi Elettronici Registri, contatori e circuiti sequenziali JK-FF come divisore/contatore Il JK-FF con J,K = 1 cambia stato a ogni colpo di Clock, quindi permette di realizzare un contatore asincrono a tre stadi con Flip-Flop di tipo JK Negative-Edge-Triggered “H” “H” J “H” J Q Q J Q CK K Qn K Qn K Qn Q1 Q2 Q3 17 JK-FF come divisore/contatore Su Q1, Q2, Q3 si genera una sequenza crescente di numeri binari 1 2 3 5 4 6 8 7 CK Q1 Q2 Q3 000 001 010 011 100 101 110 111 000 18 © 2005 Politecnico di Torino 9 Sistemi Elettronici Registri, contatori e circuiti sequenziali Registri, contatori e circuiti sequenziali Registri, contatori e circuiti sequenziali Registri Divisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale 20 © 2005 Politecnico di Torino 10 Sistemi Elettronici Registri, contatori e circuiti sequenziali Contatore sincrono Anche questo è un contatore, però sincrono “H” J Q J Q J Q J Q K K K K CK Q1 Q2 Q3 Q4 21 Contatore sincrono Anche questo è un contatore, però sincrono Le uscite commutano tutte sincrone con il fronte di discesa del Clock “H” J Q J Q J Q J Q K K K K CK Q1 Q2 Q3 Q4 22 © 2005 Politecnico di Torino 11 Sistemi Elettronici Registri, contatori e circuiti sequenziali Contatore sincrono Anche questo è un contatore, però sincrono Le uscite commutano tutte sincrone con il fronte di discesa del Clock Dal terzo FF in poi tutti gli stadi sono uguali “H” J Q J Q J Q J Q K K K K CK Q1 Q2 Q3 Q4 23 Contatore sincrono: massima frequenza La massima frequenza di funzionamento è legata al ritardo del FF CK -> Q e della catena di AND “H” J Q J Q J Q J Q K K K K CK Q1 Q2 Q3 Q4 24 © 2005 Politecnico di Torino 12 Sistemi Elettronici Registri, contatori e circuiti sequenziali Contatore sincrono: massima frequenza La massima frequenza di funzionamento è legata al ritardo del FF CK -> Q e della catena di AND “H” J Q J Q J Q J Q K K K K CK Q1 Q2 Q3 Q4 25 Registri, contatori e circuiti sequenziali © 2005 Politecnico di Torino 13 Sistemi Elettronici Registri, contatori e circuiti sequenziali Registri, contatori e circuiti sequenziali Registri Divisori 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 Sistemi Elettronici Registri, contatori e circuiti sequenziali 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 LLàLHàHLàHHàLL ... 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 LLàLHàHLàHHàLL ... 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 Sistemi Elettronici Registri, contatori e circuiti sequenziali Macchine a Stati Finiti (FSM) La rappresentazione grafica di quanto detto risulta A D B C STATO Q1 Q0 A L L B L H C H L D H H 31 FSM per timer di una lavatrice Dal diagramma a stati del contatore si potrebbe realizzare una unità di controllo semplice, ad esempio il timer di una lavatrice ! A D B C STATO Q1 Q0 A L L CARICA ACQUA B L H LAVA C H L CENTRIFUGA D H H ASCIUGA 32 © 2005 Politecnico di Torino 16 Sistemi Elettronici Registri, contatori e circuiti sequenziali Stato Presente e Stato Futuro Dal diagramma ricavo che se sono nello stato A (Stato Presente) il prossimo stato sarà lo stato B (Stato Futuro) A D B C STATO Q1 Q0 A L L CARICA ACQUA B L H LAVA C H L CENTRIFUGA D H H ASCIUGA 33 Rete di Stato Futuro L'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 (Rete di Stato Futuro) E' la rete che calcola lo Stato Futuro 34 © 2005 Politecnico di Torino 17 Sistemi Elettronici Registri, contatori e circuiti sequenziali Rete di Stato Futuro Per il nostro esempio del contatore COUNTER INPUT RETE DI STATO FUTURO Q0 n Q1 CK n Q D CLK R R CLK RESET STATO PRESENTE RESET STATO FUTURO 35 Rete di uscita Con una rete combinatoria si possono attivare dei segnali (uscite) che comandano degli attuatori CARICA COUNTER Q0 Q1 CK R LAVA CENTRIFUGA CLK RESET ASCIUGA 36 © 2005 Politecnico di Torino 18 Sistemi Elettronici Registri, contatori e circuiti sequenziali Struttura di una FSM: Variabili di Stato Stati sono memorizzati in FF (Variabili di Stato) RETE DI USCITA INPUT OUTPUT RETE DI STATO FUTURO n n Q D CK R RESET 37 Struttura di una FSM: Rete di Stato Futuro Stati sono memorizzati in FF (Variabili di Stato) Rete combinatoria di Stato Futuro che sente sia le Variabili di Stato che gli ingressi e comanda l'evoluzione della FSM RETE DI USCITA INPUT OUTPUT RETE DI STATO FUTURO n n Q D CK R RESET 38 © 2005 Politecnico di Torino 19 Sistemi Elettronici Registri, contatori e circuiti sequenziali Struttura di una FSM: Rete di Uscita Stati sono memorizzati in FF (Variabili di Stato) Rete combinatoria di Stato Futuro Rete di Uscita che genera le uscite della FSM RETE DI USCITA INPUT OUTPUT RETE DI STATO FUTURO n n Q D CK R RESET 39 Registri, contatori e circuiti sequenziali © 2005 Politecnico di Torino 20 Sistemi Elettronici Registri, contatori e circuiti sequenziali Registri, contatori e circuiti sequenziali Registri Divisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale 41 Catena completa A - D - A A LIMITATORE AMPLIFICATORE FILTRO SAMPLE/HOLD D A/D ELABORAZIONE DIGITALE CONVERTITORE D/A FILTRO DI RICOSTRUZIONE A’ 42 © 2005 Politecnico di Torino 21 Sistemi Elettronici Registri, contatori e circuiti sequenziali Elaborazione digitale I dati della sequenza in ingresso non devono “accumularsi” all’interno del blocco di elaborazione: Din-0 Din-1 Din-2 Dout-0 Din-3 Dout-1 Dout-2 ELABORAZIONE DIGITALE Ts 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 Ts=1/Fs: Fs è il Throughput (quantità di dati forniti/sec) del sistema Ts Din-0 Din-1 Din-2 Dout-0 Din-3 Dout-1 Dout-2 ELABORAZIONE DIGITALE Ts 44 © 2005 Politecnico di Torino 22 Sistemi Elettronici Registri, contatori e circuiti sequenziali 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 Din-j compare in uscita con un ritardo Tel (tempo di elaborazione o latenza) Ts Din-0 Tel Din-1 Din-2 Dout-0 Din-3 Dout-1 Dout-2 ELABORAZIONE DIGITALE Ts 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 D in-j compare ... Tel può essere > o < di Ts Ts Din-0 Tel Din-1 Din-2 Dout-0 Din-3 Dout-1 Dout-2 ELABORAZIONE DIGITALE Ts 46 © 2005 Politecnico di Torino 23 Sistemi Elettronici Registri, contatori e circuiti sequenziali 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 D in-j compare ... Tel può essere > o < di Ts Ts e Tel sono due parametri diversi Ts Din-0 Tel Din-1 Din-2 Dout-0 Din-3 Dout-1 Dout-2 ELABORAZIONE DIGITALE Ts 47 Elaborazione digitale Il blocco di elaborazione digitale può lavorare in modo puramente “combinatorio” a patto di garantire un dato valido ogni Ts solitamente possibile quando l’elaborazione non risulta troppo pesante 48 © 2005 Politecnico di Torino 24 Sistemi Elettronici Registri, contatori e circuiti sequenziali 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 Ts solitamente i blocchi di elaborazione digitale lavorano in modo “sincrono” rispetto al segnale CLK, con frequenza Fs = Fck segnale di cadenza, di Clock, di orologio 50 © 2005 Politecnico di Torino 25 Sistemi Elettronici Registri, contatori e circuiti sequenziali Elaborazione combinatoria Nella catena non sono presenti elementi di memoria o di risincronizzazione (Registri, Latch) il tempo di elaborazione Tel dipende solo dal ritardo Tp dei circuiti logici presenti nel modulo: T el = T p detta anche elaborazione asincrona Ts Din Dout Elaborazione combinatoria (ritardo Tp) Din-0 Tel Din-1 Dout-0 Din-2 Dout-1 Din-3 Dout-2 Dout-3 51 Registri e Latch Il Registro legge il dato di ingresso Din con il segnale di Clock e lo mantiene stabile all’uscita Do fino al Clock successivo Ts Ts CK Din LATCH Di Do Do Di-0 Di-1 Do-0 Di-2 Do-1 Do-2 CK 52 © 2005 Politecnico di Torino 26 Sistemi Elettronici Registri, contatori e circuiti sequenziali Registri e Latch Il Registro legge il dato di ingresso Din con il segnale di Clock e lo mantiene stabile all’uscita Do fino al Clock successivo Garantisce che il dato di ingresso alla logica combinatoria rimanga stabile per il tempo Ts, durante il quale può essere svolto il “calcolo” delle uscite Ts Ts CK Din LATCH Di Do Di-0 Di-1 Do-0 Do Di-2 Do-1 Do-2 CK 53 Elaborazione sincrona Nella catena sono inseriti Registri (R), con funzione di risincronizzazione il tempo di elaborazione Tel dipende dal periodo Ts del segnale di sincronizzazione: T el = T s; deve essere T s > T p Ts Elaborazione sincrona Din-0 R Din Elaborazione combinatoria (ritardo Tp) R Dout Tel Din-1 Din-2 Din-3 Dout-0 Dout-1 Dout-2 Fs=Fck 54 © 2005 Politecnico di Torino 27 Sistemi Elettronici Registri, contatori e circuiti sequenziali Elaborazione pipeline Nella catena sono presenti elementi di risincronizzazione in sequenza il ritardo Tel (tempo di latenza) è un multiplo di Ts => Tel = K Ts; Ts > Tp viene generato un nuovo dato ogni Ts Ts Elaborazione pipeline Din-0 F1 Tp R Din R F2 Tp Din-1 R Tel (latenza) Dout Din-2 Din-3 Dout-0 Dout-1 Fck 55 Elaborazione pipeline I blocchi combinatori F1, F2,... possono essere spezzati per ottenere Tp inferiori R Din F1 Tp1 R F2 Tp1 R Dout Fck R Din Fck F1’ Tp2 R F2’ Tp2 R F3’ Tp2 R F4’ Tp2 R Dout 56 © 2005 Politecnico di Torino 28 Sistemi Elettronici Registri, contatori e circuiti sequenziali Elaborazione pipeline In questo modo posso lavorare con Ts inferiori R Din F1 Tp1 R F2 Tp1 R F1’ Tp2 R Din Ts1 > Tp1 Dout Fck R F2’ Tp2 R F3’ Tp2 F4’ Tp2 R R Dout Fck Ts2 > Tp2 Ma Ts2 < Ts1 !! 57 Elaborazione pipeline Aumento il Troughput, che è il tempo più importante per avere sistemi più veloci! R Din F1 Tp1 R F2 Tp1 R R Din Fck F1’ Tp2 Ts1 > Tp1 Dout Fck R F2’ Tp2 R F3’ Tp2 R F4’ Tp2 R Dout Ts2 > Tp2 Ma Ts2 < Ts1 !! 58 © 2005 Politecnico di Torino 29 Sistemi Elettronici Registri, contatori e circuiti sequenziali Sommario lezione B5 Registri Divisori di frequenza, contatori asincroni Contatori sincroni Macchine a stati Elaborazione digitale Domande di riepilogo 59 © 2005 Politecnico di Torino 30