Circuiti Combinatori

56
Circuiti Combinatori Capitolo 3

description

Circuiti Combinatori. Capitolo 3. Introduzione. Circuiti combinatori Gli ingressi e le uscite prevedono solo 2 stati logici Logica positiva Livello di tensione basso → 0 logico Livello di tensione alto → 1 logico Logica negativa Livello di tensione basso → 1 logico - PowerPoint PPT Presentation

Transcript of Circuiti Combinatori

Page 1: Circuiti Combinatori

Circuiti Combinatori

Capitolo 3

Page 2: Circuiti Combinatori

Introduzione

Circuiti combinatori Gli ingressi e le uscite prevedono solo 2 stati logici

Logica positiva Livello di tensione basso → 0 logico Livello di tensione alto → 1 logico

Logica negativa Livello di tensione basso → 1 logico Livello di tensione alto → 0 logico

Le uscite dipendono esclusivamente dagli ingressi Circuito elementare o porta logica

OR

AND

NOT

NAND

NOR

figura 3.1.1

Page 3: Circuiti Combinatori

Definizioni

Itinerari e livelli Elementi: porte logiche Ingressi ed Uscite Itinerario: percorso che collega 2 elementi Livello di un elemento X rispetto un’uscita U e secondo un

determinato itinerario I: il numero di elementi compreso X … Livello di una variabile rispetto un’uscita U e secondo un

determinato itinerario I : il numero di elementi …

2

5

B

2

B1

A2

6

41A

1

A 33

B3

figura 3.2.1

Ai: ingressiBi: uscite

Page 4: Circuiti Combinatori

Esempi

A

A

AAA

A

A

B

G

G

G

G

1

2

34

5

6

7

1

2

3

4

I livello

II livello

(a)

AAA

A

A

A

G

G

G G1

2

3

4

5

6

1

2

3 4B

I livelloII livello

III livello

III e IV livello

(b)

figura 3.2.2

Nota: lo stesso elemento puo’ possedere diversi livelli secondo diversi itinerari

Page 5: Circuiti Combinatori

Analisi di circuiti AND-OR-NOT

Dato il circuito come ottenere la funzione Partendo dagli ingressi Si analizzano le funzioni svolte dai vari elementi Secondo tutti gli itinerari possibili

Y BX 4

X

X

X

1

2

Y A YA 1 Y C Y

X 5

YA 23

_

figura 3.3.1

321A x.x.xy

3213211A xxxx.x.xy

42A xy

4321A4B x.x.x.xy.xy

32142A1AC xxx.xy.yy

5321443215CB xxxx.xx.x.x.xxyyy

Page 6: Circuiti Combinatori

Analisi di circuiti NAND

NAND: operatore universale Le espressioni ricavate con l’analisi dei percorsi possono

risultare complesse o quantomento poco comprensibili

3

xx x

1

2

x4

x

x

5

6 y

figura 3.4.1

6544321 /x/xx//x/x/xxy

65443216544321 x.xx.x.x.xxx.x.x.x.x.x.xy

6544321 xx.xx.x.xx

Page 7: Circuiti Combinatori

Analisi di circuiti NAND

Si puo’ agevolmente pervenire ad un risultato in forma di somme di prodotti:

xx

xxy y1

212

y = x + x_ _

1 2y=x .x

1 2

xx x

xx

xx

yy

1

2 3

12

34y = x . x + x

_

1 2 3

y=x .x + x .x1 2 3 4

yxxxx

12

34

y=(x + x ) .x + x_ _ _

1 2 3 4

figura 3.4.2

Nota:

• Le variabili ai livelli dispari sono negate, ai livelli pari sono dirette

• Ai livelli dispari vi e’ la somma, ai livelli pari il prodotto

Page 8: Circuiti Combinatori

Analisi di circuiti NAND

Esempio:

25

XX

1

27 4 1 Y

3

X 3

6

figura 3.4.3

211

31123112211

3323211

21

xxC

xCBBBxCBxCB

xBABBBA

AAy

A1

A2

B2

B1

B3

B1

C1

212211213211212 xx.xxx.xx.xx.x.xx.x.xxy

21212133 x.xx.xx.xx.x

