Esercizi e applicazioni di

Slides:



Advertisements
Presentazioni simili
Aritmetica Binaria
Advertisements

MULTIVIBRATORI BISTABILI
Fenomeni transitori: alee
Dalla macchina alla rete
Capitolo 4 Logica sequenziale
Comportamento combinatorio o sequenziale?
Introduzione ai circuiti elettronici digitali
Espressioni generali e MULTIPLEXER.
Cassaforte asincrona SR
Convertitori D/A e A/D Enzo Gandolfi.
CONTATORI CONTATORE = circuito sequenziale che conta il numero di impulsi di CK applicati al suo ingresso e fornisce un’ indicazione numerica binaria MODULO.
Circuiti Aritmetico-Logici
Circuiti Sequenziali Asincroni
Circuiti sequenziali Capitolo 5.
Circuiti sequenziali sincroni
Esempi di progetto di circuiti seq. asincroni
Calcolatori Elettronici Parte IV
Esercitazioni su circuiti combinatori
Introduzione ai circuiti sequenziali
Circuiti di memorizzazione elementari: i Flip Flop
Bus e interconnessione fra registri
Analisi e sintesi di circuiti combinatori
Sintesi dei circuiti sequenziali
Sintesi con circuiti LSI-MSI
Analisi e Sintesi di circuiti sequenziali
CONVERSIONE ANALOGICO-DIGITALE, A/D
INTRODUZIONE AI CONVERTITORI ANALOGICO-DIGITALI (ADC)
1 III Modulo dei dispositivi elettronici del Laboratorio di Fisica.
Informatica 3 Codifica binaria.
SEP5.1 Sistemi Elettronici Programmabili LEZIONE N° 5 Convertitori D to AConvertitori D to A Convertitore PAM a partitoreConvertitore PAM a partitore Convertitore.
ARCHITETTURA DEI SISTEMI ELETTRONICI
ARCHITETTURA DEI SISTEMI ELETTRONICI
A.S.E.25.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 25 Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse –Macchina.
A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M Rappresentazione di numeri con segnoRappresentazione di numeri.
A.S.E.5.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 5 Rappresentazione di numeri con segnoRappresentazione di numeri con segno –Modulo e segno (MS)
ARCHITETTURA DEI SISTEMI ELETTRONICI
PSPICE – Circuiti sequenziali principali
Flip-flop e Registri.
Macchine sequenziali.
Reti combinatorie: moduli di base
Dalla macchina alla rete: reti LLC
Macchine sequenziali.
Convertitore A/D e circuito S/H
Analisi e Sintesi di circuiti sequenziali. Definizione Una macchina sequenziale é un sistema nel quale, detto I(t) l'insieme degli ingressi in t, O(t)
Sintesi con circuiti LSI-MSI. Realizzazione di reti combinatorie mediante Multiplexers Un multiplexer (MPX ) é una rete combinatoria con N ingressi, una.
Il Linguaggio Macchina
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Display a 7 segmenti Il display a 7 segmenti è un dispositivo composto da 7 diodi luminosi LED (Light-Emitting Diode) sagomati a forma di rettangolo o.
Cos’è una sequenza? Una sequenza è una successione finita di valori, dove ogni valore ha una durata prefissata e costante (T). I valori della sequenza.
Rappresentazione dell’informazione
Rete Sincrona Una rete sequenziale sincrona, è dotata di un ingresso E, di un segnale di Clock e uno di reset. Ad ogni fronte del Clock, deve essere campionato.
Cassaforte Asincrona di Mealy
Contatore: esempio di circuito sequenziale
ARITMETICA BINARIA.
Architettura del calcolatore
Reti combinatorie: moduli di base
Convertitore Analogico / Digitale
Unità centrale di processo
Una rete sequenziale asincrona è dotata di due ingressi X1, X2 e di un’uscita Z. I segnali X2 e X1 non cambiano mai di valore contemporaneamente. Il segnale.
Una rete sequenziale asincrona è dotata di due ingressi X1, X2 e di un’uscita Z. I segnali X2 e X1 non cambiano mai di valore contemporaneamente. Il segnale.
Cassaforte asincrona II assegnamento. Descrizione Il progetto Cassaforte II assegnamento consiste in una codifica diversa delle variabili di stato. Codifica.
Reti Logiche A Lezione xx.x Dispositivi Programmabili
Architettura di una CPU
Traformazioni fra Bistabili e Registri
Teoria dei sistemi Autore: LUCA ORRU'.
V.1. Considerazioni generali V.2. Flip-Flop V.3 Esempi applicativi
Analisi e Sintesi di un contatore BCD con Quartus II
LATCH. Circuiti Sequenziali I circuiti sequenziali sono circuiti in cui lo stato di uscita del sistema dipende non soltanto dallo stato di ingresso presente.
Circuiti di memorizzazione elementari: i Flip Flop
Calcolatori Elettronici
Transcript della presentazione:

