Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoMichelina Corsi Modificato 11 anni fa
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.