il livello logicoil livello...

23
Prof. Cristina Silvano – Politecnico di Milano 1 Pag. 1 Il Livello Logico Il Livello Logico-Digitale Digitale I circuiti sequenziali I circuiti sequenziali Corso ACSO Corso ACSO – prof. Cristina SILVANO prof. Cristina SILVANO Politecnico di Milano Politecnico di Milano Sommario Sommario Circuiti sequenziali e elementi di memoria Bistabile SR asincrono Bistabile SR asincrono Temporizzazione e clock Bistabili D e SR sincroni Flip-flop Master-Slave -2-

Upload: hoanghanh

Post on 15-Feb-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Prof. Cristina Silvano – Politecnico di Milano 1

Pag. 1

Il Livello LogicoIl Livello Logico--DigitaleDigitale

I circuiti sequenzialiI circuiti sequenziali

Corso ACSO Corso ACSO –– prof. Cristina SILVANOprof. Cristina SILVANOPolitecnico di MilanoPolitecnico di Milano

SommarioSommario

Circuiti sequenziali e elementi di memoriaBistabile SR asincronoBistabile SR asincronoTemporizzazione e clockBistabili D e SR sincroniFlip-flop Master-Slave

-- 22 --

Prof. Cristina Silvano – Politecnico di Milano 2

Pag. 2

Circuiti sequenzialiCircuiti sequenziali

Un circuito digitale è di tipo sequenziale se le sue uscite dipendono non solo dai valori correnti degli ingressi, ma anche da (alcuni di) quelli passati

– Una stessa configurazione di ingresso applicata in due istanti di tempo successivi può produrre due valori di uscita differenti

Un circuito digitale sequenziale (o rete sequenziale) è pertanto dotato, in ogni istante di tempo, di uno stato che, insieme ai valori degli ingressi, ne determina il comportamento futuro

– Lo stato di un circuito sequenziale rappresenta una forma di memoria e

-- 33 --

q ppcontiene una sorta di descrizione della storia passata del circuito stesso

L’elemento funzionale elementare per la realizzazione di circuiti sequenziali è il bistabile (elemento di memoria), che è in grado di memorizzare un bit di informazione

Circuiti sequenziali: strutturaCircuiti sequenziali: struttura

I circuiti sequenziali sono formati da:– bistabili, che hanno la funzione di memorizzare valori di singoli bit

porte logiche organizzate in reti combinatorie che hanno funzioni – porte logiche, organizzate in reti combinatorie, che hanno funzioni di elaborazione di informazioni

Il circuito sequenziale ha, in ogni istante, uno stato: il valore dei bit memorizzati nei bistabili facenti parte del circuito

CircuitoIngressi Uscite

-- 44 --

Stato

Circuito

combinatorioElementi dimemoria

Statopresente

futuro

Prof. Cristina Silvano – Politecnico di Milano 3

Pag. 3

Elementi di memoriaElementi di memoria

Gli elementi di memoria fondamentali, o bistabili, sono caratterizzati da due stati (0 e 1) stabili

Mantengono lo stato memorizzato finchè uno o più segnali di ingresso forzano il cambiamento di stato

Vengono classificati in base a– numero di ingressi previsti per comandare il bistabile– modo in cui tali ingressi determinano il cambiamento di

-- 55 --

modo in cui tali ingressi determinano il cambiamento di stato

Bistabili: classificazioneBistabili: classificazione

Esistono due famiglie di bistabili (circuiti digitali sequenziali):– Asincroni: sono privi di un segnale di sincronizzazione e modificano lo

t t i d d di tt t ti i li di istato rispondendo direttamente a eventi sui segnali di ingresso

– Sincroni: sono sensibili ad un segnale di controllo (o di sincronizzazione) e la transizione da uno stato all’altro può avvenire solo in corrispondenza di eventi del segnale di controllo.

• Si può dire che il comportamento di un circuito sincrono viene osservato in istanti discreti di tempo

• Il segnale di sincronizzazione tipicamente utilizzato è il clock

-- 66 --

• Ulteriore classificazione dei bistabili sincroni:– bistabili sincroni (latch)– flip flop

» flip flop master slave (a livello o pulse triggered)» flip flop edge-triggered (a fronte)

Prof. Cristina Silvano – Politecnico di Milano 4

Pag. 4

Una porta NOR con ritardo di commutazioneUna porta NOR con ritardo di commutazione

A B X0 0 1

NOR

Tempo di propagazione del segnale

-- 77 --

0 0 10 1 01 0 01 1 0

Tempo di propagazione del segnale

