Logica sequenziale. I dispositivi logici si suddividono in due famiglie principali:

Documenti analoghi
LSS Reti Logiche: circuiti sequenziali

Reti sequenziali notevoli: registri, registri a scorrimento, contatori ing. Alessandro Cilardo

Flip-flop e loro applicazioni

Università degli Studi di Cassino

Elettronica Sistemi Digitali 09. Flip-Flop

Circuiti sequenziali

PSPICE Circuiti sequenziali principali

Circuiti sequenziali. Circuiti sequenziali e applicazioni

Un contatore è un registro che evolve secondo una sequenza predefinita di stati ordinati all applicazione di un impulso di ingresso

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

I bistabili ed il register file

Elettronica Digitale. 1. Sistema binario 2. Rappresentazione di numeri 3. Algebra Booleana 4. Assiomi A. Booleana 5. Porte Logiche OR AND NOT

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

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

Reti logiche (2) Circuiti sequenziali

Reti logiche (2) Circuiti sequenziali

Circuiti Sequenziali

I flip-flop ed il register file. Sommario

Circuiti sincroni circuiti sequenziali:bistabili e latch

AXO Architettura dei Calcolatori e Sistemi Operativi. reti sequenziali

Gli elementi di memoria: i bistabili

2 storage mechanisms positive feedback charge-based

Elettronica Generale I

Flip flop: tempificazione latch ed edge-triggered

Il Livello Logico-Digitale. I circuiti sequenziali

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

Circuiti sequenziali e latch

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

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

Sequential Logic. 2 storage mechanisms positive feedback charge-based. Inputs. Outputs COMBINATIONAL LOGIC. Current State. Next state.

I CONTATORI. Definizioni

Cenni alle reti logiche. Luigi Palopoli

Circuiti sincroni Circuiti sequenziali: i bistabili

Calcolatori Elettronici

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

Livello logico digitale

ESPERIMENTAZIONI DI FISICA 3. Traccia delle lezioni di Elettronica digitale M. De Vincenzi A.A:

LATCH E FLIP-FLOP PREMESSA

(competenze digitali) CIRCUITI SEQUENZIALI

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

» Derivazione della porta-base sequenziale (memoria di 1 bit, FlipFlop SR ) a partire dai blocchi base combinatori

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 6. Prof. Rosario Cerbone

CORSO BASE DI ELETTRONICA (competenze digitali)

I circuiti sequenziali

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

Circuiti sequenziali e latch

Esercitazione 03. Memorie e Registri. Gianluca Brilli 03/05/19 ARCHITETTURA DEI CALCOLATORI 1

Circuiti sequenziali. Gli elementi di memoria: i bistabili I registri. Circuiti sequenziali e bistabili. Bistabili: : classificazione

Contatore asincrono esadecimale

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

Logica Sequenziale. Modulo 5

05EKL-Progetto di Circuiti Digitali. Richiami di Reti Logiche

LATCH E FLIP-FLOP PREMESSA

Circuiti Combinatori. Circuiti Combinatori. Circuiti Combinatori. Circuiti Combinatori

Circuiti sequenziali

Corso di Calcolatori Elettronici I Flip-flop

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

Esercizi Logica Digitale,Circuiti e Bus

CAPITOLO 3 CIRCUITI SEQUENZIALI

Bus RS-232. Ing. Gianfranco Miele April 28, 2011

Circuiti Combinatori. Circuiti Combinatori. Circuiti Sequenziali. Circuiti Sequenziali

Calcolatori Elettronici A a.a. 2008/2009

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

DESCRIZIONE DEL FUNZIONAMENTO

Elettronica dei Sistemi Digitali Registri di memoria CMOS e reti sequenziali

I Indice. Prefazione. Capitolo 1 Introduzione 1

21/10/14. Contatori. Registri: contatori. Sintesi del contatore modulo 8 (1) Sintesi del contatore modulo 8 (2) J 0 = K 0 = 1 J 1 = K 1 = y 0

Esercitazione del 26/03/ Soluzioni

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Circuiti Logici

Introduzione. Gli elementi di memoria: i bistabili I registri. Bistabili: classificazione

COMUNICAZIONE SERIALE a cura dell' Ing. Buttolo Marco

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino. Gruppo H: Sistemi Elettronici Lezione n H - 5: Collegamenti seriali Conclusione

SISTEMI ELETTRONICI (Ing Telecomunicazioni, AA )

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

