Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di...

44
Lezione 2 Circuiti logici Mauro Piccolo [email protected]

Transcript of Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di...

Page 1: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Lezione 2Circuiti logici

Mauro [email protected]

Page 2: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Bit e configurazioni di bit

Bit: una cifra binaria (binary digit) 0 oppure 1

Sequenze di bit per rappresentare l'informazione Numeri Caratteri di un testo Immagini Suoni ....

Page 3: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Circuiti Logici

Realizzano operazioni booleane AND OR NOT …

Giustapposizioni di porte logiche (gate)

Page 4: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

NOT

Ingresso Uscita

0 1

1 0

Ingresso Uscita

Page 5: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

AND

Ingresso A Ingresso B Uscita

0 0 0

0 1 0

1 0 0

1 1 1

Ingresso A

Ingresso BUscita

Page 6: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

OR

Ingresso A

Ingresso B

Uscita

Ingresso A Ingresso B Uscita

0 0 0

0 1 1

1 0 1

1 1 1

Page 7: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

XOR

Ingresso A Ingresso B Uscita

0 0 0

0 1 1

1 0 1

1 1 0

Ingresso AUscita

Ingresso B

Page 8: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Come sono costruite le porte logiche?

I valori logici 1,0 vengono rappresentati da segnale alto (+5 volt) e segnale basso (0 volt)

Le porte logiche sono costruite utilizzando i transistor

Il transistor e' un dispositivo elettronico che puo' essere utilizzato come un veloce interruttore

Page 9: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Come sono costruite le porte logiche?

• Un transistor ha tre punti principali, il collettore, la base e l'emettitore

• Quando Vin e' alto Vout e' basso e viceversa

• In questo modo viene facilmente realizzata una porta NOT

Page 10: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Come realizzare altre operazioni booleane?

Tutte le altre operazioni booleane possono essere ottenute mediante giustapposizioni di porte logiche AND, OR e NOT

Page 11: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

NANDIngresso

AIngresso

BUscita

0 0 1

0 1 1

1 0 1

1 1 0

Ingresso AUscita

Ingresso B

Page 12: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Simuliamo il NAND (1)

0

0

10

Ingresso A

Ingresso B

Uscita

0 0 1

Page 13: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Simuliamo il NAND (2)

1

1

01

Ingresso A

Ingresso B

Uscita

1 1 0

Page 14: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

NORIngresso

AIngresso

BUscita

0 0 1

0 1 0

1 0 0

1 1 0

UscitaIngresso B

Ingresso A

Page 15: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Abbreviazioni

Porta NAND Porta NOR

Page 16: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

XOR

A XOR B e' vero sse A e' vero e B e' falso oppure A e' falso e B e' vero

Ingresso A

Ingresso B

Uscita

0 0 0

0 1 1

1 0 1

1 1 0

Page 17: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Simuliamo lo XOR (1)

Ingresso A

Ingresso B

Uscita

1 0 1

1

0

0

1

0

1

1

Page 18: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Simuliamo lo XOR (2)

Ingresso A

Ingresso B

Uscita

1 0 1

Ingresso A

Ingresso B

Uscita

0 1 1

0

1

1

0

1

0

1

Page 19: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Simuliamo lo XOR (3)

Ingresso A

Ingresso B

Uscita

0 0 0

0

0

1

1

0

0

0

Page 20: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Sintesi di circuiti

• Costruiamo il circuito corrispondente ad una tabella di verita'

– Consideriamo tutte le righe della tabella di verita' con uscita 1

– Per ciascuna di esse costruiamo un circuito utilizzando solo porte AND e NOT che vale 1 solo quando tutti gli ingressi coincidono con gli ingressi della riga

– Riuniamo tutte le uscite precedenti tramite una porta OR

Page 21: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

L'implicazione

Ingresso A

Ingresso B

Uscita

0 0 1

0 1 1

1 0 0

1 1 1

