• Non ci sono risultati.

Reti Combinatorie e Macchine Combinatorie Elementari

N/A
N/A
Protected

Academic year: 2021

Condividi "Reti Combinatorie e Macchine Combinatorie Elementari"

Copied!
57
0
0

Testo completo

(1)

Reti Combinatorie

e

Macchine Combinatorie

Elementari

(2)

Fondamenti del Progetto Logico

Concetti fondamentali:

n

Elementi di Algebra di Boole

n

Porte Logiche (GATES)

n

Reti Logiche Combinatorie

n

Macchine Combinatorie “famose”:

o

Multiplexer e Demultiplexer

o

Coder e decoder

(3)

Elementi di Algebra di Boole

o

L’algebra di Boole è un modello matematico adeguato a

rappresentare l’elettronica interna ad un moderno Calcolatore

o

Elettronica DIGITALE

n  due soli livelli di segnale

o  diverse famiglie logiche, diverse rappresentazioni

Analogica:

i valori assumono Digitale: +5 V –5 T ime +5 V –5 1 0 1 T ime Vero, 1, Asserito Falso, 0, Negato

(4)

Vantaggi dei Sistemi Digitali

o

Sistemi Analogici:

n

piccoli errori in input conducono a grandi errori in output

o

I Sistemi Digitali sono più precisi e affidabili

n

facilmente realizzabili come “building blocks”

o

I Computer usano internamente circuiti digitali

o

I dispositivi di Interfaccia (per es, sensori & attuatori)

(5)

Il Mondo Reale

I dispositivi elettronici sono continui, non discreti!

E, naturalmente, sono i “building blocks” di tutti i componenti

digitali!

La transizione da 1 a 0 non è istantanea

I valori intermedi sono visibili per un istante

L’Algebra Booleana è adatta a descrivere il

comportamento a regime dei sistemi digitali

Attenzione a ricordarci del comportamento dinamico!

+5

V

0

Logic 1

(6)

Tecnologie dei circuiti digitali

Principali Tecnologie

MOS:

Metal-Oxide-Silicon

Bipolare (BJT):

Transistor-Transistor Logic

Emitter Coupled Logic

o

Integrated circuit technology

n

si usano materiali conduttori, isolanti, e “conduttori

talvolta” ("semiconduttori")

n

il modo in cui la loro interazione consente agli elettroni di

fluire costituisce la base per la realizzazione di “interruttori”

elettrici

(7)

MOS Technology

Transistor

Interruttore elettrico elementare

o

Interruttore a 3 terminali: gate,

source, drain

n

se la tensione tra gate e source

supera una data soglia l’interruttore

è “chiuso” (conduce) e gli elettroni

fluiscono tra source e drain

n

se la tensione viene rimossa,

l’interruttore è “aperto” (non

conduce) e la connessione tra

source e drain è interrotta

(8)

Esempio: realizziamo la negazione logica

1 come input significa 0 come output 0 come input significa 1 come output

Un comportamento da Inverter in

funzione del voltaggio di input

Se l

input sale da 0V a 5V

l

output rimane a 5V per un

piccolo intervallo di voltaggi di

input

e poi cambia bruscamente ma non

istantaneamente!

Ricordate la distinzione tra statico e dinamico V Out +5 0 V In +5 Logic 0 Input V oltage Logic 1 Input V oltage

NOT:

(9)

Logica Combinatoria

Logica Combinatoria

nessun feedback tra input e output

gli output sono funzione solo degli input

esempio, un addizionatore:

(A, B, Carry In) -> (Sum, Carry Out)

Le Reti Logiche sono

realizzate mediante porte

logiche.

La presenza di feedback

distingue tra reti

sequenziali

e reti combinatorie.

- - - X 1 X 2 X n Switching Network Z 1 Z 2 Z m - - - A B Cin Full

(10)

Logica Sequenziale

o

inputs e outputs si sovrappongono

o

gli output dipendono dagli input e dalla storia

dell’esecuzione!

o

Le reti tipicamente hanno solo un numero limitato di

configurazioni chiamate stati

n

es., un semaforo cicla all’infinito tra 4 stati

o

Necessità di nuovi componenti :

n

elementi di memoria per ricordare lo stato corrente

o

Gli output e il nuovo stato funzione degli inputs e del vecchio

stato

(11)

Le Tabelle di verità

Una Logica Combinatoria può

sempre

essere

descritta mediante una Tabella di Verità

