5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 1/106
Reti combinatorie
1I lucidi da 2 a 9 sono presi dal corso di Reti Logiche LA tenuto nell’AA 2008-2009 dal prof. S.Mattoccia
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 2/106
Introduzione alle macchine digitali
Alcuni esempi di sistemi digitali
• Computer
• Foto/Videocamere
• Telefonini, lettori MP3
• Ascensori, antifurti
• Automobili (iniezione, ABS..)
• ....
Cosa sono i sistemi digitali?
2
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 3/106
Sistemi fisici che impiegano grandezze fisiche contraddistinte da un
insieme discreto (non infinito) di valori “significativi” (segnali
digitali) per rappresentare , elaborare e comunicare informazioni
Sistemi digitali
: ran ezza s ca var a e ne empo cu an amen o o orma on a
rappresenta l’informazione che la parte sorgente vuole inviare alla parte
destinazione
SEGNALI ANALOGICI: ogni variazione della grandezza fisica modifica
l’informazione trasportata
SEGNALI DIGITALI: solo a certe variazioni corrisponde una modifica di
“significato”
3
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 4/106
Segnali Analogici e Digitali
• Segnale analogico
“rumore”
• Segnale digitale (discretizzato)
• Segnale binario. I due livelli H e L
convenzionalmente sono indicati
come 1 e 0 (senza significatonumerico !!! )
L
H
4
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 5/106
Interruttori
• I sistemi digitali sono composti da (una molteplicità di) interruttori
• Dispositivo ON/OFF
• Interruttore elettronico (dimensioni, costo, velocità, dissipazione,..)
+ Vcc
Vu
IiIi: {Imin,0}
Vu: {0, Vcc}Causa Effetto
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 6/106
Esempio: misurare il livello del
carburante in un’automobile
3/4
4/4
6/87/8
8/8
Sensore (ON/OFF) Variabile binaria (Bit)
1/4
2/4
1/82/8
3/84/8
2 bit – 4 livelli 3 bit – 8 livelli
Riserva ?
1 bit – 2 livelli
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 7/106
Conversioni
A/D D/A
Ex: pressione
del vapore
Ex: posizione
della valvola
Computer
• Conversione Analogica/Digitale e Digitale/Analogica
• Uno o entrambi i convertitori possono essere assenti. Ad esempio step-motor,
scanner, stampante etc.
7
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 8/106
Esempio: telefonia digitale
A/D RL TX RX RL D/A
PCM
1010 1010
PC PC
IP
8
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 9/106
Codifica dell’informazione
Scena reale Immagine digitaleacquisita dal sensore
R ∈∈∈∈ {0,1,2,..,244,255}G ∈∈∈∈ {0,1,2,..,244,255}
B ∈∈∈∈ {0,1,2,..,244,255}
Valori discreti
9
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 10/106
Codici e Numeri• Un codice è un insieme di simboli le cui combinazioni individuano
oggetti diversi. Esempio il codice Morse (punto e linea), il codice abarre etc.• Un sistema numerico posizionale (come quello utilizzato nei nostri
sistemi di calcolo) è un insieme di simboli ciascuno dei qualirappresenta una quantità numerica (ad esempio 5, 7, 3 etc.) e il cui
significato dipende dalla posizione
3547 = 3 x 103 + 5 x 102 + 4 x 101 + 7 x 100
•
esempio αααα e ββββ). Un insieme di n di questi simboli è in grado diindividuare 2n differenti oggetti (combinazioni con ripetizione ). Uncodice ternario usa tre simboli (ad esempio αααα e ββββ e γ γγ γ ). Con n diquesti simboli posso individuare 3n oggetti. E così via …..
• Ovviamente per codificate un numero di oggetti N che non è potenza
di 2 sono necessari almeno z bit ove z è il primo intero superiore allog2(N)
• Naturalmente esistono codici ridondanti (ad esempio il codice 1 su Nove ogni configurazione ha un solo bit a 1). Con N bit si individuanoN oggetti (ex: 010000, 000010 etc.)
N.B. Esistono sistemi numerici NON posizionali: ad esempio i numeri romani 10
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 11/106
Codici binari
• Molto spesso (praticamente sempre) i due simboli utilizzati per un codicebinario sono 0 e 1, in questo caso assolutamente privi di significatonumerico (sono equivalenti a basso/alto, rosso/verde, aperto/chiuso, αααα/ββββ
etc.). In questo contesto in un supermercato la stringa 100101 potrebbeindicare il pane e la stringa 110101 il latte. I simboli 0 e 1 si chiamano bit(ovvero binary digit)
•
stessi simboli 0 e 1 hanno un significato numerico. Ad esempio inquesto contesto 100101 sta a indicare
1 x 25 + 0 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 32 + 4 + 1 = 3710
• Nel sistema numerico binario è ovviamente possibile eseguire tutte leoperazioni aritmetiche
11
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 12/106
Numeri binari
• Le potenze di 2: 1,2,4,8,16,32,64,128,256,512,1024….
• Anche per i valori numerici 0 e 1 si usa la parola bit
12
• Con n bit si copre il range di numeri 0.. .2n
-1 (c’è anche lo zero …)
• Codici alfanumerici: ex codice ASCII, codice a 7 bit (v. dopo)
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 13/106
Operazioni elementari con numeri binari
1 1 1 1 0 1 0 0 1 Riporto
1 1 0 1 0 1 1 + 1 0 7 +
0 1 1 1 0 1 0 = 5 8 =
---------------- -----
1 0 1 0 0 1 0 1 1 6 5
13
0 2 2 0 0 0 0 10 10 Prestito1 1 0 1 0 1 1 - 1 0 7 -
0 1 1 1 0 1 0 = 5 8 =
---------------- --------
0 1 1 0 0 0 1 4 9
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 14/106
Operazioni elementari con numeri binari
101101 x 1011 45 x 11------------- -------
101101 45
101101= 45=
000000== -------
101101=== 485-------------
111101111
14
La divisione si effettua con criteri similari
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 15/106
Numeri binari negativi
• Molte diverse codifiche: quella universalmente usata è il complemento a 2
• Regola: dato un numero binario positivo il suo equivalente negativo siottiene sostituendo gli uni con gli zeri e viceversa e sommando infine 1
• I numeri negativi hanno un “1” nella cifra più significativa (ovviamente inun contesto di numeri relativi) e quelli positivi (fra cui anche lo zero cheperò è un numero “particolare”) hanno uno “0” nella cifra più significativa.
15
• Le operazioni elementari con numeri in complemento a 2 danno comerisultato ancora numeri in complemento a 2 (verifica semplice per somma esottrazione e più complicata per la moltiplicazione e divisione – algoritmodi Booth)
0100101 => 1011010 + 1 = 1011011 +37 => -37
1011011 => 0100100 + 1 = 0100101 -37 => +37
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 16/106
Numeri binari negativi
• Nel caso di riporto oltre l’ultima bit significativo quest’ultimo va scartato (per motivifisici nei computer)
1011011 + -37 +
0010010 = 18 =
------- ---
1101101 => 0010010 + 1= 0010011 -19
1011011 + -37 +
16
1010010 = -46 =
------- ---
10101101 ERRORE – OVERFLOW -83
|-83| > 63
Dalla somma di due numeri negativi un numero positivo !!! Erroredi “overflow” nei computer
Il complemento a 2 funziona nell’ambito dell’intervallo di riferimento (nel nostro caso i numeri 0-|63| ovvero 6 bit più il segno e quindi da -64 fino a +63)
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 17/106
Numeri binari negativi
• Il complemento a 2 di numeri a N bit permette di rappresentare numeri nell’intervallo 2** N-1
fino a 2** N -1
17
• Lo zero rimane sempre zero (0000 => 1111+1 => 0000 scartando l’ultimo bit)
• Moltiplicazione e divisione sono molto più complessi (Algoritmo di Booth)
• Estremamente complesso il calcolo in virgola mobile
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 18/106
Stringhe di bit in notazione esadecimale• Molto spesso le stringhe di bit (per codici o per numeri binari) sono troppo
lunghe per essere gestite facilmente. Esempio:
00101001011110100101100101010
• La stringa è troppo lunga anche da ricordare. Si una allora la notazione
esadecimale nella quale ad ogni gruppo di 4 bit si sostituisce il suo valoreesadecimale.
Binario Esadecimale (HEX)0000 0
18
0010 20011 30100 40101 50110 60111 7
1000 81001 91010 A1011 B1100 C1101 D
1110 E1111 F
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 19/106
Stringhe di bit in notazione esadecimale
Ne deriva che la stringa:
00101001011110100101100101010
può essere riscritta come (raggruppando per 4)
0 0101 0010 1111 0100 1011 0010 1010
e quindi in notazione esadecimale: 052F4B2A. Se la notazione
19
esadecimale rappresenta un numero è possibile eseguire le operazioniaritmetiche. Esempio
(1000) Riporto (quando si arriva a 1610)A57B +B342 =
----------158BD
Esiste anche la notazione Ottale in cui i bit sono raggruppati per 3 e quindi lanotazione utilizza solo i simboli 0-7. Vale ancora il principio che se la stringa
rappresenta un numero binario è possibile eseguire operazioni aritmetiche
Questo 1 vale 1610
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 20/106
Codice ASCII
20Mancano ovviamente tutti i caratteri polacchi etc. arabi, cirillici etc. - > Unicode, codice a 16 bit
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 21/106
Codice Gray
000
001
011
Gray000
001
010
Bin
• Tra configurazioni (stringhe) Gray adiacenti cambia sempre un solo bit
010
110
21
010
110111
101
100
011
100101
110
111011
Utile ad esempio se vogliamo misurare la posizione angolare di unalbero motore. Perche ? Non vi sono “discontinuità”Per la conversione fra i due codici v. dopo
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 22/106
Parità
• Esistono codici che permettono di identificare un singolo errore (adesempio nel caso di trasmissioni): ex parità. Il bit di parità (o didisparità) è un bit che si aggiunge al codice trasmesso in modo che ilnumero di bit complessivi risulti sempre pari (dispari). Ex parità pari
1001011 0000000 1111110
• Ovviamente il bit di parità protegge dagli errori singoli ma NON da quelli
22
.
Trasmesso 1001011
Ricevuto 1001111 Errore !!1011001 Errore NON rivelato!
• Se si accetta che le trasmissioni siano non troppo rumorose (ovvero chel’errore sul singolo bit sia il più probabile) la parità è un metodo sempliceed efficace. Usato ad esempio nella trasmissione seriale con standardRS232C (ormai in disuso)
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 23/106
Codici a correzione di errore
Si definisce “distanza” il numero di bit diversi che separano due configurazioni lecite. Ad esempio in uncodice con 5 bit le due configurazioni lecite 01011 e 01111 hanno distanza uno, le due configurazioni
01011 e 01101 hanno distanza due etc. I codici a distanza due (parità fra questi) permettonol’individuazione del singolo errore .
0001
0010
01001000
Codici corretti (distanza due - 4 bit – 4 valori)
000
111
Codici corretti (distanza tre – 3 bit - 2 valori)
23
Se si riceve ad esempio 001 l’unica configurazione “vicina” a 000 e quindi se si suppone che l’erroresia singolo lo si può correggere. Anche nel caso si riceva 011 si può ipotizzare che il codice trasmessofosse 111 ma ove sia possibile che si verifichino doppi errori la configurazione di partenza avrebbeanche potuto essere 000. In questo caso siamo quindi in presenza di un codice in grado di correggere isingoli errori e rivelare i doppi. Se la distanza fosse 4 si può vedere dal grafo cosa si può dedurre
?Se le due uniche configurazioni corrette sono 0000 e1111 possiamo certamente individuare i singoli, doppi etripli errori. Se si riceve 1110 ci si può ricondurre a 1111(correzione) ma se si riceve 0110 riveliamo l’errore manon siamo in grado di correggerlo (equidistante da 0000e 1111)
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 24/106
Conversione di codice
• La conversione di codice da binario a decimale è ovvia.• La conversione da decimale a binario si effettua per divisioni
successive per 2 tenendo conto dei resti
Resto
24
37| 2 118| 2 09| 2 1 1001011 => 754| 2 02| 2 0
1| 0 1
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 25/106
Codice Binary Coded Decimals
• Rappresentazione di numeri decimali nei quali ogni cifra è rappresentatadall’equivalente binario
• Notazione “packed”: ogni digit è rappresentato da 4 bit
decimale 1 7 3 9
BCD 0001 0111 0011 1001• Nella notazione “packed” in un “byte” (8 bit ) sono contenuti due digit. In
un calcolatore il numero precedente sarebbe rappresentato da due bytes 00010111 (17) ; 00111001 (39)
25
• Notazione “unpacked” : un byte per ogni digit. Il numero precedente sarebbe rappresentato da 4 bytes
000000001 00000111 00000011 00001001
N.B. Il byte è l’unità di informazione minima individuabile e gestibile in un
calcolatore.Tutti gruppi di 4 bit con valore binario superiore a 1001 NON sono validinel codice BCD
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 26/106
Conversione fra codice binario e BCD
Per passare dal binario a BCD basta dividere per 1010 ovvero 000010102 e (casounpacked ) porre il quoziente nel byte più significativo e il resto in quello menosignificativo oppure (caso packed ) porre i due nibbles (4 bit) rispettivamente nella partealta e in quella bassa del byte di destinazione. Esempio
001101012 = 5310
00110101 : 1010 = 00000101 00000011 (unpacked 510 con resto 310)
Il passaggio dal BCD al binario si effettua l’operazione inversa. Ad esempio per passaredal binario unpacked al binario basta moltiplicare il primo byte (il più significativo) per10 e sommarlo al b te meno si nificativo
26
00001001 00000010 (92 in BCD)
00001001 x 1010 = 01011010 (9010) che sommato a 0000010 dà esattamente
01011100 ovvero (9210)
Nel caso di BCD packed si deve moltiplicare 1010 (10102) per il nibble più significativo esommarlo a quello meno significativo
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 27/106
Operazioni aritmetiche in BCD
24 + 13 = 37 15 + 9 =24 19 + 28 = 47
0010 0100 + 0001 0101 + 0001 1001 +
0001 0011 = 0000 1001 = 0010 1000 =----------- ----------- ------------
0011 0111 0001 1110 ? invalido 0100 0001 41 invalido
bisogna aggiungere 6 (riporto fra i nibbles)
distanza fra 15 e 9 a iun ere 6 senza
Somma
27
e inserire un riporto riporto sul nibblesul nibble successivo successivo – il riporto
1 è già stato inserito)
0001 1110 + 0100 0001 +
0000 0110 = 0000 0110 =
----------- -----------
0010 0100 24 !! 0100 0111 47
Se si ottengono numeri BCD maggiori di 9 oppure vi è un riporto fra i digit allora bisognacomunque aggiungere 6
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 28/106
Operazioni aritmetiche in BCD
Altre operazioni
37 – 12 = 25 65 – 19 = 46 41 – 18 = 23
2 (prestito) 2 (prestito)
0011 0111 – 0110 0101 - 0100 0001 -
0001 0010 = 0001 1001 = 0001 1000 =
----------- ----------- -----------
0010 0101 25 0100 1100 invalido 0010 1001 29 errore
sottrarre 6 sottrarre 6
0100 1100 – 0010 1001 -
0000 0110 = 0000 0110 =
28
----------- -----------
0100 0110 46 0010 0011 23
Nel caso di digit invalido oppure di “prestito” dal digit successivo si deve sottrarre 6
Per moltiplicazione e divisione non vi sono regole per i BCD. Ad esempio per gli “unpacked” (chehanno i 4 bit più significativi a 0) basta effettuare la moltiplicazione binaria normale e poi effettuare la
conversione binario-BCD. In modo similare per i packed (andando per nibble)
9x4=36moltiplicazione binaria conversione binario-BCD
(0000 1001 x 0000 0100) = 0010 0100 => (0010 0100 : 1010) = 0000 0011 con resto 0000 0110
In BCD non trattiamo i numeri negativi
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 29/106
Realizzazione di una matrice 7 segmentia
b cde fg
Che corrispondenza esiste fra il numero che si vuole rappresentare e isegmenti ? (1 acceso – 0 spento)
Numero Hex Bin (xyzw) a b c d e f g00 0 0000 1 1 1 0 1 1 1
01 1 0001 0 0 1 0 0 1 0
Con 7 elementi 27 = 128 combinazioni
29
03 3 0011 1 0 1 1 0 1 1
. . . . . . . . . . . . . . . . . . . .
09 9 1001 1 1 1 1 0 1 1
10 A 1010 1 1 1 1 1 1 0
. . . . . . . . . . . . . . . . . . . .
14 E 1110 1 1 0 1 1 0 1
15 F 1111 1 1 0 1 1 0 0
a,b,c,d,e,f rappresentano 7 funzioni dei bit binari xyzw . Ad esempio
c = fc(x,y,z,w). Come si sintetizza e realizza la funzione fc ???????
NB 6 e b sono differenziati dal fatto che 6 ha il segmento a acceso
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 30/106
Come realizzare ad esempio una rete che
effettui somme e altre operazioni binarie ?• Nei calcolatori si usano dei circuiti elettronici chiamati reti logiche che
operano su due livelli di tensione convenzionalmente indicati con i simboli0 e 1
• E’ possibile realizzare una rete elettronica che utilizzando solo questi duelivelli di tensione abbia un comportamento per cui le sue uscitecorrispondano ai valori di una somma.
30
• N.B. i segnali elettrici 0 e 1 (ad esempio 0 e 5V) NON sono valori numerici ma il loro comportamento nella rete deve corrispondere a quello di un sommatore binario
ConvTastieraRL
Somma
Elettronica
Conv Display
Come si progetta ?
R ti bi t i
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 31/106
Reti combinatorie• La tabella dei 7 segmenti precedente è un esempio di tabella della verità lo strumento che è alla
base della sintesi delle reti combinatorie ovvero di quelle reti la cui uscita dipende solo dagli
ingressi e non dal tempo• Un esempio nel campo analogico può essere trovato confrontando un circuito per la somma delle
tensioni (NON dipendente dal tempo) e un integratore (dipendente dal tempo) – entrambi i circuitisi realizzano tramite amplificatori operazionali ma uno ha solo resistenze e l’altro ha uncondensatore (la cui carica dipende dal tempo)
• Si definiscono invece reti sequenziali quelle reti che dipendono dal tempo ovvero in cui le uscite
dipendono dal tempo ovvero dalla storia passata del sistema• Date n- variabili binarie di ingresso il numero di funzioni diverse di una sola uscita è dato dal
valore2**2**n
•
31
I f0 f1 f2 f3
0 0 1 0 11 0 1 1 0
di fatto a parte le due funzioni identità (che fisicamente corrispondono a un filo) e le costantirimane una sola funzione (f3 ) che viene chiamata negazione, inversione o NOT e viene
rappresentata con il seguente simbolo:
Il simbolo utilizzato nelle espressioni (v. dopo) è la soprasegnatura (scomoda da stampare),
oppure l’asterisco o il punto esclamativo (prima o dopo la variabile)
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 32/106
Funzioni di due variabiliLe funzioni diverse sono 16
I1 I0 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f150 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 10 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 11 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
A parte le costanti e le identità vi sono le seguenti funzionicaratteristiche
32
f14 funzione OR Simbolo (+)
f8 funzione AND Simbolo (.)
f1 funzione NOR Simbolo
f7 funzione NAND Simbolo
f6 funzione EXOR Simbolo (⊕)
f9 funzione EQUIV Simbolo
.
. .
hanno anche una realizzazionefisica nella quale esiste sempre un ritardo fra cambiamento deisegnali di ingresso ecambiamento dell’uscita chedipende dalla tecnologiarealizzativa
L’operatore EXOR viene anchedenominato “somma modulo 2” inquanto la sua funzione di uscita puòessere interpretata come il risultatodella somma di due bit (valori binari)
di ingresso
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 33/106
Algebra di commutazione• Ma come si passa dalla descrizione tramite tabella della verità a una
sintesi utilizzando i componenti base visti precedentemente (o lorocombinazioni) e viceversa ?
Tabella
Dellaverità
Schema
Logico
Sintesi
Analisi
33
s ema ma ema co
• L’algebra di commutazione è un sistema matematico atto a descriverefunzioni di variabili binarie . Un’algebra si basa su dei simboli, delleoperazioni e dei postulati (affermazioni)
Simboli: [0,1]
Operazioni: somma logica (+), prodotto logico (.) e complementazione (!)
Postulati : 0+0=0 0+1=1 1+0=1 1+1=10.0=0 0.1=0 1.0=0 1.1=1!0=1 !1=0
NB: operazioni su SIMBOLI e NON numeri/bit !!!!
Simbolo del prodotto logico(normalmente omesso)
Algebra di commutazione
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 34/106
Algebra di commutazione• Costante: i simboli 1 e 0
• Variabile (binarie): un letterale che può assumere i simboli (ma spesso si usa
l’espressione “valori”) 1 e 0 (ma si potrebbero usare anche altri simboli binari g, Л)
• Funzione: f(x1, x2, …. xn) con n variabili binarie. Può essere espressa come tabella
della verità
• Espressione: combinazione di simboli e operazioni. Ex: (((X+Y). !Z). !0)
ove X, Y e Z sono variabili binarie
• Valutazione: calcolo del valore binario dell’espressione utilizzando le operazioni e i
postulati dell’algebra e assegnando alla n-pla di variabili binarie tutte l combinazioni
binarie di valori. Nel caso dell’esempio precedente
34
XYZ F
000 0001 0010 1011 0100 1101 0
110 1111 0
• Espressioni equivalenti: due espressioni che danno luogo alla stessa tabella della
verità
• Proprietà: valgono la proprietà, riflessiva, simmetrica e transitiva
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 35/106
Algebra di commutazione e operatori logici
Analisi• I postulati dell’algebra di commutazione corrispondono al comportamentodegli operatori logici AND,OR e NOT
F=(((X+Y). !Z). !0)
X
Y
Z
0
F
XYZ F000 0001 0010 1011 0100 1101 0
35
• Ne discende che una espressione corrisponde a uno schema logico• Vediamo questo schema
110 1
111 0
XY
Z
F
XYZ F000 0001 0010 1011 0100 1101 0110 1
111 0
Stessa tabella della verità: equivalenza !!
Alcune proprietà dell’algebra di commutazione
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 36/106
Alcune proprietà dell’algebra di commutazione
X+Y=Y+X X.Y=Y.X X+Y+Z=(X+Y)+Z X.Y.Z=(X.Y).Z
X.(X+Y)= (XY)+ (X.Z) X+(Y+Z)=(X+Y)+(X+Z)X+X=X X.X=X (idempotenza - entrambi )X+0=X X.0=0 X+1=1 X.1=XX+(X.Y)=X X.(X+Y)=X!(!X)=X X+!X=1 X.!X=0
A.X+A.!X=A (A+X).(A+!X)=A!(X.Y) = !X+!Y !(X+Y)=!X.!Y (Leggi di De Morgan)X.Y+!X.Z+Y.Z= X.Y+!XZ (X+Y).(!X+Z).(Y+Z)=(X+Y).(!X+Z)X+!XY = X + Y re olarmente dimenticato ….
36
Provare per credere attribuendo a X e Y tutte le possibili combinazioni divalori !!!!
NB: anche nell’algebra di commutazione si usano le stesse convenzioni di
precedenza utilizzate nell’algebra convenzionale
Prec(!) > Prec(.) > Prec(+)
Le parentesi servono ad alterare questo ordine. Molto spesso (sempre) si
omette il simbolo di prodotto logico
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 37/106
Espressioni duali
• Una espressione duale è quella che si ottiene sostituendo 0 e 1 e glioperatori and e or
• Si ha che (Fd)d=F
• Se due espressioni sono equivalenti lo sono anche le loro duali
F=(((X+Y). !Z). !0) => Fd= (((X.Y)+!Z)+!1)
37
se (((X+Y). !Z). !0) equivale a =((X+Y). !Z) (come è vero)
allora le espressioni duali si equivalgono
(((X.Y)+!Z)+!1) equivale a ((X.Y)+!Z)
(verificare con la tabella della verità)
Algebra di commutazione e operatori logici
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 38/106
Algebra di commutazione e operatori logici
Sintesi• Ma come si passa da una tabella della verità al
circuito che la sintetizza ?
• Circuiti combinatori: circuiti in cui le uscitedipendono solo dagli ingressi e NON dal tempo
ovvero dalla storia passata del circuito.
• Vediamo a partire da una tabella della verità
• Si selezionano le righe in cui la funzione vale 1’
XYZ F
000 0001 1 !X!YZ010 1 !XY!Z011 0100 1 X!Y!Z101 0
110 1 XY!Z111 1 XYZ
X!Y!Z
38
prodotto) corrispondente utilizzando levariabili di ingresso con il valore vero secompaiono con 1 e viceversa. I terminiprodotto (mintermini ) si sommano logicamente
F= !X!YZ + !XY!Z + X!Y!Z + XY!Z + XYZ
Espressione canonica (con tutte le variabili neiprodotti logici) in forma di somma di prodotti(SP)Espressione a due livelli (il NOT non conta)
X
Z
FY
!X!YZ
!XY!Z
XY!Z
XYZ
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 39/106
Algebra di commutazione e operatori logici
SintesiXYZ F000 0 X + Y + Z001 1010 1011 0 X +!Y +!Z100 1101 0 !X + Y +!Z110 1111 1
• In alternativa si selezionano le righe in cui la funzione vale 0 esi scrive l’espressione somma (termine somma) utilizzando levariabili di ingresso con il valore negato se compaiono con 1 eviceversa. I termini somma (maxtermini ) si moltiplicanologicamente
F= (X+Y+Z)(X+!Y+!Z)(!X+Y+!Z)
Espressione canonica in forma di prodotti di somme (PS)
39
Una rete logica combinatoria è sempre sintetizzabile a due livelli
X
Z
FY
X+Y+Z
X+!Y+!Z
!X+Y+!Z
Le due sintesi canoniche (SP e PS) portano normalmente a circuiti di
diversa complessità
Espansione
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 40/106
Espansione
• Una espressione SP può essere “espansa” in modo da risultate una
somma di mintermini (forma canonica) ricordando che X.1=X, X+!X=1 eX+X=X. Esempio
a+b!c= a(b+!b)(c+!c) + (a+!a)b!c= abc+ab!c+a!bc+a!b!c+ab!c+!ab!c
• Si possono espandere anche i prodotti di somma in modo duale mapossiamo tralasciarli.
•
40
ovvero alcune combinazioni di ingresso non si presentano mai
XYZ F000 0001 1010 1
011 ?100 1101 0110 ?111 1
Ovviamente la cosa ha senso in fase di sintesi .
L’analisi di un circuito genera sempre tabellecompletamente specificate
Sintesi canonica della funzione f e dei 7 segmenti (0-9)
7446 (uscite negative true L > acceso H > spento)
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 41/106
7446 (uscite negative true – L-> acceso H-> spento)
Bin.
DCBA0000000100100011
0100010101100111100010011010
f bge c
d
a
NB: questo dispositivo NON realizza le lettere A->F
41
10111100
110111101111 0 1 2 3 4 5 6 7 8 9 A B C D E F (HEX)
fe = !D!C!BA + !D!CBA + !DC!B!A + !DC!BA + !DCBA + D!C!BA + D!CBA + DC!B!A + DC!BA + DCBA (SP)
1 3 4 5 7 9 11 12 13 15
fe = !( !D!C!B!A +!D!CB!A + !DCB!A + D!C!B!A + D!CB!A + DCB!A )0 2 6 8 10 14
fe = (D+C+B+A) (D+C+!B+A) (D+!C+!B+A) (!D+C+B+A) (!D+!C+!B+A) (!D+!C+!B+A) (PS) 0 2 6 8 10 14
Rosso => accesoBlu => spento
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 42/106
Introduzione Altera
42
Controllore 7 segmenti 7446
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 43/106
X
Y
Y
43
Lamp test (vero negato)Tutti accesi
Blank Input (vero negato)Tutto spento
Ripple blank input (vero negato)Tutti spenti
Ripple blankInput/output - OC
[vero negato => attivo basso]
Tutti i NAND a 1
X
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 44/106
44
Simulazione timing
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 45/106
1 3 2 E C 8 LT C D BL
Simulazione timing
45
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 46/106
46
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 47/106
47
Esempio di transcodifica:
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 48/106
conversione Binario-Gray e viceversa• Conversione codice binario- codice Gray . Osservando il codice Gray si deduce facilmente
che
g0 = !b2!b1b0 + !b2b1!b0 + b2!b1b0 + b2b1!b0 == ( !b2!b1b0 + b2!b1b0) + (!b2b1!b0 + b2b1!b0) == !b1b0 + b1!b0 = b0 ⊕⊕⊕⊕ b1
g1 = !b2b1!b0 + !b2b1b0 + b2!b1!b0 + b2!b1b0 == (!b2b1!b0 + !b2b1b0) + (b2!b1!b0 + b2!b1b0) == !b2b1 + b2!b1 = b2 ⊕⊕⊕⊕ b1
e così via
000
001
011
010
110
111
Gray
000
001
010
011
100
101
Bin
gn = bn ⊕⊕⊕⊕ bn+1 (N.B. bn+1 per il MSB è ovviamente 0 e infatti g2 = b2 )
• Conversione Gray-binario. Si può sintetizzare dalla tabella della verità oppure tramite unsemplice procedimento algebrico
gn = bn ⊕⊕⊕⊕ bn+1
bn+1 ⊕⊕⊕⊕ gn = bn+1 ⊕⊕⊕⊕ bn+1 ⊕⊕⊕⊕ bn = 0 ⊕⊕⊕⊕ bn = bn e quindi
bn = bn+1 ⊕⊕⊕⊕ gn ricordando che se n sono i bit bn+1 è uguale 0
Nel caso specifico b2 = g2 , b1 = b2 ⊕⊕⊕⊕ g1 e b0 = b1 ⊕⊕⊕⊕ g0
Ovviamente la sintesi poteva essere condotta attraverso la definizione dei mintermini
Il MSB del Gray coincide con il MSB del binario
101
100g2g1g0
110
111b2b1b0
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 49/106
000
001011
010
110
Gray
000
001010
011
100
BinLa stessa formula si poteva trovare a partire dalla sintesi canonica
b2 = g2
b1 = !!!!g2 g1g0+!!!!g2g1!g0+g2!g1g0+g2!g1!g0 = !!!!g2 (g1g0+g1!g0) + g2(!g1g0+!g1!g0)=!!!!g2 g1 + g2!g1 = g2 ⊕⊕⊕⊕ g1 = b2 ⊕⊕⊕⊕ g1
b0 = !!!!g2 !!!!g1g0+!!!!g2g1!g0+g2g1g0+g2!g1!g0 = g0(!!!!g2!!!!g1+g2g1) + !!!!g0(!!!!g2g1+g2!g1)=
Conversione Gray-Binario
49
101
100g2g1g0
110
111b2b1b0
g0 ⊕ (⊕ (⊕ (⊕ (g2 ⊕⊕⊕⊕ g1)= g0 ⊕⊕⊕⊕ b1
Adder
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 50/106
• Generiamo la tabella della verità di una rete combinatoria le cui uscite corrispondano aivalori numerici del sommatore a 2 bit (Half Adder)
ab Somma Riporto00 0 001 1 0 S = a exor b10 1 0 R = ab11 0 1
S
R
ab
HAb
a S
R
• Generiamo la tabella della verità di una rete combinatoria le cui uscite corrispondano aivalori numerici del sommatore a 3 bit (Full Adder)
S = !a!bc+!ab!c+a!b!c+abc=!a(!bc+b!c)+a(!b!c+bc)= !a(b exor c)+a![(bc)+(!b!c)]= !a(b exor c)+a!(b exor c)== a exor (b exor c) !bc+b!c =! !bc+b!c
50
abc S R000 0 0001 1 0010 1 0011 0 1100 1 0101 0 1110 0 1111 1 1
R=!abc+a!bc+ab!c+abc= !abc+a!bc+ab!c+abc=ab(c+!c)+c(a exor b) De Morgan !
HAb
aS1
R1HA
c
S
R2
R
Full Adder
R= !abc+a!bc+ab!c+abc = !abc+a!bc+ab!c+abc+abc+abc = ab(c+!c) + ac(b+!b) + bc(a+!a) = ab + ac + bc
Per il riporto si ha anche
Termini aggiunti
Adder
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 51/106
Adder
HAa0 S0
Rb0
Per sommare un numero binario di n bit basta mettere in cascata n-1 FA e un HA
NB: Normalmente i circuiti integrati forniscono FA a 4 bit.Con questa struttura si aumenta di un livello ogni
51
FAa1
S1
Rb1
FAa2
S2
Rb2
.che questa è una rete combinatoria che quindi corrisponde a una tabella della verità che è quindi sempre sintetizzabile in modo canonico ovvero a due livelli. Nei dispositivi integrati il riporto è generato a due livelli per accelerare le operazioni del blocco successivo.
Altera FA
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 52/106
Altera Full Adder
Cella elementare
Alla cella successiva
52
Simulazione timing
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 53/106
Simulazione timingAllargando il timing si vede che è 128 !!
53Zona ingrandita nella pagina seguente
Zona ingrandita
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 54/106
Zona ingrandita
54
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 55/106
Multiplexer (MUX)
Multiplexer a due vie: avvia sull’uscita (z) il valore logico di uno dei due
ingressi (a e b) secondo il valore di un bit di controllo (c).
z
a
z= a!c+bc
55
Quale è la tabella della verità, l’espressione canonica e lo schema di unMUX a 4 ingressi con due bit di controllo C1 e C2 ?
b
c
Multiplexer Altera
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 56/106
Altera Mux4to1
56
Se Inhibit=1 allora Q=0
Si l i ti i
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 57/106
Simulazione timing
57
“Buco” dovuto allo scambio degliingressi – alea statica
Ritardo fra ingresso
e uscita
Demultiplexer (DEMUX) o decoder
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 58/106
Demultiplexer a due vie di uscita: avvia su una delle due uscite (z1 e z2) ilvalore logico dell’ingresso a secondo il valore di un bit di controllo (c).
a
c
z1
z2
58
Quale è la tabella della verità, l’espressione canonica e lo schema di unDEMUX a 4 ingressi con due bit di controllo C1 e C2 ?
Si noti che il circuito si chiama anche DECODER in quanto se l’ingresso èuno , di fatto l’uscita attiva è quella che corrisponde a una delle 2n
configurazioni binarie degli n ingressi di controllo e quindi “decodifica” il
numero binario di ingresso
74138 AlteraAltera Demux 3:8
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 59/106
Altera Demux 3:8
59
Simulazione timing
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 60/106
g
disabilita disabilita
60
abilita disabilita abilita
abilita
Decod. 2
Decod. 3
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 61/106
Comparatore Altera bit per bit (valore assoluto )
61
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 62/106
1 se bit corrispondenti uguali
62
Simulazione funzionale
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 63/106
63
Solo il bit di valore16 è diverso (255-239=16)
Valore decimale corrispondentealla disparità (tutti 1 meno il bitdi valore 16)
In ASCII 255-64=191
255-80=175
Reti di costo minimo
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 64/106
• Il concetto di “costo” (che equivale a “complessità” ) non è univoco e dipende da unmolteplicità di fattori
• Nella nostra trattazione il costo minimo si riferisce alla minimizzazione del numero dioperatori necessari a realizzare una funzione a due livelli. NB le realizzazioni di costo minimo
possono essere molteplici
• Espressione minima: espressione che corrisponde a una realizzazione di costo minimo
• Es ressione normale: una somma di rodotti o rodotto di somme . Due livelli. Le
64
espressioni canoniche sono normali
• Espressione irridondante : una espressione normale SP (o PS) togliendo un termine alla qualenon si ha più equivalenza. Esempio
• Esempio 1 F= ab+bc+ad: non posso togliere alcun prodotto senza modificare la tabelladella verità.
• Esempio 2 F=b!c+ac. NON sarebbe irridondante l’espressione b!c+ab+ac (che produce la
stessa tabella della verità) e nella quale posso togliere ab senza alterare la tabella stessa
• Una rete di costo minimo (nel nostro caso) è data da una espressione normale e irridondante.
• Da qui in poi ci occuperemo solo di SP
Reti di costo minimo
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 65/106
• Implicante: termine prodotto di n o meno variabili che assume il valore1 solo per configurazioni in cui la funzione non vale 0
Esempio F= abc + ac + cd + ad
• Implicante primo: implicante che cessa di essere tale rimuovendoanche un solo suo letterale
Esempio F= ac + cd (entrambi primi )
65
• Implicante primo essenziale: implicante che è l’unico ad assumere ilvalore uno per alcune configurazioni delle variabili di ingresso in cui lafunzione assume il valore uno
Esempio F= abc + ac + cd (abc non è essenziale)
Ne consegue che una rete di costo minimo è la somma irridondante diimplicanti primi essenziali
Le mappe di KarnaughRappresentazione bidimensionale della tabella della verità di una funzione di
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 66/106
Rappresentazione bidimensionale della tabella della verità di una funzione di2,3,4,5 e 6 variabili, i cui valori di partenza sono elencati sui bordi dellamappa in maniera che due configurazioni di ingresso adiacenti (v. dopo peril significato generale) differiscano sulla mappa per il valore di un solo bit.
0 1
0
a b
0 1
00 01 11 100
1
a
bc
0 0
0 1
1 0
1 1
00 01 11 10
00
01
11
abcd
0 1
1 0
0 1
1 0
66
10 1 0 1 0
00 01 11 10
00
0111
10
abcd
0 1
1 1
0 1
0 00 0
1 0
0 1
1 0
00 01 11 10
00
0111
10
abcd
0 0
0 0
0 1
1 00 1
1 1
1 1
1 0
e=0 e=1
Le mappe di Karnaugh
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 67/106
• Le mappe di Karnaugh sono facilmente utilizzabili per evidenziare leadiacenze fra le configurazioni di ingresso per le quali l’uscita dellafunzione è uno
• L’adiacenza degli ingressi delle mappe di Karnaugh va intesa in sensosferico. Nell’ esempio successivo la casella a=0, b=0, c=0 e d=1 (in rosso)
è adiacente a quella a=1, b=0, c=0, d=1 (in verde). L’evidenziazionegrafica permette di individuare configurazioni degli ingressi chedifferiscono per i valori di una sola variabile
67
00 01 11 10
00
01
1110
ab cd
0 1
1 0
0 1
1 0
0 11 0
0 11 0
adiacenti
adiacenti
adiacenti
Le mappe di Karnaugh
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 68/106
Consideriamo ora la funzione di tre variabili espressa dalla seguente tabella dellaverità:
abc F000 1001 1010 1
011 0100 1101 0110 0
= !a!b!c+!a!bc+!ab!c+a!b!c+abc = !a!b!c+!a!b!c+!a!b!c+!a!bc+!ab!c+a!b!c+abc == !a!b+!b!c+!a!c+abc (molto più semplice )
• Cosa è stato sfruttato ? Le adiacenze fra i termini prodotto della espressionecanonica. Ma la stessa cosa posso evidenziarla su una mappa di Karnaugh !!! E leoperazioni eseguite sfruttando i teoremi dell’algebra posso ricavarle dall’analisi deiraggruppamenti adiacenti. Vanno cercati i massimi raggruppamenti rettangolari di 1 di
Idempotenza
68
dimensione (numero di caselle) potenza di 2. I termini prodotto (implicanti) di minimacomplessità (implicanti primi) si ottengono dalle variabili che nel raggruppamentoNON cambiano, prese con il valore vero se compaiono con 1 e viceversa e nonpossono essere allargati pena l’inserzione di zeri. Adiacenze sferiche !!
00 01 11 10
0
1
abc
1 1
1 0
0 1
1 0
Copertura: ogni “uno” della funzione deve essere coperto da almeno un raggruppamento
F= + abc!a!b
!a!b!c+!a!bc
+ !b!c
!a!b!c+a!b!c
+ !a!c
!a!b!c+!ab!c
Solitariomintermine !
Le mappe di Karnaughd
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 69/106
00 01 11 10
0
1
a bc
1 1
1 1
0 1
1 0
F= !b+ac+!a!c
00 01 11 1000
01
11
10
abcd
1 1
1 1
1 1
1 0
0 1
1 0
0 1
1 1
69
00 01 11 1000
01
11
10
ab
cd
0 1
1 0
0 1
1 0
0 1
1 0
0 1
1 0
Qui non ci sono mintermini adiacenti => sintesi canonica !!!
F= !a!b!cd+!a!bc!d+!ab!c!d+!abcd+ab!cd+abc!d+a!b!c!d+a!bcd
Tutti i termini prodotto presenti nellaespressione sono implicanti primi e sonoanche essenziali , nel senso che coprono“uni” non coperti da altri implicanti primi.
Anche l’implicante !a!b (tratteggiato)sarebbe primo ma non è essenziale
Le mappe di Karnaugh
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 70/106
00 01 11 10
00
01
1110
ab cd
1 1
1 1
0 1
0 0
0 01 0
0 11 1
00 01 11 10
00
01
1110
abcd
1 0
0 0
0 1
1 0
0 11 1
1 11 1
e=0 e=1
70
Le due mappe da 4 variabili differiscono per la quinta variabile e e possonoessere interpretate come due superfici sferiche concentriche
F= !b!d + !a!c!e +a!bc +ade + ac!d + bcde
V ti i ti i i ti tt l i di 0 I t i i
Sintesi come prodotto di somme
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 71/106
00 01 11 1000
01
ab
cd
1 1
1 1
0 1
0 0
00 01 11 1000
01
ab
cd
1 0
0 0
0 1
1 0
Vanno cercati i raggruppamenti massimi raggruppamenti rettangolari di 0 . I termini somma
(implicati) di minima complessità (implicati primi) si ottengono dalle variabili che nelraggruppamento NON cambiano, prese con il valore negato se compaiono con 1 eviceversa e non possono essere allargati pena l’inserzione di 1.
71
10 1 0 1 1 10 1 1 1 1
e=0 e=1
F= (!a+c+!d+e)(!a+!b+c+d)(!a+!b+!d+e)(a+!b+!c+e)(a+b+!c+!d)(a+c+!d+!e)(a+!b+d+!e)
Le mappe di Karnaugh
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 72/106
00 01 11 10
00
01
11
10
abcd
1 0
0 1
1 1
1 0
0 1
1 0
1 0
0 1
00 01 11 10
00
01
11
10
abcd
1 0
0 1
1 1
1 0
0 1
1 0
1 0
0 1
72
!b!d + b!cd +!a!bcF= !b!d +F= b!cd + !acd
Le due funzioni sintetizzate sono equivalenti , della stessa complessitàed entrambe composte da implicanti primi. Spesso vi sono sintesidiverse ed equivalenti
Le mappe di Karnaugh
• Caso delle reti combinatorie non completamente specificate: per alcune combinazioni
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 73/106
di ingresso le uscite non sono specificate (normalmente corrisponde al caso in cuicerte combinazioni di ingresso non si presentano mai – esempio: 7 segmenti in cui inumeri sono solo quelli da 0 a 9).
• In tal caso nella mappa la funzione nella casella può essere lasciata”indefinita”(indicata normalmente con x o con - ) e utilizzata sia come “uno” che come “zero” perottenere implicanti della minima complessità. Essendo indifferenza può essere sfruttata
volta a volta come uno o come zero
73
00 01 11 1000
01
11
10
ab
cd
1 1
1 0
x 1
x 0
1 1
1 1
x 1
1 1
F=!b + a+ !c!d
00 01 11 1000
01
11
10
ab
cd
1 1
1 0
1 1
0 0
1 1
1 1
1 1
1 1
Tabella di fatto sintetizzata
X => 1
X => 0
BCD | Binario
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 74/106
Progettare con le mappe di Karnaugh a partire dalla tabelladella verità un convertitore BCD
packed/binario e viceversasapendo che il massimo valoredel codice BCD è 1 1001 (19) e
-------|----------ε δχβαδχβαδχβαδχβα | edcba
0 0001 | 00001
0 0011 | 00011
0 0101 | 00101
0 0111 | 001110 1001 | 01001
1 0001 | 01011
1 0011 01101
74
convertiti. Quali sono le
condizioni di indifferenza ?
1 0101 | 01111
1 0111 | 100011 1001 | 10011
Tutte le altre configurazionisono indifferenze
Da BCD a binario
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 75/106
BCD | Binario
-------|----------
ε δχβαδχβαδχβαδχβα | edcba
0 0001 | 00001
0 0011 | 00011
0 0101 | 00101
0 0111 | 00111
00 01 11 10
00
01
11
δχδχδχδχβαβαβαβα
- 0- 0
1 -1 -
- -
-
- -
- -
00 01 11 1000
01
11
δχδχδχδχβαβαβαβα
- 1
- 1
0 -
0 -
- -
-
- -
- -
75
0 1001 | 01001
1 0001 | 010111 0011 | 01101
1 0101 | 01111
1 0111 | 10001
1 1001 | 10011
b= !εβε!β +
ε=0 ε=1
= ε ⊕ β
Sintetizzare le altre funzioni
Mappe di Karnaugh a 6 variabili
ba
00 01 11 10dcba
00 01 11 10dc
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 76/106
0001
11
10
1 0- 0
0 01 -
- -
- 0
- -
- -
0001
11
10
1 1- 0
0 11 -
- -
- 1
- -
- -
ez=00 ez=01
00 01 11 10dcba
00 01 11 10dcba
76
0111
10
0 0
-
- -- -
1 0
- -
- -
0111
10
- 0
-
1 -- -
- 1
- -
- -
ez=10 ez=11
F = !a!b!c!z + bc + a!b!cz + !a!ez
F = (b+!a+z) (!b+c+z) (!b+!a+c+!z)(b+!c)(a+!e+!z)
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 77/106
Esercizio
Utilizzando dei FA a 4 bit progettare un sommatore BCD packed in Altera(si ricordi che se nella somma si ottengono numeri BCD – nibbles -maggiori di 9 oppure vi è un riporto fra i digit allora bisogna aggiungere6
77
Sommatore BCD integrato
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 78/106
78
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 79/106
79Interpretare, riportare e simulare con ALTERA
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 80/106
80
Circuiti a NAND (NOR)
• Pur essendo disponibili sia a livello di circuiti integrati che di FPGA tutte le funzioni logicheelementari (AND, OR, NOT) può talvolta risultare utile utilizzare un solo tipo di dispositivi e
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 81/106
( , , ) p p p
in particolare i NAND (NOR)• Infatti tutte le funzioni elementari possono essere realizzate solo con NAND (NOR)
X Z
Xy Z
1
Xy
Z
X Z1X Z
ZX1
81
yY
1
Qualunque circuito a due livelli del tipo SP (PS) può essere realizzato con soliNAND (NOR) sostituendo AND e OR e NOT con NAND (NOR). Esempio multiplexera 2 vie con SP
(De Morgan)
za
b
c
a z
b
c 1
z = ![(!(a!c) !(bc)] = a!c + bc (De Morgan)
Driver 3-state
I U
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 82/106
OE
I UOE=0
OE=1
I U
I
OE
U
Quale è il valore della tensione ?
OE I
1 0
1 1
0 0
0 1
U
0
1
Z
Z?
1
Quale valore logico assume U ?
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 83/106
OE=0
0U=?
Che cosa è necessario garantire nella rete seguente ?
Quando il segnale U assume un valore logico significativo ?
1 U=?
OE1
OE2
I1
I2
Circuiti con bus comune• Molto spesso (in particolare nei sistemi a microprocessore) molti dispositivi
debbono – in tempi diversi - pilotare uno stesso filo (nel caso di molti di molti
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 84/106
dispositivi con molti fili di identica tipologia si parla di bus ) e l’uso dei multiplexer(nel caso di molti ingressi – ad esempio 30, 40) può risultare particolarmenteoneroso per la complessità del circuito.
• In tal caso si usano dispositivi con uscita tri-state ovvero dispositivi che possonoessere o abilitati (e in tal caso l’uscita si comporta logicamente come previstodalla funzione) o disabilitati (e in tal caso l’uscita è elettricamente disconnessa dal
filo di uscita). Tipicamente i tri-state sono dei buffer
X Y
C=1 X C Y0 1 0
84
1 1 1-----------0 0 Z1 0 Z
AltaimpedenzaX Y
C=0
Nel caso C=0 il filo Y è volante , non connesso ad alcun potenziale !!!!!!!!! Lo stato di alta impedenza NON è uno stato logico e NON si propaga
0
0
YY non è in alta impedenza ma l’uscita del secondo invertitore assume il valore che deriva da avere un ingresso volante (che in genere è interpretato come un “uno” un po’
“sporco”)
0
0
Y
244
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 85/106
1A1
1A2
1A3
1A4
1Y1
1Y2
1Y3
1Y4
74XX244Driver 3-state ad 8-bit(strutturato in 2 gruppi di 4 bit)
85
2A1
2A2
2A3
2A4
2Y1
2Y2
2Y3
2Y4
EN1* EN2*
ENx * (vero negato )
x Ai
x Yi
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 86/106
86
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 87/106
87
Integrati Notevoli: “245”
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 88/106
EN*
A1
A2
A3
A4
B1
B2
B3
B4
74XX245Driver bidirezionale (transceiver)ad 8-bit.
88
Bi
DIR
Ai A6
A7
A8
B6
B7
B8
EN* DIR
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 89/106
89
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 90/106
90
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 91/106
91
Multiplexer con tristate
X
C0
X
C1
X
Cn
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 92/106
X0 X1 Xn
Ci sono i segnali di decodifica che abilitano una delle sorgenti di segnale. Se il bus èa molti fili uno stesso segnale Ci abilita tutti i buffer della stessa molteplicità di
sorgenti
92
Memorie Eprom
“0”
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 93/106
0 1 1
1 1 0
D
E
C
O
DE
R
0
“1”
“2 n-1”
01
n
93
Y0 Y1 Y7
Si noti che con una EPROM è possibile sintetizzare in modo canonico 8 (otto)funzioni combinatorie di n variabili
Yi =“0”Fi (0)+”1”Fi (1)+”2”Fi (2) +… “i”Fi (i)… “2 n-1 “Fi (2n-1)
ove Fi (i) assume il valore 0 o 1
EPROM
2n-1
W
Z
2n-2
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 94/106
m f
W2n-2
94
3
2
1
0 a
b
c
d
Memorie EPROM
• Memorie non volatili a sola letturaC ità lti li di 2EPROM
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 95/106
Memorie non volatili a sola lettura• Capacità a multipli di 2 :32K, 64K, 128K, 256K……
• Sigle: 27512, 271024 (indicano ilnumero di Kbits )
VPP
A16
A15
A12
A7
A6
A5
VCC
PGM*
NC
A14
A13
A8
A9
EPROM1
2
3
4
5
6
7
32
31
30
29
28
27
26 Ai
95
A4
A3
A2
A1
A0
D0
D1D2
GND
A11
OE*
A10
CE*
D7
D6
D5D4
D3
8
910
11
12
13
1415
16
25
24
23
22
21
20
1918
17
128K ×××× 8
CE*
OE*
Di
T ce
T acc
T oe
CE*OE*
DiCella M/bit i
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 96/106
Realizzare tramite EPROM un convertitore a 6 bit Gray/Binario eBinario/Gray (si ricordi che una EPROM permette di fatto di
96
.
http://ee.usc.edu/ee459lib/datasheets/DM74LS181.pdf
ALU
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 97/106
97
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 98/106
98
• M=1 tutti i carries interni sono inibiti e il dispositivo esegue le funzioni logiche ditabella
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 99/106
tabella• M=0 i carries interni sono abilitati e il dispositivo esegue le funzioni aritmetiche di
tabella• Ci sono tre tipi di carries:
• Ripple Carry (CN4) che è il normale carry
• Due tipi di carry look-ahead ’
99
mode) oppure minore o uguale a zero (SUB mode)
• Carry generate (!G): attivo se l’uscita è maggiore o uguale a 16 (ADD mode)oppure minore di zero (SUB mode)
• I due carries look-ahead NON dipendono dall’ingresso CN (Carry IN)
• Vi è anche una uscita per l’eguaglianza dei due ingressi (Aeq) open collector per ilwired OR
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 100/106
100
N.B. La nota 1 indica che il dato è traslato di una posizione a sinistra (che equivale alla moltiplicazione per 2 )
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 101/106
101http://www.eecs.umich.edu/~jhayes/iscas.restore/74181.html
Esempio
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 102/106
S3=L S2=H S1=H S0=H M=H
Logica Logica
positiva negativa
AB Z Zp Zn
LL L 00 0 11 1
LH L 01 0 10 1
102
HL H 10 1 01 0
HH L 11 0 00 1
Zp=A!B Zn=A+!A!B=A+!B
N.B. Il rapporto ingresso/uscita è fra valori alti (H) e bassi (L). L’interpretazionedei segnali può essere considerata in logica positiva o negativa
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 103/106
103
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 104/106
104
Altera 74181
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 105/106
105
Buffer
5/10/2018 02 - Reti combinatorie - slidepdf.com
http://slidepdf.com/reader/full/02-reti-combinatorie 106/106
106
Simulare !!!
Top Related