Ritardo di commutazioneRitardo di commutazione

I bistabili (sincronizzati o no), come le porte logiche, presentano un ritardo di commutazione dell’uscita

– La commutazione dell’uscita avviene con un certo ritardo rispetto alla variazione a co uta o e dell usc ta avv e e co u ce to ta do spetto alla va a o e degli ingressi o rispetto al fronte di clock che hanno indotto la transizione di stato. Il ritardo di commutazione dipende dalla tecnologia

-- 88 --

Prof. Cristina Silvano – Politecnico di Milano 5

Pag. 5

Bistabile asincrono: Latch SR (Set/Reset)Bistabile asincrono: Latch SR (Set/Reset)

Il bistabile SR è dotato di 2 ingressi S (Set) e R (Reset) e di 2 uscite Q e !Q.

SQretroazione

-- 99 --

RQretroazione

Come funziona il bistabile SRCome funziona il bistabile SR

SQ

00

1

SQ

01

0

RQ

01

0

RQ

00

1

S R 0 Q 1 S R 0 Q 0

-- 1010 --

S = R = 0 e Q = 1memorizza il valore 1

S = R = 0 e Q = 0memorizza il valore 0

Il circuito ha due stati di equilibrio (bistabile)L’uscita Q rappresenta quindi lo stato memorizzato

Prof. Cristina Silvano – Politecnico di Milano 6

Pag. 6

Funzionamento:Funzionamento:

Se S = R = 0, il bistabile SR è in grado di memorizzare due distinti valori logici:

– se Q = 1 il bistabile memorizza 1 (stato prossimo Qt+1uguale allo stato se Q 1 il bistabile memorizza 1 (stato prossimo Qt+1uguale allo stato presente Qt);

– se Q = 0 il bistabile memorizza 0 (stato prossimo Qt+1uguale allo stato presente Qt);

RESET– se S=0 e R=1, qualunque sia il valore dello stato presente Qt, lo stato

prossimo Qt+1 assume il valore logico 0

SET

-- 1111 --

– se S=1 e R=0, qualunque sia il valore dello stato presente Qt, lo stato prossimo Qt+1 assume il valore logico 1

E’ vietato applicare la configurazione di ingresso S = R = 1 (in questa circostanza il comportamento del bistabile SR non sarebbe definito)

Bistabile asincrono: Latch SR (Set/Reset)Bistabile asincrono: Latch SR (Set/Reset)

-- 1212 --

Prof. Cristina Silvano – Politecnico di Milano 7

Pag. 7

Il diagramma temporaleIl diagramma temporale

Un buon modo per visualizzare comportamenti di circuiti digitali che dipendono dal tempo e da eventi circuiti digitali che dipendono dal tempo e da eventi passati (circuiti sequenziali) è il diagramma temporale

Diagramma temporale: sistema di assi cartesiani, con– in ascissa il tempo (in istanti discreti)

in ordinata i vari segnali i cui valori logici si succedono al

-- 1313 --

– in ordinata i vari segnali i cui valori logici si succedono al trascorrere del tempo

Le frecce indicano un rapporto tra i fronti di tipo causa-effetto

RappresentazioneRappresentazione

SQ

RQ

S

R

Q

Q

bistabile SR

-- 1414 --

Il bistabile SR (set-reset) come blocco funzionale SEQUENZIALE

Prof. Cristina Silvano – Politecnico di Milano 8

Pag. 8

Circuito con un Circuito con un hazardhazard

-- 1515 --

Segnale di sincronizzazione o clockSegnale di sincronizzazione o clock

In molte situazioni, è necessario che lo stato di un bistabile possa cambiare solo in determinati istanti di tempo o i t lli di t P tt t intervalli di tempo. Per ottenere questo occorre:

– disporre di un segnale di clock (o di temporizzazione) che scandisca gli istanti o intervalli di tempo in cui le transizioni di stato possono avvenire

– sincronizzare il bistabile con il clock

Il segnale di clock è un segnale binario, con andamento

-- 1616 --

g g ,periodico nel tempoIl segnale di clock è una successione di impulsi:

– ogni impulso ha una larghezza costante e due impulsi consecutivi stanno a una distanza costante

Prof. Cristina Silvano – Politecnico di Milano 9

Pag. 9

Segnale di sincronizzazione o clockSegnale di sincronizzazione o clock

-- 1717 --

Bistabile SR sincronizzato (Bistabile SR sincronizzato (SRSR--latchlatch con clock)con clock)

Il bistabile SR sincronizzato ha– 2 ingressi S e R (che costituiscono i segnali di Set e Reset)– 1 ingresso di sincronizzazione (clock)– un’uscita Q, il cui valore rappresenta lo stato del bistabile, e

un’uscita !Q

Nel bistabile SR sincronizzato:– Se il clock vale 0, gli ingressi S e R non hanno alcun effetto (latch

SR non trasparente), e il bistabile mantiene memorizzato il suo stato corrente

-- 1818 --

stato corrente – Se il clock vale 1, gli ingressi S e R sono efficaci (latch SR

trasparente), e il comportamento è lo stesso descritto per il latch SR asincrono

Prof. Cristina Silvano – Politecnico di Milano 10

Pag. 10

Bistabile SR sincronizzato (Bistabile SR sincronizzato (SRSR--latchlatch con clock)con clock)

QR

C S R Qt+1

0 X X Q

Latch SR con clock C

!QS

C 0 X X Qt

1 0 0 Qt

1 0 1 0

1 1 0 1

1 1 1 -

Stato di Reset

Stato di Set

Stato indefinitoS Q

S

Non commuta

Non commuta

-- 1919 --

Q

bistabile SRsincrono

CK

R

Bistabile SR sincronizzato (Bistabile SR sincronizzato (SRSR--latchlatch con clock)con clock)

!Q

QR

S

C

-- 2020 --

Prof. Cristina Silvano – Politecnico di Milano 11

Pag. 11

Bistabile D sincronizzato (DBistabile D sincronizzato (D--latch)latch)

Il bistabile D ha– 1 ingresso D (che rappresenta il dato che verrà memorizzato)– 1 ingresso di sincronizzazione (clock)– un’uscita Q, il cui valore rappresenta lo stato del bistabile, e

un’uscita !Q

Nel bistabile D sincronizzato:– Se il clock vale 0, l’ingresso D non ha alcun effetto (latch D non

t t ) il bi t bil ti i t il t t

-- 2121 --

trasparente), e il bistabile mantiene memorizzato il suo stato corrente

