61
Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

Embed Size (px)

Citation preview

Page 1: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

Reti Logiche

Corso di Architetture degli Elaboratori

Reti Logiche

Page 2: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 2

Struttura del corso

Introduzione alle reti logiche Implementazione di porte logiche Sintesi di reti combinatorie Reti sequenziali Sintesi di reti sequenziali

Struttura del corso

Page 3: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 3

Algebra booleana

Insieme S = {a,b,c,…} Operatori binari + e ·

<S,+,·> è un’algebra booleana se valgono le proprietà:

a,b S: a+bS, abS chiusura0,1 S: a S a+0=a, a·1=a elementi neutri a+b=b+a, ab=ba commutatività (a+b)+c=a+(b+c), (ab)c=a(bc) associatività a+bc=(a+b)(a+c), a(b+c)=(ab)+(ac) distributivitàaS ¬a) S a+(¬a)=1, a(¬a)=0 inverson>0: |S|=2n dimensione

Algebra booleana

Page 4: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 4

Proprietà derivate di un’algebra booleana

Gli elementi 0,1 sono unici

a+a =a, a·a = a idempotenza

a+1=1, a·0 = 0

a+ab = a, a(a+b)=a assorbimentoa+(¬a)b = a+b, a((¬a)+b)=abPer ogni a S, l’elemento ¬a è unico¬(a+b) = (¬a)(¬b), ¬(ab) = (¬a)+(¬b) De Morgan¬(¬a) = a involuzione

Proprietà derivate di un’algebra booleana

Page 5: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 5

Esempio di algebra booleana 1

Dato un insieme I, indichiamo con P(I) l’insieme di tutti i sottoinsiemi di I (insieme potenza), allora <S, ,> è un’algebra booleana, con:

S = P(I) + = · = ¬a = I/a0 = 1 = I

Esempio di algebra booleana

Page 6: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 6

Infatti:

S1, S2 I, S1 S2 I, S1 S2

IS1 I, S1 =S1, S1 I =S1

S1 S2 = S2 S1

S1 S2 = S2 S1

(S1 S2) S3 = S1 (S2 S3)

(S1 S2) S3 = S1 (S2 S3)

S1 (S2 S3)=(S1 S2) (S1 S3)

S1 (S2 S3)=(S1 S2) (S1 S3)

S1 (I/S1)=I, S1 (I/S1)=

|P(I)|=2|I|

Esempio di algebra booleana 2

Page 7: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 7

Variabili e funzioni di commutazione 1

Una variabile di commutazione (o booleana) x è una variabile che assume valori nel dominio {0,1} (o {T,F}).

Una funzione di commutazione (o funzione booleana) f : {0,1}n {0,1} su n variabili di commutazione è una qualunque corrispondenza (mapping) y = f (x1, x2,…, xn) da {0,1}n a {0,1}.

Una funzione di commutazione n-aria è definita su un dominio di 2n valori diversi, detti anche assegnamenti di verità.

Variabili e funzioni di commutazione

Page 8: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 8

Una funzione di commutazione 3-aria y = f (x1, x2, x3) è definita sull’insieme di 23=8 assegnamenti di verità:x1=0, x2=0, x3=0 x1=0, x2=0, x3=1

x1=0, x2=1, x3=0 x1=0, x2=1, x3=1

x1=1, x2=0, x3=0 x1=1, x2=0, x3=1

x1=1, x2=1, x3=0 x1=1, x2=1, x3=1

o, più sinteticamente, sui valori 000, 001, 010, 011, 100, 101, 110, 111,ed associa ad ognuno di essi un valore 0 o 1

Esempio:

Variabili e funzioni di commutazione 2

Page 9: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 9

Tabelle di verità 1

Una funzione di commutazione può essere rappresentata utilizzando una tabella di verità.

2n assegnazioni di verità

n variabilifunzione

Tabelle di verità

Page 10: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 10

Esempio di funzione di commutazione 3-aria

x3 x2 x1 y

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

Nota: esistono 22n

diverse funzioni di commutazione n-arie