Esercizi e applicazioni di Reti sincrone 1 - Campionamento 2 - Sintesi & Analisi 3 - Accumulatore 4 - Contatore 5 - Registro a scorrimento 6 - Buffer

Il modello della rete sincrona: comportamento istanti di sincronismo e intervalli elementari di funzionamento t ingresso in stato presente sn sn+1 stato futuro Sn=G(i,s)n uscita un=F(i,s)n

Il modello della rete sincrona: struttura x1 x2 xn ingresso i(t) z1 z2 zm uscita u(t) = F(i(t),s(t)) Rete logica combinatoria ideale yk y2 y1 stato presente s(t) Yk Y2 Y1 stato futuro S(t) = G(i(t),s(t)) s(t+ T0) = S(t) Ritardo T0

7.1 Campionamento

Il flip-flop D come “ritardo” di durata T0 D Q Q’ Q n+1 = D n equazione caratteristica del FF “D” D  delay (n-1) . T0 n . T0 (n+1) .T0 clock C ingresso D D n-1 D n D n+1 uscita Q Q n-1 Q n Q n+1

Rete sequenziale sincrona a flip-flop D combinatoria t1 x1 xn y1 yk z1 zm Y1 Yk tm tk Q D f = 1/T0 z i n = F i (x 1,.., x n , y 1 ,.., y k)n per i = 1, .. , m y i n+1 = D i n = Y i n = G i (x 1,.., x n , y 1 ,.., y k)n per i = 1, .. , k

Vincolo per il corretto funzionamento ff clock t RC t RC: tempo max. di risposta della rete comb. t SU: tempo min. di set up dei FF t R: tempo max. di risposta dei FF Campionamento dei comandi T 0  t R + t RC + t SU

Addizione in serie Addendi in serie Somma in serie a b s FA r R t a2 b2 r2 s2 r3 a1 b1 r1 s1 r2 a0 b0 s0 r1 Q D Frequenza e fase uguali a quelle dei bit seriali. T 0  t R + t FA + t SU Riporto inizialmente a “zero”

Esercizio 7.1 Sia EN un “flag” che segnala la presenza in ingresso al full-adder di bit significativi dei due operandi A e B. a0 a3 an-1 a1 a2 b0 b3 bn-1 b1 b2 EN A B Come occorre impiegarlo per avere una corretta esecuzione della somma e per disporre di un flag di validità dei bit sull’uscita s ?

7.2 Sintesi & Analisi

Il procedimento di sintesi Il procedimento di sintesi di una rete sequenziale sincrona è formato da 4 passi e consente di dedurne lo schema logico dal comportamento: 1: individuazione del grafo degli stati, 2: definizione della tabella di flusso, 3: codifica degli stati e definizione della tabella delle transizioni, 4: sintesi della parte combinatoria e retroazioni con flip-flop.

I° esempio: il riconoscitore di sequenza Una rete sequenziale sincrona ha un ingresso x ed una uscita z. La relazione ingresso/uscita è descritta dalla seguente frase: “zn = 1 quando xn = 1 e solo se xn-2 = xn-1 = 1 ” N.B. - Reti che classificano stringhe di valori di ingresso consecutivi sono usualmente dette “riconoscitori di sequenze”. 1 x z

I° esempio: il grafo degli stati x, z 0,0 1,1 M1 1,0 B 1,0 C 1,1 D 0,0 Si traccia la parte di grafo che riconosce la sequenza assegnata, specificando su ogni ramo il valore d’uscita (durata T0). Si completa il grafo, prendendo in considerazione tutte le altre possibili situazioni e curando di renderlo “strettamente connesso” (ogni stato deve poter essere raggiunto da ogni altro).

