calcolatori elettronici -...

51
1 Calcolatori Elettronici RETI LOGICHE: RETI COMBINATORIE Massimiliano Giacomin

Upload: trinhdan

Post on 18-Feb-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

1

Calcolatori Elettronici

RETI LOGICHE:RETI COMBINATORIE

Massimiliano Giacomin

Page 2: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

2

INTRODUZIONE:LIVELLI HARDWARE,

LIVELLO LOGICO PORTE LOGICHERETI LOGICHE

Page 3: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

3

LIVELLI HARDWARE

ISA

Livellofunzionale

Livellologico

Livellocircuitale

Livellodel layout

istruzioni macchina, …

Reti logiche: registri, ALU, MUX…

Porte logiche: NOT, AND, …

TransistorModelli fisici: si parla didimensioni fisiche,materiali, ecc.

Modelli elettronici:si parla ditensioni, correnti, ecc.

Modelli logici:si parla di variabili,valori… binari!

Organizzazione dicomponenti per implementare ISA

Page 4: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

4

Note sul lucido precedente

• Livello del layout: trattato nei corsi di microelettronica

• Livello circuitale: trattato nei corsi di elettronica digitale

- come ottenere dal collegamento di “transistor” componentilogici significativi (es. porte logiche)

- ai livelli superiori: interpretazione di livelli di tensione comevalori logici (es: tensione alta “1”, bassa “0”)

Page 5: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

5

• Esistono molte famiglie logiche che corrispondono a modalitàdiverse di realizzazione sulla base di:

- transistor utilizzato (es. BiPolar, MOSFET, ecc.), e- modo di utilizzare i transistor (collegandoli tra loro)

Note sul livello circuitale

Es: CMOS inverter

V-

V+

IN OUT

Page 6: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

6

LIVELLI HARDWARE: LOGICO

ISA

Livellofunzionale

Livellologico

Livellocircuitale

Livellodel layout

Reti logiche: registri, ALU, MUX…

Porte logiche: NOT, AND, …

TransistorModelli fisici: si parla didimensioni fisiche,materiali, ecc.

Modelli elettronici:si parla ditensioni, correnti, ecc.

Modelli logici:si parla di variabili,valori… binari!

Organizzazione dicomponenti per implementare ISA

istruzioni macchina, …

Page 7: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

7

Introduzione al livello logico

• I mattoni fondamentali sono le “porte logiche”, di cui a questo livello

non interessano le caratteristiche elettriche, ma solo la dipendenza

tra valori binari in ingresso e il valore binario in uscita

Porta logica

• Dispositivo fisico che realizza un elemento di calcolo binario• Caratteristiche:

- numero prefissato di linee di ingresso- una sola linea di uscita

• Alcuni parametri inerenti al livello circuitale e fisico:- assorbimento di energia- ritardo di propagazione- immunità dal rumore

Page 8: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

8

A

BC

AND

CA

B

OR

CA

NOT

A B C

C=AB C=A+B C= ~A

Porte logiche che verranno utilizzate principalmente

oppure:C = A*B,C = AÙB

oppure:C = AÚB

oppure:C = ¬A,

C = A

0 0 0

0 1 0 1 0 0 1 1 1

A B C

0 0 0

0 1 1 1 0 1 1 1 1

A C0 1

1 0

Page 9: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

9

Altre porte logiche:

A

B

AB

NAND

A

B

A+B

NOR

NB: l’insieme di porte logiche di riferimento dipende dalla famiglialogica utilizzata e da considerazioni progettuali (inerenti al livello circuitale e del layout)

A B A • B0 0 10 1 11 0 11 1 0

A B A + B0 0 10 1 01 0 01 1 0

Page 10: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

10

Rete logica

• A livello logico vengono studiate (sintetizzate | analizzate)le reti logiche, modellandole con le porte logiche

Rete

LogicaIngressi Uscite

• Unidirezionale: dagli ingressi alle uscite, non viceversa!• Due tipologie di reti logiche:

- combinatorie: l’uscita è esclusivamente funzione degli ingressi- sequenziali: l’uscita dipende dagli ingressi e dallo stato, che

sintetizza la storia (successione degli ingressi)

Page 11: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

11

SPECIFICA E REALIZZAZIONE DI RETI COMBINATORIE

Page 12: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

12

Reti combinatorie

• Circuito elettronico in grado di ‘calcolare’ una funzionebooleana (a valori binari di una o più variabili binarie)

DEFINIZIONE

Rete combinatoria

ningressi

muscite

x0x1

x2

xn-1

z0z1

z2

zm-1

Rete combinatoria come “scatola nera”

- Come specificarla?- Come realizzarla?

Page 13: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

13

Specifica del comportamento di una rete combinatoria

• Significa specificare per ogni uscita una funzione booleanaf(x0,…, xn-1)