Possiamo definire una particolare funzione di commutazione 3-aria utilizzando una matrice 8x4.

Tabelle di verità 2

Page 11: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 11

Funzioni di commutazione elementari 1

Funzioni 1-arie

x y1 y2 y3 y4

0 0 1 0 1

1 1 0 0 1

y1 : identità

y2 : negazione (NOT)

Funzioni di commutazione elementari

Page 12: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 12

Funzioni di commutazione elementari 2

Funzioni 2-arie

x2 x1 y1 y2 y3 y4 y5 y6 y7 y8

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 1 1 1 1

1 0 0 0 1 1 0 0 1 1

1 1 0 1 0 1 0 1 0 1

y1 = 0

y2 = x1 AND x2

y4 = x2

y6 = x1

y7 = x1 XOR x2

y8 = x1 OR x2

Funzioni di commutazione elementari

Page 13: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 13

Funzioni di commutazione elementari 3

Funzioni 2-arie

y9 = x1 NOR x2

y11 = NOT x1

y13 = NOT x2

y15 = x1 NAND x2

y16 = 1

x2 x1 y9 y1

0

y1

1

y1

2

y1

3

y1

4

y1

5

y1

6

0 0 1 1 1 1 1 1 1 1

0 1 0 0 0 0 1 1 1 1

1 0 0 0 1 1 0 0 1 1

1 1 0 1 0 1 0 1 0 1

Funzioni di commutazione elementari

Page 14: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 14

Algebra di commutazione 1

Un’algebra di commutazione è un’algebra booleana<{0,1}, +, ·> (definita quindi sui soli elementi 0 e 1). In un’algebra di commutazione l’operatore + corrisponde alla funzione 2-aria OR e l’operatore · corrisponde alla funzione 2-aria AND.

In un’algebra di commutazione l’elemento inverso ¬x corrisponde all’applicazione della funzione NOT.

Algebra di commutazione

Page 15: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 15

Si tratta di un’algebra booleana in quanto:

b1,b2 {0,1}, b1 OR b2 {0,1}, b1 AND b2

{0,1}b1 {0,1}, b1 OR 0=b1, b1 AND 0=b1

b1 OR b2 = b2 OR b1

b1 AND b2 = b2 AND b1

(b1 OR b2) OR b3 = b1 OR (b2 OR b3)

(b1 AND b2) AND b3 = b1 AND (b2 AND b3)

b1 OR (b2 AND b3)=(b1 OR b2) AND (b1 OR b3)

b1 AND (b2 OR b3)=(b1 AND b2) OR (b1 AND b3)

b1 OR (NOT b1)=1, b1 AND (NOT b1)=0

|{0,1}|=2

Algebra di commutazione 2

Page 16: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 16

Rappresentazione algebrica di funzioni di commutazione

Data una funzione, rappresentata in forma esaustiva (mediante tabella di verità), se ne vuole trovare unarappresentazione algebrica, mediante una espressioneche faccia uso degli operatori +, · , ¬ (o anche OR,AND, NOT).

Rappresentazione algebrica di funzioni di commutazione

Page 17: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 17

Mintermini 1

Date n variabili di commutazione x1, x2 , …, xn, un mintermine mi è una funzione n-aria che assume valore 1 in corrispondenza alla sola assegnazione di verità i-esima su x1, x2 , …, xn.

Sia b1b2 …bn l’i-esima assegnazione di verità

(dove bj=0 o bj=1 per j=1,…,n), allora il

mintermine corrispondente è 12 … n, con:

j= xj se bj=1

j= ¬xj se bj=0.

Mintermini

Page 18: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 18

EsempioAlla assegnazione di verità x1=0, x2=1, x3=0, x4=0, x5=1, x6=0 (cioè 010010 = 18 in notazione binaria) corrisponde il mintermine m18

=¬x1x2¬x3¬x4x5¬x6

EsempioAlla assegnazione di verità x1=0, x2=1, x3=0, x4=0, x5=1 (cioè 10010 = 18 in notazione binaria) corrisponde il mintermine m18

=¬x1x2¬x3¬x4x5

Mintermini 2

