46
Esercitazioni di Reti Logiche Lezione 4 Progettazione dei circuiti logici combinatori Zeynep KIZILTAN [email protected]

Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Embed Size (px)

Citation preview

Page 1: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Esercitazioni di Reti Logiche

Lezione 4

Progettazione dei

circuiti logici combinatori

Zeynep KIZILTAN

[email protected]

Page 2: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Argomenti

• Procedura di analisi dei circuiti combinatori.

• Procedura di sintesi dei circuiti combinatori.

• Alcuni blocchi logici di base & loro uso nei circuiti:

– Sommatore (Adder)

– Decodificatore (Decoder)

– Multiplexer

– PLA (Array logica programmabile)

Page 3: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Procedura di analisi

• L’obiettivo dell’analisi è determinare la funzione che un circuito implementa.

• A partire dallo schema circuitale, il processo di analisi individua:

– le funzioni booleane;

– opp. una tabella di verità direttamente dal circuito;

– eventualmente una descrizione del funzionamento

del circuito.

Page 4: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Procedura di analisi

Per eseguire l’analisi:

1. Accertarsi che il circuito è combinatorio:

– ovv, senza percorsi di retroazione o elementi di memoria.

2. Determinare le funzioni booleane:

1. dividere il circuito in piccoli blocchi con una sola uscita.

2. etichettare tutte le uscite.

3. individuare le corrispondenti funzioni booleane.

! una funzione può dipendere da un’altra.

4. ottenere un’espressione delle uscite del circuito solo in

termini di variabili di ingresso.

Page 5: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Procedura di analisi

! Se il circuito è progettato gerarchicamente, occorre

cominciare dal livello più basso, proseguire nell’ordine

a quello successivo.

3. Semplificare le funzione delle uscite mediante manipolazioni algebriche o tramite le mappe di Karnaugh.

Page 6: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

A

B

C

D

F

G

Esercitazione 1

• Analizzare il circuito seguente. Determinare le espressioni booleane per le uscite F e G in funzione dei quattro ingressi A, B, C, e D.

Page 7: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

A

B

C

D

F

G

T1

T2

T3

T4

1. Il circuito è combinatorio:• non ci sono percorsi di retroazione/elementi di memoria

2. Etichettiamo le uscite.

3. Determiniamo le corrispondenti funzioni:– T1 = BC

– T2 = (A’D)’

– T3 = (A’T2)’

– T4 = (A’+T1)

Page 8: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

A

B

C

D

F

G

T1

T2

T3

T4

4. Determiniamo le funzioni delle uscite in forma di somma di prodotti, sostituendo le funzioni intermedie con le loro espressioni:

F = T3T4

= (A’T2)’ (A’+T1)

= [A’ (A’D)’]’(A’+BC)

= [A+(A’D)] (A’+BC)

= (A+D)(A’+BC)

= ABC + BCD + A’D

Page 9: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

A

B

C

D

F

G

T1

T2

T3

T4

4. Determiniamo le funzioni delle uscite in forma di somma di prodotti, sostituendo le funzione intermedie con le loro espressioni:

G = T4T2

= (A’+T1)[(A’D)’]

= (A’+BC)[(A’D)’]

= (A’+BC)(A+D’)

= A’D’ + BCD’ + ABC

Page 10: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

D

C

AB

CD1100 01 10

00

01

11

10

B

A

5. Semplifichiamo le funzioni delle uscite tramite le mappe di Karnaugh.

F = ABC + BCD + A’D

0

0

0

0

1

1

0

0

1

1

1

0

0

0

1

0

F = ABC + A’D

Page 11: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

D

C

AB

CD1100 01 10

00

01

11

10

B

A

5. Semplifichiamo le funzioni delle uscite tramite le mappe di Karnaugh.

G = ABC + BCD’ + A’D’

1

1

0

0

0

0

0

0

0

0

0

1

1

1

0

1

G = ABC + A’D’

Page 12: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Procedura di analisi

• Per determinare la tabella di verità direttamente:

1. costruire la tabella, elencando tutte le combinazioni dei valori delle n variabili di ingresso (2n righe).

2. eseguire i primi 3 passaggi della procedura per determinare le funzioni booleane.

3. indicare nella tabella i valori di tutte le funzioni intermedie.

4. indicare nella tabella i valori di tutte le uscite del

circuito.

Page 13: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Procedura di sintesi

• L’obiettivo della sintesi è determinare il circuito che implementa un funzionamento.

• A partire dalla descrizione verbale, il processo di sintesi individua:

– un diagramma logico;