– Se il clock vale 1, l’ingresso D è efficace (latch D trasparente), e il bistabile memorizza il valore logico (0 oppure 1) presente sull’ingresso D

Bistabile D sincronizzato (DBistabile D sincronizzato (D--latch)latch)

C D Qt 1

D con clock C D C D Qt+1

0 X Qt

1 0 0

1 1 1 Q

D

C!QS

R

D Q

Non commuta

Copia D

-- 2222 --

D Q

Q

bistabile Dsincrono

CK

Prof. Cristina Silvano – Politecnico di Milano 12

Pag. 12

Bistabile D sincronizzato (Bistabile D sincronizzato (DD--latchlatch))

D

Q

D

C!QS

R

D Q

-- 2323 --

D Q

Q

bistabile Dsincrono

CK

Bistabile D sincronizzato (Bistabile D sincronizzato (DD--latchlatch))

Il valore dell’input D deve essere stabile quando il clock è asserito (livello 1)Se D cambia mentre il clock è asserito, l’output cambia anch’esso (metodologia sensibile ai livelli). Per questo motivo, il latch si dice trasparente. Introdurremo il concetto di flip-flop che elimina questa trasparenza.

-- 2424 --

Prof. Cristina Silvano – Politecnico di Milano 13

Pag. 13

ProblemaProblema delladella trasparenzatrasparenza delledelle usciteuscite

I latch sincroni (SR o D) presentano, durante l’intervallo di tempo in cui il clock è attivo, il fenomeno di trasparenza delle uscite (fenomeno indesiderato).

– In questo intervallo, se gli ingressi si modificano, le uscite seguono questa modificaq , g g , g q– E’ come se, nell’intervallo attivo del clock, i bistabili non esercitassero alcuna

funzione effettiva di memorizzazione e risultano trasparenti

Per evitare il fenomeno di trasparenza si utilizzano i flip-flop (D o SR) che sono costituiti da due latch in cascata in modo che lo stato possa modificare le uscitesolo in corrispondenza di un evento (fronte) del segnale di clock.

Nei flip-flop:– Relazione stato-uscita (aggiornamento della uscita):

-- 2525 --

( gg )• sul fronte.

– Relazione ingresso-stato (aggiornamento dello stato): • a livello (Flip-Flop master-slave)• a fronte (Flip-Flop edge-triggered).

FlipFlip--flop D masterflop D master--slave slave

D Q

Q

bistabile DsincronoMASTER

CK

bistabile DsincronoSLAVE

Q1

Q1 Q2

Q2

D1

CK1

D2

CK2

CK

1 2Y

-- 2626 --

