La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Reti Logiche Reti Logiche Corso di Architetture degli Elaboratori.

Presentazioni simili


Presentazione sul tema: "Reti Logiche Reti Logiche Corso di Architetture degli Elaboratori."— Transcript della presentazione:

1 Reti Logiche Reti Logiche Corso di Architetture degli Elaboratori

2 Introduzione alle reti logiche Implementazione di porte logiche
Struttura del corso Struttura del corso Introduzione alle reti logiche Implementazione di porte logiche Sintesi di reti combinatorie Reti sequenziali Sintesi di reti sequenziali RETI LOGICHE

3 <S,+,·> è un’algebra booleana se valgono le proprietà:
Insieme S = {a,b,c,…} Operatori binari + e · <S,+,·> è un’algebra booleana se valgono le proprietà: "a,b Î S: a+bÎS, abÎS chiusura $0,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à "aÎS $(¬ a)Î S a+(¬a)=1, a(¬a)=0 inverso $n>0: |S|=2n dimensione 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 assorbimento a+(¬a)b = a+b, a((¬a)+b)=ab Per ogni a Î S, l’elemento ¬a è unico ¬(a+b) = (¬a)(¬b), ¬(ab) = (¬a)+(¬b) De Morgan ¬(¬a) = a involuzione 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/a 0 = Æ 1 = I RETI LOGICHE

6 Esempio di algebra booleana 2
Infatti: " S1, S2 Í I, S1 È S2 Í I, S1 Ç S2 Í I " S1 Í 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| 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à. RETI LOGICHE

8 Variabili e funzioni di commutazione 2
Esempio: 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 RETI LOGICHE

9 2n assegnazioni di verità
Tabelle di verità 1 Tabelle di verità Una funzione di commutazione può essere rappresentata utilizzando una tabella di verità. n variabili funzione 2n assegnazioni di verità RETI LOGICHE

10 Esempio di funzione di commutazione 3-aria
Tabelle di verità 2 Esempio di funzione di commutazione 3-aria Possiamo definire una particolare funzione di commutazione 3-aria utilizzando una matrice 8x4. x3 x2 x1 y 1 Nota: esistono 22n diverse funzioni di commutazione n-arie RETI LOGICHE

11 Funzioni di commutazione elementari 1
Funzioni 1-arie x y1 y2 y3 y4 1 y1 : identità y2 : negazione (NOT) RETI LOGICHE

12 Funzioni di commutazione elementari 2
Funzioni 2-arie x2 x1 y1 y2 y3 y4 y5 y6 y7 y8 1 y1 = 0 y2 = x1 AND x2 y4 = x2 y6 = x1 y7 = x1 XOR x2 y8 = x1 OR x2 RETI LOGICHE

13 Funzioni di commutazione elementari 3
Funzioni 2-arie x2 x1 y9 y10 y11 y12 y13 y14 y15 y16 1 y9 = x1 NOR x2 y11 = NOT x1 y13 = NOT x2 y15 = x1 NAND x2 y16 = 1 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. RETI LOGICHE

15 Algebra di commutazione 2
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 RETI LOGICHE

16 Rappresentazione algebrica di funzioni di commutazione
Data una funzione, rappresentata in forma esaustiva (mediante tabella di verità), se ne vuole trovare una rappresentazione algebrica, mediante una espressione che faccia uso degli operatori +, · , ¬ (o anche OR, AND, NOT). RETI LOGICHE

17 Sia b1b2 …bn l’i-esima assegnazione di verità
Mintermini 1 Mintermini 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 è x1x2 … xn, con: xj= xj se bj=1 xj= ¬xj se bj=0. RETI LOGICHE

18 Mintermini 2 Esempio Alla assegnazione di verità x1=0, x2=1, x3=0, x4=0, x5=1, x6=0 (cioè = 18 in notazione binaria) corrisponde il mintermine m18 =¬x1x2¬x3¬x4x5¬x6 Esempio Alla assegnazione di verità x1=0, x2=1, x3=0, x4=0, x5=1 (cioè = 18 in notazione binaria) corrisponde il mintermine m18 =¬x1x2¬x3¬x4x5 RETI LOGICHE

19 Forma canonica SP 1 Forma canonica SP 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. RETI LOGICHE

20 y = ¬x1x2¬x3+¬x1¬x2x3+x1¬x2x3+ x1x2x3
Forma canonica SP 2 x3 x2 x1 y 1 m2 =¬x1x2¬x3 m4 = ¬ x1¬x2x3 m5 =x1¬x2x3 m7 =x1x2x3 y = ¬x1x2¬x3+¬x1¬x2x3+x1¬x2x3+ x1x2x3 RETI LOGICHE

