1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0...

21
1 Espressioni generali e MULTIPLEXER

Transcript of 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0...

Page 1: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

1

Espressioni generali e

MULTIPLEXER

Page 2: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

2

Notazioni simboliche per le espressioni canoniche

r a b R S

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

i

01234567

S (r,a,b) = 3 m (1,2,4,7) S (r,a,b) = 3 M (0,3,5,6)

R (r,a,b) = 3 m (3,5,6,7)R (r,a,b) = 3 M (0,1,2,4)

• m(i) : mintermine di n bit che assume il valore 1 solo per la n-pla di valori delle variabili corrispondente all’indice i.

• M(i) : maxtermine di n bit che assume il valore 0 solo per la n-pla di valori delle variabili corrispondente all’indice i.

• Abbiamo già visto che una funzione può essere espressa come somma di mintermini o come prodotto di maxtermini

• Questo esempio ne mostra la notazione applicata al caso del full adder

Page 3: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

3

Espressioni generali

Espressione generale - Espressione in grado di descrivere qualsiasi funzione di n variabili:

F(x1,x2,...xi,..xn) = m(i) F(i) (SP).i=0

2n-1

m(i) : mintermine di n bitF(i): valore dalla funzione per la

n-pla di valori delle variabili per cui m(i)=1

Caso SP

M(i) : maxtermine di n bit F(i): valutazione dalla funzione

per la n-pla di valori delle variabili per cui M(i)=0

Caso PS

i=0

2n-1

F(x1,x2,...xi,..xn) = ( M(i) + F(i)) (PS)

La notazione del lucido precedente può essere generalizzata come segue: si consderano tutti i mintermini (caso SP) o i maxtermini(caso PS) e semplicemente si “mascherano” cioè si fanno sparire quelli che non interessano

Page 4: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

4

La rete basata sull’espressione generale(caso SP)

F(0)

F(1)

F(2n-1)

x1 x2 xn

F

F(x1,x2,...xi,..xn) = m(i) F(i).i=0

2n-1 Espressione in grado di descrivere qualsiasi funzione di n variabili

Rete combinatoria programmabile in gradodi realizzare qualsiasi funzione di n variabile

F(i): costante detta anche “bit di programmazione”

Questa rete è un multiplexer a 2n vie e può anche essere realizzata con un decoder di n variabili, 2n and2 e un OR a 2n ingressi

Page 5: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

5

SN74153

I Multiplexer

MUX a 4 vie, detto anche MUX di due variabili (espressione SP)U = A1’. A0’. I0 + A1’. A0 . I1 + A1 . A0’. I2 + A1 . A0 . I3

U

I0

I1

I2

I3

AB

Ricordando che il decoder è la rete che genera i mintermini,la realizzazione del MUX con decoder, and e or a partire dall’espressione di U è immediata (è sufficiente applicare la proprietà associativa ai 4 prodotti logici)

A e B si chiamano anche variabili di controllo o

bit di indirizzo del MUX

Page 6: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

6

Circuiti integrati che realizzano MUX di 1, 2, 3, e 4 variabili (detti anche MUX a 2, 4, 8 e 16 vie)

SN74151I0

I1

I2

I3 ZI4

I5

I6

I7

CBA

SN74153I0

I1

I2 ZI3

B A

SN74157I0

I1 Z

A

SN74150I0

I1

I2

I3

I4

I5

I6

I7 ZI8

I9

I10

I11

I12

I13

I14

I15

DCBA

A,B,C,D ingressi ( xi )

Iibit di programmazione ( pi )

Page 7: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

7

Sintesi con Multiplexer

1) Si sceglie, o si realizza, un MUX con un numero di vie pari alle righe della tabella della verità da realizzare.

2) Si collegano gli ingressi di selezione ai segnali che corrispondono alle variabili della funzione.

3) Si impone su ciascuna via o il valore “0” o il valore “1” seguendo le indicazioni fornite dalla tabella della verità.

Il Multiplexer con n bit di indirizzo è la realizzazione della espressione generale SP di n variabili.

Il procedimento di sintesi mediante multiplexer si articola nei seguenti passi:

N. B. - Nello schema elettrico l’imposizione di un valore logico (0 o 1)implica il collegamento con il corrispondente valore fisico (es. 0V o 5 V)

Page 8: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

8

Sintesi di un full-adder con MUX

a b r S R

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

1 0 a b r

I0I1I2I3I4I5I6I7 C B A

Z S

I0I1I2I3I4I5I6I7 C B A

Z R

SN74151

SN74151

Vcc 1GND 0

Ci vuole un MUX per ogni

variabile di uscita!

Ci vuole un MUX per ogni

variabile di uscita!