Page 19: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 19

Forma canonica SP 1

Qualunque funzione di commutazione n-aria f può essere rappresentata in forma canonica SP (somma di prodotti) effettuando l’OR di tutti i mintermini corrispondenti ad assegnazioni di verità per le quali f assume valore 1.

Forma canonica SP

Page 20: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 20

x3 x2 x1 y

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

m2 =¬x1x2¬x3

m4 = ¬ x1¬x2x3

m7 =x1x2x3

m5 =x1¬x2x3

y = ¬x1x2¬x3+¬x1¬x2x3+x1¬x2x3+ x1x2x3

Forma canonica SP 2

Page 21: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 21

x3 x2 x1 y

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

Forma canonica SP 3

m2

0

0

1

0

0

0

0

0

m4

0

0

0

0

1

0

0

0

m5

0

0

0

0

0

1

0

0

m7

0

0

0

0

0

0

0

1

Page 22: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 22

Implicanti 1

Date due funzioni di commutazione f1 ed f2, diciamo che f1 è un implicante di f2, (f1 f2) se la sua verità implica la verità di f2.

Più precisamente, f1 f2 se per ogni assegnazione di verità x per cui f1(x)=1 si ha che f2(x)=1.

Per la funzione y = ¬x1x2¬x3+¬x1¬x2x3+x1¬x2x3+x1x2x3

dell’esempio precedente si ha che ¬x2x3 y.

Infatti, y =1 per i valori {010, 011, 101, 111} e ¬x2x3 =1 per x2=0, x3=1 (e quindi per {010, 110}).

Implicanti

Page 23: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 23

Un mintermine è un caso particolare di implicante.Un implicante f1 di una funzione f è primo se non esiste nessun altro implicante f2 di f tale che f1f2.

Per la funzione y = ¬x1x2¬x3+¬x1¬x2x3+x1¬x2x3+x1x2x3

dell’esempio precedente si ha che il mintermine x1¬x2x3 è un implicante non primo, in quanto

x1¬x2x3 ¬x2x3 y

Implicanti 2

Page 24: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 24

La rappresentazione di funzioni mediante somma (OR) di implicanti primi permette di avere rappresentazioni più concise della stessa funzione rispetto alla forma canonica SP.

Per la funzione dell’esempio precedente si ha cheessa può essere descritta anche come:y = ¬x1x2¬x3+¬x2x3+x1x2x3ProblemaData una funzione di commutazione f trovare la rappresentazione di f che utilizza il minimo numero di implicanti.

Implicanti 3

Page 25: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 25

x3 x2 x1 y

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

¬x1x2¬x3

¬x2x3

x1x2x3

Implicanti 4

0

0

1

0

0

0

0

0

0

0

0

0

1

1

0

0

0

0

0

0

0

0

0

1

Page 26: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 26

Maxtermini 1

Date n variabili di commutazione x1, x2 , …, xn, un maxtermine Mi è una funzione n-aria che assume valore 0 in corrispondenza alla sola assegnazione di verità i-esima su x1,x2, …,xn.

Sia b1b2 …bn l’i-esima assegnazione di verità

(dove bj=0 o bj=1 per j=1,…,n), allora il

maxtermine corrispondente è 1+2+…+n, con:

j= ¬xj se bj=1

j= xj se bj=0.

Maxtermini

Page 27: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 27

EsempioAlla assegnazione di verità x1=0, x2=1, x3=0, x4=0, x5=1, x6=0 (cioè 010010 = 18 in notazione binaria) corrisponde il maxtermine M18

=x1+¬x2+x3+x4+¬x5+x6

EsempioAlla assegnazione di verità x1=0, x2=1, x3=0, x4=0, x5=1 (cioè 10010 = 18 in notazione binaria) corrisponde il maxtermine M18 = x1+¬x2+x3+x4+¬x5

Maxtermini 2

Page 28: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 28

Forma canonica PS 1

Qualunque funzione di commutazione n-aria f può essere rappresentata in forma canonica PS (prodotto di somme) effettuando l’AND di tutti i maxtermini corrispondenti ad assegnazioni di verità per le quali f assume valore 0.

