46
Analisi e sintesi di circuiti combinatori

Analisi e sintesi di circuiti combinatori

  • Upload
    irish

  • View
    53

  • Download
    0

Embed Size (px)

DESCRIPTION

Analisi e sintesi di circuiti combinatori. Reti combinatorie. Funzioni Booleane. Tabelle di verità. Tabelle di Verità (2). Espressioni Booleane. Unicità FB. Schema circuitale. Schema Circuitale (2). Porte logiche elementari. Porte logiche elementari (2). Livello fisico. - PowerPoint PPT Presentation

Citation preview

Page 1: Analisi e sintesi di circuiti combinatori

Analisi e sintesi di circuiti combinatori

Page 2: Analisi e sintesi di circuiti combinatori

Reti combinatorie

Una rete combinatoria é un circuito elettronicodigitale in grado di calcolare in modo automatico unafunzione binaria di una o più variabili booleane.

x1

x2

xN

z1

zmCircuiti logici

zi=fi(x1..xN) (i=1..m)

I valori delle uscite in ogni istante sono univocamentedeterminati dai valori presenti contemporaneamentesugli ingressi.

Page 3: Analisi e sintesi di circuiti combinatori

Funzioni BooleaneUna funzione booleana FB è una descrizioneestensiva del funzionamento di una retecombinatoria, data dall'insieme delle coppieordinate( (a1..aN), bi) i=1...m con ai,bi ∈ Β: (0,1)rappresentate tramite tabelle (per ognuno dei 2N

possibili input binari esprime il corrispondenteoutput di f ).f : { 0 , 1 } N ⏐ → { 0 , 1 }Graficamente:

Page 4: Analisi e sintesi di circuiti combinatori

Tabelle di verità• La funzione booleana di un circuito

digitale può essere rappresentato medianteuna tabella di verità o true table (TT)che determina completamente il legamefunzionale fra ingressi e uscite.

• Dati n ingressi, una TT elencaordinatamente nella parte sinstra tutte le2n combinazioni di valori delle variabilibooleane di ingresso. Nella parte destra,nella cella di posizione (i,j) si indica ilvalore assunto dalla variabile booleana diuscita zj in corrispondenza alla sequenzadi valori assunti dalle variabili di ingressonella riga i della tabella.

Page 5: Analisi e sintesi di circuiti combinatori

Tabelle di Verità (2)Ad esempio, una descrizione completa delcomportamento di una rete combinatoria a 3ingressi e due uscite é data da:

x3 x2 x1 z2z10 0 0 0 00 0 1 0 10 1 0 0 00 1 1 0 11 0 0 0 01 0 1 1 11 1 0 0 11 1 1 1 1

Page 6: Analisi e sintesi di circuiti combinatori
Page 7: Analisi e sintesi di circuiti combinatori

Espressioni BooleaneIl comportamento di un circuito combinatorio puòessere equivalentemente descritto da un’espressionebooleana.

Dato un insieme numerabile di variabili Var avalori binari, le espressioni booleane EB su diesso sono definite induttivamente da :

♦ 0 , 1 ∈ EB♦ ∀ v ∈ Var v ∈ EB♦ se E1 , E2 ∈ EB allora E1 + E2 , E1 · E2 ,

E1 ∈ EB

y=x2+x2x1x0+x1x0

Page 8: Analisi e sintesi di circuiti combinatori

Unicità FB

Teorema- per ogni espressione booleana esiste un’unicafunzione booleana equivalente- per ogni funzione booleana esistono infiniteespressioni booleane equivalenti

Dimostrazione?

Page 9: Analisi e sintesi di circuiti combinatori

Schema circuitaleUno schema circuitale é un collegamento di circuitielementari detti porte tramite linee.Identifichiamo tre tipi di linee:

- linee di ingresso, etichettate con i nomi dellevariabili booleane di ingresso

- linee di uscita, etichettate con i nomi delle variabilidi uscita

- linee interne, ciascuna delle quali collega l'uscita diuna porta con l'ingresso di un'altraporta

Page 10: Analisi e sintesi di circuiti combinatori

