30
University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione 3 - Andrea Gerosa - [email protected] Tel. 049-827-7728

University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Embed Size (px)

Citation preview

Page 1: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

University of PadovaInformation Engineering Dept. – Microelectronics Lab.

Corso di Laurea in Ingegneria dell’Informazione

Elettronica Digitale- Lezione 3 -

Andrea Gerosa - [email protected]. 049-827-7728

Page 2: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Ottimizzazione circuitale

Obiettivo: implementazione più semplice Procedura formale Definizione di un criterio di costo:

• costo di letterali (L)• costo di ingressi a porte logiche (gate) (G)• costo di ingressi negati a porte logiche (GN)

Page 3: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Numero di letterali che compongono un’espressione logica

Esempi:• F = BD + A C + A L=8• F = BD + A C + A + AB L=11• F = (A + B)(A + D)(B + C + )( + + D) L=10D

L

DB C

B B D C

B C

Page 4: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

G e GN Numero di ingressi alle porte logiche di tutti i livelli (G – senza

contare le inversioni, GN – contando le inversioni)

Nel caso di SOP e POS, si trova sommando:• tutti i letterali (L)

• il numero di termini della somma o del prodotto, escludendo i termini a letterale singolo (G) e

• il numero di variabili negate (GN).

Page 5: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Esempio:

F = A + B C +

Costo

A

BC

F

B CL = 5G = L + 2 = 7

GN = G + 2 = 9

Page 6: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Esempio 2:

F = A B C + L = 6 G = 8 GN = 11 F = (A + )( + C)( + B) L = 6 G = 9 GN = 12

Costo

B C

A

ABC

F

C B

F

ABC

A

Page 7: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Mappe di Karnaugh (K-map)

K-map = insieme di caselle• è una rappresentazione grafica di una funzione logica• ogni casella rappresenta un mintermine• caselle adiacenti differiscono per ila valore di una sola

variabile• individuiamo la soluzione minima raggruppando

opportunamente le caselle La K-map è una rielaborazione di una tebella di

verità

Page 8: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

K-map a 2 variabili

y = 0 y = 1

x = 0 m

0 = m1 =

x = 1 m2 =

m

3 =

yx yx

yx yx

Page 9: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

K-Map e tabella di verità

K-Map

(x,y)

F(x,y)

0 0 a 0 1 b 1 0 c 1 1 d

y = 0 y = 1 x = 0 a b x = 1 c d

Page 10: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Semplificazione

F(x,y) = x

I due “1” adiacenti possono essere combinati in un unico rettangolo, sfruttando il teorema di semplificazione:

F = x y = 0 y = 1

x = 0 0 0

x = 1 1 1

