Reti Combinatorie: sintesi
description
Transcript of Reti Combinatorie: sintesi
![Page 1: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/1.jpg)
Reti Combinatorie:sintesi
![Page 2: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/2.jpg)
Rete Logica• Una rete logica è un circuito elettronico
digitale in grado di realizzare una o più funzioni di commutazione
ReteLogica
x1
xn
y1= f1 (x1, … ,xn)
ym= fm (x1, … ,xn)
![Page 3: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/3.jpg)
COMPORTAMENTO della Rete
STRUTTURA della Rete
Analisi e Sintesi di reti logiche
ANALISI SINTESI
![Page 4: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/4.jpg)
Nomenclatura•Consideriamo funzioni di commutazione di n variabili espresse come somme di prodotti (OR di AND)
Y= P1 + P2 + … + PK
•Pi prodotto di kn variabili diretta o negate (una variabile diretta o negata è chiamata letterale), ex n=4
Y= X3X1 + X4X2X1 + X4X3X2X1
•Pi si chiama implicante della funzione, Piy.
se ogni volta che Pi =1 allora si ha che y=1, ex
X4X3X2X1 y
•Implicante primo: implicante per il quale non è possibile eliminare un letterale dalla sua espressione ed ottenere ancora un implicante, ex
X4X2X1
•Espressione minima: espressione nella quale non possono essere eliminati né un letterale né un termine senza alterare la funzione rappresentata dall’espressione stessa.
Y= X3X1 + X4X2X1
![Page 5: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/5.jpg)
Sintesi di reti combinatorie
• Una rete combinatoria realizza una funzione di commutazione
• Nell’attività di progetto é necessario tenere conto sia delle prestazioni che del costo.
• Necessità: rete logica il più veloce possibile. • Quindi a parità di velocità é necessario ottimizzare il costo. • Data una tabella di verità è possibile ricavare più
espressioni equivalenti che la rappresentano.
![Page 6: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/6.jpg)
Forme canoniche come retiOgni funzione Y può essere espressa come somma canonica, cioè èpossibile realizzarla usando 2 livelli di porte logiche (OR – AND)
VELOCITA’ MASSIMA
Y = Σ(1,5,6) X0
X1
X2
X0
X1
X2
X0
X1
X2
Y
Rete OR di AND
1
5
6
001 101 110
![Page 7: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/7.jpg)
Costo di una funzione
• Costo: Somma del numero di letterali e degli implicanti
X0
X1
X2
X0
X1
X2
X0
X1
X2
Y
Rete AND in OR
3+3+3+3=12
3
3
3
![Page 8: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/8.jpg)
canonical sum-of-products
minimized sum-of-products
canonical product-of-sums
minimized product-of-sums
F1
F2
F3
B
A
C
F4
Realizzazioni di F = AB + C
![Page 9: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/9.jpg)
Mappe di Karnaugh (MK)
• Le mappe di Karnaugh sono tabelle che permettono la rappresentazione e la semplificazione delle funzioni di commutazione fino a quattro variabili. E' possibile usarle, con qualche difficoltà, anche per funzioni di cinque e sei variabili
• Le mappe di Karnaugh per le funzioni di 2, 3, 4, 5 variabili sono divise in tante caselle (o "celle") quanti sono i corrispondenti mintermini (4, 8, 16, 32).
![Page 10: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/10.jpg)
MK per 2 variabili
0 12 3
Y
0
0 1X0
1X1
0 0
0 1
1 0
1 1
X0 X1 YTabella di verità
![Page 11: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/11.jpg)
MK per 2,3,4 variabili
0 12 3
Y
0
0 1X0
1X1
0 14 5
Y
0
00 01X1 X0
1X2
3 27 6
11 10
0 14 5
Y
00
00 01
01X3 X2
3 27 6
11 10
12 138 9
11
10
15 1411 10
X1 X0
•Le caselle adiacenti corrispondono a configurazioni delle variabili di ingresso che differiscono di un solo bit•Anche le caselle sulle due colonne estreme sono da considerarsi adiacenti, come se la mappa fosse originariamente su una sfera che è stata tagliata e spianata.
![Page 12: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/12.jpg)
Esempio
0 14 5
Y
00
00 01
01X3 X2
3 27 6
11 10
12 138 9
11
10
15 1411 10
X1 X0
Y = Σ(1,5,6) = X3 X2 X1X0 + X3 X2 X1X0 + X3X2 X1X0
0 10 1
Y
00
00 01
01X3 X2
0 00 0
11 10
0 00 0
11
10
0 10 0
X1 X0
0001->m1 0101->m5 1100->m12
Se la funzione è data come somma di mintermini, basta scrivere 1 in tutte le celle corrispondenti ai mintermini della somma
![Page 13: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/13.jpg)
Semplificazione
• m1 + m5 = X3X2X1X0+X3X2X1X0
= X2 + X2 X3X1X0
= (X2+X2) =
m1 ed m5 non sono implicanti primi, mentre è un implicante primo
In una mappa K un implicante primo corrisponde ad un raggruppamento di 2i celle adiacenti (cubi), sia orizzontalmente o verticalmente, non incluso in altri raggruppamenti
0 10 1
Y
00
00 01
01X3 X2
0 00 0
11 10
0 00 0
11
10
0 00 0
X1 X0
0 14 5
00
01
3 27 6
12 138 9
11 15 1411 10
00 01 11 10
10
![Page 14: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/14.jpg)
Esempi
0 10 1
Y
00
00 01
01X3 X2
1 01 0
11 10
0 00 0
11
10
0 00 0
X1 X0
(X3X0)1 01 0
Y
00
00 01
01
0 10 1
11 10
0 00 0
11
10
0 00 0
(X3 X0)X3 X2
X1 X0
0 10 1
Y
00
00 01
01X3 X2
1 01 0
11 10
0 10 1
11
10
1 01 0
X1 X0
(X0) 1 01 0
Y
00
00 01
01
0 10 1
11 10
1 01 0
11
10
0 10 1
(X0)X3 X2
X1 X0
![Page 15: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/15.jpg)
Altre definizioni
• Implicante primo essenziale: implicante primo rappresentato da un cubo che copre almeno un 1 non coperto da altri implicanti primi
• Cuore di una funzione: insieme degli implicanti primi essenziali
![Page 16: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/16.jpg)
Esempi
1
Y
00
00 01
01
1 11
11 10
11
11
10
11
X1 X0
1 11
Y
00
00 01
01
1 11 1
11 10
1 11
11
10
1 1X3 X2
X1 X0
11 1
Y
00
00 01
01
11
11 10
1 11
11
10
11
X1 X0
11
Y
00
00 01
01
11
11 10
1 11 1
11
10
1 11 1
X3 X2
X1 X0
![Page 17: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/17.jpg)
Algoritmo per la minimizzazione
1. Si segnano con 1 le caselle relative ai mintermini della funzione
2. Si identificano gli implicanti primi essenziali e si disegnano i relativi cubi. Se sono coperti tutti i mintermini si va al passo 4, altrimenti al 3.
3. Si coprono i restanti mintermini con il minor numero possibile di implicanti
4. Fine della procedura
• Commento: non sistematicità del passo 3
![Page 18: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/18.jpg)
Esempio
0 10 1
Y
00
00 01
01X3 X2
1 01 1
11 10
0 11 1
11
10
0 00 0
X1 X0
![Page 19: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/19.jpg)
Funzioni parzialmente specificateFunzioni in cui non sono possibili alcune configurazioni delle variabili di
ingresso o non interessa il valore di uscita per alcune configurazioni di ingresso
Esempio: date quattro variabili di commutazione codificanti i numeri 0..9 la funzione è vera quando il numero è divisibile per 3.
![Page 20: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/20.jpg)
Tabella di verità e MK di una funzione parz. spec.x3 x2 x1 x0 f
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
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
1
0
0
1
0
0
1
0
0
1
d.c.c.
d.c.c.
d.c.c.
d.c.c.
d.c.c.
d.c.c.
Realizzare un circuito che riconosca se un numero compreso tra 0 e 9sia divisibile per 3.
1 00 0
Y
00
00 01
01X3 X2
1 00 1
11 10
- -0 1
11
10
- -- -
X1 X0
![Page 21: Reti Combinatorie: sintesi](https://reader035.fdocument.pub/reader035/viewer/2022062409/56814675550346895db39b87/html5/thumbnails/21.jpg)
Algoritmo per la minimizzazione
1. Si segnano con 1 le caselle relative ai mintermini e con – le d.c.c. (don’t care condition) della funzione.
2. Si identificano gli implicanti primi essenziali rappresentati da cubi costituiti da 1 e – ed aventi almeno un 1. Se sono coperti tutti i mintermini si va al passo 4, altrimenti al 3.
3. Si coprono i restanti mintermini con il minor numero possibile di cubi aventi le dimensioni massime e costituiti da 1 e -.
4. Fine della procedura
• Commento: non sistematicità del passo 3