reti logiche: analisi, sintesi e minimizzazione esercitazione · punto della situazione •stiamo...

44
Reti logiche: analisi, sintesi e minimizzazione Esercitazione Venerdì 9 ottobre 2015

Upload: vungoc

Post on 15-Feb-2019

272 views

Category:

Documents


2 download

TRANSCRIPT

Reti logiche:analisi, sintesi e minimizzazione

Esercitazione

Venerdì 9 ottobre 2015

Punto della situazione

• Stiamo studiando le reti logiche costruite a partire dalle porte logiche AND, OR, NOT per progettare l’ALU (Unità Logico Aritmetica), componente essenziale del calcolatore, e altri moduli.

• Reti logiche = espressioni booleane

• Obiettivo di oggi: passaggio da espressione booleana a rete logica di costo minimale

Operatori logici

• Una funzione di variabili binarie e a valore binario viene detta funzione logica o di commutazione.

• Ogni funzione logica può essere definita in termini di semplici operatori logici di 1 o 2 variabili: AND, OR, NOT.

• Esistono però degli altri operatori logici importanti: XOR, NAND, NOR.

AND ovvero il prodottoAND(x,y) con x, y variabili che possono assumere valore Vero o Falso. Risultato Vero se entrambe le variabili sono poste a Vero, Falso, altrimenti. Interpretando Vero come 1 e Falso come 0.

AND(x,y) corrisponde al prodotto x y.

AND(F,F) = FAND(F,V) = FAND(V,F) = FAND(V,V) = V

0 0 = 00 1 = 01 0 = 01 1 = 1

x y x * y 0 0 00 1 01 0 01 1 1

Tavola di verità

OR ovvero la sommaOR(x,y) con x, y variabili che possono assumere valore Vero o Falso.

Risultato Vero se almeno una variabile è posta a Vero, Falso, altrimenti.

Interpretando Vero come 1 e Falso come 0

OR(x,y) corrisponde alla somma x + y, in cui 1+1 = 1.

OR(F,F) = FOR(F,V) = VOR(V,F) = VOR(V,V) = V

0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 1

x y x + y 0 0 00 1 11 0 11 1 1

Tavola di verità

NOT ovvero la negazioneNOT(x) con x variabile che può assumere valore Vero o Falso.

Risultato Vero se la variabile è posta a Falso;

Falso, altrimenti.

Interpretando Vero come 1 e Falso come 0

NOT(x) corrisponde alla negazione.

NOT(V) = FNOT(F) = V

0 = 11 = 0

x x 0 11 0

La combinazione delle variabili e degli operatori viene chiamata espressione logica.

Espressione SOPLetterale = variabile o la sua negazione

• Un’espressione booleana è in forma normale SOP (Sum Of Products) quando è l’OR/somma di AND/prodotto di letterali

• Mintermine = prodotto di letterali in cui compare ognivariabile o vera o negata

• Una espressione normale SOP è in forma canonica SOP se i suoi termini sono tutti mintermini

Scambiando Somma con Prodotto si definiscono le espressioni POS

3131321 xxxxxxx

321321321 xxxxxxxxx

Espressione POSLetterale = variabile o la sua negazione

• Un’espressione booleana è in forma normale POS (Product Of Sums ) quando è il prodotto (AND) di somme (OR) di letterali

• Maxtermine = somma di letterali in cui compare ognivariabile o vera o negata