I° esempio: macchine equivalenti 1,1 a x, z 0,0 1,0 b c M2 1,1 a x, z 0,0 1,0 b g d M3 Macchine equivalenti - Sono dette equivalenti macchine sequenziali che presentano uno stesso comportamento impiegando un diverso numero di stati: M1 = M2 = M3. La macchina che ha il più piccolo insieme di stati è detta “minima” (M2).

I° esempio: tabella di flusso di M1 x stato 0 1 A A,0 B,0 B A,0 C,0 C A,0 D,1 D A,0 D,1 N.B. In una rete sequenziale sincrona ogni stato resta presente per almeno un periodo di clock, ogni cambiamento di ingresso avviene all’inizio di tali intervalli ed ogni transizione si verifica al termine. La stabilità dello stato presente non è una condizione necessaria per la variazione di ingresso. E’ proprio la assenza di questo vincolo che consente di specificare comportamenti di tipo 2 o di tipo 3.

I° esempio: codifica degli stati xn y1ny2n 0 1 A: 00 00,0 10,0 B: 10 00,0 11,0 C: 11 00,0 01,1 D: 01 00,0 01,1 y1n+1 y2n+1, zn Codifica degli stati - In una rete sequenziale sincrona la codifica degli stati è arbitraria (2n  M, naturalmente!). Il campionamento a regime dei segnali di stato elimina infatti a priori il problema di errate interpretazioni causate dal loro iniziale disallineamento.

I° esempio: sintesi della rete di aggiornamento dello stato Funzioni di eccitazione - Funzioni dello stato e dell’ingresso che specificano i valori da attribuire ai segnali di comando di ciascun flip-flop. La funzione di eccitazione del flip-flop di tipo D coincide con la funzione della variabile di stato futuro. Dn = Qn+1 Qn+1 Qn Jn Kn 0 0 0 - 1 1 - 0 1 0 1 - 0 1 - 1 Le funzioni di eccitazione del flip-flop di tipo JK vanno opportunamente dedotte da quella della variabile di stato futuro.

I° esempio: sintesi di M1 con flip-flop D Ipotesi: si cercano reti minime di tipo SP 1 00 01 11 10 x y1y2 y1n+1 y2n+1 zn D1 = y1n+1 = x.y2’ D2 = y2n+1 = x.y2 + x.y1 z = x.y2 Copertura delle funzioni di eccitazione - Il campionamento a regime dei segnali di stato elimina a priori il pericolo di alee statiche e dinamiche.

Grafo e tabella di flusso di M3 1,1 a x, z 0,0 1,0 b g d x stato 0 1 a a,0 b,0 b d,0 g,0 g d,0 g,1 d a,0 b,0

Codifica e tabella delle transizioni di M3 xn Q1nQ2n 0 1 a:00 00,0 10,0 b:10 01,0 11,0 g:11 01,0 11,1 d:01 00,0 10,0 Q1n+1 Q2n+1 , zn

Sintesi di M3 con flip-flop D Ipotesi: reti minime di tipo SP 1 00 01 11 10 x Q1Q2 D1n = Q1n+1 = xn D2n = Q2n+1 = Q1n zn = xn. Q1n.Q2n Verifica del comportamento: Q1 n+1 = xn Q2 n+1 = Q1 n = xn-1 z n = (x. Q1. Q2)n = xn . xn-1. xn-2 D1 Q1 D2 Q2 z x ck

Complessità Complessità di una rete sequenziale sincrona - Se si assumono come componenti primitivi i gate ed i flip-flop e se si assume come indice di complessità il n° di componenti, la complessità della realizzazione di un certo comportamento dipende: dal tipo di grafo con cui lo si è descritto, dalla codifica adottata per gli stati interni, dal tipo di flip-flop impiegato sulle retroazioni. M1 2 D 4 M3 2 D 1 grafo n° flip-flop tipo di flip-flop n° di gate