Esempio: full adder

addiziona 2 bit e un riporto (Carry in) per ottenere

un bit Sum e un riporto Carry Out

NOTA: in binario 1 + 1 fa 0 con riporto 1

A B

0

0

1

1

0

1

0

1

Sum Carry

0

1

1

0

0

0

0

1

A

0

0

0

0

1

1

1

1

B

0

0

1

1

0

0

1

1

C in

0

1

0

1

0

1

0

1

S um

0

1

1

0

1

0

0

1

C out

0

0

0

1

0

1

1

1

Esempio: half adder

addiziona 2 bit

per ottenere Somma e riporto (Carry)

(12)

Algebra

Una Struttura Algebrica consiste di:

•  un insieme di elementi B

•  operazioni binarie {+, •}

•  operazioni unarie {'}

tali che sussistano i seguenti assiomi:

1.  B contiene almeno 2 elementi, a e b,

tali che a diverso da b

2. Chiusura: a,b in B, (i) a + b in B (ii) a • b in B 3. Commutatività: a,b in B, (i) a + b = b + a (ii) a • b = b • a 4. Identità: 0, 1 in B (i) a + 0 = a (ii) a • 1 = a 5. Distributività: (i) a + (b • c) = (a + b) • (a + c) (ii) a • (b + c) = a • b + a • c 6. Complemento: (i) a + a' = 1 (ii) a • a' = 0 _ nota: useremo come equivalenti i simboli ' e _

(13)

Algebra Booleana

Quando

B = {0,1},

+ = OR, • = AND, ' = NOT

L’algebra è un’Algebra Booleana

Teorema:

ogni funzione

Booleana che può

essere espressa come

Tabella di Verità può

essere scritta come

espressione

dell’algebra Booleana

usando ', +, •

NOT AND OR Gates X Y Z Y 0 1 0 1 X 0 0 1 1 Z 0 0 0 1 X X 0 1 X 1 0 X X 0 0 1 1 Y 0 1 0 1 Z 0 1 1 1 Tabella di Verità X Y Z

(14)

dalle Espressioni ai Gates

C’è più di un modo per passare dalle Espressioni ai Gates:

Es., Z = A' • B' • (C + D) = (A' • (B' • (C + D))) T1

T2

Letterali: ogni occorrenza di una variabile o del suo complemento

Es., Z = A B' C + A' B + A' B C' + B' C

Uso di un 3-input gate

3 variabili, 10 letterali A B C D T1 T2 Z A B C D Z

(15)

F0 0 0 0 0 F1 0 0 0 1 F2 0 0 1 0 F3 0 0 1 1 F4 0 1 0 0 F5 0 1 0 1 F6 0 1 1 0 F7 0 1 1 1 F8 1 0 0 0 F9 1 0 0 1 F10 1 0 1 0 F1 1 1 0 1 1 F12 1 1 0 0 F13 1 1 0 1 F14 1 1 1 0 F15 1 1 1 1 X 0 0 1 1 Y 0 1 0 1 0 X Y X Y X + Y 1 Y X

Funzioni di 2 variabili

16 funzioni:

Y X

(16)

Funzioni

famose

:

NAND e NOR

NAND NOR X 0 0 1 1 Y 0 1 0 1 Z 1 1 1 0 X Y Z X Y Z X 0 0 1 Y 0 1 0 Z 1 0 0

Simbolo Gate Tabella di Verità Nome

(17)

Realizzare funzioni logiche con

NAND e NOR

Nelle Reti Logiche reali il numero di NAND e NOR è

largamente superiore a quello di AND e OR

Sono enormemente più semplici da costruire con le attuali

tecnologie elettroniche

Teorema:

Ogni espressione Booleana può essere realizzata con NAND, NOR e NOT e, in verità, il NOT è superfluo:

(NOT = NAND o NOR se gli input sono cortocircuitati assieme)

X 0 1 Y 0 1 X NOR Y 1 0 X 0 1 Y 0 1 X NAND Y 1 0

(18)