Forma canonica PS

Page 29: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 29

x3 x2 x1 y

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

M0 =x1+x2+x3

M1 =¬x1+x2+x3

M6 =x1+¬x2+¬x3

M3 =¬x1+¬x2+x3

y =(x1+x2+x3)(¬x1+x2+x3)(¬x1+¬x2+x3)(x1+¬x2+¬x3)

Forma canonica PS 2

Page 30: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 30

x3 x2 x1 y

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

Forma canonica PS 3

M0

0

1

1

1

1

1

1

1

M1

1

0

1

1

1

1

1

1

M3

1

1

1

0

1

1

1

1

M6

1

1

1

1

1

1

0

1

Page 31: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 31

Implicati 1

Date due funzioni di commutazione f1 ed f2, diciamo che f1 è un implicato di f2, (f2 f1) se la sua verità è implicata dalla verità di f2.

Più precisamente, f2 f1 se per ogni assegnazione di verità x per cui f2(x)=1 si ha che f1(x)=1.

Per la funzione y =(x1+x2+x3)(¬x1+x2+x3)(¬x1+¬x2+x3)(x1+¬x2+¬x3)

dell’esempio precedente si ha che y x2+x3

Infatti, y =1 per i valori {010, 011, 101, 111} e x2+x3 =1 per x20 e x30

(e quindi, se n=3, per {010, 011,100,101,110,111}).

Implicati

Page 32: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 32

Un maxtermine è un caso particolare di implicato.Un implicato f1 di una funzione f è primo se non esiste nessun altro implicato f2 di f tale che f2f1.

Per la funzione y =(x1+x2+x3)(¬x1+x2+x3)(¬x1+¬x2+x3)(x1+¬x2+¬x3)

dell’esempio precedente si ha che il maxtermine x1+x2+x3 è un implicato non primo, in quanto

y x2+x3x1+x2+x3

Implicati 2

Page 33: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 33

La rappresentazione di funzioni mediante prodotto (AND) di implicati primi permette di avere rappresentazioni più concise della stessa funzione rispetto alla forma canonica PS.

Per la funzione dell’esempio precedente si ha cheessa può essere descritta anche come:y =(x2+x3)(¬x1+¬x2+x3)(x1+¬x2+¬x3)ProblemaData una funzione di commutazione f trovare la rappresentazione di f che utilizza il minimo numero di implicati.

Implicati 3

Page 34: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 34

x3 x2 x1 y

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

¬x1+¬x2+x3

x2+x3

x1+¬x2+¬x3

Implicati 4

1

1

1

0

1

1

1

1

0

0

1

1

1

1

1

1

1

1

1

1

1

1

0

1

Page 35: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 35

Porte logiche

Porte logiche

Una porta logica è un dispositivo (astratto) cheimplementa una funzione di commutazione elementareoperando su segnali, che rappresentano valori booleani.

Se la funzione implementata è una funzione n-ariay = f (x1, x2,…, xn), la porta logica corrispondente han ingressi ed 1 uscita, sui quali possono aversi i segnalicorrispondenti ai valori 0,1.

x1x2

xn

y = f (x1, x2,…, xn)f...

Page 36: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 36

Porta AND

Una porta AND ha due (o più) ingressi ed una uscita.Sull’uscita si ha 1 se tutti gli ingressi sono ad 1.

PORTA AND

x1x2

y

00 0

01 0

0 01

11 1

Page 37: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 37

Porta OR

Una porta OR ha due (o più) ingressi ed una uscita.Sull’uscita si ha 1 se almeno un ingresso è ad 1.

PORTA OR

00 0

x1x2

y

01 1

0 11

11 1

Page 38: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 38

Porta NOT

Una porta NOT ha un ingresso ed una uscita.Sull’uscita si ha il valore opposto a quello checompare in ingresso.

PORTA NOT

x y

0 1 1 0

Page 39: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 39

Porta NAND

Una porta NAND equivale ad una porta AND negata (seguita da una porta NOT): quindi, sull’uscita si ha 0 se tutti gli ingressi sono ad 1.