Esercizio 7.2 Una rete sequenziale sincrona programmabile deve riconoscere, generando un impulso di durata T0 sulla sua uscita z, il verificarsi di un fronte sul suo ingresso x. La rete è dotata di due bit di programmazione p1 e p2. Predisponendo p1=1, p2 =0, la rete deve generare un impulso per ogni fronte di salita di x. Con p1=0, p2 =1, la rete deve generare un impulso per ogni fronte di discesa di x. Con p1=1, p2 =1, l’attivazione temporanea dell’uscita deve verificarsi in corrispondenza sia dei fronti di salita, che di discesa. Progettare la rete ipotizzando che la configurazione p1=0, p2 =0 sia vietata.

II° esempio: il semaforo (1) t u(t) = P(t) colore T1 20 sec. T2 20 sec. T3 20 sec. Specifiche: rosso = 60 sec. giallo = 20 sec. verde = 60 sec. Ipotesi: T0 = 20 sec. T0 T6 20 sec. T5 20 sec. T4 20 sec.

II° esempio: codifica e funzioni z1 z2 z3 verde 1 0 0 giallo 0 1 0 rosso 0 0 1 Funzione di uscita sn un 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 sn sn+1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 0 0 0 Funzione di stato I 7 stati possono essere codificati con i primi 7 numeri binari. y1 y2 y3 T0 0 0 0 T1 0 0 1 T2 0 1 0 T3 0 1 1 T4 1 0 0 T5 1 0 1 T6 1 1 0

II° esempio: sintesi con ff D e reti minime SP (y1 y2 y3) n (y1 y2 y3) n+1 (z1 z2 z3) n 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 - 0 y1 n+1 = (y1 y2’ + y2 y3) n 00 01 11 10 y1 n y2 ny3 n 0 0 1 0 1 1 0 1 - 0 y2 n+1= (y3 y2’ + y1’ y2 y3’) n 0 1 0 0 1 1 1 0 - 0 y3 n+1= (y2’ y3’ + y1’ y3’) n 0 1 1 0 1 1 0 0 - 0 z1 n = (y1’ y2’ + y1’ y3’) n 00 01 11 10 y1 n y2 ny3 n 0 0 0 1 0 z2 n = (y2 y3 )n 0 0 0 0 0 1 1 1 - 1 z3 n = (y1) n

Esercizio 7.3 Facendo riferimento al II° esempio di sintesi 1 - progettare i segnali di comando per le lampade di entrambe le direttrici di marcia assumendo di avere a disposizione un DECODER 3:8

III° esempio: conteggio di eventi R.S.S x z ck La rete sequenziale sincrona di figura deve contare modulo due gli intervalli di tempo in cui si verifica x = 0. Il risultato del conteggio appare su z e viene aggiornato solo al termine di ogni intervallo in cui non si è contato (x = 1). I valori z = 0 e z = 1 indicano rispettivamente che la rete ha visto un numero “pari” ed un numero “dispari” di intervalli con x = 0. x z

III° esempio: grafo degli stati 1,0 0,0 b c 1,1 d 1,0 a 0,1 e f 1,1

III° esempio: macchina minima x stato 0 1 a b,0 a,0 b c,0 d,0 c b,0 a,0 d e,1 d,1 e f,1 a,1 f e,1 d,1 x stato 0 1 a b,0 a,0 b a,0 d,0 d e,1 d,1 e d,1 a,1 a = {a,c} d = {d,f} Stati indistinguibili - Sono detti indistinguibili stati a partire dai quali il comportamento della macchina è identico per qualsiasi sequenza di ingresso (esempio: a  c, d  f). Sostituendo una “classe” di stati indistinguibili con un unico stato si ottiene una macchina equivalente a quella considerata.

autoinizializzazione Quarto esempio: contatore BCD con ingresso di enable e autoinizializzazione in max 2 clock e con autoinizializzazione 2 1 1 15 14 1 3 1 1 4 1 9 1 13 12 1 Contatore BCD con ENABLE 5 1 8 1 7 1 6 1 11 10 1

tabella delle transizioni X QD QC QB QA 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 QDn+1 QCn+1 QBn+1 QAn+1 Per X = 1 e S = 0000, 0001, .., 1001 si ha: (S)2n+1 = (S+1)2n mod 10 Per X = 0 si ha (S)2n+1 = (S)2n Un ingresso di questo tipo è denominato comando di ENABLE.