21 Forma canonica SP 3 x3 x2 x1 y 1 m2 1 m4 1 m5 1 m7 1 RETI LOGICHE

22 Per la funzione y = ¬x1x2¬x3+¬x1¬x2x3+x1¬x2x3+x1x2x3
Implicanti 1 Implicanti 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}). RETI LOGICHE

23 Un mintermine è un caso particolare di implicante.
Implicanti 2 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 f1®f2. 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 RETI LOGICHE

24 Per la funzione dell’esempio precedente si ha che
Implicanti 3 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 che essa può essere descritta anche come: y = ¬x1x2¬x3+¬x2x3+x1x2x3 Problema Data una funzione di commutazione f trovare la rappresentazione di f che utilizza il minimo numero di implicanti. RETI LOGICHE

25 Implicanti 4 ¬x2x3 ¬x1x2¬x3 x1x2x3 x3 x2 x1 y 1 1 1 1 RETI LOGICHE

26 Sia b1b2 …bn l’i-esima assegnazione di verità
Maxtermini 1 Maxtermini 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 è z1+z2+…+zn, con: zj= ¬xj se bj=1 zj= xj se bj=0. RETI LOGICHE

27 Maxtermini 2 Esempio Alla assegnazione di verità x1=0, x2=1, x3=0, x4=0, x5=1, x6=0 (cioè = 18 in notazione binaria) corrisponde il maxtermine M18 =x1+¬x2+x3+x4+¬x5+x6 Esempio Alla assegnazione di verità x1=0, x2=1, x3=0, x4=0, x5=1 (cioè = 18 in notazione binaria) corrisponde il maxtermine M18 = x1+¬x2+x3+x4+¬x5 RETI LOGICHE

28 Forma canonica PS 1 Forma canonica PS 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. RETI LOGICHE

29 y =(x1+x2+x3)(¬x1+x2+x3)(¬x1+¬x2+x3)(x1+¬x2+¬x3)
Forma canonica PS 2 x3 x2 x1 y 1 M0 =x1+x2+x3 M1 =¬x1+x2+x3 M3 =¬x1+¬x2+x3 M6 =x1+¬x2+¬x3 y =(x1+x2+x3)(¬x1+x2+x3)(¬x1+¬x2+x3)(x1+¬x2+¬x3) RETI LOGICHE

30 Forma canonica PS 3 x3 x2 x1 y 1 M0 1 M1 1 M3 1 M6 1 RETI LOGICHE

31 y =(x1+x2+x3)(¬x1+x2+x3)(¬x1+¬x2+x3)(x1+¬x2+¬x3)
Implicati 1 Implicati 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 x2¹0 e x3¹0 (e quindi, se n=3, per {010, 011,100,101,110,111}). RETI LOGICHE

32 Un maxtermine è un caso particolare di implicato.
Implicati 2 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 f2®f1. 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+x3® x1+x2+x3 RETI LOGICHE

33 Per la funzione dell’esempio precedente si ha che
Implicati 3 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 che essa può essere descritta anche come: y =(x2+x3)(¬x1+¬x2+x3)(x1+¬x2+¬x3) Problema Data una funzione di commutazione f trovare la rappresentazione di f che utilizza il minimo numero di implicati. RETI LOGICHE

34 x2+x3 ¬x1+¬x2+x3 x1+¬x2+¬x3 x3 x2 x1 y 1 1 1 1 RETI LOGICHE
Implicati 4 x2+x3 ¬x1+¬x2+x3 x1+¬x2+¬x3 x3 x2 x1 y 1 1 1 1 RETI LOGICHE

35 Una porta logica è un dispositivo (astratto) che
Porte logiche Porte logiche Una porta logica è un dispositivo (astratto) che implementa una funzione di commutazione elementare operando su segnali, che rappresentano valori booleani. Se la funzione implementata è una funzione n-aria y = f (x1, x2,…, xn), la porta logica corrispondente ha n ingressi ed 1 uscita, sui quali possono aversi i segnali corrispondenti ai valori 0,1. x1 x2 xn y = f (x1, x2,…, xn) f . RETI LOGICHE

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

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

38 Una porta NOT ha un ingresso ed una uscita.
Sull’uscita si ha il valore opposto a quello che compare in ingresso. x y 1 1 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. x1 x2 y = 1 1 1 1 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. x1 x2 y = 1 1 1 1 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. RETI LOGICHE