PORTA NAND

00 1

01 1

11 0

0 11

x1x2

yx2

yx1 =

Page 40: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 40

Porta NOR

Una porta NOR equivale ad una porta OR negata (seguita da una porta NOT): quindi, sull’uscita si ha 0 se almeno un ingresso è ad 1.

PORTA NOR

00 1

01 0

11 0

0 01

x1 x1x2

y x2y=

Page 41: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 41

Completezza porta NAND

Completezza della porta NAND

La porta NAND è completa, nel senso che, usando soltanto porte di questo tipo, è possibile ottenere le tre porte fondamentali AND, OR e NOT.

Page 42: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 42

Implementazione della porta NOT mediante NAND

x zx z

x NAND x= ¬ (x•x)= ¬ x (Idempotenza)

NOT mediante NAND

Page 43: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 43

Implementazione della porta AND mediante NAND

AND mediante NAND

z x1x2 x2

zx1

(x1 NAND x2) NAND (x1 NAND x2)= ¬((¬ (x1·x2))·(¬(x1·x2)))= ¬((¬x1)+(¬x2))·((¬x1)+(¬x2))) (De Morgan)= ¬((¬x1)+(¬x2)) (Idempotenza)= ¬(¬(x1·x2)) (De Morgan)= x1·x2 (involuzione)

Page 44: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 44

Implementazione della porta OR mediante NAND

OR mediante NAND

(x1 NAND x1) NAND (x2 NAND x2)= ¬((¬(x1·x1))·(¬(x2·x2)))= ¬((¬x1)·(¬x2)) (Idempotenza)= ¬(¬(x1+x2)) (De Morgan)= x1+x2 (involuzione)

z x1

x2

x1x2

z

Page 45: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 45

Completezza porta NOR

Completezza della porta NOR

La porta NOR è completa, nel senso che, usando soltanto porte di questo tipo, è possibile ottenere le tre porte fondamentali AND, OR e NOT.

Page 46: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 46

Implementazione della porta NOT mediante NOR

x NOR x= ¬ (x+x)= ¬ x (Idempotenza)

NOT mediante NOR

x zx z

Page 47: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 47

Implementazione della porta AND mediante NOR

AND mediante NOR

(x1 NOR x1) NOR (x2 NOR x2)= ¬((¬(x1+x1))+(¬(x2+x2))) = ¬((¬x1)+(¬x2)) (Idempotenza)= ¬(¬(x1·x2)) (De Morgan)= x1·x2 (involuzione)

z x1

x2

x1x2

z

Page 48: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 48

Implementazione della porta OR mediante NOR

OR mediante NOR

(x1 NOR x2) NOR (x1 NOR x2)= ¬((¬ (x1+x2))+(¬(x1+x2)))= ¬((¬x1)·(¬x2))+((¬x1)·(¬x2))) (De Morgan)= ¬((¬x1)·(¬x2)) (Idempotenza)= ¬(¬(x1+x2)) (De Morgan)= x1+ x2 (involuzione)

z x1x2 x2

zx1

Page 49: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 49

Reti logiche

Reti Logiche

Una rete logica è costituita da un insieme di porte logiche interconnesse. Il comportamento di una rete logica è descritto in termini di relazione tra i valori ai morsetti (di ingresso e di uscita delle varie porte).

Le relazioni tra i valori ai morsetti sono rappresentateda funzioni combinatorie, che esprimono la dipendenzadi un valore su un morsetto di uscita dai valori su unopportuno insieme di morsetti di ingresso.

Page 50: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 50

Reti combinatorie 1

Reti Combinatorie

Una rete combinatoria è una rete logica aciclica: il valore sul morsetto di uscita di una porta non influenza i valori sui morsetti di ingresso.

Rete ciclica

x1

x2

y

Page 51: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 51

Reti combinatorie 2