Il procedimento di analisi Il procedimento di analisi di una rete sequenziale sincrona è formato da 4 passi e consente di dedurne il comportamento dallo schema logico: 1: analisi dei segnali di eccitazione di ciascun flip-flop, 2: deduzione delle variabili di stato futuro, 3: individuazione della tabella delle transizioni, 4: tracciamento e studio del grafo degli stati.

espressioni dello stato futuro Tramite l’equazione caratteristica si passa dalle espressioni delle funzioni di eccitazione a quelle delle variabili di stato futuro. Yn+1 = Dn Dunque, per ricavare la tabella delle transizioni di una RSS assegnata è sufficiente costruire le mappe associate alle espressioni di Dn Dalla tabella delle transizioni si ricava il grafo degli stati

Esempio: registro a scorrimento D Q Q’ D Q Q0 Q1 Q2 x ck (Q2 Q1 Q0)n xn = 0 xn = 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 (Q2 Q1 Q0)n+1 Q0n+1 = x n Q1n+1 = Q0n Q2n+1 = Q1n

Grafo degli stati 1 100 110 1 1 111 1 101 010 000 011 001 Ogni stato è codificato dalla configurazione corrispondente agli ultimi tre valori dell’ingresso. Ad ogni colpo di clock il bit in ingresso entra in Q0, il bit in Q0 “scorre” o “trasla” su Q1, il bit in Q1 su Q2

… e comportamento D Q Q’ ck x n x n-1 x n-2 x n-3 APPLICAZIONI linea di ritardo riconoscitore di sequenze convertitore serie/parallelo

Progetto logico e famiglie logiche Per fare macchine complesse, occorrono componenti complessi! M. de Lapalisse Modulo sequenziale Modulo sequenziale Modulo sequenziale ff gate Modulo sequenziale Modulo sequenziale Modulo sequenziale

7.3 Il registro di stato

Il registro per lo stato interno Rete combinatoria t1 x1 xn y1 yk z1 zm Y1 Yk tm tk Q D f = 1/T0 Registro di stato o registro accumulatore - Insieme di flip-flop, azionati dallo stesso clock e singolarmente dotati di un ingresso e di una uscita. L’applicazione tipica di questo circuito integrato è la realizzazione delle retroazioni di una rete logica sequenziale sincrona.

I comandi dell’accumulatore Rete combinat. Registro Tre esigenze del registro accumulatore : 1- inizializzazione, 2- aggiornamento, 3- memorizzazione. Una soluzione molto comoda: avere nel registro anche una parte combinatoria in grado di interpretare due comandi. WE RES esigenza descrizione - 1 1 R ¬ 0 1 0 2 R ¬ G(R,I) 0 0 3 R ¬ R

I comandi WE e RES (Registro con N ff D) WEn, In RESn,Qn 00 01 11 10 00 0 0 1 0 01 1 1 1 0 11 0 0 0 0 10 0 0 0 0 Qn+1 Mux z 1 A Ii WE RES’ CK Di Qi Per i = 0, 1, .., N-1 Qin+1 = (RES’.(Ii WE + Qi . WE’))n N.B. - Per il reset di un registro si può anche usare il comando asincrono CL dei suoi flip-flop.

ALU e accumulatore operando risultato operazione iniz./aggiorn./mem. Q0 D0 Q1 D1 Q2 D2 Q3 D3 RES WE

Esercizio 7.5 Modificare lo schema del contatore BCD al fine di disporre di un comando sincrono di RESET. In caso di contemporanea attivazione del RESET e del ENABLE, deve prevalere il primo.

7.4 Contatore

Il contatore binario x16 1 CI 4 Bit a0 F. A. a1 a2 s0 a3 s1 CI 4 Bit a0 F. A. a1 a2 s0 a3 s1 b0 s2 b1 s3 b2 CO b3 s n sn+1 0000 0001 0001 0010 0010 0011 0011 0100 0100 0101 0101 0110 0110 0111 0111 1000 1000 1001 1001 1010 1010 1011 1011 1100 1100 1101 1101 1110 1110 1111 1111 0000 S+1 mod 16 Q3 D3 Q2 D2 Q1 D1 Q0 D0 (S)2n = (Q3 Q2 Q1 Q0)2n