f : {0,1}n ® {0,1}

• Esistono due modi per specificare una funzione booleana:- tabella di verità

elenca, per ognuna delle 2n possibili combinazioni (dei valori)degli ingressi, il valore corrispondente della funzione

- espressione booleana:utilizzando operatori logici, esprime il legame tra le variabili di uscita (corrispondenti alle uscite) e le variabili di ingresso (corrispondenti agli ingressi)

Page 14: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

14

A

B

C

op

if op==0, C=A+Belse C=A·B

ESEMPIO DI SPECIFICA DI UNA RETE COMBINATORIA

(FUNZIONE BOOLEANA) CON TABELLA DI VERITA’

?

NB: op indica l’operazione da effettuare tra OR e AND

Page 15: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

15

op A B C

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

Tutte le possibili combinazioni degli ingressi

Uscitacorrispondente

A

B

C

op

if op==0, C=A+Belse C=A·B

Page 16: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

16

ESEMPIO DI SPECIFICA DI UNA RETE COMBINATORIACON ESPRESSIONE BOOLEANA

?A

B

C

op

if op==0, C=A+Belse C=A·B

Page 17: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

17

C = op · (A+B) +op · A·B

A

B

C

op

if op==0, C=A+Belse C=A·B

Page 18: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

18

1. Le costanti 0 e 1 e le variabili (simboli a cui possono essere associati i valori 0 e 1) sono espressioni booleane

2. Se E, E1 ed E2 sono espressioni booleane lo sono anche (E1+E2), (E1·E2) e (E)

3. Non esistono altre espressioni oltre a quelle che possono essere generate da un numero finito di applicazioni delle regole 1 e 2

Espressioni (formule) booleane

ESEMPI• ((x1+x2)·x3)• ((x1·x2)+(x3·(x4+x5)))

NB: come nelle espressioni aritmetiche, · ha priorità su +

Page 19: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

19

Come passare da una specifica all’altra?

• Espressione booleana Þ Tabella di verità BANALE• Tabella di verità Þ espressione booleana ?

Molto importante per la“sintesi” con porte logiche

VEDIAMO L’ESEMPIO PRECEDENTE

Page 20: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

20

Intuitivamente, C vale 1 quando:- OP=0, A=0, B=1 oppure quando- OP=0, A=1, B=0 oppure quando- OP=0, A=1, B=1 oppure quando- OP=1, A=1, B=1

OP A B C

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

Tabella di verità(punto di partenza)

Page 21: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

21

OP A B C

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

OP A B

vale 1 solo per questaconfigurazione degli ingressi!

Intuitivamente, C vale 1 quando:- OP=0, A=0, B=1 oppure quando- OP=0, A=1, B=0 oppure quando- OP=0, A=1, B=1 oppure quando- OP=1, A=1, B=1

Page 22: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

22

OP A B C

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

C= OP A B +

OP A B +

OP A B +

OP A B

Intuitivamente, C vale 1 quando:- OP=0, A=0, B=1 oppure quando- OP=0, A=1, B=0 oppure quando- OP=0, A=1, B=1 oppure quando- OP=1, A=1, B=1

Page 23: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

23

Funzioni booleane e rappresentazioni canoniche

• Per ogni espressione booleana di n variabili corrisponde: unicafunzione booleana di n variabili (una tabella!!!)

• Per ogni funzione booleana di n variabili: infinite espressioni booleane di n variabili

Forme canoniche

– Forma canonica disgiuntiva o “somma di prodotti” (mintermini)

– Forma canonica congiuntiva o “prodotto di somme”

Page 24: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

24

x2x1x0 m0 (000)x2x1x0 m1 (001)x2x1x0 m2 (010)x2x1x0 m3 (011)x2x1x0 m4 (100)x2x1x0 m5 (101)x2x1x0 m6 (110)x2x1x0 m7 (111)

Esempio con 3 variabili

Mintermini• mintermine: funzione booleana che assume il valore 1 in corrispondenza di una e una sola configurazione degli ingressi

Page 25: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

25

Esempio precedente

f = x2x1x0 + x2x1x0 + x2x1x0 +x2x1x0

m1 m2 m3

(corrisponde alla formula precedente a meno dei nomi dati agli ingressi:OP: x2, A: x1, B: x0)

m7

Page 26: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

26

NOTA SU FUNZIONI A PIU’ USCITE

Una funzione a m uscite e n ingressi si può trattare come m funzionia n ingressi, una per ogni uscita:

- tabelle di verità hanno m colonne di uscita- specifica con espressioni booleane: una per ogni uscita

Estensione esempio precedente

z0

if OP==0, z0=A+Belse z0=AB

A

B

OP

z1 if OP==0, z1=ABelse z1=AB

Page 27: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