Schema Circuitale (2)• Ogni ingresso di ogni porta presente nella rete

deve essere collegato ad una linea di ingressooppure ad una linea interna.

• L'uscita di ogni porta presente deve esserecollegata ad una linea di uscita oppure ad unalinea interna.

• Il collegamento di porte tramite linee nondeve dare luogo a cicli.

x1x2

x3

z

P1

P2

P3

Page 11: Analisi e sintesi di circuiti combinatori
Page 12: Analisi e sintesi di circuiti combinatori

Porte logiche elementari

Page 13: Analisi e sintesi di circuiti combinatori

Porte logiche elementari (2)

Page 14: Analisi e sintesi di circuiti combinatori

Livello fisicoPorta NOT Porta NAND

Page 15: Analisi e sintesi di circuiti combinatori

Porte a più ingressi

.

.

.

. associativa

.

.

X1

XN XN

XN_1

X1

X1

XN

X1

XN

XN-1

.

. nonassociativa

Page 16: Analisi e sintesi di circuiti combinatori

Applicazione dei teoremi dell’algebra booleana

Page 17: Analisi e sintesi di circuiti combinatori

Universalità delle porte NAND

equivale a un NOT

Equivale a un ANDEquivale a un OR

AA= A

AB= AB A+B= A+B= A B

Page 18: Analisi e sintesi di circuiti combinatori

Realizzazione di un circuito con un solo tipo di porta, esempio:

Page 19: Analisi e sintesi di circuiti combinatori

Uso: ottimizzare utilizzo integrati

Y = A+AB= A⋅(A⋅ B)

A B

AAB

Y

Page 20: Analisi e sintesi di circuiti combinatori

Equivalenza fra le varie forme di rappresentazione del funzionamento di un

circuito combinatorio

Page 21: Analisi e sintesi di circuiti combinatori

Dal circuito all’espressione booleana

Page 22: Analisi e sintesi di circuiti combinatori

Dalla funzione booleana alla espressione booleana

• Mintermini, maxtermini e forme canoniche

• Dalle funzini booleane alle forme canoniche

Page 23: Analisi e sintesi di circuiti combinatori

Forme canoniche (1)• Consideriamo un circuito combinatorio con n variabili di ingresso, X: {X1..Xn}.

Denotiamo ogni occorrenza di una singola variabile, sia in forma semplice Xi che complementata , col nome di letterale.

• Implicante di una funzione f(X1..Xn) è un prodotto

P(X’) X’Xdi letterali tale che se P=1 f=1• Mintermine è un implicante in cui appaiono tutte le variabili di ingresso, cioè X’=X• I mintermini possono essere posti in corrispondenza con punti nello spazio booleano,

ad es:

• Si definisce maxtermine di una funzione f(X1..Xn) un punto Bx nello spazio booleano Bn tale per cui f(Bx )=0

• Mintermini e maxtermini sono identificabili tramite la funzione booleana

Xi

x2x1x0 ⏐ → ⏐ 010

Page 24: Analisi e sintesi di circuiti combinatori

Esempio

x3 x2 x1 z10 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

Mintermini: x3x2x1,x3x2x1,x3x2x1,x3x2x1,x3x2x1

Maxtermini: x3x2x1,x3x2x1,x3x2x1

Page 25: Analisi e sintesi di circuiti combinatori

Rappresentazione nello spazio B3

della funzione a+b+c

maxtermine

Page 26: Analisi e sintesi di circuiti combinatori

Forme canoniche (2)

• On-set è l’insieme dei mintermini m1,m2..mk di una funzione booleana

• L’espressione booleana f(X1..Xn) = m1+m2+..mk prende il nome di forma canonica disgiuntiva

• Un maxtermine è un punto nello spazio in cui la f(X1..Xn)=0.

• Sia M1..Mh l’insieme dei maxtermini, o off-set

• Quindi, f(X1..Xn)=M1+M2+..Mh f(X1..Xn)=M1M2.. Mh

• La forma precedente si dice forma canonica congiuntiva

Page 27: Analisi e sintesi di circuiti combinatori