xyxyx)y,x(F

Page 11: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Semplificazione

G(x,y) = x + y G = x+y y = 0 y = 1

x = 0 0 1

x = 1 1 1

yxyxxyyxyx)y,x(G

Page 12: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

K-Map a tre variabili

yz=00 yz=01 yz=11 yz=10

x=0 m0 m1 m3 m2

x=1 m4 m5 m7 m6

yz=00 yz=01 yz=11 yz=10

x=0

x=1

zyx zyx zyx zyx

zyx zyx zyx zyx

Page 13: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Rappresentazioni alternative

y

z

x

10 2

4

3

5 67

x

y

zz

yy z

z

10 2

4

3

5 67

x

0

1

00 01 11 10

x

Page 14: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

y

x

10 2

4

3

5 67

1

11

1

z

x

y10 2

4

3

5 671 11

1

z

(2,3,4,5) z)y,F(x, m

(3,4,6,7) z)y,G(x, m

Page 15: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Mappe a più variabili

Page 16: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

ABCCBACBACBA

CBAF

,,

Semplificare le funzioni con le Mappe

7,5,2,1,, mCBAF ABC 00 01 11 10

0

1

0

1

2

3

6

7

4

5

1

1

1 1

0

0

0 0

CACB

CBA

ABCCBACBACBACBA

ACCBCBA

Page 17: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Come raggruppare le celle

Data la Mappa di K. di una funzione logica F a n variabili (quindi con 2n celle),

è possibile raggruppare k mintermini (cioè celle a “1”):• se in tale insieme esistono =log2k variabili che

assumo tutte le k possibili combinazioni binarie

Sono gruppi di celle adiacenti sulla Mappa Il gruppo rappresenta un termine prodotto

che dipende da n- variabili• è un implicante

Page 18: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

yzyyz

zyxzyxzyxzyx)z,y,x(F

x

y10 2

4

3

5 671 1

11

z

m(2,3,6,7) F

Page 19: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Definizioni

Implicante: data la funzione F(x1,…,xn), un termine prodotto P(x1,…,xn) è un implicante di F se:• P(x1,…,xn)=1 F(x1,…,xn)=1

• qualsiasi gruppo di celle sulla K-Map

Implicante primo: un implicante è primo se:• tutti i termini prodotto ottenuti eliminando uno

dei letterali dell’implicante, non sono più implicanti della funzione F

• gruppi di celle sulla K-Map che non possono essere contenuti in gruppi più grandi

Page 20: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Implicanti

I 4 mintermini sono implicanti

Esistono 4 implicanti a 2 variabili (2 celle)

Esiste 1 implicante primo a 1 variabile (4 celle)

x

y10 2

4

3

5 671 1

11

z

m(2,3,6,7) F

xyzzxyyzxzyx ,,,

yzzyxyyx ,,,

y

Page 21: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Teorema dell’implicante primo

Def. Somma minima di una funzione F: è la realizzazione come SOP a costo minimo.

Teorema. I termini prodotto della somma minima sono tutti implicanti primi.• Dim. x assurdo: sia P(x1,…, xn) un implicante

non primo che compone la somma minima.

• esiste xk tale che P*=P(x1,…xk-1,xk+1,…, xn) è un implicante di F.

• sostituendo P con P* nella somma minima si ottiene una realizzazione di F a costo minore

Page 22: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Somma minima

È composta da soli implicanti primi• non necessariamente tutti gli implicanti primi

Obiettivo: individuare sulla K-Map tutti gli implicanti primi• gruppi di celle più grandi

Page 23: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Es. 2.2

131175321 ,,,,,,:,,, mmmmmmmsetOndcbaF

ABCD 00 01 11 10

00

01

11

10

0

1

3

2

4

5

7

6

12

13

15

14

8

9

11

10

111

11 1

1

Page 24: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Es. 2.2

Page 25: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Es. 2.3

151413121195431 ,,,,,,,,:,,, mmmmmmmmmmsetOndcbaF

ABCD 00 01 11 10

00

01

11

10

0

1

3

2

4

5

7

6

12

13

15

14

8

9

11

10

11

11 1

111

11

5 implicanti primi• vanno inclusi tutti?

La somma completa (somma di tutti gli implicanti) sicuramente copre la funzione ma non è

necessariamente minima

Page 26: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Es. 2.3

151413121195431 ,,,,,,,,:,,, mmmmmmmmmmsetOndcbaF

ABCD 00 01 11 10

00

01

11

10

0

1

3

2

4

5

7

6

12

13

15

14

8

9

11

10

11

11 1

111

11

3 implicanti sono sufficienti a coprire tutti i mintermini

Page 27: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Implicanti primi essenziali

Def. Data la Mappa di Karnaugh di una funzione F si definisce cella 1-distinta:• un mintermine che è contenuto in un unico

implicante primo

Def. Un implicante primo si definisce essenziale se:• sulla Mappa di Karnaugh include almeno una

cella 1-distinta

Gli implicanti primi essenziali devono essere inclusi nella somma minima.

Page 28: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Es. 2.4

15147543210 ,,,,,,,,:,,, mmmmmmmmmsetOndcbaF

ABCD 00 01 11 10

00

01

11

10

0

1

3

2

4

5

7

6

12

13

15

14

8

9

11

10

11 1

11

11 1

1

5 implicanti primi Cerchiamo le

celle 1-distinte

abccabadcbaF ,,,

Page 29: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Mappa ridotta

ABCD 00 01 11 10

00

01

11

10

0

1

3

2

4

5

7

6

12

13

15

14

8

9

11

10

1

Eliminiamo i mintermini già coperti e gli implicanti primi essenziali

abccabadcbaF ,,,

Page 30: University of Padova Information Engineering Dept. – Microelectronics Lab. Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione

Chapter 2 - Part 2 30

Terms of Use All (or portions) of this material © 2008 by Pearson

Education, Inc. Permission is given to incorporate this material or

adaptations thereof into classroom presentations and handouts to instructors in courses adopting the latest edition of Logic and Computer Design Fundamentals as the course textbook.

These materials or adaptations thereof are not to be sold or otherwise offered for consideration.

This Terms of Use slide or page is to be included within the original materials or any adaptations thereof.