Coppia di bistabili sincroni D trasparenti in cascata con clock invertiti; l’insieme dei due non presenta il fenomeno della trasparenza

Prof. Cristina Silvano – Politecnico di Milano 14

Pag. 14

FunzionamentoFunzionamento

Il bistabile principale campiona l’ingresso D = D1 durante l’intervallo alto del clock, lo emette sull’uscita Q1 e lo manda all’ingresso D2 del bistabile ausiliarioausiliarioIl bistabile ausiliario campiona l’ingresso D2 durante l’intervallo basso del clock e lo emette sull’uscita Q2 = QL’uscita generale Q può variare solo nell’istante del fronte di discesa del clock

Trasparenza– Nell’intervallo basso del clock, il bistabile SLAVE è in stato di trasparenza

-- 2727 --

, p– Nell’intervallo alto del clock, il bistabile MASTER è in stato di trasparenza– Se l’ingresso D varia durante l’intervallo alto del clock, il bistabile MASTER

si comporta in modo trasparente– Ma il bistabile SLAVE no, perché il suo clock si trova nell’intervallo basso

FlipFlip--flop D masterflop D master--slave slave

-- 2828 --

Prof. Cristina Silvano – Politecnico di Milano 15

Pag. 15

D S QDY

Latch Dmaster

Latch SRslave

FlipFlip--flop D masterflop D master--slave slave

D

Ck!Y

SCk

!Q

Q

Clock

D

Flip-flop

R

D D

-- 2929 --

C

D

C

D

FlipFlip--flop D masterflop D master--slave slave

D

C

D

D

C

D

-- 3030 --

Prof. Cristina Silvano – Politecnico di Milano 16

Pag. 16

Bistabili sincroni e temporizzazioneBistabili sincroni e temporizzazione

I fattori che differenziano i bistabili riguardano due aspetti:– La relazione ingresso-stato (quando gli ingressi sono efficaci)

L l i t t it ( d difi t l it )– La relazione stato-uscita (quando vengono modificate le uscite)

La relazione ingresso-stato (tipo di temporizzazione) definisce quando gli ingressi modificano lo stato interno del bistabile

1. Temporizzazione basata sul livello del segnale di controllo (clock)1. Durante tutto l’intervallo di tempo in cui il segnale di clock è attivo,

qualsiasi variazione sui segnali di ingresso influenza il valore dello stato interno del bistabile (bistabili con commutazione a livello)

-- 3131 --

– Temporizzazione basata sul fronte del segnale di controllo (clock)1. Il valore dello stato interno del bistabile viene aggiornato solamente in

corrispondenza di un fronte del segnale di clock (bistabili con commutazione sul fronte - di salita oppure di discesa).

La relazione stato-uscita definisce quando lo stato aggiorna le uscite.

Commutazione basata sul livello del segnale di controllo (clock)

Bistabili sincroni e temporizzazioneBistabili sincroni e temporizzazione

– Commutazione basata sul livello del segnale di controllo (clock)1. Durante tutto l’intervallo di tempo in cui il segnale di controllo è attivo

un cambiamento dei segnali di ingresso modifica oltre allo stato interno anche le uscite.

2. Bistabili con questa relazione stato-uscita sono denominati LATCH– Il segnale di controllo è solitamente chiamato enable.

C t i b t l f t d l l di t ll ( l k)

-- 3232 --

1. Commutazione basata sul fronte del segnale di controllo (clock)• Le uscite vengono aggiornate su di un fronte del segnale di sincronismo. • Bistabili con questa relazione stato-uscita sono denominati FLIP-FLOP• Le uscite cambiano in corrispondenza di un evento del clock

Prof. Cristina Silvano – Politecnico di Milano 17

Pag. 17

Tabella riassuntivaRelazione Stato-Uscita

Bistabili sincroni e temporizzazioneBistabili sincroni e temporizzazione

Ingr

esso

-Sta

toLivello Fronte

Fron

te Flip-Flop edge-triggered

Flip-Flop edge-triggered

-- 3333 --

Rela

zion

e I

Live

llo

Latch con EnableLatch con EnableFlip-Flop

Master-Slave Flip-Flop

Master-Slave

EsecuzioneEsecuzione tipicatipica

Elementodi stato 1

Elementodi stato 2

Logicacombinatoria

ClockAggiornamento sul

fronte di salita

T1 T2

-- 3434 --

Il valore dello stato memorizzato nell’elemento 1 al tempo T1 viene utilizzato per determinare tramite la logica combinatoria il valore di stato che verrà memorizzato nell’elemento 2 al tempo T2