Esempio

x3 x2 x1 z10 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

Mintermini: x3x2x1,x3x2x1,x3x2x1,x3x2x1,x3x2x1

Maxtermini: x3x2x1,x3x2x1,x3x2x1

fcd=x3x2x1+x3x2x1+x3x2x1+x3x2x1+x3x2x1

fcc=(x3x2x1)(x3x2x1)(x3x2x1)=

(x3+x2+x1)(x3+x2+x1)(x3+x2+x1)

Page 28: Analisi e sintesi di circuiti combinatori

Procedura per ottenere fcd da TV

• Ad ogni riga della tabella di verità, costituita da una sequenza di n valori booleani bn-1..b0, in cui f(X1..Xn)=1, associamo una sequenza di letterali nel seguente modo: se bi=0, facciamo corrispondere a bi il letterale Xi, se bi=1 facciamo corrispondere a bi il letterale Xi (es 001 x2x1x0)

• Le stringhe di letterali così ottenute corrispondono all’ On-set di f, cioè l’insieme dei mintermini m1..mk

• La forma canonica disgiuntiva sarà f (X1..Xn) =m1+m2+..mk

Page 29: Analisi e sintesi di circuiti combinatori

Procedura per ottenere fcc da TV

• Ad ogni riga della tabella di verità, costituita da una sequenza di n valori booleani bn-1..b0, in cui f(X1..Xn)=0, associamo una sequenza di letterali nel seguente modo: se bi=0, facciamo corrispondere a bi il letterale Xi, se bi=1 facciamo corrispondere a bi il letterale Xi e costruiamo i maxtermini Mi come somma logica di questi letterali (es 010 x2+x1+x0)

• La forma canonica congiuntiva sarà:

f (X1,..Xn)=M1⋅ M2⋅..Mh

Page 30: Analisi e sintesi di circuiti combinatori

EsempioX2X1X0 Y0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 11 1 0 01 1 1 1

Y= X2

X1

X0+ X

2X

1X

0+ X

2X

1X

0

Y = ( X2

+ X1

+ X0

) ( X2

+ X1

+ X0

) ( X2

+ X1

+ X0

) ( X2

+ X1

+ X0

) ( X2

+ X1

+ X0

)

Page 31: Analisi e sintesi di circuiti combinatori

Dalla espressione booleana alla TV (1)

• La forma normale disgiuntiva FND o SOP (Sum of Products) é una generalizzazione della FCD. In una SOP i prodotti non sono necessariamente mintermini.

Y = ( X2

+ X2

) X1

X0

+ X2

X1

X0

= X1

X0

+ X2

X1

X0

Page 32: Analisi e sintesi di circuiti combinatori

Dalla espressione booleana alla TV (2)

• Data una espressione booleana, ricavarne la forma normale disgiuntiva

• Ad ogni termine Ti della FCD, associare una stringa binaria Ri= bn-

1..b0 nel seguente modo:

• se il letterale é negato porre bi=0 ,

• se il letterale é diretto porre bi =1,

• se non compare in Ti, porre bi=X , dove col simbolo X (o d, o -) indichiamo la condizione di indifferenza "dont'care" ossia indifferentemente uno 0 o un 1.

Y = X1

( X0

+ X2

X0

)

Y=X1

X0

+X2

X1

X0

Nell'esempio sopra, otteniamo le seguenti stringhe:R1= X10 ed R2=111

Page 33: Analisi e sintesi di circuiti combinatori

Dalla espressione booleana alla TV (3)

• A questo punto costruiamo la parte sinistra della tabella di verità, TV, e nella parte destra, poniamo un 1 in corrispondenza a tutte le righe uguali o implicate dalle stringhe Ri.

• Nell'esempio, la stringa R1 contiene le stringhe 110 e 010, dato