Elementi di memoria. Ing. Ivan Blunno 21 aprile 2005

Registri. Registri semplici

Macchine sequenziali

Esercitazione del 03/04/ Soluzioni

Calcolatori Elettronici T. Complementi ed Esercizi di Reti Logiche

05EKL-Progetto di Circuiti Digitali

Esercizio 4.3. Esercizio 4.4

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

Protocolli di Comunicazione

ALU + Bistabili. Sommario

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

Page 1. Elettronica per l informatica ELINF - D6 10/10/ DDC 1. Facoltà dell Informazione. Lezione D6

Porte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali

a) Si scriva la tabella ingressi-uscite e per ogni mintermine individuato si scriva la forma algebrica corrispondente:

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

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

Il diagramma temporale: rapporti di causa effetto fra fronti

Porte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali

Esercizio 1. Utilizzare FF di tipo D (come ovvio dalla figura, sensibili al fronte di discesa del clock). Progettare il circuito con un PLA.

Filippo Bagnato Corso di Elettronica digitale a.a. 2016/2017

Reti sequenziali. Nord

Flip-Flop. Tipo Set/Reset. É il tipo più semplice di circuito sequenziale. Una realizzazione in logica NOR é rappresentata in figura:

Transcript:

Logica sequenziale I dispositivi logici si suddividono in due famiglie principali: Logica combinatoriale L uscita all istante tn dipende unicamente dallo stato degli ingressi sempre al tempo t n ( interni (trascuriamo i ritardi, Porte logiche, decoders, multiplexers, ALU Logica sequenziale L uscita all istante tn dipende sia dallo stato degli ingressi al tempo t n, sia dallo stato degli ingressi ad istanti precedenti (t n-,n-2,.,ecc.) Ha quindi una memoria che viene chiamata STATO. Latch, flip-flops, macchine a stati, contatori, shift registers 2/25/2 Cibernetico elettronico

Flip-flop & Latches Logica combinatoriale con feed-back Uscita riportata all ingresso Latch è una memoria ad bit che cambia stato a seconda dell ingresso Flip-flop è un latch dotato di un ingresso di ( controllo clock (segnale di Le uscite commutano solo sui fronti (salita e/o discesa) del clock 2/25/9 Cibernetico elettronico 2

( ) Definizioni Stato: è un insieme di variabili (variabili di stato per l appunto) che rappresentano la memoria di quello che è successo fino ad ora Conta-persone: lo stato è il numero di persone passate fino adesso, ogni volta che passa una persona il numero viene incrementato di uno Logica sequenziale digitale Le variabili di stato sono binarie Un circuito con n variabili di stato ha 2 n stati possibili ( Machine Macchina a stati finiti (Finite State I cambiamenti di stato sono solitamente sincronizzati da un clock 2/25/9 Cibernetico elettronico 3

( ) CLOCK Clock: fornisce la marca temporale che scandisce i cambiamenti di stato del circuito. Il segnale di clock è active high se lo stato cambia sui fronti di salita active low se lo stato cambia sui fronti di discesa. Periodo del Clock: è il tempo che trascorre tra due transizioni dello stesso tipo Frequenza del Clock: è il numero di volte che questo accade per secondo Duty cycle è la percentuale di tempo, durante un periodo, in cui il clock è attivo. 2/25/9 Cibernetico elettronico 4

( 2 ) CLOCK ACTIVE HIGH t h t h Duty cicle = t h (t L ) / Periodo ACTIVE LOW Periodo Frequenza = /Periodo t L t L 2/25/9 Cibernetico elettronico 5

Elemento bistabile Memoria ad un bit L elemento più semplice: E bistabile in quanto ha due stati stabili: Stato : alto, Vin basso, V in2 alto Stato 2: basso, Vin alto, V in2 basso V in V out V in2 V out2 2/25/9 Cibernetico elettronico 6 /

Bestiario dei latch & flip-flop Latch S-R Latch /S-/R Latch S-R Latch con Enable D Latch Flip-flops Edge-Triggered D Flip-Flop Master/Slave S-R Flip-Flop Master/Slave J-K Flip-Flop Edge-Triggered J-K Flip-Flop T Flip-Flop 2/25/9 Cibernetico elettronico 7

S-R Latch Caveat: Simbolo Propagazione (cfr. con porta ( singola Durata minima degli impulsi Set Reset S R / Tabella della verità R Schema Hold Reset S R n / n n- / n- S / Set ILLEGALE 2/25/9 Cibernetico elettronico 8

Si attiva solo con enable alto S=R= illegale S-R Latch con enable R C S Simbolo S C S R C R / n / n Schema / X X n- / n- n- / n- 2/25/9 Cibernetico elettronico 9

Si attiva solo con enable alto Rimane il problema dell instabilità J=K= lecito J-K Latch J K C n / n Simbolo J C K n- / n- / n- n- K ( oscilla ) Schema R J X / X n- / n- C J S / C K / 2/25/9 Cibernetico elettronico

Preset, Clear I flip-flops hanno due ingressi asincroni. Preset e Reset (Clear). Servono ad impostare direttamente le uscite dei latch S-R. Operano indipendentemente dall enable (clock). uando disegnate un circuito: Usate questi ingressi SOLO per inizializzare la logica. Mai per realizzare funzioni logiche. 2/25/9 Cibernetico elettronico

Latch D-type Simbolo D C Immagazzina un dato di ( reset un bit (NON set e uando Enable è alto il latch è trasparente Risolve il problema di SET=RESET= Schema Tabella della verità D C R S / C D n / n X n- 2/25/9 Cibernetico elettronico 2

Architettura Master-Slave Risolve i problemi di race around legati ai tempi di propagazione finiti delle porte logiche. Due latch in cascata: il primo pilotato direttamente dal clock il secondo dal clock invertito uando è attivo il primo stadio, non è attivo il secondo (e viceversa). La commutazione delle uscite avviene sul fronte di salita (discesa) del clock. 2/25/9 Cibernetico elettronico 3

D-type flip-flop Simbolo D Transizioni sul fronte di discesa del clock Se aggiungo un inverter al clock le transizioni avvengono sul fronte di salita D CLK n / n X X Tabella della verità n- n- / n- / n- D D D Schema C C / CLK 2/25/9 Cibernetico elettronico 4

S-R flip-flop S C R S R C n / n X X n- / n- n- / n- Illegale? Illegale? S R S C R S C R / C 2/25/9 Cibernetico elettronico 5

J-K flip-flop Risolve il problema S=R= Adesso funziona il toggle! J K C n / n J C K X X n- n- / n- / n- J K / S C R S C R / n- n- / C 2/25/9 Cibernetico elettronico 6

J-K con un D-type J K J K C n / n X X n- / n- X X n- / n- J K / D n- / n- / n- n- CLK / CLT 2/25/9 Cibernetico elettronico 7

T (toggle) flip-flop T= toggle n = / n- T= n = n- Senza T Con T D T J K / Divisore di frequenza per due 2/25/9 Cibernetico elettronico 8

Contatori Un insieme di n flip-flop. 2 n stati possibili Possono contare in su o in giù Tipologia: Ripple counter Syncronous counter 2/25/9 Cibernetico elettronico 9

( ) Contatore ripple Implementazione molto semplice Il clock viene dato in ingresso al primo TFF Le uscite dei flip-flop sono i bit di uscita ( clock LSB a sinistra (TFF con il ( LSB ) 2 3 PRN T TFF PRN T TFF PRN T TFF PRN T TFF clock CLN CLN CLN CLN 2/25/9 Cibernetico elettronico 2

( 2 ) Contatore ripple Il contatore visto conta in giù. Per farlo contare in su basta usare dei TFF che commutino sui fronti di discesa. Il nostro contatore a 4 bit può contare fino a 5 ma: Tramite i preset si può caricare in maniera asincrona qualsiasi numero di partenza. Si può quindi farlo contare per qualsiasi numero da a 5. Abbiamo bisogno dell ausilio di un minimo di logica combinatoriale: Un circuito che riconosca quando il contatore è arrivato a 6 e generi un segnale logico Un circuito che imposti il complemento a 5 del numero da contare es. devo contare fino a 9 devo far partire il contatore dal numero 6 Il contatore si fermerà a 5 dopo aver contato quindi 9 colpi Realizzo così un contatore programmabile. Attenzione anche agli ingressi di clear, sono necessari per caricare gli zeri I preset caricano solo NON. 2/25/9 Cibernetico elettronico 2

Contatore programmabile Reload! Il caricamento viene fatto sia alla partenza, sia ogni volta che il contatore raggiunge il conteggio di F ( ) 2/25/9 Cibernetico elettronico 22

( 3 ) Contatore ripple Svantaggio principale: Ritardo di propagazione del segnale: t pr di circa ns a flip-flop n bit ritardo totale = n tpr La criticità aumenta con il numero di bit e con la frequenza di clock. Il conteggio finale rimane affidabile! Cioè se interrompete il clock e aspettate un tempo sufficiente (> n t pr ), il valore letto sarà il numero effettivo di colpi di clock ricevuti. Non sono più affidabili i conteggi intermedi!!! Ad esempio nel nostro circuito precedente si possono avere dei reload spuri generati in mezzo alla sequenza di conteggio. 2/25/9 Cibernetico elettronico 23

Contatore sincrono Sfruttiamo a nostro vantaggio il ritardo di propagazione. I flip-flop sono tutti pilotati in parallelo dallo stesso clock. Uso di logica combinatoriale per stabilire se il flip-flop debba caricare o. ( LSB ) 2 PRN? T? TFF PRN T TFF? PRN T TFF clock clock clock CLN CLN CLN 2/25/9 Cibernetico elettronico 24

Contatore sincrono Importante l ingresso T T= n = / n- clock T= n = n- Per connettere T=, ma per? PRN T TFF ( LSB ) 2 clock CLN clock 2/25/9 Cibernetico elettronico 25

uindi come connettiamo T? Connettiamo l ingresso T a!!! Sfruttiamo il ritardo di propagazione nei flip-flop Sul primo fronte di salita del clock diventa, MA solo dopo un tempo t pr (tipicamente ( ns qualche uindi il secondo flip-flop, sul primo fronte di salita del clock, in ingresso ha ancora zero e quindi la sua uscita rimarrà nello stato precedente. Sul secodo fronte di salita del clock diventa, MA solo dopo un tempo t pr (tipicamente ( ns qualche uindi il secondo flip-flop, sul secondo fronte di salita del clock, in ingresso ha ancora uno e quindi la sua uscita si ribalta rispetto allo stato precedente.? clock PRN T TFF CLN 2/25/9 Cibernetico elettronico 26 clock PRN T TFF CLN

Come connettiamo T 2? 2 deve commutare nel momento in cui = transiscono da a Teniamo presente t pr! clock PRN T TFF clock PRN T TFF 2 CLN CLN 2/25/9 Cibernetico elettronico 27

Come connettiamo T n? Vale il solito principio: n deve commutare nel momento in cui =... = n- transiscono da a Riporto seriale: AND2 connessi in cascata 2 T 3 n- Riporto parallelo: AND3...n T n 2/25/9 Cibernetico elettronico 28

Riporto seriale vs Riporto parallelo Riporto seriale: semplicità costruttiva Ritardo totale scala con i bit del contatore tpr di un FF + t pr (di una porta AND!!!!) * n Riporto parallelo: Diventa complicato quando i bit sono tanti Ritardo totale fisso!! tpr di un FF + t pr (di una porta AND!!!!) e BASTA! 2/25/9 Cibernetico elettronico 29

Contatore Programmabile Necessità di contare per un numero arbitrario di colpi di clock: Combinazione sulle uscite Counter Enable/Reset Combinazione sugli ingressi Data Load Si usa sempre quest'ultima. Tutti i contatori hanno un bus in ingresso per caricare un numero di partenza cioè da cui partire a contare: Linea di Load (sincrona o asincrona) Tecnica flessibile che permette di cambiare numero di conteggi senza modificare l'hardware 2/25/9 Cibernetico elettronico 3

Shift registers Data in ( seriale ) D (! Ugh ) Serializzatori e parallelizzatori Vediamo per primo un Parallelizer: Ingresso data (seriale), ingresso clock Tipicamente usati i D-type flip-flop La parola di uscita è formata dalle singole uscite dei flip-flop. 3 2 D D D Clock 2/25/9 Cibernetico elettronico 3

( seriale RS232 (protocollo ------------------- 9-Pin 25-Pin Carrier Detect 8 Recieve Data 2 3 Transmit Data 3 2 Data Terminal Ready 4 2 System Ground 5 7 Data Set Ready 6 6 Request to Send 7 4 Clear to Send 8 5 Ring Indicator 9 22 Connessioni minime, 3!!! Tx,Rx,GND. 2/25/9 Cibernetico elettronico 32

( seriale RS232 (protocollo Tra i due apparecchi collegati bisogna stabilire prima: ( 56K frequenza dei dati (baud rate) (96, ( off parità (normalmente ( due stop bit (normalmente uno o Parametri fissi e non negoziabili: bit vengono trasmessi a gruppi di 8 in inizio trasmissione viene inviato uno start bit a fine trasmissione vengono trasmessi il bit di parità e gli stop bit Il clock viene generato dal ricevente appena riceve lo start bit! 2/25/9 Cibernetico elettronico 33

( seriale RS232 (protocollo ( bit uando la linea di data va a zero (start Inizia la trasmissione dati Il ricevitore genera un clock interno che campiona la linea dati con uno shift-register Se il protocollo prevede start, 2 stop e no parity, il clock interno dovrà fornire colpi. start 2 3 4 5 6 7 stop stop clock data 2/25/9 Cibernetico elettronico 34

Shift registers ( Out Abbiamo visto un SIPO (Serial In Parallel ( Out Ora vediamo un PISO (Parallel In Serial La parola di n bit viene caricata (load) su n flip-flop dello shiftregister. Sotto l azione del clock, l uscita dell ultimo flip-flop restituisce la parola caricata in modo seriale. D prn D 3 3 D D 2 prn 2 D prn D D prn D Clock Data out ( seriale ) 2/25/9 Cibernetico elettronico 35

Ring counter Shift register con l uscita connessa all ingresso Il token viene caricato sul primo flip-flop Ad ogni colpo di clock: Il token passa da un flip-flop a quello successivo uando arriva all ultimo flip-flop, viene ricaricato sul flip-flop iniziale Es. La sequenza di un ring counter a 4 bit: ecc. ecc. Token load 3 2 D prn D D D Clock Token out 2/25/9 Cibernetico elettronico 36

Circuito di debouncer! Al momento della chiusura dell interruttore si hanno vari rimbalzi tra lel lamelle degli interruttori +5V SPDT switch /SW 74LS4 DSW TTL hanno una resistenza di pull-up interna a +V /SW +5V GND PUSH first contact bounce DSW 2/25/9 Cibernetico elettronico 37

/SW Campionare gli ingressi Usare un clock lento +5V GND Periodo più lento della durata dei RIMBALZI PUSH Primo contatto bounce t_ clock > t_ bounce +5V SPDT switch D Clock ( ms (periodo tipico di 2/25/9 Cibernetico elettronico 38

Differenziatore Riconosce i fronti di salita e di discesa clock clock 2/25/9 Cibernetico elettronico 39

De-glitcher A volte, nonostante i nostri sforzi, può capitare di avere dei glitch all uscita del nostro circuito digitale. I glitch sono delle transizioni di brevissima durata, non volute e non previste. Se la nostra logica è comunque tutta pilotata da un Master clock, il seguente circuito può servire per rimuovere i glitch: Il D type FF usa come ingresso di clock il master clock Segnale con un glitch Segnale ripulito D Clock 2/25/9 Cibernetico elettronico 4

Sincronizzatore Input asincroni: Sono sempre presenti in un sistema digitale: Ingresso da tastiera, pulsanti, comparatori, ecc. Normalmente sono molto più lenti del clock di sistema Non è vitale sapere quando esattamente (al ns) è avvenuto l evento PER ESSERE USATI DEVONO ESSERE SINCRONIZZATI! 2/25/9 Cibernetico elettronico 4

Si usa sempre un D type flip-flop ( clock Clock di sistema (Master Sincronizzatore singolo Ingresso asincrono Clock di sistema D Uscita sincrona Circuito digitale sincrono Clock Ing. asinc. Uscita sinc. ui ha funzionato! X X X ui NO! Metastabile.. Per sfortuna il fronte di salita dell ingresso asincrono coincide con il fronte di salita del clock 2/25/9 Cibernetico elettronico 42

Sincronizzatore doppio Pagando un piccolo prezzo: Aumento della latenza Raddoppiamo la catena: L eventuale metastabilità sarà terminata quando ricampioneremo il segnale Prezzo pagato: Sono necessari due colpi di clock prima di avere un segnale in uscita! (Aumento della latenza)! Ingresso asincrono Clock di sistema D Uscita sincrona ( metastabile ) Clock di sistema D Circuito digitale sincrono Uscita sincrona 2/25/9 Cibernetico elettronico ( pulita ) 43