XOR: X o Y ma non tutti e due (”diseguaglianza")

XNOR: X e Y sono uguali ("eguaglianza")

X ⊕ Y = X Y' + X' Y X ⊕ Y = X Y + X' Y' XOR XNOR X Y Z X 0 0 1 1 Y 0 1 0 1 Z 0 1 1 0 X 0 0 1 Y 0 1 0 Z 1 0 0 X Y Z

Funzioni

famose

:

XOR e XNOR

Simbolo Gate Tabella di Verità Nome

Anche detto “OR esclusivo”

(19)

Esempio: Realizzazioni Alternative

2 Livelli

(gli inverter non contano)

Multi-Livello

Vantaggio: Minore Fan-in

Complex Gate: XOR

Vantaggio: Minimo numero di

Gates A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 Z 0 1 0 1 0 1 1 0 A B C

(20)

Un aspetto importante: la MINIMIZZAZIONE

La Minimizzazione: ridurre la complessità dell’implementazione • ridurre il numero di letterali (gate inputs)

• ridurre il numero di gates

• ridurre il numero di livelli di gates

Meno inputs -> porte più veloci in alcune tecnologie

Il fan-in (numero di gate inputs) è limitato in alcune tecnologie Meno livelli di gates -> meno ritardi nella propagazione

Minimo ritardo tipicamente richiede più gates Numero di gates influenza il costo

Metodi Tradizionali:

(21)

Leggi dell

Algebra Booleana

Per operare sulle espressioni logiche (CIOE’ PER TRASFORMARE o MINIMIZZARE) si usano varie Leggi Algebriche

Un esempio importante: le

Leggi di DeMorgan

(X + Y) = X • Y

(X • Y) = X + Y

NOR è equivalente a AND con gli input negati

NAND è equivalente a OR con gli input negati

X

0

0

1

1

Y

0

1

0

1

X

1

1

0

0

Y

1

0

1

0

X + Y

1

0

0

0

X•Y

1

0

0

0

X

0

0

1

1

Y

0

1

0

1

X

1

1

0

0

Y

1

0

1

0

X + Y

1

1

1

0

X•Y

1

1

1

0

(22)

Leggi dell’Algebra Booleana: Applicazione

Esempio:

Z = A' B' C + A' B C + A B' C + A B C'

Z' = (A + B + C') • (A + B' + C') • (A' + B + C') •

(A' + B' + C)

Le leggi di DeMorgan possono essere usate per

convertire

(23)

Forme Canoniche a 2-livelli

o

Le Tabelle di Verità sono la

firma

di una funzione

Booleana

o

Ma data una Tabella ci possono essere molte

espressioni (e quindi realizzazioni) corrispondenti

o

Forme Canoniche: una

forma

standard di una

funzione Booleana

(24)

Forme Canonica del I tipo

Forma Canonica a Somma di Prodotti

Forma disgiuntiva o espansione dei MINTERMINI

F = A' B C + A B' C' + A B' C + A B C' + A B C 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 F' = A' B' C' + A' B' C + A' B C' F 0 0 0 1 1 1 1 1 F 1 1 1 0 0 0 0 0 C 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 1 1 A 0 0 0 0 1 1 1 1

(25)

Forma Canonica del Primo Tipo: Esempio

Somma di Prodotti MINTERMINE:

AND di letterali in cui ciascuna

variabile appare esattamente una volta asserita o negata (non in ambedue i modi!)

F forma canonica: F(A,B,C) = Σm(3,4,5,6,7) = m3 + m4 + m5 + m6 + m7 = A' B C + A B' C' + A B' C + A B C' + A B C A B C = m 1 A B C = m 2 A B C = m 3 A B C = m 4 A B C = m 5 A B C = m 6 A B C = m 7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 Mintermini A B C = m 0 F 0 0 0 1 1 1 1 1 F 1 1 1 0 0 0 0 0 C 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 1 1 A 0 0 0 0 1 1 1 1

(26)

Forma Canonica del Primo Tipo: Esempio:

F forma canonica: F(A,B,C) = Σm(3,4,5,6,7) = m3 + m4 + m5 + m6 + m7 = A' B C + A B' C' + A B' C + A B C' + A B C F 0 0 0 1 1 1 1 1 F 1 1 1 0 0 0 0 0 C 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 1 1 A 0 0 0 0 1 1 1 1

(27)

Esempio: Forma Minima AND/OR

B C A F F 0 0 0 1 1 1 1 1 F 1 1 1 0 0 0 0 0 C 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 1 1 A 0 0 0 0 1 1 1 1

Facciamo una

MINIMIZZAZIONE

a

uocchio

(28)

Esempio: Realizzazioni Alternative

4 Implementazioni Alternative di F:

Somma di Prodotti CANONICA

Somma di Prodotti MINIMA

Prodotto di Somme CANONICA