– opp. un insieme di equazioni booleane dalle quali

il diagramma può essere ricavato.

Page 14: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Procedura di sintesi

Per eseguire la sintesi:

1. Identificare il numero di ingressi e uscite.

2. Costruire la tabella di verità, interpretando la specifica verbale.

3. Determinare le funzioni booleane semplificate delle uscite come funzione delle variabili di ingresso (utilizzando le mappe di Karnaugh).

4. Disegnare il diagramma logico.

Page 15: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Esercitazione 2

• Progettare un circuito combinatorio per convertire un codice BCD in un codice excess-3.

Page 16: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Codice BCD

• I calcolatori hanno bisogno di memorizzare un numero decimale per convertirlo nel sistema binario.

• Poiché i calcolatori possono gestire soltanto 0 e

1, bisogna codificare le cifre decimali soltanto con i simboli 0 e 1.

• Il codice binario decimale (BCD) è un sistema per codificare i numeri decimali:

– associa ogni cifra decimale 0,1,2,..9 a un numero binario di 4 bit.

• Un numero con n cifre decimali codificato in BCD richiede 4n bit:

– ciascun gruppo di quattro bit rappresenta una cifra decimale.

• (185)10 = (0001 1000 0101) BCD ≠ (10111001)2

1 8 5

Page 17: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Codice excess-3

• Cambiando il numero binario di 4 bit associato a ciascun decimale, altri sistemi di codificazione possono essere ottenuti.

• Excess-3 è un sistema per codificare i numeri decimali:– associa ogni cifra decimale al numero binario di BCD

aumentato di 3 unità.

• (185)10 = (0001 1000 0101) BCD = (0100 1011 1000) E-3

0100 = 0001 + 0011

1011 = 1000 + 0011

1000 = 0101 + 0011

Page 18: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Convertitore di codice

1. Il numero di ingressi e uscite

– tutti e due i codici utilizzano 4 bit.

→ ci sono 4 variabili A,B,C,D di ingresso e 4 variabili

W,X,Y,Z di uscita.

Page 19: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Convertitore di codice

2. La tabella di verità

– Il codice E-3 è ottenuto aggiungendo (0011)2 = 310 al codice BCD.

– solo 10 righe:

• le altri 6 combinazioni dei valori non sono usate.

→ esse possono essere trattate come condizioni di non-specificazione nelle

mappe.

Page 20: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

3. Funzioni booleane

– ciascuna mappa rappresenta una delle 4 uscite.

Page 21: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

4. Il diagramma logico

• Nella implementazione, le espressioni possono essere manipolate algebricamente per condividere le porte.

= A + B(C+D)

= B’(C+D)+BC’D’

= CD+C’D’

= D’

Page 22: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Sommatore (Adder)

• Un sommatore binario è un circuito combinatorio che dà in uscita la somma aritmetica di 2 numeri di n bit:

• 2 blocchi logici di base permettono la realizzazione di un sommatore:

– Half adder

– Full adder

X1 X2 …. Xn

Y1 Y2 …. Yn

Z1 Z2 …. Zn

} Riguardano la somma in una colonna

Page 23: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Half adder

• Un circuito aritmetico che somma due numeri binari a 1 bit:

– X+Y

– S: il bit di somma

– C: il bit di riporto

Page 24: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Half adder

• Le funzioni booleane:

– S = X Y

– C = XY

→il circuito può essere implementato utilizzando

una porta XOR e una porta AND.

Page 25: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Full adder

• Un circuito aritmetico che somma 3 numeri binari a 1 bit:

– X+Y+Z

– Z: il riporto che viene dalla

colonna precedente

– S: il bit di somma

– C: il bit di riporto

Page 26: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Full adder

• Le funzioni booleane:

– S = X Y Z

– C = XY+Z(X Y)

→il circuito può essere implementato utilizzando

2 half-adder e una porta OR.

⊕⊕

⊕ ⊕

Page 27: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Sommatore binario parallelo• Un circuito che utilizza n full adder in parallelo.

• I full adder sono connessi in cascata:

– l’uscita riporto dell’uno è connessa all’ingresso riporto del successivo.

• Ogni full adder ha come ingressi Ai e Bi (le variabili della colonna i-esima della somma).

• Il riporto in ingresso al primo adder è fissato a 0.

• La somma è ottenuta dalla sequenza CnS(n-1)…S0.

Page 28: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Esercitazione 3

• Realizzare un circuito per la sottrazione tra 2 numeri binari di 4 bit (senza segno) utilizzando un sommatore binario parallelo a 4 bit.