• Una espressione normale POS è in forma canonica POS se i suoi termini sono tutti maxtermini

))(( 3132 xxxx

))(( 321321 xxxxxx

Rete logica

Una rete logica è un’interconnessione di porte logiche AND, OR, NOT, in modo che ogni uscita da una porta alimenti al più un ingresso di una porta e non vi siano cicli

Risultati principali

Corrispondenza fra funzioni logiche e reti logiche:

Analisi: data una rete determinare la funzione calcolata

Sintesi: data una funzione logica costruire una rete che la calcola

• Per ogni funzione logica possiamo costruire una rete logica che la realizza e viceversa

• Ogni funzione logica può essere espressa in termini soltanto di AND, OR, NOT.

Analisi e Sintesi di reti

• Analisi è abbastanza semplice:– Calcola per ogni porta logica di cui sono specificati

tutti gli input l’espressione booleana associataall’output• Fino ad ottenere l’espressione associata al terminale d’uscita

della rete

• Vediamo ora la sintesi di una funzione logica f:1. Da f alla tavola di verità2. Dalla tavola di verità all’espressione «SOP»3. Dall’espressione «SOP» ad una rete a due stadi: il primo di

porte AND, il secondo con una sola porta OR

Dalla tavola di verità alla SOP

Se invece la tavola di verità ha più occorrenze di 1:

f ha valore 1 se:

x3=0, x2=1, x1=1 oppure

x3=1, x2=0, x1=1

x3 x2 x1 f

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 0

x3 x2 x1

x3 x2 x1

f = x3 x2 x1 + x3 x2 x1

Espressione SOP

1. Per ogni 1 nella tavola di verità trovare il mintermine corrispondente

2. Sommare i mintermini ottenuti

Dalla tavola di verità alla SOP: esempio 2

Dalla tavola di verità all’espressioneSOP

Espressione SOP

Nota

Dall’espressionecanonica SOP alla rete a due livelli SOP /AND-to-OR: nel primo livello varie porte AND, nel secondo livello solo una porta OR

Nota: le porte sono state estese in modo da poter avere più di 2 ingressi

Minimizzazione di reti combinatorie

Sinonimi:Reti logiche, reti combinatorieFunzioni logiche, funzioni di commutazione

Valutazione delle Prestazioni di una Rete Combinatoria

• Per ogni funzione di commutazione esistonodiverse reti combinatorie che la realizzano– Qual è la migliore?

• Quella che ha le migliori prestazioni

• Le prestazioni di una rete combinatoria vengonomisurate in termini di– Velocità

– Costo

• Esiste una tecnica che ci permette di sintetizzare la rete in modo da massimizzare le prestazioni?

23

Velocità di una Rete Combinatoria• La velocità della rete viene misurata calcolando il tempo che

passa da quando i segnali sono disponibili sui terminali di input a quando un segnale è disponibile sul terminale di output

• Quando un segnale attraversa una porta logica subisce un piccolo ritardo

• La velocità di una rete dipende dal massimo numero di portelogiche che un segnale deve attraversare per andare da un terminale di input al terminale di output

• Faremo sempre riferimento a reti a due livelli– Sono le più veloci tra quelle che possono realizzare qualsiasi funzione

– Le reti ad un livello possono realizzare un insieme molto limitato di funzioni

24

Costo di una rete/espressione logica

• Il costo della rete dipende da– Numero di porte logiche– Numero di linee di input

• Tra tutte le reti AND-to-OR (SOP) che realizzano unacerta funzione di commutazione una rete è minimale se– Ha il minor numero di porte AND– Tra tutte quelle che hanno il minor numero di porte AND ha

il minor numero di linee di input

• Un’espressione in forma normale SOP è minimale se– Ha il minor numero di termini prodotto possibile– Tra tutte le espressioni equivalenti che hanno il minor

numero di prodott,i ha il minor numero di letterali

25

Minimizzazione di espressioni booleane

• La minimizzazione di espressioni booleane non è un processo semplice e diretto. Si possonoutilizzare le regole contenute nella seguentetabella.

• Per poche variabili invece è possibile utilizzare la Mappa di Karnaugh per semplificare il processo

– una rappresentazione particolare delle tavole di veritàche consente di individuare facilmente i minterminiadiacenti

– Utile fino a 4 variabili

26

Esercizio: verificare che (x+y)(x+z) = x+yz confrontando le rispettive tavole di verità

Esempi

3142 xxxxf

))(( 314231423142 xxxxxxxxxxxx 𝑓=

3214432143214321 )( xxxxxxxxxxxxxxxx

Esempio 1Applicando la proprietà distributiva e del complemento si ha:

Esempio 2Applicando le leggi di De Morgan si dimostra:

EsempioUsando le identità, si può passare dalla forma normale SOP a quella canonica SOP

Esempio:

non è in forma canonica.

131321321 ),,( xxxxxxxxxf

131321321 ),,( xxxxxxxxxf

321321321321 xxxxxxxxxxxx

321321321321321321321 xxxxxxxxxxxxxxxxxxxxx

))(()( 332213221321 xxxxxxxxxxxx

È in forma canonica!

Esempio (maggioranza)Sia f(x3,x2,x1) la funzione che vale 1 se (e solo se) la maggioranza delle variabili vale 1.

Ieri abbiamo visto:

x3 x2 x1 f

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

123123123123123 ),,( xxxxxxxxxxxxxxxf

Da cui si ottiene una rete con 4 porte AND a 3 ingressi ciascuna e 1 porta OR a 4 ingressi

Esempio (maggioranza, ctd.)

Applicando le regole di uguaglianza otteniamo:

123123123123123 ),,( xxxxxxxxxxxxxxxf

123123123123123123 xxxxxxxxxxxxxxxxxx

)()()( 112313221233 xxxxxxxxxxxx

231312 xxxxxx

Da cui si ottiene una rete con 3 porte AND a 2 ingressi ciascuna e 1 porta OR a 3 ingressi!

NOTA: per semplificare abbiamo ridotto due mintermini che differivano solo in 1 variabile

Esempio (maggioranza, ctd.)

Qual è il significato di queste due diverse «espressioni»?

123123123123123 ),,( xxxxxxxxxxxxxxxf

231312 xxxxxx

Sintesi di una Rete Minimale

• Data una funzione di commutazione, vogliamosintetizzare una rete combinatoria che la realizza e che

– Sia a due livelli

– Abbia costo minimo

33

MinterminiSia f una funzione su 3 variabili x3, x2, x1.

Letterale = variabile o la sua negazione

Mintermine = prodotto di letterali in cui compare ogni variabile o vera o negata

Ad ogni mintermine associamo una tripla binaria b3b2b1 dove bi=1 se xi compare in forma vera, 0 altrimenti. Per esempio:

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

x3 x2 x1

m0

m1

m2

m3

m4

m5

m6

m7

mintermini

5)101(123 101 mmxxx

5)101(123 101 mmxxx

0)000(123 000 mmxxx

Minimizzazione di una Espressione SOP

• Si parte dall’espressione in forma canonica SOP

• Due mintermini sono detti adiacenti se differiscono su unasola variabile

35

1234 xxxx1234 xxxx

2341123412341234 )( xxxxxxxxxxxxxxxx

Un’espressione che contiene due mintermini adiacenti puòessere minimizzata nel seguente modo

Da 2 prodotti e 8 occorrenze di letterali siamo passati a 1 prodotto e 3 letterali

Abbiamo bisogno di un metodo che ci permette di individuarevelocemente i mintermini adiacenti

Mappe di Karnaugh• Sono tabelle a due dimensioni che rappresentano la tavola di verità della

funzione in un modo diverso.

• Hanno 2n quadrati se n è il numero di variabili

• Ogni quadrato contiene il valore fi di un mintermine mi

36

f0

f1

f0

f1

f2

f3

f0

f1

f2

f3

f6

f7

f4

f5

f0

f1

f4

f5

f12

f13

f8

f9

f3

f2

f7

f6

f15

f14

f11

f10

Mappe di Karnaugh

• Etichettiamo ogni casella con la corrispondenteconfigurazione degli input– Ogni casella identifica un mintermine– Le etichette di caselle adiacenti sulla mappa differiscono per un

solo bit e corrispondono a mintermini adiacenti

37

0

1

00

01

10

11

0000

0001

0100

0101

1100

1101

1000

1001

000

001

010

011

110

111

100

101

0011

0010

0111

0110

1111

1110

1011

1010

Adiacenti

Adiacenti

Adiacenti

Mappe di Karnaugh• Etichettiamo ogni casella con la corrispondente configurazione degli

input– Ogni casella identifica un mintermine– Le etichette di caselle adiacenti sulla mappa differiscono per un solo bit

e corrispondono a mintermini adiacenti

38

0

1

00

01

10

11

000

001

010

011

110

111

100

101

0000

0001

0100

0101

1100

1101

1000

1001

0011

0010

0111

0110

1111

1110

1011

1010

x4x3

00 01 11 10x2x1

00

01

11

10

Adiacenti

x3x2

00 01 11 10x1

Adiacenti

0

1

Etichettatura delle Mappe di Karnaugh

• Le righe sui bordi della tabelle identificano le aree della tabella contenenti caselle in cui unacerta variabile è presente in forma vera (1)

39

x1 x1

x2

x1

x2

x3

x1

x2

x3

x4

Etichettatura delle Mappe di KarnaughLe righe sui bordi della tabelle identificano le aree dellatabella contenenti caselle in cui una certa variabile èpresente in forma vera (1)

40

x1 x1

x2

x1

x2

x3

x1

x2

x3

x4

0

1

00

01

10

11

0000

0001

0100

0101

1100

1101

1000

1001

000

001

010

011

110

111

100

101

0011

0010

0111

0110

1111

1110

1011

1010

Rappresentazione di una funzione sulla Mappa

f = m0 + m2 + m3 + m4 + m5

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

10111100

fx3 x2 x1

f0f1f2f3f4f5f6f7

m0

m1

m2

m3

m4

m5

m6

m7

minterminif0

f1

f2

f3

f6

f7

f4

f5x1

x3

x2

1

0

1

1

0

0

1

1x1

x3

x2

Rappresentata con la tavola di verità e .... con la mappa di Karnaugh

Riepilogo e riferimenti

• Analisi e sintesi di rete logiche

• Minimizzazione di reti logiche con le mappe di Karnaugh

[PH] appendice B.1, B.2

[PH_IIIed] appendice C.1, C.2, C.3

[P] par. 4.1, 4.2, 4.3, 4.4.

La prossima volta: la minimizzazione con le mappe di Karnaugh [P] par. 4.4

Esercizio (SOP)

Determinare l’espressione canonica SOP della funzione definita dalla seguente tavola di verità

x2 x1 f

0 0 1

0 1 0

1 0 1

1 1 0

Esercizio (POS)

Determinare l’espressione canonica POS della funzione definita dalla seguente tavola di verità

Suggerimento: usare le leggi di De Morgan

x2 x1 f

0 0 0

0 1 1

1 0 0

1 1 1

Esercizi

• Disegnare una rete logica che realizza lo XOR fra due variabili

• L’operazione di NAND di 2 variabili è la negazione dell’AND, mentre quella di NOR è la negazione dell’OR.

Quindi ogni funzione booleana può essere realizzata con solo porte NAND