• Le variabili ai livelli dispari sono negate, ai livelli pari sono dirette

• Ai livelli dispari vi e’ la somma, ai livelli pari il prodotto

Page 9: Circuiti Combinatori

Analisi di circuiti NAND

Esempio:

25

XX

1

27 4 1 Y

3

X 3

6

figura 3.4.3

A1

A2

B2

B1

B3

B1

C1

• Le variabili ai livelli dispari sono negate, ai livelli pari sono dirette

• Ai livelli dispari vi e’ la somma, ai livelli pari il prodotto

3321211212

321211212121221

333121221

33312

3

))(())(())((

))(())(())((

()()()()()()()()()()()()

......

xxxxxxxxxx

xxxxxxxxxxxxxxxy

xxxxxxxxxy

xxxxxy

xy

y

Page 10: Circuiti Combinatori

Analisi di circuiti NOR

Analogamente:

• Le variabili ai livelli dispari sono negate, ai livelli pari sono dirette

• Ai livelli dispari vi e’ il prodotto, ai livelli pari la somma

X

X

X

X

7 6 5

4

3

2

1 Y

3

1

2

2

figura 3.5.1

A1

A3

A2

B1

B3

B2

133122311

2233212131

321

xBBBxBxxB

xBABBBABxA

AAAy

213121131231313 x.xxxxxxxxxx.x.x.xxy

Page 11: Circuiti Combinatori

Sintesi di circuiti combinatori

Progettare il circuito che realizza una certa funzione logica Vi possono essere diversi modi di esprimere la funzione

Descrizione comportamentale o “verbale” (Behavioural) Tabella di verita’ Espressione analitica (Dataflow) Schema logico (Schematic)

Vi sono diversi modi per realizzare una funzione Compromesso Tempo ↔ Area Vincoli (temporali, di occupazione, potenza dissipata, implementativi) La forma minima puo’ non essere ottima oppure puo’ non essere

realizzabile (e’ pero’ quella con minor ritardo) La forma piu’ conveniente va’ determinata caso per caso Vi possono essere piu’ uscite e parti del circuito condivise

La sintesi parte dalla tabella di verita’ ed applica le semplificazioni piu’ opportune (definite caso per caso)

Page 12: Circuiti Combinatori

Esempio

Due sintesi diverse per un controllore di parita’ a tre bit

Page 13: Circuiti Combinatori

Sintesi di circuiti AND OR NOT

Dalla tabella di verita’ Si ricava la forma minima a 2 livelli Individuare la forma minima piu’ conveniente Realizzazione il circuito

Esempio : realizzare il prodotto x3 per un numero 0≤ x ≤5

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

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

x x x y y y y1 2 3 1 2 3 4

figura 3.7.1

x

x x

1

2 3

0

1

00 01 11 10

1

1 1

y1

x

x x

1

2 3

0

1

00 01 11 10

1 1

1

y2

x

x x

1

2 3

0

1

00 01 11 10

1

1

1

y3

x

x x

1

2 3

0

1

00 01 11 10

1

1

1

y4

figura 3.7.2

3211 x.xxy 3212 x.xxy

32323 x.xx.xy 34 xy

Page 14: Circuiti Combinatori

Sintesi di circuiti AND OR NOT

x

x x

1

2 3

0

1

00 01 11 10

1

1 1

y1

x

x x

1

2 3

0

1

00 01 11 10

1 1

1

y2

x

x x

1

2 3

0

1

00 01 11 10

1

1

1

y3

x

x x

1

2 3

0

1

00 01 11 10

1

1

1

y4

figura 3.7.2

3211 x.xxy 3212 x.xxy

32323 x.xx.xy 34 xy

x

x

x

x

x

x

x

y

y

y

y

1

2

3

2

3

2

3

1

2

3

4

_

_

figura 3.7.3

si puo’ inividuare un fattore a comune tra y2 e y3

Page 15: Circuiti Combinatori

Decomposizione in sconnessione semplice

E’ un metodo piu’ sistematico Consente di “spezzare” la funzione in piu’ funzioni semplici Sia un insieme di variabili e siano A e B siano due

sottoinsiemi disgiunti di questo insieme X

Sia una funzione booleana Se e’ possibile individuare due funzioni t.c.

Allora le funzioni F e φ formano una decomposizione in sconnessione semplice della funzione f

L’insieme A sono le variabili al contorno Le variabili B sino variabili indipendenti

nxxxxx ,...,,,, 4321

BAXBA e ),...,,,,( 4321 nxxxxxf

B,AFXf

F

A

f

figura 3.8.1

Contorno

Indipendenti

Page 16: Circuiti Combinatori

Decomposizione in sconnessione semplice

Qualunque funzione puo’ essere partizionata ad esempio :

Esiste una partizione semplice se e solo se le funzioni α,β,γ,δ sono tutte derivabili dalla stessa funzione φ ovvero se sono o la costante 0, oppure la costante 1, oppure φ o not(φ)

Questo puo’ venir facilmente evidenziato in particolari mappe di partizione (paricolari mappe di Karnaught)

Ovviamente bisogna analizzare TUTTE le possibili partizioni Si analizzano le molteplicita’ delle colonne

41324132

413241324321

x,x.xxx,x.x.x

x,x.x.xx,x.x.xx,x,x,xf

Page 17: Circuiti Combinatori

Decomposizione in sconnessione semplice

Esempio

m4321 13,14,154,5,6,7,8,x,x,x,xf

0 0 0 1

0 0 0 0

1 1 1 1

1 1 1 0

0 1 9 8

2 3 11 10

6 7 15 14

4 5 13 12

x x

x x 00 01 11 10

00

01

11

10

1 4

2 3

figura 3.8.2

32413241324321 x.xx,x.x.xx,x.x.xx,x,x,xf 3241 x,x,x,xF

4141 x.xx,x con:

Page 18: Circuiti Combinatori

Decomposizione in sconnessione semplice

Teorema: Una mappa di partizione corrisponde ad una decomposizione in sconnessione semplice se e solo se la

molteplicita' di colonna e' minore o uguale a 2. Ovvero: avere una molteplicita’ di colonna inferiore a 2 e’ condizione necessaria e sufficiente: Necessaria: se la molteplicita’ e’ minore di 2 la funzione puo’

essere scritta nella forma e pertanto la funzione risulta decomponibile

Sufficiente: Se la funzione e’ decomponibile puo’ essere scritta nella forma e pertanto nella mappa di partizione la molteplicita’ di colonna sara’ inferiore a 2.

B,AFXf

B,AFXf

Page 19: Circuiti Combinatori

Decomposizione in sconnessione semplice

Per 4 variabili le mappe sono: 4 tabelle di dimensione 2x8 (4 partizioni 1+3) 6 (3) tabelle di dimensione 4x4 (6 partizioni 2+2)

Per 5 variabili le mappe sono: 5 tabelle di dimensione 2x16 (5 partizioni 1+4) 10 (5) tabelle di dimensione 4x8 (10 partizioni 3+2)

Per 6 variabili le mappe sono: 6 tabelle di dimensione 2x32 (6 partizioni 1+5) 15 tabelle di dimensione 4x16 (15 partizioni 2+4) 20 (10) tabelle di dimensione 8x8 (20 partizioni 3+3)

Per 7 variabili le mappe sono: 7 …. 21 … 35

Page 20: Circuiti Combinatori

Decomposizione in sconnessione semplice

00 01 11 10 00 01 11 10

0 1

0

1

00 01 11 10 00 01 11 10

0 1

0

1

00 01 11 10 00 01 11 10

0 1

0

1

00 01 11 10 00 01 11 10

0 1

0

1

0 1 3 2

8 9 11 10

4 5 7 6

12 13 15 14

0 1 3 2 8 9 11 10

4 5 7 6 12 13 15 14

0 1 5 4 8 9 13 12

2 3 7 6 10 11 15 14

0 2 6 4

1 3 7 5

8 10 14 12

9 11 15 13

x

x x

x

x

x x

x

x

x x

x

x

x x

x

2

3 4

1

1

2 4

3

1

3 4

2

1

2 3

4

00 01 11 10

00

01

11

10

00 01 11 10

00

01

11

10

00 01 11 10

00

01

11

10

0 2 6 4

1 3 7 5

9 11 15 13

8 10 14 12

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

0 1 5 4

2 3 7 6

10 11 15 14

8 9 13 12

x x

x x

x x x x

x x x x

2 3

1 4

3 4

1 2

2 4

1 3

figura 3.8.3

CARTA DI DECOMPOSIZIONE PER QUATTRO VARIABILI

m

4321

13,14,154,5,6,7,8,

x,x,x,xf

OK

OKOK

Possono esistere varie partizioni

431243124312 x.x.x.xx.x.x.xx,x,/xxf

41324132324132 xx.x.xxx.x.xx.xx,/xx,xf

43214321214321 xx.x.xxx.x.xx.xx,/xx,xf

31423142423142 xx.x.xxx.x.xx.xx,/xx,xf

OK

Page 21: Circuiti Combinatori

Altre decomposizioni Disgiuntive

Decomposizione in sconnessione multipla Siano A1,A2, … sottinsiemi disgiunti di variabili

Decomposizione in sconnessione iterativa

Decomposizione in sconnessione complessa

)(A,A,...,A,AFXf mm1m1m2211

m1m1m2211 A,A,...,A,AFXf oppure

32112 A,A,AXf F

4321 ,,,FXf AAAA

Page 22: Circuiti Combinatori

Teoremi sulle decomposizioni disgiuntive

Decomposizione iterativa

CB,,AGC,BA,FXf

C,B,AFXf

BA,B,A

Esiste allora la decomposizione in sconnessione iterativa

con:

Se per una funzione esistono 2 decomposizioni in sconnessione semplice

Page 23: Circuiti Combinatori

Teoremi sulle decomposizioni disgiuntive

ESEMPIO Decomposizione iterativa m54321 30,17,21,26,5,10,11,14x,x,x,x,xf

00 01 11 10 00 01 11 10

0 1

00

01

11

10

x

x x

x x

00 01 11 10 00 01 11 10

0 1

00

01

11

10

x

x x

x x

0 1 5 4 16 17 21 20

2 3 7 6 18 19 23 22

10 11 15 14

98 13 12

26 27 31 30

24 25 29 28

0 1 3 2

4 5 7 6

20 21 23 22

16 17 19 18

8 9 11 10

12 13 15 14

28 29 31 30

24 25 27 26

1

3 5

2 4

2

4 5

1 3

figura 3.9.1

42531 x,x,x,x,xFXf

54231 x,x,x,x,xGXf

31 x,xA 5xB

42 x,xC

5314253142 x,x,x.x.xx,x,x.x.xXf

5351531 x.xx.xx,x,x con (riunendo i termini adiacenti secondo Karnaugh):

che puo’ essere scritto come:

315531 xx.xx,x,x C.V.D.

Page 24: Circuiti Combinatori

Teoremi sulle decomposizioni disgiuntive

Decomposizione multipla

ABGBAF ,,Xf

)(),(Xf BAH

Esiste allora la decomposizione in sconnessione multipla

Se per una funzione esistono 2 decomposizioni in sconnessione semplice

NB: la condizione appena posta si puo’ intendere verificata quando sulla carta di partizione vi e’ una molteplicita’ inferiore a 2 sia per le righe che per le colonne ovvero tanto per la carta diretta che per la trasposta

Page 25: Circuiti Combinatori

Teoremi sulle decomposizioni disgiuntive

ESEMPIO Decomposizione multipla

1 1

1 1

1 1

1 1

00 01 11 10

00

01

11

10

x x

x x1 2

3 4

figura 3.9.2

Controllore di parita’

4321214321214321 x,x.x.xx.xx,x.x.xx.xx,/xx,xf

434343 x.xx.xx,x

2143432143432143 x,x.x.xx.xx,x.x.xx.xx,/xx,xf

212121 x.xx.xx,x

2143 x,x,x,xHXf

Il teorema enunciato indica l'esistenza di una decomposizione multipla:

Vale sia la condizione:

quanto la condizione:

1 1

1 1

x x

0

1

00 01 11 101 2

=0 =1 =0 =1

1

1

0

1

0

figura 3.9.4

Per trovare H

21 x,x,F

..,H

Page 26: Circuiti Combinatori

Teoremi sulle decomposizioni disgiuntive

Decomposizione multipla (secondo caso)

CABGCBAF ,,,,Xf

CBAH ),(),(Xf

Esiste allora la decomposizione in sconnessione multipla

Se per una funzione esistono 2 decomposizioni in sconnessione semplice

Page 27: Circuiti Combinatori

Teoremi sulle decomposizioni disgiuntive

ESEMPIO Decomposizione multipla (secondo caso)

00 01 11 10 00 01 11 10

0 1

00

01

11

10

x

x x

x x

00 01 11 10 00 01 11 10

0 1

00

01

11

10

x

x x

x x

0 1 3 2

8 9 11 10

24 25 27 26

16 17 19 18

4 5 7 6

12 13 15 14

28 29 31 30

20 21 23 22

0 1 9 8

2 3 11 10

6 7 15 14

4 5 13 12

16 17 25 24

18 19 27 26

22 23 31 30

20 21 29 28

3

4 5

1 2

1

2 5

3 4

figura 3.9.5

2154354354354321543 x,x.x.x.xx.x.xx.x.xx.x.xx,/xx,x,xf 21543543543543 x,x.x.x.xx.x.xx.x.xx.x.x

212121 x.xx.xx,x

4352152152152143521 x,x.x.x.xx.x.xx.x.xx.x.xx,/xx,x,xf

43521521521521 x,x.x.x.xx.x.xx.x.xx.x.x

434343 x.xx.xx,x

Page 28: Circuiti Combinatori

Teoremi sulle decomposizioni disgiuntive

ESEMPIO Decomposizione multipla (secondo caso)

21 x,xA

43 x,xB

5xC

1 1

1 1

1 1

1 1

1 1

1 1

00 01 11 10

00

01

11

10

0

1

00 01 11 10

x

x x

3 4

5

=

=

=

=

0

1

0

1

x5

H

(a) (b)

figura 3.9.6

.x.x..x.x.x,,H 55555

555 x.x.x,

..Xf

si ottiene in definitiva:

Page 29: Circuiti Combinatori

Sintesi di circuiti NAND

NAND: operator universale La sintesi tende ad ottimizzare (minimizzare) il numero di

gate La sintesi e’ diversa se

sono presenti sia le variabili dirette che negate sono presenti solo le variabili dirette

(si devono impiegare dei NAND come invertitori)

Page 30: Circuiti Combinatori

Sintesi circuiti NAND

In caso di presenza di variabili dirette e negate si possono sintetizzare eq. sotto forma di somme di

prodotti livelli dispari : somme livelli pari prodotti livelli dispari: variabili negate livelli pari variabili dirette

Si possono anche sintetizzare eq. sotto forma di prodotto di somme aggiungendo un invertitore

0x,...,xx,...,xXf n1in1i

x.1x1x/

Page 31: Circuiti Combinatori

Sintesi circuiti NAND

Esempio

76543254321 x.xx.xxxxx.x.x.xy

xxx

x

x

x

x

x

xxx

2

3

4

2

3

4

5

5

6

1

7

livello 5 livello 4 livello 3 livello 2 livello 1

1

2

3

4

5

6

7

8

_

__

figura 3.10.1

Page 32: Circuiti Combinatori

Sintesi circuiti NAND

Nota: Se una porta NAND presentasse troppi ingressi per ripartire l’operazione su piu’ porte si deve aggiungere un

invertitore

k321k321 /x....//x/xx/x....//x/xx

x

x

xxx x

1

2

3 n

1

n

figura 3.10.2

Page 33: Circuiti Combinatori

Sintesi di circuiti NAND

Se sono presenti solo variabili dirette Bisogna cercare di far entrare le variabili negate su livelli dispari Aggiungendo al limite termini ridondanti La soluzione richiede comunque una certa pratica

Esempio

richiede 4 NAND e 2 invertitori

richiederebbe 6 NAND ma una analisi del circuito dimostra che un componente e’ replicato

4324321 x.x.xxxx.xy

433241321 x.x.xxx.xxx.xy

Page 34: Circuiti Combinatori

Tecnica del Bundling

Per eliminare invertitori (non agli ingressi) Aumentano pero’ gli ingressi (fan-in) delle porte logiche

A

B

CD

E

1

2

3

F

G

figura 3.11.1

A

B

CD

E

F

G

figura 3.11.2

Page 35: Circuiti Combinatori

Sintesi circuiti NOR

E’ simile al caso della sintesi con NAND Si possono sintetizzare eq. sotto forma di prodotto di

somme livelli dispari : prodotto livelli pari: somme livelli dispari: variabili negate livelli pari: variabili dirette

Si possono anche sintetizzare eq. sotto forma di somme di prodotti aggiungendo un invertitore

1.x,...,xx,...,xy n1in1i

x0x0x

Page 36: Circuiti Combinatori

Sommatori

Semisommatore, sommatore senza carry inHalf Adder

0 0 0 00 11 01 1

1 01 00 1

A B S R

B.AB.AS

B.AR

A

B

A

B

A

B

_

_

S

R

A

B

A

B

_

_

A

B

S

R

(a)(b)

figura 3.13.1

BA.BAS

A

B

A

B

S

R

_

_

figura 3.13.2

Page 37: Circuiti Combinatori

Sommatori

Full Adder Si puo’ sintetizzare la funzione a 3 ingressi Si possono iterare due Half-Adder

a b a b a b

sr

r

ss

r

r

s

1/2 1/2 1/2 1/2 1/2

0 0

0

1

2

1

1

2

2

n

n n

,

"'

figura 3.13.3

Page 38: Circuiti Combinatori

SOMMATORE - Ripple Carry (RC)

Riporto seriale del Bit Carry dal LSB al MSB E’ lento ma semplice

FAci co

FAci co

FAci co

FAci co

X0 Y0 X1 Y1 X2 Y2 X3 Y3

S0 S1 S2 S3

Page 39: Circuiti Combinatori

SOMMATORE - Carry Look Ahead

Si puo’ definire la presenza o meno del Carry in posizione i-esima dall’analisi dei bit precedenti

E’ molto veloce Può risultare piuttosto complesso La logica che definisce la presenza del Carry passa

attraverso il calcolo di due parametri:

Gi (Generate) Pi (Propagate)

iiii

iii

iii

GPCC

YXG

YXP

1

Page 40: Circuiti Combinatori

SOMMATORE - Carry Look Ahead

4

33221103

221102

1101

))((

)(

C

GPGPGPCC

GPGPCC

GPCC

321321

Page 41: Circuiti Combinatori

Sommatore - Carry Select

Page 42: Circuiti Combinatori

Circuiti multiterminali

Sono circuiti che presentano piu’ uscite Le eventuali semplificazioni debbono essere operate tenendo in

considerazioni termini a comune fra le diverse uscite Fino a 5 variabili si possono usare le mappe di Karnaught

Non e’ un metodo del tutto rigoroso Si realizzano le mappe per le varie funzioni di uscita Si evidenzino i sottoinsiemi a comune fra piu’ mappe

(eventualmente spezzandoli in modo opportuno) Altrimenti ci si rifa’ ad una modifica del metodo di Quine

McCluskey Nelle tabelle, oltre agli implicanti si evidenziano anche le uscite alle

quali detti implicanti sono necessari

Page 43: Circuiti Combinatori

Mappe di Karnaught

m1 ,14,150,4,6,7,10y

m2 15,12,13,14,4,5,6,7,11y

m3 4,1510,11,13,10,1,4,5,9,y

00 01 11 10

00

01

11

10

1 1

1 1

1 1 1

x x

x x3 4

1 200 01 11 10

00

01

11

10

x x

x x3 4

1 200 01 11 10

00

01

11

10

x x

x x3 4

1 2

1 1

1

1

1

1

1

1

1

1 1

1 1 1 1

1 1

1 1

figura 3.14.1

431324311 x.x.xx.xx.x.xy

43122 x.x.xxy

3143313 x.xx.xx.xy

431324311 x.x.xx.xx.x.xy

43122 x.x.xxy

y . x .x .x x .x .x x .x .x3 1 3 4 1 3 4 1 3 4 x x3 4

Esempio

Semplificazione “separata” Semplificazione “congiunta”

Richiede 10 gates Richiede 8 gates

Page 44: Circuiti Combinatori

Metodo di Quine - McCluskey

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

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

x x x x y y y1 2 3 4 1 2 3

Page 45: Circuiti Combinatori

Metodo di Quine - McCluskey

1,51,94,64,54,12

6,76,145,75,1312,1312,1410,1410,119,139,11

13,1514,1511,157,15

A

B

C

D

...

...

...

...

0 - 0 1- 0 0 10 1 - 00 1 0 -- 1 0 0

0 1 1 -

- 1 1 00 1 - 1- 1 0 11 1 0 -1 1 - 01 - 1 01 0 1 -1 - 0 11 0 - 1

1 1 - 11 1 1 -1 - 1 1- 1 1 1

- - yy - y- y -- y y- y y

y y -y y -- y -- y y- y y- y y- y y- - y- - yy - y

- y yy y yy - yy y -

1 2

1 3

1 2 3

2 3

1 3

3

3

32

2 3

2 3

1

2

2

1 2

2 3

2 3

2

31

3

2 3

1,5,9,134,5,6,74,5,12,134,6,12,14

6,7,14,155,7,13,1512,13,14,1510,11,14,159,11,13,15

- - 0 10 1 - -- 1 0 -- 1 - 0

- 1 1 -- 1 - 11 1 - -1 - 1 -1 - - 1

- - y- y -- y y- y -

y y -- y -- y y- - y- - y

3

2

2 3

2

1 2

2

2 3

3

3

E

F

G

HIL

...

...

...

...

...

...

4,5,6,7,12,13,14,15 - 1 - - - y -2

M ...

Nota: A- Implicante fondamentale per la funzione y1

Page 46: Circuiti Combinatori

Metodo di Quine - McCluskey

Copertura minima

1 6 7 9 11 14 15 4 5 6 7 10 12 13 14 15 1 4 5 9 10 11 12 13 14 15

y y y1 2 3

ABCDEFGHILM

figura 3.14.1

Implicanti essenziali:

A copre i termini minimi 1 e 9 in y1 e y3.B copre i termini minimi 10 e 14 in y2 e y3.F copre i termini minimi 4, 5, 12 e 13 in y2

e y3.G copre i termini minimi 6, 7, 14 e 15 in y1

e y2.

Rimangono scoperti il termine minimo 11 in y1 e y3 e quello 15 in y3; l'implicante primo D li copre entrambi.

Page 47: Circuiti Combinatori

Metodo di Quine - McCluskey

431432321 x.x.xx.x.xx.xDAGy

43132322 x.x.xx.xx.xBFGy

432431324313 x.x.xx.x.xx.xx.x.xABFDy

x

x

xxxxxxxxxx

x

y

y

y

2

3

2

3

4

1

3

4

1

3

4

2

3

1

3

2

__

_

_

figura 3.14.2

Page 48: Circuiti Combinatori

Selettori e matrici

Realizzano tutti i termini minimi Hanno (n ingressi e 2n uscite) Sono anche detti “decodificatori” Prendono il nome di “matrici” quando sono realizzati con

particolari soluzioni circuitali (diodi)

x

x

x x x x x x x x

1

2

1 2 1 2 1 2 1 2

_ _ _ _

figura 3.15.1

+V

x x1 2

x x1 2

x x1 2

x x1 2

x x1 2

_ _

_

_

(a)

x x1 2

x x1 2

x x1 2

x x1 2

_

_

_ _

x1

_x

2x

2

_x

1

(b)figura 3.15.2

Page 49: Circuiti Combinatori

Matrici semplici e multiple

Le matrici semplici richiedono n*2n diodi Usando matrici multiple si possono ridurre i diodi

impiegati La matrice di variabile impiega n*2n diodi La sottomatrice di combinazione 2*2n (e’ presente solo una linea

attiva per il primo gruppo ed una sola per il secondo)

x x x x

x x x x

1 1 2 2

3 3 4 4

_ _

_ _

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

figura 3.15.3

Page 50: Circuiti Combinatori

Matrici semplici e multiple

SOTTOMATRICE DI COMBINAZIONE

SOTTOMATRICEDI COMBINAZIONE

SOTTOMATRICE DI 3 VARIABILI

SOTTOMATRICE DI DUE VARIABILI

SOTTOMATRICEDI DUE VARIABILI

256 DIODI

32 DIODI24 DIODI

8 DIODI 8 DIODI

128 USCITE

x x x x

x x x

1 2 3 4

5 6 7

figura 3.15.4

Vengono usati 328 diodi al posto di 896

La suddivisione ottima viene fatta ripartendo in parti quanto piu’ possibile uguali le variabili in

sottomatrici (senza scendere sotto a 3)

Page 51: Circuiti Combinatori

Matrici incomplete

Se non compaiono alcuni termini minimi si puo’ ottenere un certo riasparmio eliminando le corrispondenti linee di uscita (ed i relativi diodi), non solo sulla matrice d’uscita, ma anche in quelle che eventualmente precedono

Esempio se non compare il termine x1 x2 (e tutte le sue combianzioni) si possono risparmiare 10 diodi

x x x x

x x x x

1 1 2 2

3 3 4 4

_ _

_ _

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

figura 3.15.3

Page 52: Circuiti Combinatori

Matrici incomplete

Generalizzando: Esempio: il termine non compaia

Caso 1 M3 risparmia 2 linee e 6 diodi

M5 risparmia 8+4-2=10 linee e 20 diodi

Caso 2 M5 risparmia sempre 20 diodi

M2 ne risparmia solo 2

3521 xx.x.xy

M

M M

M

M M

5

3 2

5

3 2

xx

x x x

x x

x x

x x xx x x x

1 3

1 2 3 5

1 2 5

1 3

5432

1

_

__

_

figura 3.15.5

xx

x x x

M

M M

5

32

2 5 1 34

x x

x x

x x xx x x x1 3

1 2 5

1 2 3 5

1 3

_

__

_

figura 3.15.6

I termini da eliminare facciano sentire la loro influenza il piu' possibile in prossimita' degli ingressi e compaiano nelle sottomatrici di ingresso a massimo numero di variabili.

Page 53: Circuiti Combinatori

Funzioni simmetriche

Se le variabili di simmetria sono usate come ingressi di un sommatore binario Le uscite realizzano le funzioni simmetriche corrispondenti a

quell’insieme di variabili

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

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

A B C D S S S1 2 3

DC,B,A,SD.C.B.AS 441

D.C.B.AD.C.B.AD.C.B.AD.C.B.AD.C.B.AS2

D.C.B.AD.C.B.AD.C.B.AD.C.B.AD.C.B.A

DC,B,A,S42,3

D.C.B.AD.C.B.AD.C.B.AD.C.B.AD.C.B.AS3

D.C.B.AD.C.B.AD.C.B.A

DC,B,A,S41,3

Page 54: Circuiti Combinatori

Funzioni simmetriche

Usando un semplice sommatore si possono ottenere tutte le funzioni simmetriche

A

B

C

D

Sommatore

binario

S

S

S

1

2

3

S

S

S

4

4

4

1,3

4

2,3

1

S4

0,1,2,3

S4

0,2,4

S4

0,1,4

S

S

S

S

S

4

4

4

3

4

4

4

2

1

0

figura 3.16.1

Page 55: Circuiti Combinatori

Funzioni simmetriche

Generalizzando: all’uscita di un sommatore binario (N.B: i bit in ingresso sono tutti di rango 1) escono: X0 :S1 + S3 + S5 + S7 + …

X1 :S2 + S3 + S6 + S7 + …

X2: S4 + S5 + S6 + S7 + S12 + …

X3: S8 + S9 + ….

FA FA FA FA FA FA

FA FA HA

FA

X0

X1

X2

X3

Page 56: Circuiti Combinatori

Funzioni simmetriche

A B C D E F

Sommatore

binario

Sommatorebinario

Sommatorebinario

Sommatorebinario

s

c c

s

c

s

cs

S 6

S

S

6

6

4,5,6

2,3,6

1,3,5

figura 3.16.2

Semisommatorebinario

Sommatorebinario

Sommatorebinario

Semisommatorebinarioc

s s

c

s

c

A

B C D E

_

_ _

S

S

S

5

5

5

2,3

1,3,5

3

figura 3.16.3