ElapB3 19/09/2014 Ingegneria dell’Informazione Lezione B3: circuiti sequenziali • Registri paralleli e Registri seriali ELETTRONICA APPLICATA E MISURE • Convertitori Seriale/Parallelo e Parallelo/Seriale • Contatori asincroni Dante DEL CORSO • Contatori sincroni B3 – CIRCUITI SEQUENZIALI » » » » • Frequenza massima di circuiti sequenziali Circuiti sincroni Contatori Altri circuiti sequenziali Cadenza massima clock • Riferimenti ai testi – N. Storey: – F. Maloberti: AA 2014-15 19/09/2014 - 1 ElapB3 - © 2014 DDC EN: Chapt 24.7, 24.8; IT: non trattati Understanding Microelectr…: Chap. 8.5.3 19/09/2014 - 2 ElapB3 - © 2014 DDC Segnali seriali e segnali paralleli Trasferimento seriale • I segnali numerici possono essere rappresentati e trattati in forma seriale o parallela • I segnali sono cadenzati da un segnale di clock • Trasferimento seriale: N bit con N cicli di clock Informazione seriale: bit presenti in tempi successivi su unico filo. 10110100 1 bit – 1 bit alla volta: tempo totale N Tck CLOCK SEGNALE DIGITALE N bit INFORMAZIONE Informazione parallela: bit presenti nello stesso tempo su fili diversi. 1 0 1 1 0 1 0 0 19/09/2014 - 3 1 0 19/09/2014 - 4 0 1 ElapB3 - © 2014 DDC Trasferimento parallelo Vantaggi e svantaggi • I segnali sono cadenzati da un segnale di clock • Connessione Seriale – Lenta: un bit per volta – Una sola linea: minor consumo e costo – Più usata su distanze lunghe e “canali” • Trasferimento parallelo: N bit con un clock – N bit contemporaneamente, in un tempo Tck » Ethernet, SATA, link ottici, … » Codifica di più bit in un “simbolo” (modulazioni, canale radio, …) CLOCK SEGNALE DIGITALE 19/09/2014 - 5 1 TCK ElapB3 - © 2014 DDC Bit 3 Bit 2 Bit 1 Bit 0 0 1011 0010 0010 0101 • Connessione Parallela – Veloce: più bit nello stesso tempo – Molte linee: maggior consumo e costo – Più usata su distanze brevi Segnale a più bit (4) » Entro circuiti integrati, tra C.I. » Bus PCI, ATA, … ElapB3 - © 2014 DDC 19/09/2014 - 6 ElapB3 - © 2014 DDC Page 1 2014 DDC 1 ElapB3 19/09/2014 Richiami sui tipi di flip-flop Sincronizzazione dei registri • In base alla modalità di sincronizzazione Come per i FF, QUATTRO TIPI BASE di “clock”: LATCH • Con abilitazione a livello (LE) – Registri latch – Trasparenza quando abilitati (LE = 1) – Memoria quando bloccati (LE = 0) • Con comando sulla transizione (CK) – Registri master-slave – Memorizzano lo stato dell’ingresso alla transizione attiva – No trasparenza • LE e CK possono essere diritti o negati 19/09/2014 - 7 ElapB3 - © 2014 DDC EDGE-TRIGGERED POSITIVE NEGATIVE LE LE – Clock – (Reset/Clear) – … EDGE-TRIGGRED (SENSIBILE AL FRONTE) L’USCITA CAMBIA DURANTE LA FASE TRASPARENTE (LE = 1) L’USCITA CAMBIA SUL FRONTE DEL CLOCK ElapB3 - © 2014 DDC • Ingresso parallelo • Uscita parallela • Registro PIPO Q1* • Parametri: Q2* • A seconda del modo di clock Registri di tipo Q3 D3 Q3* Ingressi D(0..3) – Latch – Edge-Triggered, » Level (latch) » D (edge, MS) » (Clear, OE, …) ElapB3 - © 2014 DDC D3 Q3 CK 4 D Q CK ElapB3 - © 2014 DDC Timing di registro PIPO • Abilitazione a livello a) Q2 19/09/2014 - 10 Segnale di comando D Q1 D2 – Altri comandi Clear* (attivo a 0) 19/09/2014 - 9 Q0 D1 – Num bit N – Tipo di clock Uscite Q(0..3) C Clock (edge) D0 – Parallel In/Parallel Out Q2 D2 CK Registro parallelo Q0* Q1 D1 CK 19/09/2014 - 8 Q0 D0 NEGATIVE LATCH (SENSIBILE AL LIVELLO) Registri • Insieme di Flip-Flop con comandi comuni POSITIVE • Latch e master-slave con stessi ingressi Q D b) EN Q EN ___ ___ ___ ___ ___ __ \___/ \___/ \___/ \___/ \___/ EN __/ DATA XXAAAAAAXXBBBBBXXCCCCDDDDDDDDEEEEEEEEFFFFFFFF Q ???AAAAAAAABBBBBBBBCCCDDDDDDDDEEEEEEEEFFFFFFF CLOCK ___ ___ ___ ___ ___ __ __/ \___/ \___/ \___/ \___/ \___/ DATA XXAAAAAAXXBBBBBXXCCCCDDDDDDDDEEEEEEEEFFFFFFFF Q ???AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFF • Clock a transizione D c) 19/09/2014 - 11 CK Q D d) Q CK ElapB3 - © 2014 DDC 19/09/2014 - 12 ElapB3 - © 2014 DDC Page 2 2014 DDC 2 ElapB3 19/09/2014 Shift-Register SISO Timing di registro SISO • Insieme di Flip-Flop (D) in cascata (Qn -> Dn+1) – Clock in comune (eventualmente anche Reset) CLOCK • Il dato di ingresso viene scalato entro la catena SERIN – Registro SISO Serial In - Serial Out Q1 • Registro a scorrimento/scalamento (Shift-Register) Q2 SERIAL IN D Q Q1 Q D SERIAL OUT Q2 CK Qn Qn Qn FF1 Q3 Q D FF2 ___ ___ ___ ___ ___ __ \___/ \___/ \___/ \___/ \___/ ______ _______________ _______/ \______________/ _______ _________ ???________/ \_______________/ _______ _ ???????????________/ \_______________/ _______ ???????????????????________/ \_________ __/ Unica uscita accessibile è Q3 (Qn per un registro da n stadi) FF3 19/09/2014 - 13 ElapB3 - © 2014 DDC 19/09/2014 - 14 ElapB3 - © 2014 DDC Shift-Register SIPO Registro a scorrimento (shift) • Registro a scorrimento (Shift-Register) – Insieme di Flip-Flop (D) collegati in cascata (Qn Dn+1) – Clock in comune (eventualmente anche Reset) • Può convertire un dato seriale in parallelo ___ ___ ___ ___ ___ __ \___/ \___/ \___/ \___/ \___/ CLOCK __/ SERIN AAAAAXXXXBBBBXXXCCCCCCCCCCCCCXXXDDDDDDDDDDDDD Q1 ??? AAAAAAA BBBBBBB CCCCCCCCCCCCCCC DDDDDDDDD Q2 ??????????? AAAAAAA BBBBBBB CCCCCCCCCCCCCCC D Q3 ??????????????????? AAAAAAA BBBBBBB CCCCCCCCC – Registro SIPO Serial In - Parallel Out D FF3 FF2 FF1 SERIAL IN Q D D Q Q SERIAL OUT CK Qn PARALLEL OUT Qn Qn Q1 Q2 19/09/2014 - 15 L’informazione presentata su SERIN (A B C C D D …) “scorre” entro il registro, di una posizione a ogni colpo di clock: Registro a scorrimento, a scalamento, shift register Q3 ElapB3 - © 2014 DDC 19/09/2014 - 16 ElapB3 - © 2014 DDC Timing di registro SIPO Shift-Register PISO • Permettono di caricare in parallelo i singoli flip-flop ___ ___ ___ ___ ___ ___ \___/ \___/ \___/ \___/ \___/ \__ ______ ___________________ SERIN _______/ \______________/ _______ _____________ Q1 ???________/ \_______________/ _______ _____ Q2 ???????????________/ \_______________/ _______ Q3 ???????????????????________/ \_____________ ______ ______ ______ _____ Q(3,2,1) ????????????????< 010 >< 100 >< 001 >< 011 > CLOCK __/ – Comando Parallel Load (PL) – Rimane l’uscita seriale PARALLEL INPUT DATA Tutte le uscite Qi sono accessibili Il dato di ingresso (010011…) è disponibile in forma parallela (3 bit per volta) su <Q1, Q2, Q3> 19/09/2014 - 17 D0 Q0 D1 Q1 D2 Q2 D3 Q3 PL SOUT SERIAL OUT CK ElapB3 - © 2014 DDC 19/09/2014 - 18 ElapB3 - © 2014 DDC Page 3 2014 DDC 3 ElapB3 19/09/2014 Timing di registro PISO Sommario registri ___ ___ ___ ___ ___ ___ \___/ \___/ \___/ \___/ \___/ \__ ______ ______ D(0,..3) < 0100 >XXXXXXXXXXXXXXXXXXXXXXXX< 1001 >XXXXXXX _ _ PL ____/ \_____________________________/ \__________ ______ Q0 ?????______XXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX _____ Q1 ?????______________XXXXXXXXXXXXXXXXXX______/ ______ Q2 ????? \_______________XXXXXXXXXX____________ ______ ______ Q3 ?????_______/ \_______________XX \_____ CLOCK • PIPO __/ SIPO D Q CK D Q D Q CK • PISO SISO D Q CK CK Il dato D(3,2,1,0) viene caricato nei FF da un impulso su PL, e portato in forma seriale su SEROUT = Q3 (sequenza 0 1 0 0) 19/09/2014 - 19 ElapB3 - © 2014 DDC 19/09/2014 - 20 ElapB3 - © 2014 DDC Shift-Register completo Esercizio B3.1: Shift register PISO • Ingressi e uscite sia paralleli che seriali • Tracciare lo schema logico (porte e FF tipo D) di un registro con ingresso parallelo e uscita seriale (shift register PISO) a 4 bit. SERIAL IN (= D0) PARALLEL INPUT DATA LOAD D0 Q0 D1 Q1 D2 Q2 D3 Q3 PL – Comandi: » CK » LOAD PARALLEL OUTPUT DATA – Ingressi: Pi – Uscite: SEROUT = Q3 SERIAL OUT (= Q3) – Funzionamento » Modo LOAD: » Modo SHIFT: CK 19/09/2014 - 21 shift su transizione LH attivo H, carica quando CK LH ElapB3 - © 2014 DDC Di = Pi Di = Qi-1 19/09/2014 - 22 ElapB3 - © 2014 DDC Esercizio B3.1: segnali PISO Lezione B3: circuiti sequenziali • Tracciare la risposta (uscita Q3) __ __ __ __ __ _ CK __/ \__/ \__/ \__/ \__/ \__/ ______ ____ ____ ______ ____ _____ D<0:3> _1011_X____X____X______X____X_____ _ LOAD _/ \______________________________ • Registri paralleli e Registri seriali • Convertitori Seriale/Parallelo e Paralleo/Seriale • Contatori asincroni • Contatori sincroni • Frequenza massima di circuiti sequenziali Q3 • Riferimenti al testo – ….. 19/09/2014 - 23 ElapB3 - © 2014 DDC 19/09/2014 - 24 ElapB3 - © 2014 DDC Page 4 2014 DDC 4 ElapB3 19/09/2014 Contatori e divisori Divisore modulo 2/4 (a riporto) • CONTATORE: circuito logico che genera sulle uscite una sequenza di conteggio binario, incrementata a ogni colpo di Clock D CK – 0000, 0001, 0010, 0011, 0100, …. (0) (1) (2) (3) (4) ….. – Esistono contatori UP o DOWN – Raggiunto un valore predefinito il contatore riparte da 0. Q1 Q D Qn Q2 Q Qn CK Q1 • DIVISORE: contatore di cui viene utilizzata solo una uscita Qn. Q2 0/0 | Q1/2 – Modulo M del divisore è il rapporto Fclock/Fqn – Divisore programmabile è possibile variare il modulo M 1/1 | 0/1 | 1/0 | 0/0 | 1/1 Ogni stadio divide la frequenza di CLOCK modulo 2 M stadi: divisione modulo 2M 19/09/2014 - 25 ElapB3 - © 2014 DDC 19/09/2014 - 26 ElapB3 - © 2014 DDC Contatore asincrono JK-FF come divisore/contatore • I clock sono collegati a catena (ripple) • I ritardi di commutazione si accumulano • Il circuito è un contatore asincrono: le uscite commutano con ritardo differenti • Se J,K = 1 un JK-FF cambia stato a ogni Clock – Permette di realizzare contatori asincroni • Esempio: contatore a tre stadi (:8, modulo 8) – JK-FF Negative-Edge-Triggered – Singolo FF: ritardo Tpd (da CK a Q) – Uscita QM: ritardo TpdM = M Tpd Q D CK Q1 1 Q D Qn CK Q2 1 J Q Q1 19/09/2014 - 27 ElapB3 - © 2014 DDC 5 4 Q3 ElapB3 - © 2014 DDC – Clock diversi per i vari Flip-Flop 6 » Ritardi differenti sulle varie uscite » Situazioni anomale nei transitori 8 7 – Reti combinatorie di condizionamento sul clock CK Q1 • Contatori sincroni Q2 – Tutti i FF ricevono lo stesso clock – Tutte le uscite commutano con lo stesso ritardo (in sincronismo) Ritardo Tpd Q3 000 K Qn Q2 • Contatori asincroni – Sequenza crescente di numeri binari 3 Q Contatori asincroni e sincroni • Sequenza di stati su Q1, Q2, Q3 (modulo 8) 2 J 19/09/2014 - 28 Sequenza di conteggio 1 Q K Qn K Qn Qn 1 J Ritardo 2Tpd 001 MSB (Q3) 19/09/2014 - 29 010 011 100 LSB (Q1) 101 110 111 • La commutazione è condizionata dallo stato di J e K 000 – Pilotati dagli stadi precedenti con reti combinatorie Ritardo 3Tpd ElapB3 - © 2014 DDC 19/09/2014 - 30 ElapB3 - © 2014 DDC Page 5 2014 DDC 5 ElapB3 19/09/2014 Esempio di contatore sincrono Contatore sincrono e asincrono • Contatore modulo 2N (N = 4) • Clock diretto su tutti i FF CK – Dal terzo FF in poi tutti gli stadi sono uguali Q1 Asincrono Ritardi Q2 diversi Q3 1 CK J Q J Q J Q J Q K K K K Q1 Q2 Sincrono Ritardi uguali Q3 Q3 Q4 19/09/2014 - 31 Q1 Q2 ElapB3 - © 2014 DDC 19/09/2014 - 32 ElapB3 - © 2014 DDC Contatori modulo qualsiasi Vincoli di temporizzazione • Decodifica del conteggio terminale • Passaggio dei segnale entro circuiti logici combinatori – Comando di reset RES a tutti i FF 1 2 3 4 – Tempo di propagazione Tp 1 5 2 • Tempi richiesti per il corretto funzionamento di un FF 3 – Segnali ingresso rispetto al clock: CK » Tempo di setup Tsu » Tempo di hold Th Q1 – Cadenza massima del Clock Fckmax Q2 • Ritardo dovuto al passaggio del segnale entro un FF Q3 Stato terminale (temporaneo) RES 000 001 010 011 – Tempo di propagazione Tckq Il contatore riparte da 0 100 101 000 001 010 19/09/2014 - 33 011 ElapB3 - © 2014 DDC 19/09/2014 - 34 ElapB3 - © 2014 DDC Massima frequenza operativa - a Massima frequenza operativa - b • La frequenza massima di funzionamento è legata a: • Per il FF 4 la logica combinatoria di ingresso è una catena di due AND – Ritardo del FF CK Q TCKQ – Ritardo della logica combinatoria (porta AND) TAND – Tempo di setup richiesto dal FF TSU TAND TCKQ – Ritardo totale: TT4 = TCKQ + TAND + TAND + TSU – Ogni ulteriore stadio aggiunge un ritardo TAND TSU CK TAND TCKQ 1 TAND TSU 1 J Q J Q J Q J Q K K K K Q1 19/09/2014 - 35 Q2 Q3 CK Q4 J Q J Q J Q J Q K K K K Q1 ElapB3 - © 2014 DDC 19/09/2014 - 36 Q2 Q3 Q4 ElapB3 - © 2014 DDC Page 6 2014 DDC 6 ElapB3 19/09/2014 Come ridurre i ritardi • Struttore a riporto (ripple) Q Esercizio B3.2: Contatore Sincrono J Q Tracciare le forme d’onda alle uscita (Qi = 0 per t = 0) K – Più livelli di porte – Semplici – Forti ritardi 1 Ritardo 2 porte Q • Strutture dirette (look ahead) J Q J Q J Q J Q J Q K K K K CK Q1 K – Un solo livello – Complesse – Veloci Q2 Q3 Q4 Quale Fmax per: TAND = 10 ns ; TCKQ = 8 ns; TSU = 3 ns Quale Fmax per un contatore a 6 bit con gli stessi componenti? Ritardo 1 porta Come alzare la Fmax ? 19/09/2014 - 37 ElapB3 - © 2014 DDC 19/09/2014 - 38 ElapB3 - © 2014 DDC Es. B3.2-a: segnali senza ritardi Es. B3.2-b: segnali con ritardi • Segnali di comando J,K e uscite Q Ciclo 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CK 9 10 11 12 13 14 15 16 CK _/\_/\_/\_/\_/\_/\_/\_/\_/\_/\_/\_/\_/\_/\_/\_/ Q1 Q1 __ __ _/ \__/ Q2 JK2 _/ JK3 Q2 _ Q3 JK3 Q3 _ JK4 _ Q4 JK4 Q4 19/09/2014 - 39 ElapB3 - © 2014 DDC Ritardo costante su tutte le uscite 19/09/2014 - 40 ElapB3 - © 2014 DDC Es. B3.2-c: Contatore Sincr.: Fmax Esercizio B3.3: circuito sequenziale • Dal 7° all’ 8° periodo di CK • Tracciare la sequenza di segnali in un circuito con 2/3 FF e porte (da Sistemi ELN). – Ingresso JK4 da AND di JK3 e di Q3 – JK4 deve essere costruito prima del fronte CK 8° – l’uscita JK4 è ritardata rispetto al fronte CK7 di tCK_Q + tAND + tAND quindi TCK > tCK_Q + 2tAND + tSU – Stato iniziale: tutti i Qi = 0 (FF in RESET) • Valutazione dei ritardi e della Fmax del clock. • Per un contatore a m bit: TCK > tCK_Q + (m-2)tAND + tSU 1 CK J Q J K K Q J J Q K Q F Q2 A D Q Q1 D Q K FF1 Q FF2 CK Q1 19/09/2014 - 41 Q2 Q3 Q4 ElapB3 - © 2014 DDC 19/09/2014 - 42 ElapB3 - © 2014 DDC Page 7 2014 DDC 7 ElapB3 19/09/2014 Esercizio B3.3-a: segnali Esercizio B3.3-b: ritardi • Sequenza di segnali (senza ritardi) • Sequenza di segnali (con ritardi) CK ___ ___ ___ ___ ___ __/ \___/ \___/ \___/ \___/ CK _____ _____ ___ _____/ \______/ \______/ Q1 __ Q1 __ Q2 __ __ Q2 __ __ A A 19/09/2014 - 43 ElapB3 - © 2014 DDC 19/09/2014 - 44 ElapB3 - © 2014 DDC Esercizio B3.3-c: frequenza massima Macchina a Stati Finiti (FSM) • Massima frequenza del clock (Fmax) • Le uscite di un contatore evolvono secondo la successione dei numeri interi: – Analizzare i ritardi concatenati CK Q (FF); Q D (porta) – Garantire i margini (Tsu e Th) – 1, 2, 3, 4, 5, … – La commutazione avviene in corrispondenza del clock • E’ possibile realizzare circuiti sequenziali in cui F A – La sequenza di stati è arbitraria (ad esempio 4, 2, 1, 3, 5, …) – La commutazione avviene sempre in corrispondenza del clock – Il passaggio da uno stato all’altro è condizionato da segnali esterni Q2 D Q Q1 FF1 CK D Q Q FF2 • Macchine a Stati Finiti (FSM) 19/09/2014 - 45 ElapB3 - © 2014 DDC 19/09/2014 - 46 ElapB3 - © 2014 DDC Esempio di FSM: FF JK Macchine a Stati Finiti (FSM) • Comportamento del FF JK • Una FSM comprende elementi di memoria (Flip-Flop) • Lo stato degli elementi di memoria identifica lo stato del sistema (N FF 2N stati) • I passaggi da stato a stato sono rappresentati con archi, condizionati da variabili interne e di ingresso • Ad ogni stato corrisponde una combinazione delle uscite A D J K K Q Q* Q 0 0 Q-1 Q*-1 0 1 0 1 K Q* 1 0 1 0 1 1 Q-1* Q-1 per J,K = 1,1 l’uscita commuta a ogni colpo di clock C Condizioni di comando dell’uscita • Realizzabile da FF SR (lezione B2) • Questa rappresentazione è un diagramma degli stati 19/09/2014 - 47 J J CK B Condizione di memoria ElapB3 - © 2014 DDC 19/09/2014 - 48 ElapB3 - © 2014 DDC Page 8 2014 DDC 8 ElapB3 19/09/2014 Esercizio B3.5: JK FF come FSM Es. B3.5-a: diagramma degli stati • Progettare una FSM che si comporti come un Flip Flop JK RETE DI USCITA – Due ingressi (+ Reset) : J , K J K – Due soli stati: A (Uscita Q = H), B (Uscita Q = L) RICAVIAMO IL DIAGRAMMA DEGLI STATI: Q JK LL LH RETE DI STATO FUTURO Hl Q – La rete di uscita è un semplice filo dall’uscita del FF all’uscita Q D HH CK R STATO CORRENTE (Q) L H L H L H L H STATO FUTURO (D) L H L L H H H L RESET L’EQUAZIONE DELLO STATO FUTURO È: 19/09/2014 - 49 ElapB3 - © 2014 DDC D = Qn+1 = Q J + Q K 19/09/2014 - 50 Esercizio B3.5-c: FSM completa ElapB3 - © 2014 DDC Lezione B3: domande di riepilogo • Tracciare Q per un D-FF con D collegato a Q* CIRCUITO FINALE RETE DI USCITA • Tracciare lo schema di un divisore asincrono modulo 32 realizzato con D-FF. OUTPUT = Q J • Quanti FF occorrono per realizzare un contatore modulo 17 (sincrono e asincrono)? K • Nei contatori sincroni il ritardo delle uscite dipende dal modulo di conteggio ? • Tracciare lo schema logico (porte e FF) di un convertitore da flusso di bit seriale a rappresentazione parallela. RETE DI STATO FUTURO • E’ possibile realizzare uno shift register con dei FF tipo D-latch (non master-slave)? Q D R • Realizzare un SIPO a 8 bit utilizzando due registri SIPO da 4 bit. • Quali parametri determinano la massima cadenza di clock per un registro a scorrimento? CK RESET 19/09/2014 - 51 ElapB3 - © 2014 DDC 19/09/2014 - 52 ElapB3 - © 2014 DDC Page 9 2014 DDC 9
© Copyright 2024 ExpyDoc