27

OP A B z0

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

z1

0

0

0

1

0

0

1

0

Specifica con Tabella di verità

Specifica in forma canonica disgiuntiva

z0 = op A B+ op A B + op A B + op A B

z1 = op A B + op A B

Page 28: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

28

SINTESI DI RETI LOGICHE COMBINATORIE

• Finora abbiamo parlato di come specificare il comportamentodi una rete combinatoria, senza preoccuparci di “come è fatta”

• A questo livello, “come è fatta” una rete logica significa“da quali componenti HW è fatta” e come questi sono collegati

• Sintesi: data una funzione logica, come progettare una retecombinatoria che la calcola?

• Vedremo come sintetizzare una rete utilizzando una combinazione di porte logiche

• Altre possibilità: ROM (Read Only Memory), PLA, …

Page 29: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

29

• Immediata se si parte da una espressione booleana

• Esempio pilota:

B

A

op

z0

z1

Sintesi con porte logiche elementari

z0 = op A B+ op A B + op A B + op A B

z1 = op A B + op A B

Page 30: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

30

z0

• Ma non è necessario basarsi sulla forma canonica!...

AB

op

z0 = op · (A+B) +op · A·B

Page 31: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

31

SEMPLIFICAZIONE DI RETI COMBINATORIE

Page 32: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

32

MINIMIZZAZIONE DI RETI LOGICHE COMBINATORIE: CENNI

• Data una funzione da realizzare: derivare l’espressione “minima”:- l’espressione che porta ad una realizzazione conil numero minimo di elementi di calcolo

- dipende dalla tecnologia• Noi vedremo come “semplificare” un’espressione

- utile per la sintesi con porte logiche• Due modi di operare

- sull’espressione booleana (via proprietà dell’algebra booleana)- sulla tabella di verità

Page 33: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

33

Algebra di Boole

• E’ lo strumento matematico usato per lo studio delle reti combinatorie espresse mediante formule booleane

• E’ un particolare tipo di algebra che include:– un insieme di supporto A (l’insieme {0,1} nel ns caso)

– degli operatori binari: AND (·) e OR (+)

– un operatore complemento: NOT (¯)

• Gli operatori soddisfano certe proprietà che si deducono da un insieme di assiomi

Page 34: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

34

Assiomi e alcune proprietà dell’Algebra di Boole

Forma AND Forma ORCommutatività AB = BA A+B = B+A Distributività A+BC=(A+B)(A+C) A(B+C)=AB+AC Identità 1A = A 0+A = AInverso AĀ = 0 A+Ā = 1

Elem. nullo 0A = 0 1+A = 1Idempotenza AA = A A+A = AAssorbimento A(A+B) = A A+AB=AAssociatività (AB)C = A(BC) (A+B)+C=A+(B+C)De Morgan AB = A+B A+B = A B

Ass

iom

iPr

opri

età

dualità

Page 35: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

35

ESERCIZIORealizzare una rete combinatoria a tre ingressi e un’uscita che

implementa la funzione di maggioranza, ovvero pone in uscita

1 se la maggioranza degli ingressi è 1, 0 altrimenti

Page 36: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

36

ESERCIZIO

x2 x1 x0 f(x0, x1, x2)

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

f(x0, x1, x2) = x2x1x0+ x2x1x0

+ x2x1x0 + x2x1x0

n = 3 ingressi

m = 1 uscite

Realizzare una rete combinatoria a tre ingressi e un’uscita che

implementa la funzione di maggioranza, ovvero pone in uscita

1 se la maggioranza degli ingressi è 1, 0 altrimenti

Page 37: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

37

f

x0

x1

x2

x0 x1 x2 x0 x1 x2

x2x1x0

x2x1x0

x2x1x0

x2x1x0

Sintesi della funzione di maggioranza senza semplificazioni

Page 38: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

38

Semplificazione

f(x0, x1, x2) = x2x1x0+ x2x1x0

+ x2x1x0 + x2x1x0

= x2x1x0 + x2x1x0

+ x2x1x0 + x2x1x0

+ x2x1x0 + x2x1x0

NB: x + x + x = x

= (x2 + x2) x1x0 + (x1 + x1) x2x0 + (x0 + x0) x2x1

= x1x0 + x2x0 + x2x1

Page 39: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

39

Minimizzazione su tabelle di verità: trucco 1

x2 x1 x0 f(x0, x1, x2)

0 0 0 …0 0 1 …0 1 0 10 1 1 11 0 0 …1 0 1 …1 1 0 …1 1 1 …

x2x1 (a prescindereda x0)

Corrisponde alla semplificazione x2x1x0 + x2x1x0 = x2x1

Page 40: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

40

Minimizzazione su tabelle di verità: trucco 1

x2 x1 x0 f(x0, x1, x2)