Page 29: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Sottrattore

• Lezione 1: – La sottrazione A-B dei 2 numeri binari (senza segno) può

essere eseguita con il sommare il complemento a 2 del

sottraendo B al minuendo A.

– Il complemento a 2 può essere ottenuto sommando 1 al

complemento a 1 del numero considerato.

→ A-B = A + (il complemento a 1 di B) + 1

! Il complemento a 1 di un numero può essere calcolato

complementando, uno a uno, i bit del numero.

Page 30: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Sommatore/Sottrattore• B 1 = B’ B 0 = B

• S=0 → A+B

• S=1 → A + (il complemento a 1 di B) + 1

⊕ ⊕

Page 31: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Decodificatore (Decoder)

• Un circuito combinatorio che genera 2n

mintermini di n variabili.

Page 32: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Decodificatore

• Un decoder può utilizzare un ingresso di abilitazione (enable).

Page 33: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Decodificatore

• I decodificatori sono molto utili nella progettazione dei circuiti:

– qualunque funzione booleana è esprimibile

come somma di mintermini (Lezione 2).

Page 34: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Esercitazione 4

• Un circuito combinatorio è definito dalle tre funzioni booleane seguenti:

F1(X,Y,Z) = X’ Y’ Z’ + X Z

F2(X,Y,Z) = X Y’ Z’ + X’Y

F3(X,Y,Z) = X’ Y’ Z + X Y

Progettare il circuito utilizzando un decodificatore e porte esterne.

Page 35: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Esercitazione 4

D0 = X’ Y’ Z’

D1 = X’ Y’ Z

D2 = X’ Y Z’

D3 = X’ Y Z

D4 = X Y’ Z’

D5 = X Y’ Z

D6 = X Y Z’

D7 = X Y Z

Page 36: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

1

XYZ

0

1

1100 01 10

0 0 0

0 1 1 0X

Z

Y

0

XYZ

0

1

1100 01 10

0 1 1

1 0 0 0X

Z

Y

Y

F1(X,Y,Z) = X’ Y’ Z’ + X Z

= ∑ m(0,5,7)F2(X,Y,Z) = X Y’ Z’ + X’Y

= ∑ m(2,3,4)

F3(X,Y,Z) = X’ Y’ Z + X Y

= ∑ m(1,6,7)

0

XYZ

0

1

1100 01 10

1 0 0

0 0 1 1X

Z

Y

Page 37: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Esercitazione 4

F1 = ∑ m(0,5,7)

F2 = ∑ m(2,3,4)

F3 = ∑ m(1,6,7)

Page 38: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

• Un circuito combinatorio che seleziona segnali binari e li dirige a una singola linea di uscita.

• La selezione è controllata da un insieme di altre variabili di ingresso

(variabili di selezione).

Multiplexer

4 x 1 MUX

Page 39: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Multiplexer

• La funzionalità di selezione di un multiplexer èmolto utile nella progettazione dei circuiti combinatori.

Page 40: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Esercitazione 5

• Implementare la funzione booleana seguente con un multiplexer 8-1 e un singolo invertitore:

F(A,B,C,D)= ∑ m(1,3,4,11,12,13,14,15)

Page 41: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Esercitazione 5

! Un 8x1 MUX ha 3 variabili di selezione.

! Abbiamo 4 variabili di ingresso.

Page 42: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Esercitazione 5• Applicando le prime 3 variabili alle linee di selezione S2, S1, e S0, la

funzione può essere definita in termini dell’ultima variabile.

Page 43: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

• Un circuito costituto da:

– un array (matrice) di porte AND che può

essere programmato per generare alcuni

termini di prodotto delle variabili di ingresso.

– e un array di porte OR che può essere

programmato per sommare selettivamente i

termini.

• L’obiettivo è progettare, in forma di somma di mintermini, qualunque funzione.

PLA: Array logico programmabile

Page 44: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

Esercitazione 6

• Implementare con un PLA le funzioni booleane:

F1(A,B,C)= AB’ + AC + A’BC’

F2(A,B,C)= (AC+BC)’

Page 45: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

PLA

termine attivato

somma attivata

Complementazione

F1(A,B,C)= AB’ + AC + A’BC

F2(A,B,C)= (AC+BC)’

Page 46: Esercitazioni di Reti Logiche Lezione 4 - cs.unibo.itdallago/AE0607/06_ESERCIZI.pdf · Procedura di analisi • L’obiettivo dell’analisi è determinare la funzione che un circuito

PLA

• La mappa può essere specificata in forma di tabella.