• Non ci sono risultati.

FONDAMENTI DI INFORMATICA B FONDAMENTI DI INFORMATICA B Esercitazione n.1

N/A
N/A
Protected

Academic year: 2022

Condividi "FONDAMENTI DI INFORMATICA B FONDAMENTI DI INFORMATICA B Esercitazione n.1"

Copied!
12
0
0

Testo completo

(1)

Fondamenti di Informatica B Esercitazione 1

1 / 23 Marcello CARLETTI

FONDAMENTI DI INFORMATICA B FONDAMENTI DI INFORMATICA B Esercitazione n.1

Esercizi di sintesi mediante mappe

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

RIEPILOGO TEORICO RIEPILOGO TEORICO - - I I

2 categorie di circuiti logici:

• CIRCUITI COMBINATORI:

– la relazione ingresso/uscita non dipende dal tempo – privi di stato interno

• CIRCUITI SEQUENZIALI:

– l’uscita dipende anche dalla storia passata del circuito – presenza di stato interno (memoria)

Vedremo reti combinatorie ad 1 uscita:

reti a più uscite possono essere scomposte nel

parallelo di più reti ad 1 uscita

(2)

Fondamenti di Informatica B Esercitazione 1

3 / 23 Marcello CARLETTI

RIEPILOGO TEORICO RIEPILOGO TEORICO - - II II

• Obiettivi della minimizzazione logica:

– minimizzare il numero di porte

– a pari numero di porte, minimizz. il numero di ingressi

Minori costi

• Non più forme canoniche in senso stretto, minterm e maxterm,

ma SdP e PdS minime, implicanti (implicati) principali ed essenziali

• Si devono trovare tutti gli implicanti (implicati) principali essenziali

+

un insieme minimo di implicanti (implicati) principali

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

RIEPILOGO TEORICO RIEPILOGO TEORICO - - III III

• Per funzioni fino a 4, 5 o 6 variabili esistono tecniche di minimizzazione manuali che si appoggiano alle mappe di Karnaugh:

non sono riempite per avere i numeri in sequenza, ma per sfruttare le adiacenze tra le possibili

0 1 1 1 1 0 0 0

0 1 1 1 1 0 a bc d

0 0

0 1 3 2

4 5 7 6

12 13 15 14 8 9 11 10

collocazione dei

numeri a 4 bit

(da 0 a 15)

all’interno di una

mappa di Karnaugh

(3)

Fondamenti di Informatica B Esercitazione 1

5 / 23 Marcello CARLETTI

ESERCIZIO n. 1 ESERCIZIO n. 1

( a , b , c , d ) =4 ( 1 , 3 , 7 , 8 , 9 , 12 , 13 , 15 )

f

0 1 1 1 1 0 0 0

0 1 1 1 1 0 a bc d

0 0

0 1 1 0

0 0 1 0

1 1 1 0

1 1 0 0

• Minimizzare la funzione sia come somme di prodotti che come prodotti di somme

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

SOLUZIONE ESERCIZIO n. 1 SOLUZIONE ESERCIZIO n. 1 - - I I

Soluzione con Somme di Prodotti (copertura degli 1) 1. Trovare tutti gli implicanti principali della funzione

e, tra questi, identificare quelli essenziali:

gli implicanti principali essenziali devono comparire nella forma minima della funzione

0 1 1 1 1 0 0 0

0 1 1 1 1 0 a bc d

0 0

0 1 1 0

0 0 1 0

1 1 1 0

1 1 0 0

(4)

Fondamenti di Informatica B Esercitazione 1

7 / 23 Marcello CARLETTI

SOLUZIONE ESERCIZIO n. 1 SOLUZIONE ESERCIZIO n. 1 - - II II

2. Trovare un set irridondante di implicanti primi tali che:

Questa funzione presenta 2 coperture irridondanti:

0 1 1 1 1 0 0 0

0 1 1 1 1 0 a bc d

0 0

0 1 1 0

0 0 1 0

1 1 1 0

1 1 0 0

{ p p r }

R = 1 , Κ ,

R K p p p

f ma R p p p

f = 1 + Κ + r , i ∈ , ≠ 1 + Κ + k , i ∈ ⊂

01 11 10 00

01 11 10 ab cd 00

0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 0

ottima perché contiene il minor numero di prodotti (quindi, di porte)

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

SOLUZIONE ESERCIZIO n. 1 SOLUZIONE ESERCIZIO n. 1 - - III III

3. Formalizzare l’espressione minima:

4. Rappresentare l’espr. minima con una RLC a 2 livelli:

– con AND e OR