Page 9: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

9

Impiego dei MUX per semplificare la sintesi di funzioni di molte variabili

• Dividiamo in due una t.d.v. di n variabili in modo che ognuna delle due “sottotabelle” ottenute abbia una variabile di ingresso costante (es.: xn-1)

• Si ottengono così 2 tdv di n-1 variabili ciascuna associata a un valore costante di xn-1

• La rete che realizza la tdv di n var. assegnata può essere realizzata inviando a un MUX a due vie controllato da xn-1 le uscite delle 2 reti di n-1 variabili che realizzano le due sottotabelle

a b r S

0 0 0 00 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1

a

MUX0 U1 A

Sa=0

a=1

RC

0 11 0

b r

RC

1 00 1

b r

Una RC per a =0 e una RC per a =1

Una RC per a =0 e una RC per a =1

Page 10: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

10

Iterazione del procedimento illustrato nel lucido precedente

• Il procedimento illustrato nel lucido precedente è semplicemente l’applicazione del teorema di espansione

• Il procedimento può essere iterato suddividendo ulteriormente le tdv di n-1 variabili in due tdv di n-2 variabili

• La realizzazione della tdv assegnata, dopo due iterazioni, si riduce a:– la realizzazione di 4 funzioni di n-2 variabili

– un albero di multiplexer a due vie

• l’albero di MUX realizza a sua volta la funzione di mux a 4 vie, come illustrato dal prossimo lucido

• Il teorema di espansione può essere applicato in tutto n volte (TANTE QUANTE SONO LE VAR. DI INGRESSO)

• Alla fine si arriva alla realizzazione delll’espressione generale SP tramite albero di MUX a n livelli

Page 11: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

11

Albero di MUXEspressione SP di un MUX a 4 vieU = A1’. A0’. I0 + A1’. A0 . I1 + A1 . A0’. I2 + A1 . A0 . I3 Manipolazione algebrica:U = A1’. (A0’. I0 + A0 . I1) + A1 . (A0’. I2 + A0 . I3)

Disponendo opportunamente in serie/parallelo dei MUX si ottiene un MUX con un numero maggiore di vie.

MUX0 U1 A

A1

U

I0

I1

I2

I3

MUX0 U1 A

MUX0 U1 A

A0

Page 12: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

12

Ripetizione dei teoremi di espansione (o di Shannon)

F(x1,x2,..xn-1,0), F(x1,x2,..xn-1,1) sono rispettivamente la parte

della tabella della verità di F in cui xn=0 e quella in cui xn=1. Se F è descritta da una espressione E(x1,x2,..xn-1,xn), sono le

espressioni che si ottengono da E sostituendo a xn i valori 0 e 1.

Esempio: E= x1+x2 x3’

= x1’.(0+x2 x3’)+x1.(1+x2 x3’)

= (x1+(0+x2 x3’)).(x1’+(1+x2 x3’))

Esempio: b F(0,b)a b F(a,b) 0 00 0 0 1 10 1 11 0 1 b F(1,b)1 1 1 0 1

1 1

T19) F(x1,x2,..xn-1,xn) = xn’.F(x1,x2,..xn-1,0) + xn .F(x1,x2,..xn-1,1)

T20) F(x1,x2,..xn-1,xn) = (xn+ F(x1,x2,..xn-1,0)).(xn’+ F(x1,x2,..xn-1,1))

Page 13: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

13

Mapping di reti logiche su gate array programmabili

• Il simulatore logico che utilizziamo nel corso di reti logiche deve sapere quale dispositivo elettronico verrà impiegato per realizzare le reti che vogliamo simulare

• I dispositivi utilizzabili sono gate array programmabili in campo (FPGA o Field Programmable Gate Arrays) costruiti da Altera

• Questi dispositivi sono costituiti da matrici di celle logiche, la cui struttura di riferimento sarà illustrata nel prossimo lucido

• Solitamente le celle sono tutte uguali• Le loro principali caratteristiche sono la configurabilità e la interconnettibilità:

esiste un programma detto “fitter” che automaticamente converte la rete data in una rete equivalente composta di celle configurate e interconnesse

• Alcuni FPGA mantengono la configurazione anche in assenza di alimentazione• Altri FPGA mantengono la configurazione su una memoria volatile che perde il

contenuto in assenza di alimentazione

Page 14: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

14

FPGA: struttura di una cella tipo• Interconnettendo tra loro più celle di un FPGA è possibile realizzare

reti combinatorie e sequenziali di notevole complessità

• Ogni cella ha le seguenti caratteristiche:– 5 o 6 ingressi “combinatori”