Prodotto di Somme MINIMA F 1 A B F 2 F 3 F C Ricordiamoci di De Morgan

(29)

Funzioni Incompletamente Specificate

o

Funzioni con n input hanno 2

n

possibili configurazioni

di input

o

Per una data funzione, non tutte le configurazioni

sono ammesse

(30)

Esempio: Binary Coded Decimal Digit (+1)

Il codice BCD codifica le cifre decimali 0 - 9

nei bit patterns 00002 - 10012

Questi input non verranno mai incontrati

Gli output associati sono "Don't Cares"

Off-set di W On-set di W

Don't care (DC) set di W A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 W 0 0 0 0 0 0 0 1 1 0 X X X X X X X 0 0 0 1 1 1 1 0 0 0 X X X X X X Y 0 1 1 0 0 1 1 0 0 0 X X X X X X Z 1 0 1 0 1 0 1 0 1 0 X X X X X X

(31)

Macchine Combinatorie “Famose”

o

I Multiplexer

MUX MUX DEMUX A B Sum A0 A1 B0 B1 Sa Sb Ss S0 S1

Sorgenti di input multiple

Destinazioni di output multiple Connessioni Multi-point

(32)

I

1

0

0

0

0

1

1

1

1

I

0

0

0

1

1

0

0

1

1

A

0

1

0

1

0

1

0

1

Z

0

0

1

0

0

1

1

1

A

0

1

Z

I

0

I

1

Multiplexer

2n input dati, n input di controllo, 1 output

usati per connettere 2n punti con un singolo punto

I segnali di controllo sono un indice binario degli input connessi agli output

Z = A' I + A I 0 1

Forma Funzionale Forma Logica

(33)

Multiplexer

Z = A' I0 + A I1 2:1 mux I 0 I 1 A Z Z = A' B' I0 + A' B I1 + A B' I2 + A B I3 I 0 A I 1 I 2 I 3 B Z 4:1 mux Z = A' B' C' I0 + A' B' C I1 + A' B C' I2 + A' B C I3 + A B' C' I4 + A B' C I5 + A B C' I6 + A B C I7 I 0 A I 1 I 2 I 3 B Z 8:1 mux C I 4 I 5 I 6 I 7

(34)

Multiplexer

Realizzazione Mux 2:1 e 4:1 Z I0 I1 A I 1 I 2 I 3 I 0 A B Z Z = A' B' I0 + A' B I1 + A B' I2 + A B I3 Z = A' I0 + A I1

(35)

Multiplexer:

Realizzazioni Alternative per un MUX 8:1

I segnali B e C selezionano simultaneamente

uno tra I0-I3 and I4-I7 Il segnale A seleziona quale

Mux 2:1 0 1 S Mux 4:1 0 1 2 3 S1 S0 Mux 4:1 0 1 2 3 S1 S0 Mux 8:1 C B A I0 I1 I2 I3 I4 I5 I6 I7 Z Dunque:

Abbiamo 8 segnali di ingresso da pilotare con 3 segnali di

controllo

(36)

Un altro schema possibile

0 1 S 0 1 S 0 1 S 0 1 S 0 1 S1 2 3 S0 C A B I 0 I 1 I 2 I 3 I 4 I 5 I 6 I 7 C C C Z

Grandi multiplexers possono essere realizzati componendo i piccoli

(37)

Multiplexer

come macchine combinatorie

generali

Un multiplexer 2n-1:1 può implementare qualsiasi funzione di n variabili

n-1 variabili di controllo; la restante costituisce un opportuno “data input” al Mux