che può essere sia 0 che 1 (dont'care). X2X1X0 Y0 0 0 00 0 1 00 1 0 10 1 1 01 0 0 01 0 1 01 1 0 11 1 1 1

R1

R2

Page 34: Analisi e sintesi di circuiti combinatori

Dalla EB allo Schema Circuitale• Per ricavare lo schema circuitale SC di una rete combinatoria da

una EB, conviene ancora partire dalla forma canonica congiuntiva o disgiuntiva, oppure una sua generalizzazione FNC o FND. Tuttavia non è strettamente necessario.

• Assegnata dunque una EB, costruiamo una rappresentazione gerarchica degli operatori booleani, partendo dai più esterni.

• Ad esempio si può rappresentare:

AND(AND(X2,X1), OR(X3,AND(NOT(X0),X2))

Lo schema ad albero equivalente è:

Y = X2

X1

( X3

+ X0

X2

)

AND

AND

X1 X2

OR

X3 AND

X2NOT

X0

Page 35: Analisi e sintesi di circuiti combinatori

Dalla EB allo Schema Circuitale (2)

• A questo punto, il passaggio allo schema circuitale é immediato:

– i terminali dell'albero sono le variabili booleane di ingresso

– i nodi vengono associati alle corrispondenti porte logiche elementari

– gli archi vengono associati alle linee interne della rete. X1

X2

X3

X0

Y

Page 36: Analisi e sintesi di circuiti combinatori

Ottimizzazione di reti combinatorie

Page 37: Analisi e sintesi di circuiti combinatori

Sintesi di reti combinatore• La sintesi di una rete combinatoria implica il passaggio dalla

specifica funzionale del circuito allo schema circuitale. Il procedimento di sintesi può essere sviluppato in tre fasi:

• 1 Dalla specifica funzionale si ricava la funzione booleana rappresentata in forma tabulare (TV)

• 2 Dalla TV si ricava una espressione minima, o EB minima della TT

• 3 Dalla EB minima si ricava lo schema circuitale

• Il passo 3 é stato già descritto

Page 38: Analisi e sintesi di circuiti combinatori

Minimizzazione EB• Il problema di ricavare una espressione minima deriva dalla necessità di ridurre

il numero di porte logiche necessarie per realizzare una rete combinatoria. • Con l'avvento dei circuiti integrati su scala media, alta e molto alta (MSI, LSI e

VLSI) questa esigenza é meno sentita, soprattutto in termini di costi. Il costo di una porta logica aggiunta é pressoché nullo. Tuttavia esiste un problema di area occupata.

• Ridurre il numero di porte attraversate da un segnale logico ha una sua rilevanza soprattutto in termini di specifiche temporali.

• Il tempo di risposta di una rete combinatoria dipende dal numero di porte logiche attraversate: ridurre tale numero può avere effetti importanti in termini di prestazioni.

Page 39: Analisi e sintesi di circuiti combinatori

Minimizzazione basata sulle mappe di Karnaugh

• Si basano sulla applicazione ripetuta della seguente semplificazione:

dove a è una sequenza di letterali

• Queste mappe ordinano i punti di uno spazio booleano Bn in modo che i punti a distanza unitaria (cioè le cui coordinate differiscono per un solo bit) siano adiacenti anche sul piano della mappa

ax+ax=a(x+x)=a

Page 40: Analisi e sintesi di circuiti combinatori

Struttura delle MdK

Page 41: Analisi e sintesi di circuiti combinatori

MdK della funzione OR

Page 42: Analisi e sintesi di circuiti combinatori

Copertura di una FB

• Un implicante corrisponde ad un sottocubo di soli “1” della MdK, cioè un insieme di 2k configurazioni di ingresso a distanza unitaria

• Un implicante si dice primo se non esite un imlicante di dimensioni maggiori che lo contenga interamente

• Un implicante si dice essenziale se contiene almeno un 1 che non sia incluso in alcun altro implicante

• Una copertura minima di una funzione booleana è l’ insieme di implicanti primi minimo che copra tutti gli 1 (mintermini) della fb

Page 43: Analisi e sintesi di circuiti combinatori
Page 44: Analisi e sintesi di circuiti combinatori
Page 45: Analisi e sintesi di circuiti combinatori

Esempio (a)

Page 46: Analisi e sintesi di circuiti combinatori

Esempio (2)