02 - reti combinatorie

106
  I lucidi da 2 a 9 sono presi dal corso di Reti Logiche LA tenuto nell’AA 2008-2009 dal prof. S.Mattoccia 

Upload: blackcoursar

Post on 08-Jul-2015

114 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 02 - Reti combinatorie

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 

Page 2: 02 - Reti combinatorie

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

Page 3: 02 - Reti combinatorie

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

Page 4: 02 - Reti combinatorie

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

Page 5: 02 - Reti combinatorie

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

Page 6: 02 - Reti combinatorie

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

Page 7: 02 - Reti combinatorie

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

Page 8: 02 - Reti combinatorie

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

Page 9: 02 - Reti combinatorie

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

Page 10: 02 - Reti combinatorie

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

Page 11: 02 - Reti combinatorie

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

Page 12: 02 - Reti combinatorie

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)

Page 13: 02 - Reti combinatorie

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

Page 14: 02 - Reti combinatorie

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

Page 15: 02 - Reti combinatorie

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

Page 16: 02 - Reti combinatorie

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) 

Page 17: 02 - Reti combinatorie

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 

Page 18: 02 - Reti combinatorie

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

Page 19: 02 - Reti combinatorie

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

Page 20: 02 - Reti combinatorie

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

Page 21: 02 - Reti combinatorie

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

Page 22: 02 - Reti combinatorie

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)

Page 23: 02 - Reti combinatorie

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)

Page 24: 02 - Reti combinatorie

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

Page 25: 02 - Reti combinatorie

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

Page 26: 02 - Reti combinatorie

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

Page 27: 02 - Reti combinatorie

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

Page 28: 02 - Reti combinatorie

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 

Page 29: 02 - Reti combinatorie

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 

Page 30: 02 - Reti combinatorie

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

Page 31: 02 - Reti combinatorie

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)

Page 32: 02 - Reti combinatorie

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

Page 33: 02 - Reti combinatorie

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

Page 34: 02 - Reti combinatorie

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

Page 35: 02 - Reti combinatorie

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

Page 36: 02 - Reti combinatorie

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 

Page 37: 02 - Reti combinatorie

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

Page 38: 02 - Reti combinatorie

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

Page 39: 02 - Reti combinatorie

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

Page 40: 02 - Reti combinatorie

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)

Page 41: 02 - Reti combinatorie

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

Page 42: 02 - Reti combinatorie

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

Page 43: 02 - Reti combinatorie

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

Page 44: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 44/106

44

Simulazione timing

Page 45: 02 - Reti combinatorie

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

Page 46: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 46/106

46

Page 47: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 47/106

47

Esempio di transcodifica:

Page 48: 02 - Reti combinatorie

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

Page 49: 02 - Reti combinatorie

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

Page 50: 02 - Reti combinatorie

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

Page 51: 02 - Reti combinatorie

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

Page 52: 02 - Reti combinatorie

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

Page 53: 02 - Reti combinatorie

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

Page 54: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 54/106

Zona ingrandita

54

Page 55: 02 - Reti combinatorie

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

Page 56: 02 - Reti combinatorie

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

Page 57: 02 - Reti combinatorie

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

Page 58: 02 - Reti combinatorie

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

Page 59: 02 - Reti combinatorie

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

Page 60: 02 - Reti combinatorie

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

Page 61: 02 - Reti combinatorie

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

Page 62: 02 - Reti combinatorie

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

Page 63: 02 - Reti combinatorie

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

Page 64: 02 - Reti combinatorie

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

Page 65: 02 - Reti combinatorie

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

Page 66: 02 - Reti combinatorie

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

Page 67: 02 - Reti combinatorie

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

Page 68: 02 - Reti combinatorie

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

Page 69: 02 - Reti combinatorie

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

Page 70: 02 - Reti combinatorie

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

Page 71: 02 - Reti combinatorie

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

Page 72: 02 - Reti combinatorie

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

Page 73: 02 - Reti combinatorie

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

Page 74: 02 - Reti combinatorie

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

Page 75: 02 - Reti combinatorie

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

Page 76: 02 - Reti combinatorie

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)

Page 77: 02 - Reti combinatorie

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

Page 78: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 78/106

78

Page 79: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 79/106

79Interpretare, riportare e simulare con ALTERA

Page 80: 02 - Reti combinatorie

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

Page 81: 02 - Reti combinatorie

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

Page 82: 02 - Reti combinatorie

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 ?

Page 83: 02 - Reti combinatorie

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

Page 84: 02 - Reti combinatorie

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

Page 85: 02 - Reti combinatorie

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 

Page 86: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 86/106

86

Page 87: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 87/106

87

Integrati Notevoli: “245”

Page 88: 02 - Reti combinatorie

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

Page 89: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 89/106

89

Page 90: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 90/106

90

Page 91: 02 - Reti combinatorie

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

Page 92: 02 - Reti combinatorie

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”

Page 93: 02 - Reti combinatorie

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

Page 94: 02 - Reti combinatorie

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

Page 95: 02 - Reti combinatorie

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

Page 96: 02 - Reti combinatorie

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

Page 97: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 97/106

97

Page 98: 02 - Reti combinatorie

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

Page 99: 02 - Reti combinatorie

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

Page 100: 02 - Reti combinatorie

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 )

Page 101: 02 - Reti combinatorie

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

Page 102: 02 - Reti combinatorie

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

Page 103: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 103/106

103

Page 104: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 104/106

104

Altera 74181

Page 105: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 105/106

105

Buffer

Page 106: 02 - Reti combinatorie

5/10/2018 02 - Reti combinatorie - slidepdf.com

http://slidepdf.com/reader/full/02-reti-combinatorie 106/106

106

Simulare !!!