d c b d b a c a

f = ⋅ + ⋅ ⋅ + ⋅ ⋅

a dc

f b

(5)

Fondamenti di Informatica B Esercitazione 1

9 / 23 Marcello CARLETTI

SOLUZIONE ESERCIZIO n. 1 SOLUZIONE ESERCIZIO n. 1 - - IV IV

– oppure, grazie ad una delle leggi di De Morgan,

con NAND

a c d

f b

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

SOLUZIONE ESERCIZIO n. 1 SOLUZIONE ESERCIZIO n. 1 - - V V

Soluzione con Prodotti di Somme (copertura degli 0)

0 1 1 1 1 0 0 0

0 1 1 1 1 0 a bc d

0 0

0 1 1 0

0 0 1 0

1 1 1 0

1 1 0 0

( a d ) ( c d ) ( a b c ) ( a b c )

f = + ⋅ + ⋅ + + ⋅ + +

(6)

Fondamenti di Informatica B Esercitazione 1

11 / 23 Marcello CARLETTI

SOLUZIONE ESERCIZIO n. 1 SOLUZIONE ESERCIZIO n. 1 - - VI VI

RLC a 2 livelli:

– con OR e AND

a c d

f b

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

SOLUZIONE ESERCIZIO n. 1 SOLUZIONE ESERCIZIO n. 1 - - VII VII

Morgan,

con NOR

a c d

f b

(7)

Fondamenti di Informatica B Esercitazione 1

13 / 23 Marcello CARLETTI

RIEPILOGO DEL PROCEDIMENTO RIEPILOGO DEL PROCEDIMENTO

1. Trovare tutti gli implicanti (implicati) principali 2. Scegliere un insieme irridondante di implicanti

(implicati) principali, la cui somma (prodotto) copra la funzione ed il cui costo complessivo sia minimo o meglio

1. Trovare tutti gli implicanti (implicati) principali essenziali

2. Scegliere un insieme irridondante di ulteriori implicanti (implicati) principali, la cui somma

(prodotto) copra la funzione ed il cui costo sia minimo 3. Formalizzare l’espressione minima

4. Rappresentare l’espr. minima con una RLC a 2 livelli

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

CASI CRITICI CASI CRITICI

Attenzione ai bordi delle mappe:

0 1 1 1 1 0 0 0

0 1 1 1 1 0 a bc d

0 0

1 0 0 1

1 0 0 1

1 0 0 1

1 0 0 1

0 1 1 1 1 0 0 0

0 1 1 1 1 0 a bc d

0 0

1 0 0 1

0 1 1 0

0 1 1 0

1 0 0 1

(8)

Fondamenti di Informatica B Esercitazione 1

15 / 23 Marcello CARLETTI

ESERCIZIO n. 2a ESERCIZIO n. 2a

( x 3 , x 2 , x 1 , x 0 )

f

• Minimizzare la funzione come somme di prodotti, considerando le condizioni di indifferenza come 0

0 1 1 1 1 0 0 0

0 1 1 1 1 0 x3x2 0 0

1 - 1 -

0 0 1 1

0 - 0 0

0 1 1 0

x1x0

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

SOLUZIONE ESERCIZIO n. 2a SOLUZIONE ESERCIZIO n. 2a

0 1 1 1 1 0 0 0

0 1 1 1 1 0 x3x2 0 0

1 - 1 -

0 0 1 1

0 - 0 0

0 1 1 0

x1x0

0 1 3 0 2 3 1 2 3 0 1 2

3 x x x x x x x x x x x x

x

f = ⋅ ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅

Costo del circuito:

• # porte = 5

• # letterali = 17

(9)

Fondamenti di Informatica B Esercitazione 1

17 / 23 Marcello CARLETTI

ESERCIZIO n. 2b ESERCIZIO n. 2b

( x 3 , x 2 , x 1 , x 0 )

f

• Minimizzare la funzione come somme di prodotti, sfruttando le condizioni di indifferenza in modo adeguato

0 1 1 1 1 0 0 0

0 1 1 1 1 0 x3x2 0 0

1 - 1 -

0 0 1 1

0 - 0 0

0 1 1 0

x1x0

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

SOLUZIONE ESERCIZIO n. 2b SOLUZIONE ESERCIZIO n. 2b

0 2 1 3 2

3 x x x x x

x

f = ⋅ + ⋅ + ⋅

Costo del circuito:

• # porte = 4

• # letterali = 9

0 1 1 1 1 0 0 0

0 1 1 1 1 0 x3x2 0 0

1 - 1 -

0 0 1 1

0 - 0 0