Esempio: F(A,B,C) = P0 + P2 + P6 + P7 = A' B' C' + A' B C' + A B C' + A B C = A' B' (C') + A' B (C') + A B' (0) + A B (1) 8:1 MUX 1 0 1 0 0 0 1 1 0 1 2 3 4 5 6 7 S2 S1 S0 A B C F "Lookup Table" S1 S0 A B 4:1 MUX 0 1 2 3 C C 0 1 F A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 0 1 0 0 0 1 1 C C 0 1

(38)

Multiplexer

come macchine combinatorie

generali

Altro esempio:

F = P0+P7 = A’B’C’+ABC =

A’B’ (C’) + A’B (0)+ AB’ (0) + AB(C)

A Mux 4:1 0 1 2 3 S1 S0 0 C’ C F 0 B A B C F 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 C 0 0 C’

Con un MUX 22:1 posso costruire

(39)

Macchine Combinatorie “Famose”

o

I Decoder

O

u

t

0

O

u

t

1

O

u

t

2

O

u

t

3

O

u

t

4

O

u

t

5

O

u

t

6

O

u

t

7

D

e

c

o

d

e

r

3

B 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 Z1 1 0 0 0 0 0 0 0 Z2 0 1 0 0 0 0 0 0 Z4 0 0 0 1 0 0 0 0 Z5 0 0 0 0 1 0 0 0 Z7 0 0 0 0 0 0 1 0 Z6 0 0 0 0 0 1 0 0 Z3 0 0 1 0 0 0 0 0 Z8 0 0 0 0 0 1 0 0

In questo modo possiamo DECODIFICARE un codice

E se aggiungiamo un’abilitazione?

(40)

Decoders/Demultiplexers

DEMUX: un singolo input dati , n input di controllo, 2n outputs

Gli input di controllo (select S) sono un indice binario degli output L’input dati è detto “abilitazione” o "enable" (E)

1:2 Decoder: O0 = E • S; O1 = E • S 2:4 Decoder: O0 = E • S0 • S1 O1 = E • S0 • S1 O2 = E • S0 • S1 O3 = E • S0 • S1 3:8 Decoder: O0 = E • S0 • S1 • S2 O1 = E • S0 • S1 • S2 O2 = E • S0 • S1 • S2 O3 = E • S0 • S1 • S2 O4 = E • S0 • S1 • S2 O5 = E • S0 • S1 • S2 O6 = E • S0 • S1 • S2 O = E • S • S • S2

(41)

Decoder/Demultiplexer

Un Decoder genera opportuni Mintermini a seconda dei

segnali di controllo

Decoder come Building Block Logico

3:8 dec 0 1 2 3 4 5 6 7 A B C Enb ABC ABC ABC ABC ABC ABC ABC ABC S 2 S 1 S 0

(42)

I PLA

Building block pre-fabbricati di molte porte AND/OR (o NOR, NAND) Vengono ”Personalizzati" creando/cancellando le connessioni tra porte

Schema a blocchi in

Forma Somma di Prodotti

Input

Array “denso” di

Porte AND Termini

Prodotto

Output Array “denso” di

(43)

F0 = A + B' C'

F1 = A C' + A B

F2 = B' C' + A B

F3 = B' C + A

Esempio:

Perché conviene?

I termini prodotto sono condivisi

Outputs

Inputs

Riuso

A

1

-

1

-

1

B

1

0

-

0

-

C

-

1

0

0

-

F

0

0

0

0

1

1

F

1

1

0

1

0

0

F

2

1

0

0

1

0

F

3

0

1

0

0

1

A B

B C

A C

B C

A

PLA

1 = asserito nel termine 0 = negato nel termine - = non partecipa

1 = termine connesso in output 0 = non connesso in output

Input:

(44)

Tutte le connessioni sono disponibili prima della programmazione

(45)

PLA

Le connessioni indesiderate sono “cancellate"

Nota:

Ci sono delle tecnologie che creano le connessioni

(46)

ABC A B C A B C ABC ABC ABC ABC ABC ABC ABC Funzioni Multiple di A, B, C

PLA:

Esempio di progetto

Osservate la rappresentazione F1 = A B C F2 = A + B + C F3 = A B C F4 = A + B + C F5 = A xor B xor C F6 = A xnor B xnor C

(47)

Un esempio di PLA:

il

COMPARATORE

ABCD ABCD ABCD ABCD AC AC BD BD ABD BCD ABC BCD AB CD 00 01 11 10 00 01 11 10 D B C A 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 K-map for EQ AB CD 00 01 11 10 00 01 11 10 D B C A 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 K-map for NE AB CD 00 01 11 10 00 01 11 10 D C A 0 0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 AB CD 00 01 11 10 00 01 11 10 D C A 0 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0

(48)

Read-Only Memories

ROM: Array bidimensionale di 1 e 0 “cablati” in fabbrica

Una riga (Row) viene detta "word"; l’indice viene detto ”indirizzo" L’ampiezza di riga viene detta wordsize

L’indirizzo è l’input, la word selezionata è l’output

Dec 2 -1n 0 +5V +5V +5V +5V Word Line 0011 Word Line 1010 j i Organizzazione Interna

(49)

Read-Only Memories

Esempio: Implementazione di Logica Combinatoria

F0 = A' B' C + A B' C' + A B' C F1 = A' B' C + A' B C' + A B C F2 = A' B' C' + A' B' C + A B' C’ F3 = A' B C + A B' C' + A B C' ROM 8 w ords by 4 bits A B C F 0 F 1 F 2 F 3 B 0 0 1 1 0 0 1 1 Indirizzo A 0 0 0 0 1 1 1 1 C 0 1 0 1 0 1 0 1 F 0 0 1 0 0 1 1 0 0 F 1 0 1 1 0 0 0 0 1 F 2 1 1 0 0 1 0 0 0 F 3 0 0 0 1 1 0 1 0

(50)

Read-Only Memories

Simili ad un PLA con un array di AND completamente decodificato! ROM vs. PLA:

Le ROM sono vantaggiose quando

(1) c’è poco tempo per il progetto (non si deve minimizzare)

(2) si usa la maggior parte delle combinazioni di input (es., code converters) (3) c’è poca condivisione di termini tra le funzioni di output

difetto delle ROM : la dimensione raddoppia per ogni input addizionale I PLA sono vantaggiosi quando

(1) si ha disponibile un tool di progetto automatico (2) ci sono poche combinazioni uniche di mintermini

Memory array 2n words da m bits m linee di output n linee di indirizzo Decoder 2n word

(51)

Read-Only Memories

2764 EPROM 8K x 8 16K x 16 Subsystem 2764 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 O0 O1 O2 O3 O4 O5 O6 O7 OE CS PGM VPP A10 A11 A12 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 O0 O1 O2 O3 O4 O5 O6 O7 OE CS PGM VPP A10 A11 A12 + + 2764 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 O0 O1 O2 O3 O4 O5 O6 O7 OE CS PGM VPP A10 A11 A12 2764 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 O0 O1 O2 O3 O4 O5 O6 O7 OE CS PGM VPP A10 A11 A12 2764 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 O0 O1 O2 O3 O4 O5 O6 O7 OE CS PGM VPP A10 A11 A12 2764 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 O0 O1 O2 O3 O4O5 O6 O7 OE CS PGM VPP A10 A11A12 + + A13 /OE A12:A0 D7:D0 D15:D8 U3 U2 U1 U0

(52)

Controller codice BCD per Display a 7 Segmenti

Il problema:

L’input è un numero a 4 bit bcd (binary coded decimal) L’output sono i segnali di controllo per il display

4 input A, B, C, D 7 output C0 — C6 C 5 C 0 C 6 C 3 C 4 C 1 C 2 C 0 C 1 C 2 C 3 C 4 C 5 C 6 Transcodificatore BCD-a-7-segmenti Display a 7-Segmenti C 0 C 1 C 2 C 3 C 4 C 5 C 6

(53)

Controller codice BCD per Display a 7 Segmenti

Formulare il problema in termini di una tabella di verità

Scegliere il tipo di implementazione: se è una ROM, abbiamo finito

data la presenza di molti don't cares una soluzione PLA potrebbe essere interessante

Dopodiché si può procedere:

Minimizzando “a mano” le K-maps oppure

si può usare un tool automatico

0 0 0 0 1 1 1 1 1 1 0

0 0 0 1 0 1 1 0 0 0 0

0 0 1 0 1 1 0 1 1 0 1

0 0 1 1 1 1 1 1 0 0 1

0 1 0 0 0 1 1 0 0 1 1

0 1 0 1 1 0 1 1 0 1 1

0 1 1 0 1 0 1 1 1 1 1

0 1 1 1 1 1 1 0 0 0 0

1 0 0 0 1 1 1 1 1 1 1

1 0 0 1 1 1 1 0 0 1 1

1 0 1 0 - - -

1 0 1 1 - - -

1 1 0 0 - - -

1 1 0 1 - - -

A B C D c0 c1 c2 c3 c4 c5 c6

(54)

AB CD 00 01 11 10 00 01 11 10 0 1 X 1 0 1 X 1 1 0 X X 1 1 X X K-map for C 6 = A + C D' + B C' + B' C CD'

0 0 0 0 1 1 1 1 1 1 0

0 0 0 1 0 1 1 0 0 0 0

0 0 1 0 1 1 0 1 1 0 1

0 0 1 1 1 1 1 1 0 0 1

0 1 0 0 0 1 1 0 0 1 1

0 1 0 1 1 0 1 1 0 1 1

0 1 1 0 1 0 1 1 1 1 1

0 1 1 1 1 1 1 0 0 0 0

1 0 0 0 1 1 1 1 1 1 1

1 0 0 1 1 1 1 0 0 1 1

1 0 1 0 - - -

1 0 1 1 - - -

1 1 0 0 - - -

1 1 0 1 - - -

A B C D C6

a mano

sulle mappe di Karnaugh: il segnale C6

A BC'

(55)

C0 = A + B D + C + B' D' C3 = B' D' + C D' + B C' D + B' C C4 = B' D' + C D 14 Termini Prodotto unici AB CD 00 01 11 10 00 01 11 10 D B C A 1 0 X 1 0 1 X 1 1 1 X X 1 1 X X K-map for C 0 AB CD 00 01 11 10 00 01 11 10 D B C A 1 1 X 1 1 0 X 1 1 1 X X 1 0 X X K-map for C 1 AB CD 00 01 11 10 00 01 11 10 D B C A 1 1 X 1 1 1 X 1 1 1 X X 0 1 X X K-map for C 2 AB CD 00 01 11 10 00 01 11 10 D B C A 1 0 X 1 0 1 X 0 1 0 X X 1 1 X X K-map for C 3 AB CD 00 01 11 10 00 01 11 10 D B C A 1 0 X 1 0 0 X 0 0 0 X X 1 1 X X K-map for C 4 AB CD 00 01 11 10 00 01 11 10 D B C A 1 1 X 1 0 1 X 1 0 0 X X 0 1 X X K-map for C 5 AB CD 00 01 11 10 00 01 11 10 D B C A 0 1 X 1 0 1 X 1 1 0 X X 1 1 X X K-map for C 6

(56)

Usando un tool automatico: “

espresso

.i 4 .o 7 .ilb a b c d .ob c0 c1 c2 c3 c4 c5 c6 .p 16 0000 1111110 0001 0110000 0010 1101101 0011 1111001 0100 0110011 0101 1011011 0110 1011111 0111 1110000 1000 1111111 1001 1110011 1010 --- 1011 --- 1100 --- 1101 --- 1110 --- 1111 --- .e .i 4 .o 7 .ilb a b c d .ob c0 c1 c2 c3 c4 c5 c6 .p 9 -10- 0000001 -01- 0001001 -0-1 0110000 -101 1011010 --00 0110010 --11 1110000 -0-0 1101100 1--- 1000011 -110 1011111 .e espresso espresso output C0 = B C' D + C D + B' D' + B C D' + A C1 = B' D + C' D' + C D + B' D' C2 = B' D + B C' D + C' D' + C D + B C D' C3 = B C' D + B' D + B' D' + B C D' C4 = B' D' + B C D' C5 = B C' D + C' D' + A + B C D' C6 = B' C + B C' + B C D' + A

solo 9 Termini Prodotto unici!

(57)

Implementazione PLA

Figura

Tabella di Verità può

Riferimenti

Documenti correlati

Per rendere concrete le azioni per la promozione della pace, la difesa dei diritti umani, la sostenibilità e la costruzione di comunità pacifiche e inclusive

Nelle imprese artigianali della nostra regione, il fatturato a prezzi correnti è sceso del 3,2 per cento, la produzione è diminuita del 3,3 per cento, una flessione ancor più ampia

Quattro le direttrici di inter- vento: «La valorizzazione delle produzioni di eccellenza, in par- ticolare agricole e agroalimentari, e tutela all'estero dei marchi e del-

Il magnate di Microsoft, ex uomo più ricco del mondo, si dedica oggi principalmente alla Bill & Melissa Gates Foundation.. Che ha nel settore de vaccini uno dei suoi punti

(*) La dotazione minima di personale è calcolata, con riferimento ai veicoli che concorrono a formare la portata utile complessiva, sulla base della formula, arrotondata

A chi ha un reddito complessivo fino a 28 mila euro all’anno è riconosciuto un bonus di 600 euro nel periodo tra luglio e dicembre 2020 e di 1.200 euro dal 1° gennaio al 31

NERINA DIRINDIN | Senato della Repubblica e Facoltà di Economia dell’Università di Torino 10:30-10:50 | DIAGNOSI E TRATTAMENTO DI INEFFICIENZE E SPRECHI A LIVELLO REGIONALE

LUCA DE FIORE | Associazione Alessandro Liberati - Network Italiano Cochrane 17:00 | CHIUSURA DELLA RIUNIONE ANNUALE.