0 0 0 10 0 1 10 1 0 10 1 1 11 0 0 …1 0 1 …1 1 0 …1 1 1 …

x2 (a prescindereda x1 e x0)

Similmente…

Page 41: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

41

Minimizzazione su tabelle di verità: trucco 2

x2 x1 x0 f(x0, x1, x2)

0 0 0 10 0 1 10 1 0 …0 1 1 …1 0 0 11 0 1 …1 1 0 …1 1 1 …

x2x1

x1x0

Una riga può essere utilizzata in più minimizzazioni(deriva da x+x=x)

Page 42: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

42

x2 x1 x0 f(x0, x1, x2)

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

ESEMPIO: FUNZIONE DI “MAGGIORANZA”

f(x0, x1, x2) = x1x0 + x2x0 + x2x1

Page 43: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

43

• Può accadere che: - per alcune configurazioni di ingresso qualsiasi valoredelle uscite vada bene

- alcune configurazioni di ingresso non si presentino maie quindi per queste qualsiasi valore delle uscite va bene

• I valori delle uscite per queste configurazioni vengono chiamati valori di indifferenza e indicati con x oppure d

• I valori di indifferenza possono giocare un ruolo nella minimizzazione della funzione:

- si possono scegliere 0 o 1 indifferentemente!

CONDIZIONI DI INDIFFERENZAsulle uscite

Page 44: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

44

Esempio: codifica BCD (Binary Coded Decimal) e funzione

Codifica binaria Cifra

decimale rappresentata b3 b2 b1 b0

0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

Vogliamo f=1per i multipli di 3escluso lo 0rappresenta le cifre decimali

mediante gruppi di 4 bit… … con 4 bit si ottengono 16configurazioni di ingresso ma ne bastano 10…

Page 45: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

45

Codifica binaria Cifra

decimale rappresentata b3 b2 b1 b0

f

0 0 0 0 0 0 1 0 0 0 1 0 2 0 0 1 0 0 3 0 0 1 1 1 4 0 1 0 0 0 5 0 1 0 1 0 6 0 1 1 0 1 7 0 1 1 1 0 8 1 0 0 0 0 9 1 0 0 1 1 1 0 1 0 x 1 0 1 1 x 1 1 0 0 x 1 1 0 1 x 1 1 1 0 x 1 1 1 1 x

Specifica di f con la tabella di verità

Page 46: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

46

• I valori della funzione corrispondenti alle condizioni di indifferenza possono essere considerati 0 o 1, ciò permette di semplificare le espressioni

03012012

012301230123

bbbbbbbb

bbbbbbbbbbbbf

++

=++=(e) (f) (g)

(e+a) (f+c) (g+a+b+d)

Uso delle condizioni di indifferenza per la minimizzazione

Codifica binariaCifra decimale

rappresentata b3 b2 b1 b0f

0 0 0 0 0 01 0 0 0 1 02 0 0 1 0 03 0 0 1 1 14 0 1 0 0 05 0 1 0 1 06 0 1 1 0 17 0 1 1 1 08 1 0 0 0 09 1 0 0 1 1

1 0 1 0 x1 0 1 1 x1 1 0 0 x1 1 0 1 x1 1 1 0 x1 1 1 1 x

a

b c d

Page 47: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

47

MINIMIZZAZIONE DI RETI LOGICHE COMBINATORIE NELLA PRATICA

• Esistono tecniche di minimizzazione (mappe di Karnaugh,metodo di Quine-McCluskey, ecc.)

• In pratica, si usano tool automatici di minimizzazione:- dalla specifica (linguaggio di descrizione dell’hardware)- all’implementazione (fino a livello del layout)

• E’ importante specificare le condizioni di indifferenzaper permettere ai tool di effettuare tutte le semplificazionipossibili!

Page 48: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

48

TEMPO DI PROPAGAZIONE(cenni)

Page 49: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

49

TEMPO DI PROPAGAZIONE DI RETI LOGICHE COMBINATORIE

F

Dal momento in cui l’ingresso è valido al momento in cui l’uscita è valida trascorre un certo intervallo temporale:

Tcombinatoriox

F(x)

Page 50: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

50

Esercizio

1 ns

2 ns

3 ns

4 ns

1 ns

Dati i tempi di propagazione delle singole sottoreti, calcolareil tempo di propagazione totale

Page 51: Calcolatori Elettronici - calcunibs.altervista.orgcalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... · SINTESI DI RETI LOGICHE COMBINATORIE •Finora abbiamo parlato

51

Esercizio

1 ns

2 ns

3 ns

4 ns

1 ns

Dati i tempi di propagazione delle singole sottoreti, calcolareil tempo di propagazione totale

max{ max{1, 2}+3, 4} + 1 = max{5, 4} + 1 = 6 ns