0 1 1 0

x1x0

Differenze nel procedimento:

• Attribuire un 1 (0) potenziale a tutte le indifferenze

• Trovare tutti gli implicanti (implicati) principali che non coprano solo indifferenze

• Coprire in modo ottimo la funzione originaria

(10)

Fondamenti di Informatica B Esercitazione 1

19 / 23 Marcello CARLETTI

ESERCIZIO n. 2c ESERCIZIO n. 2c

( x 4 , x 3 , x 2 , x 1 , x 0 )

f

• Minimizzare la funzione di 5 variabili come somme di prodotti, sfruttando le condizioni di indifferenza

0 1 1 1 1 0 0 0

0 1 1 1 1 0 x3x2 0 0

- 1 1 1

0 - 0 -

0 0 1 1

- 1 - 0

x1x0

x4=1 0 1 1 1 1 0

0 0 0 1 1 1 1 0 x3x2 0 0

1 - 1 -

0 0 1 1

0 - 0 0

0 1 1 0

x1x0

x4= 0

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

SOLUZIONE ESERCIZIO n. 2c SOLUZIONE ESERCIZIO n. 2c

1 2 3 4 1 3 4 0 2 2

3

x x x x x x x x x x

x

f = ⋅ + ⋅ + ⋅ ⋅ + ⋅ ⋅ ⋅

Costo del circuito:

• # porte = 5

0 1 1 1 1 0 0 0

0 1 1 1 1 0 x3x2 0 0

1 - 1 -

0 0 1 1

0 - 0 0

0 1 1 0

x1x0

xx44=0= 0

0 1 1 1 1 0 0 0

0 1 1 1 1 0 x3x2 0 0

- 1 1 1

0 - 0 -

0 0 1 1

- 1 - 0

x1x0

xx44=1=1

(11)

Fondamenti di Informatica B Esercitazione 1

21 / 23 Marcello CARLETTI

ESERCIZIO n. 3 ESERCIZIO n. 3

Si abbia un numero binario di 5 bit, A, B, C, D, E,

essendo A il più significativo ed E il meno significativo.

Si determini:

1. la funzione booleana che valga 1 solo quando il numero in questione è primo, tenendo presente che lo zero non è un numero primo;

2. l’espressione minima della funzione booleana come somma di prodotti e come prodotto di somme.

UNIVERSITA’ DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell’Informazione

C

OMPUTER

E

NGINEERING

SOLUZIONE ESERCIZIO n. 3 SOLUZIONE ESERCIZIO n. 3 - - I I

Costo del circuito:

• # porte = 7

• # letterali = 28

x x

x x

x x

x x x x

24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

x x

31 30 29 28 27 26 25

E C B A E D C A E D C A D C B A E D B E C B

f = ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ 01 11 10

00 01 11 10 BC 00

0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0

DE

A=1 01 11 10

00 01 11 10 BC 00

0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 0

DE

A=0

(12)

Fondamenti di Informatica B Esercitazione 1

23 / 23 Marcello CARLETTI

SOLUZIONE ESERCIZIO n. 3 SOLUZIONE ESERCIZIO n. 3 - - II II

Costo del circuito:

• # porte = 9

• # letterali = 30

01 11 10 00

01 11 10 BC 00

0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 0

DE

A=0

01 11 10 00

01 11 10 BC 00

0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0

DE

( D E ) ( ) C E ( ) ( B E B C D ) ( A B C D ) ( ) ( A A=1 E A B C ) ( A B C D )

f = + ⋅ + ⋅ + ⋅ + + ⋅ + + + ⋅ + ⋅ + + ⋅ + + +

Riferimenti

Documenti correlati

Esercizio 1 Scrivere un metodo statico che prende come parametro formale un array di oggetti String e che visualizza sullo standard output (cioè tramite l’oggetto System.out) tutte

Esercizio 1 (6 punti) Scrivere un metodo di classe di nome differenzaPosizioniPariDispari, che prende in ingresso una array v di double e che restituisce la differenza tra la

Esercizio 1 (6 punti) Scrivere un metodo di classe di nome verificaPari, che prende in ingresso una matrice mat di interi e che restituisce una nuova matrice mat1 delle

Scrivere i soli prototipi (non il corpo) per i seguenti metodi della classe Città. a) Un costruttore che crea un oggetto Città, ricevendo come parametri il nome ed il numero di

• Specifica quali sono tutti e soli i dati di tipo primitivo in Java e cosa rappresentano. • Come si fa ad istanziare un oggetto

Motivare adeguatamente

Motivare

Motivare adeguatamente