Forme d’onda In un contatore binario, l’uscita Q del flip-flop che memorizza il bit di peso 2i è un’onda quadra con periodo doppio di quella presente sull’uscita Q del flip-flop che memorizza il bit di peso 2i-1 . Il primo flip-flop divide per due la frequenza del clock. ck Q0 Q1 Q2 Q3

Una rete più semplice per l’incremento CI a b S R r 1 0 Q0 Q0 R 0 Qi Qi R

Periodo del clock e complessità della rete D0 Q0 D1 Q1 D2 Q2 D3 Q3 1 CO = Q3. Q2. Q1. Q0 J0 Q0 K0 J1 Q1 J2 Q2 K2 J3 Q3 K3 1 CO = Q3. Q2. Q1. Q0 T 0  t r + 3.t g + t su T 0  t r + 2.t g + t su

Esercizio 7.6 contatore CO U/D’ binario x16 QA QB QC QD Progettare la cella i-esima di un contatore binario dotato di comando “up/down”. Quando U/D’ = 1, il contatore deve incrementare di una unità il numero binario che rappresenta il suo stato; quando il comando vale 0, il numero deve essere decrementato.

Aumento della base di conteggio EN contatore CO RES binario x16 QA QB QC QD QD QC QB QA  “15” contatore binario x256 EN contatore CO RES binario x16 QA QB QC QD EN contatore CO RES binario x16 QA QB QC QD 1 QA QB QC QD QE QF QG QH

Diminuzione della base di conteggio EN contatore CO RES binario x16 QA QB QC QD La nuova base di conteggio è X + 1 rete che riconosce la presenza del numero X clock stato RESET X-2 X-1 X 1

Esempio: sintesi del RESET per ottenere base 11 QD QB QD QC autoinizializzazione in un solo clock QBn, QAn QDn,QCn 00 01 11 10 00 01 11 10 RES n 0 0 0 0 0 0 0 0 - - - - 0 0 - 1 QD QB rete minima QDQC QBQA mintermine

I° esempio di sintesi con contatori Una rete sequenziale sincrona ha un ingresso X che assume il valore 1 molto di rado e comunque sempre per un solo periodo di clock. L’uscita Z deve sia ritardare l’impulso di ingresso di quattro unità di tempo, sia raddoppiarne la durata. ck X Z

I° esempio: grafo degli stati 0,0 1,0 0,0 0,0 0,0 0,1 0,1 Il comportamento è quello di un contatore con base 6 che compie un intero ciclo per ogni evento X = 1 Per realizzarlo si può impiegare un contatore binario x8 dotato di comandi di ENABLE e di RESET.

I° esempio: progetto di EN, RES, Z stato X=0 X=1 Z riposo 000 000 001 0 001 010 --- 0 010 011 --- 0 011 100 --- 0 100 101 --- 1 101 000 --- 1 110 --- --- - 111 --- --- - stato X=0 X=1 000 0,0,0 1,0,0 001 1,0,0 -,-,- 010 1,0,0 -,-,- 011 1,0,0 -,-,- 100 1,0,1 -,-,- 101 -,1,1 -,-,- 110 -,-,- -,-,- 111 -,-,- -,-,- EN, RES, Z EN = X + (QC +QB +QA) = X + (QC’QB’QA’)’ RES = QC QA Z = QC

I° esempio: schema logico EN contatore RES binario x8 QA QB QC X Z

II° esempio: orologio digitale A partire da un oscillatore a 32.768 Hz progettare un orologio digitale in grado di visualizzare ore, minuti e secondi tramite sei display a 7 segmenti BCD x 60 EN Z Qi (secondi) (minuti) BCD x 24 (ore) 7 Trascodifica da BCD a 7 segmenti 4 1 Oscillatore 32.768 Hz BIN x 32768 Q0……. Q14 (divisore di frequenza) 1 Hz

II° esempio: il contatore dei minuti/secondi BCD RES Z QA QB QC QD EN Z = QD• QA BCD x 60 EN Z Qi Qi Z “59”.EN EN BCD RES Z QA QB QC QD (decine) EN (unità)