42 º Implementazione della porta NOT mediante NAND x z x NAND x = ¬ (x•x)
= ¬ x (Idempotenza) RETI LOGICHE

43 º Implementazione della porta AND mediante NAND x1 z x2
(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·x (involuzione) RETI LOGICHE

44 º Implementazione della porta OR mediante NAND x1 z x2
(x1 NAND x1) NAND (x2 NAND x2) = ¬((¬(x1·x1))·(¬(x2·x2))) = ¬((¬x1)·(¬x2)) (Idempotenza) = ¬(¬(x1+x2)) (De Morgan) = x1+x (involuzione) RETI LOGICHE

45 Completezza della porta NOR
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. RETI LOGICHE

46 º Implementazione della porta NOT mediante NOR x z x NOR x = ¬ (x+x)
= ¬ x (Idempotenza) RETI LOGICHE

47 º Implementazione della porta AND mediante NOR x1 z x2
(x1 NOR x1) NOR (x2 NOR x2) = ¬((¬(x1+x1))+(¬(x2+x2))) = ¬((¬x1)+(¬x2)) (Idempotenza) = ¬(¬(x1·x2)) (De Morgan) = x1·x (involuzione) RETI LOGICHE

48 º Implementazione della porta OR mediante NOR x1 z x2
(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+ x (involuzione) RETI LOGICHE

49 Le relazioni tra i valori ai morsetti sono rappresentate
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 rappresentate da funzioni combinatorie, che esprimono la dipendenza di un valore su un morsetto di uscita dai valori su un opportuno insieme di morsetti di ingresso. 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. x1 x2 y Rete ciclica RETI LOGICHE

51 In una rete combinatoria è possibile associare ad
Reti combinatorie 2 In una rete combinatoria è possibile associare ad ogni morsetto il relativo livello, definito nel modo seguente: i morsetti relativi ai valori delle variabili di ingresso alla 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 morsetto di uscita ha livello max(l1,l2, …, ln)+1. RETI LOGICHE

52 Assumiamo che, come avviene in pratica, per ogni
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 tempo necessario 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é il relativo valore si determini, dati i valori di ingresso. RETI LOGICHE

53 Analisi di reti combinatorie 1
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 funzione calcolata ad ogni morsetto, al crescere del relativo livello. RETI LOGICHE

54 Analisi di reti combinatorie 2
x1 x2 ¬x1 x1 x2 x3 y x4 x1 x2+x2+x4+¬x1(x3+x4)¬x4 x2+x4 ¬x1(x3+x4)¬x4 x3+x4 ¬x4 RETI LOGICHE

55 Le reti a due livelli sono particolarmente interessanti
in 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. RETI LOGICHE

56 Forma canonica SP mediante NAND 1
Implementazione di forma canonica SP mediante NAND Data una formula in forma PS, possiamo trovare una formula equivalente (a due livelli) che usa soltanto NAND (e NOT su variabili). Esempio: y= x1¬x2x3 + x2x3 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) RETI LOGICHE

57 Forma canonica SP mediante NAND 2
x1 x2 x3 y x1 x2 x3 y RETI LOGICHE

58 Forma canonica SP mediante NAND 3
Ogni funzione in forma SP può essere espressa mediante NAND e NOT su variabili Ogni funzione combinatoria può essere espressa in forma SP Ogni funzione combinatoria può essere calcolata mediante una rete a due livelli di porte NAND, su variabili eventualmente negate. RETI LOGICHE

59 Forma canonica PS mediante NOR 1
Implementazione di forma canonica PS mediante NOR Data una formula in forma PS, possiamo trovare una formula equivalente (a due livelli) che usa soltanto NOR (e NOT su variabili). Esempio: y= (x1+x2)(¬x2+¬x3) (x1+x2)(¬x2+¬x3) = ¬(x1NOR x2) ·¬(¬x2NOR¬x3) = ¬((x1NOR x2)+(¬x2NOR¬x3)) = (x1NOR x2) NOR (¬x2NOR¬x3) RETI LOGICHE

60 Forma canonica PS mediante NOR 2
x1 x2 x3 y x1 x2 x3 y RETI LOGICHE

61 Forma canonica PS mediante NOR 3
Ogni funzione in forma PS può essere espressa mediante NOR e NOT su variabili Ogni funzione combinatoria può essere espressa in forma PS Ogni funzione combinatoria può essere calcolata mediante una rete a due livelli di porte NOR, su variabili eventualmente negate. RETI LOGICHE


Scaricare ppt "Reti Logiche Reti Logiche Corso di Architetture degli Elaboratori."

Presentazioni simili


Annunci Google