A implica B e' vero sse A e' vero e B e' vero oppure A e' falso e B e' vero oppure A e' falso e B e' falso

Page 22: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Esercizio

• Qual'e' la tabella di verita' associata al seguente circuito?

• Risposta: la stessa dell'implicazione.

Page 23: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Ancora sintesi di circuiti

• Abbiamo visto che

– ad una tabella di verita' possono corrispondere piu' circuiti

– da un punto di vista progettuale, occorre costruire circuiti con il minimo numero di porte

• Vediamo un altro algoritmo di sintesi di circuiti

Page 24: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Sintesi di circuiti (2)

Consideriamo tutte le righe della tabella di verita' con uscita 0

Per ciascuna di esse costruiamo un circuito utilizzando solo porte OR e NOT che vale 0 solo quando tutti gli ingressi coincidono con gli ingressi della riga

Riuniamo tutte le uscite precedenti tramite una porta AND

Page 25: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Tuttavia i circuiti si possono ulteriormente semplificare usando un po' di matematica

Page 26: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Algebra booleana

La struttura <{0,1},+,., > dove

- + e' l'operatore OR

- . e' l'operatore AND

- e' l'operatore NOT

viene detta algebra booleana

Page 27: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Funzioni booleane

Una qualsiasi funzione con n variabili f : {0,1}n → {0,1}viene detta funzione booleana

Qualsiasi funzione booleana puo' essere descritta mediante tabelle di verita'

Ci sono 2

2n funzioni booleane con n variabili

Page 28: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Operatori universali

Un insieme finito di funzioni booleane si dicono operatori universali se qualsiasi funzione booleana puo' essere fattorizzata in termini di questi operatori

Thm: AND, OR e NOT sono operatori universali

Thm: Un insieme di operatori e' universale se e solo se AND, OR e NOT possono essere definiti in termini di questi operatori

Page 29: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

L'operatore NAND

NAND (|) e' un operatore universale

x + y = (x|x)|(y|y)

x y = (x|y)|(x|y)

x = x|x

Esercizio: dimostrare che NOR ( ) e' universale

Page 30: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Proprieta' dei reticoli

Page 31: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Proprieta' delle algebre booleane

Page 32: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Proprieta' fondamentali

Page 33: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Sintesi di circuiti (1)

Page 34: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Sintesi di circuiti (2)

Page 35: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Reti combinatorie e sequenziali

Rete combinatoria: una rete in cui lo stato di uscita dipende esclusivamente dagli stati di ingresso

Rete sequenziale: una rete in cui lo stato di uscita dipende, oltre che dagli stati di ingresso, anche dalla storia precedente della rete

Page 36: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Il problema del pedone

?

Page 37: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Individuazione delle variabili logiche di ingresso e uscita

Ingresso R (stato lampada rossa) 1 = accesa 0 = spenta

Ingresso V (stato lampada verde) 1= accesa 0 =spenta

Ingresso C (stato carreggiata) 1 = occupata 0 = libera

Uscita A (attraversamento) 1= attraversa 0 = non attraversare

Page 38: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Tabella di verita'

Page 39: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Sintetizzare il circuito

Page 40: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Flip flop

Un circuito sequenziale in grado di memorizzare un bit

Page 41: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Sintesi di un flip flop

Individuazione delle variabili logiche di ingresso, stato, uscita:

– Ingresso D (dato) 0,1

– Ingresso C (clock) 1 = memorizza, 0 = non memorizzare

– Uscita-stato Q (valore memorizzato) 0,1

Page 42: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Sintesi di un flip flop

Tabella di verita'

Page 43: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Sintesi di un flip flop

Circuito

Page 44: Lezione 2 Circuiti logici - di.unito.itpiccolo/teach/AA1516/Lezioni/Lezione2.pdf · Sintesi di circuiti (2) Consideriamo tutte le righe della tabella di verita' con uscita 0 Per ciascuna

Un altro modo di costruire un flip flop