In una rete combinatoria è possibile associare adogni morsetto il relativo livello, definito nel modo seguente:• i morsetti relativi ai valori delle variabili di ingressoalla rete combinatoria (sia veri che negati) hanno livello 0;• per una porta logica con n morsetti di ingresso,con livelli associati l1,l2, …, ln, il relativo morsettodi uscita ha livello max(l1,l2, …, ln)+1.

Page 52: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 52

Reti combinatorie 3

Assumiamo che, come avviene in pratica, per ogni porta logica il valore sul morsetto di uscita sia disponibile dopo un certo ritardo td dalla disponibilità di valori su tutti i morsetti di ingresso.Il livello di un morsetto è allora proporzionale al temponecessario affinché si determini il relativo valore,dati i valori di tutte le variabili di ingresso alla rete.

Un morsetto a livello l richiede tempo ltd affinché ilrelativo valore si determini, dati i valori di ingresso.

Page 53: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 53

Analisi di reti combinatorie 1

Analisi di reti combinatorie

L’analisi di una rete combinatoria (che assumiamo abbia un solo morsetto di uscita) determina, data una rete, la funzione combinatoria implementata dalla rete stessa, vale a dire la funzione che descrive la relazione tra valori sui morsetti di ingresso e valore sul morsetto di uscita.

L’analisi può essere effettuata determinando la funzionecalcolata ad ogni morsetto, al crescere del relativo livello.

Page 54: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 54

Analisi di reti combinatorie 2

¬x1

¬x4

x2+x4

¬x1(x3+x4)¬x4

x1 x2

x1 x2+x2+x4+¬x1(x3+x4)¬x4

x1

x2

x3

y

x4

x3+x4

Page 55: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 55

Reti a due livelli

Reti a due livelli

Le reti a due livelli sono particolarmente interessantiin quanto sono le più semplici reti in grado di implementare qualunque funzione combinatoria, ad esempio rappresentata in forma canonica (PS o SP).

Le reti a due livelli sono anche le più semplici reti in grado di implementare qualunque funzione combinatoria.

Page 56: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 56

Forma canonica SP mediante NAND 1

Implementazione di forma canonica SP mediante NAND

Data una formula in forma PS, possiamo trovare unaformula equivalente (a due livelli) che usa soltanto NAND (e NOT su variabili).

x1¬x2x3 + x2x3 = ¬(x1 NAND ¬x2 NAND x3)+ ¬(x2 NAND x3)= ¬((x1 NAND ¬x2 NAND x3)(x2 NAND x3))= (x1 NAND ¬x2 NAND x3) NAND (x2 NAND x3)

Esempio:y= x1¬x2x3 + x2x3

Page 57: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 57

Forma canonica SP mediante NAND 2

x1

x2

x3

y

x1

x2

x3

y

Page 58: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 58

Forma canonica SP mediante NAND 3

Ogni funzione combinatoria può essere espressa in forma SP

Ogni funzione in forma SP può essere espressa mediante NAND e NOT su variabili

Ogni funzione combinatoria può essere calcolatamediante una rete a due livelli di porte NAND, suvariabili eventualmente negate.

Page 59: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 59

Forma canonica PS mediante NOR 1

Implementazione di forma canonica PS mediante NOR

Data una formula in forma PS, possiamo trovare unaformula equivalente (a due livelli) che usa soltanto NOR (e NOT su variabili).

(x1+x2)(¬x2+¬x3)= ¬(x1NOR x2) ·¬(¬x2NOR¬x3)= ¬((x1NOR x2)+(¬x2NOR¬x3))= (x1NOR x2) NOR (¬x2NOR¬x3)

Esempio:y= (x1+x2)(¬x2+¬x3)

Page 60: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 60

Forma canonica PS mediante NOR 2

x1

x2

x3

y

x1

x2

x3

y

Page 61: Reti Logiche Corso di Architetture degli Elaboratori Reti Logiche

RETI LOGICHE 61

Forma canonica PS mediante NOR 3

Ogni funzione combinatoria può essere espressa in forma PS

Ogni funzione in forma PS può essere espressa mediante NOR e NOT su variabili

Ogni funzione combinatoria può essere calcolatamediante una rete a due livelli di porte NOR, suvariabili eventualmente negate.