II° esempio: il contatore delle ore BCD x 24 EN Z Qi Qi Z BCD RES Z QA QB QC QD (unità) EN (decine) EN “23”.EN

Esercizio 7.7 Ampliare il progetto dell’orologio con il conteggio dei mesi, il conteggio degli anni. Come si può predisporre data e ora?

III° esempio: watch dog ck Start Dato X Stato 0 X X-1 2 1 0 Fine X.T0

III° esempio: schema logico X Start IA IB IC ID LD contatore EN binario Z U/D’ x16 QA QB QC QD “15”.(U/D’) + “0”.(U/D’)’ Fine

7.5 Registro a scorrimento

Shift register Shift register o registro a scorrimento - Rete sequenziale sincrona formata da N flip-flop D disposti in cascata. N-bit shift register SI (serial input) (serial output) SO Q0 Q1 …………………………. QN-1 D Q Q’ ck

Universal shift register 0 MUX 1 2 3 A0 A1 Qi Qi-1 Qi+1 Ii A0n A1n Qin+1 hold 0 0 Qin right 1 0 Qi-1n left 0 1 Qi+1n load 1 1 Iin D Q Q’ Qi APPLICAZIONI linea di ritardo convertitore S/P e P/S conteggio memoria a circolazione rotazione verso destra/sinistra moltiplicazione/divisione per 2i

Esempio: conteggio Base: N N-bit shift register Codice: 1 su N SI (serial input) (serial output) SO Q0 Q1 …………………………. QN-1 Base: N Codice: 1 su N Inizializzazione! N-bit shift register SI (serial input) (serial output) SO Q0 Q1 …………………………. QN-1 Base: 2N Codice: Johnson Inizializzazione!

Esempio: conversioni S/P e P/S S/H’ 0 N-bit shift register A0 A1 SI (serial input) Q0 Q1 …………………………. QN-1 S/P 1 S’/L I0 I1 …………………………. IN-1 N-bit shift register A0 A1 (serial output) SO P/S

7.6 Buffer

Registro buffer Registro buffer (o a latch)- Insieme di N latch CD azionati dallo stesso comando e singolarmente dotati di un ingresso e di una uscita. Applicazioni tipiche: memorizzazione di un dato di ingresso di N bit, memorizzazione di un dato di uscita di N bit. B u f e r 1 Ci: B1 ¬ X; I Unità funzionale B u f e r 2 Cu: B2 ¬ U; Y X U

Il registro buffer .. ed il BUS C Q D wr Q0 D0 Q1 D1 QN-1 DN-1 rd D0 D1 DN-1

Architettura e Registri buffer Memoria principale Cella Processore AR DR Protocollo per l’uso del BUS Unità di ingresso Stato Dato Direct Memory Access AR* DR* Esempio di accesso diretto: AR* ¬ memory address; DR* ¬ M(AR*); AR* ¬ I/O address; I/O(AR*) ¬ DR*; Unità di uscita Stato Dato

per scegliere il registro Random Access Memory S Registro # 0 e l Registro # 1 e Dato in t. . • scrittura / . • lettura D . i s Registro # 2 n - 2 Comando t • WR (scrittura) r. Registro # 2 n - 1 • RD (lettura) N.B. Al posto del termine “registro” si usa di norma il termine “cella”. Indirizzo di n bit per scegliere il registro

A0 A1 An-1 WR RD D0 Dj DN-1 DEC i La RAM C Qj D Cella di indirizzo “i”

I cicli di lettura e di scrittura Le celle di una RAM sono registri buffer I bit di indirizzo, tramite il DEC, scelgono una cella alla volta I comandi WR, RD stabiliscono se l’accesso è “in lettura” o “in scrittura”. LETTURA SCRITTURA Address signals RD WR Data tempo di accesso tempo di accesso

Decoder e Matrici di decodifica C D “decodifica di colonna” Proprietà associativa del AND Minimo (n°gate + n°ingressi) A B “decodifica di riga”

Istruzioni a tre indirizzi Opcode address address address Indirizzo del primo operando Indirizzo del secondo operando Indirizzo del risultato

ALU e RAM Opcode address address address F1 F2 F3 RD WR 1 2 3 MUX B1 1 2 3 MUX ALU B1 RAM B2