– un mux a due vie: una via è un ingresso, la variabile di controllo è un altro ingresso e l’altra via è una qualunque funzione degli altri 3 o 4 ingressi (scelta dal fitter)

– un FFD con ingressi di clock, enable, e clear+preset sincroni

– 2 uscite: l’uscita del mux e l’uscita del FFD

– l’ingresso del FFD è l’uscita del MUX

• In questo modo ogni cella può essere impiegata per realizzare la funzione G, la funzione F o il registro con lo stato presente

Page 15: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

15

Rappresentazione concettuale di una cella logica di FPGA

cd00 01 11 10

00ab

X 1 1 X

X 1 1 X

0 1 1 X

X 1 1 X0111

10

MUX0 U1 A

YF

RC di 4 variabiliconfigurabile

a,b,c,d

fe

• Preset e clear del FFD non sono indicati

• Il clock è un segnale globale, esteso cioè a tutto il dispositivo

D Q y

z

Page 16: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

16

Esercizi di mapping su FPGA

• Si mappi su due celle una funzione di 5 variabili

• Si mappi su tre celle il generatore di forme d’onda assegnato nella prima prova intermedia

• Si scelgano a piacere tre reti e le si mappi su FPGA

• Questi esercizi si possono risolvere applicando alle funzioni da mappare il teorema di espansione come indicato nel lucido n.9 (semplificazione di reti complesse)

Page 17: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

17

Sintesi a MUX di funzioni complesse (1)

Caso di studio: sintesi di una funzione incompleta di 4 variabiliusando MUX con 3 ingressi di selezione.

.= F(Q0 ,Q1 ,Q2 ,0) Q3’Z = F(Q0 ,Q1 ,Q2 , Q3) a)

1000 0 1 0

- - - 1

000 001 010 01101

Q3

Q2Q1 Q0

1 0 1 0

1 0 - -

101 110 111

.

+ F(Q0 ,Q1 ,Q2 ,1) Q3

Page 18: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

18

Sintesi a MUX di funzioni complesse (2)

Q2Q1Q0 1 0

I0I1I2I3I4I5I6I7 C B A

Z

SN74151

I0I1I2I3I4I5I6I7 C B A

Z

SN74151

SN74157I0

I1A

ZF (Q0 ,Q1 ,Q2 , Q3)

Q3

F(Q0 ,Q1 ,Q2 ,0)

F(Q0 ,Q1 ,Q2 ,1)

Page 19: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

19

Sintesi di funzioni con molte variabili (3)

Z = F(Q0 ,Q1 ,Q2 ,Q3)

= F(0,0,0, Q3) Q2’Q1’Q0’ + F(0,0,1, Q3) Q2’Q1’Q0 + F(0,1,0, Q3) Q2’Q1 Q0’ + F(0,1,1, Q3) Q2’Q1 Q0 + F(1,0,0, Q3) Q2 Q1’Q0’ + F(1,0,1, Q3) Q2 Q1’Q0 + F(1,1,0, Q3) Q2 Q1 Q0’ + F(1,1,1, Q3) Q2 Q1 Q0

b) Applicando 3 volte il teorema di espansione per “estrarre” una dopo l’altra le variabili Q0, Q1 e Q2 :

F(0,0,0,Q3)

F(0,0,1,Q3)

F(0,1,0,Q3)

F(0,1,1,Q3)

F(1,0,0,Q3)

F(1,0,1,Q3)

F(1,1,0,Q3)

F(1,1,1,Q3)Q3 Q2Q1Q0

I0I1I2I3I4I5I6I7 C B A

Z F

SN74151

Page 20: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

20

Sintesi a MUX di funzioni complesse (4)

La soluzione b) presenta minor numero di componenti e minor ritardo rispetto alla a) .

1000 0 1 0

- - - 1

000 001 010 01101

Q3

Q2Q1 Q0

1 0 1 0

1 0 - -

101 110 111

1 0Q3

I0I1I2I3I4I5I6I7 C B A

Z

Q2Q1Q0

F

SN74151

Q3’

genera le 4 funzioni di una variabile !

F(0,0,0,Q3) = 1F(0,0,1,Q3) = 0F(0,1,0,Q3) = 1F(0,1,1,Q3) = 0F(1,0,0,Q3) = 0F(1,0,1,Q3) = 0F(1,1,0,Q3) = 1F(1,1,1,Q3) = Q3

Page 21: 1 Espressioni generali e MULTIPLEXER 2 Notazioni simboliche per le espressioni canoniche r a bRS 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1.

21

Esercizio 4.9

Si consideri la precedente funzione Z e si esegua la sintesi con MUX a 3 ingressi di selezione estraendo dapprima solo Q0 e poi Q1, Q2 ,Q3 .