Prof. Cristina Silvano – Politecnico di Milano 18

Pag. 18

EsecuzioneEsecuzione tipicatipica (2)(2)

Elementodi stato 1

Logicabi t i

Stato presente

Stato prossimo

di stato 1 combinatoria

Clock

Aggiornamento dello stato dell’elemento 1 Calcolo dello stato prossimo

dell’elemento 1Nuovo aggiornamento dello stato dell’elemento 1

-- 3535 --

Lettura e scrittura dello stato in due cicli di clock

(stato presente) dell elemento 1tramite lo stato presente che viene inviato alla logica combinatoria

dello stato dell elemento 1(stato prossimo)

Latch e Latch e flipflip/flop: Riassunto/flop: Riassunto

Semplici elementi di memoria a 1 bit (bistabili)I latch possono essere asincroni o sincroni (con clock)p ( )La differenza tra latch e flip/flop sta nel fatto che:

– in un latch l’uscita può cambiare (anche più volte) se il clock è a livello alto

– in un flip/flop l’uscita può cambiare solo sul fronte di salita (oppure di discesa) del clock.

-- 3636 --

Prof. Cristina Silvano – Politecnico di Milano 19

Pag. 19

Libreria di blocchi sequenzialiLibreria di blocchi sequenziali

Principali blocchi sequenziali:Registro parallelo– Registro parallelo

– Registro a scorrimento– Banco di registri– Contatori

Ognuno di questi blocchi ammette numerose versioni e varianti

-- 3737 --

Registro Registro parallelo/parallelo/paralleloparallelo a 4 bita 4 bit

-- 3838 --

Prof. Cristina Silvano – Politecnico di Milano 20

Pag. 20

Diagramma temporaleDiagramma temporale

I1,2,3,4 0000 0101 0011

U1,2,3,4 XXXX 0000 0101

carica I1,2,3,4 carica I1,2,3,4

Q1,2,3,4

D1,2,3,4

-- 3939 --

Clock

Tempo1° ciclo 2° ciclo 3° ciclo

Registro a scorrimento (Registro a scorrimento (shiftshift registerregister) a 4 bit) a 4 bit

S SIN

CLK

D Q

T

D Q

T

D Q

T

D Q

T

SOUT

-- 4040 --

Prof. Cristina Silvano – Politecnico di Milano 21

Pag. 21

Registro parallelo/seriale Registro parallelo/seriale a 4 bita 4 bit

D3 D1D2 D0

D Q

T

D3

CLK

D Q

T

D Q

T

D Q

T

D1D2 D0

Q1 Q2 Q0 Q3

01

01

01 SIN

SOUT SEL

0 1

-- 4141 --

Registro dotato di un segnale di controllo SEL che permetta Registro dotato di un segnale di controllo SEL che permetta di selezionare due diverse modalità di funzionamento: di selezionare due diverse modalità di funzionamento: parallelo e seriale a 4 bitparallelo e seriale a 4 bit

Banco di Registri (Banco di Registri (RegisterRegister File)File)

Spesso occorre utilizzare un certo numero di registri paralleli con funzione di caricamento, tutti aventi le stesse dimensioni e le stesse funzioni (ad es nel data-path della CPU)funzioni (ad es. nel data-path della CPU)

A B

Banco di Registri

A+B

Registri di ingresso dell’ALU

Bus di ingresso all’ALU

Registro di uscita dell’ALU

ALU

A+BB

A

-- 4242 --

I registri vengono organizzati in una struttura a vettore, chiamata banco dei registri

B U BB

Prof. Cristina Silvano – Politecnico di Milano 22

Pag. 22

Banco di Registri (Banco di Registri (RegisterRegister File)File)

Un banco di registri (Register File) è un insieme di registri che possono essere letti/scritti fornendo in ingresso il numero (indirizzo) del registro che deve essere letto/scrittodel registro che deve essere letto/scrittoProgettiamo un Register File con n registri, due porte di lettura (Dati1 e Dati2) e una porta di scrittura

Dato AIndirizzo Dato AIndirizzo Dato B

-- 4343 --

Dato BRisultato

Indirizzo Risultato

Implementazione delle 2 porte di letturaImplementazione delle 2 porte di lettura

-- 4444 --

Prof. Cristina Silvano – Politecnico di Milano 23

Pag. 23

Implementazione della porta di scritturaImplementazione della porta di scrittura

k-to-n

-- 4545 --

ContatoreContatore a a 4 bit 4 bit

Flip-Flop D

Somma 1QD DClock

Ck!Q

Clock

-- 4646 --

Q

0001

0001

0010

0000

D