48
NETTUNO – Reti Logiche pag. 1 Indice Ultimo aggiornamento: 12/02/98 Indice .............................................................................................................................1 Elenco delle videocassette ..............................................................................................2 Calendario dei Tutorati ...................................................................................................4 Modalità d’esame ...........................................................................................................5 Esercitazione 1: Algebre booleane e cubi ........................................................................6 Esercitazione 2: Mappe di Karnaugh, Implicanti e coperture ..........................................9 Esercitazione 3: Classificazione ed analisi di circuiti combinatori ................................. 14 Esercitazione 4: Sintesi di circuiti combinatori a livello logico (1/2) ............................. 16 Esercitazione 5: Sintesi di circuiti combinatori a livello logico (2/2) ............................. 18 Esercitazione 6: Sintesi di circuiti combinatori con tecniche alternative ........................ 20 Esercitazione 7: Sintesi di circuiti combinatori a livello RT .......................................... 23 Esercitazione 8: Latch e Flip-Flop ................................................................................ 25 Esercitazione 9: Sintesi di FSM semplici a livello logico (1/2)...................................... 26 Esercitazione 10: Sintesi di FSM semplici a livello logico (2/2).................................... 28 Esercitazione 11: Sintesi di FSM semplici con tecniche alternative ............................... 30 Esercitazione 12: Sintesi di FSM semplici a livello RT (1/2) ........................................ 32 Esercitazione 13: Sintesi di FSM semplici a livello RT (2/2) ........................................ 34 Temi d’esame ............................................................................................................... 36

Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

Embed Size (px)

Citation preview

Page 1: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 1

Indice

Ultimo aggiornamento: 12/02/98

Indice .............................................................................................................................1Elenco delle videocassette ..............................................................................................2Calendario dei Tutorati ...................................................................................................4Modalità d’esame ...........................................................................................................5Esercitazione 1: Algebre booleane e cubi ........................................................................6Esercitazione 2: Mappe di Karnaugh, Implicanti e coperture ..........................................9Esercitazione 3: Classificazione ed analisi di circuiti combinatori.................................14Esercitazione 4: Sintesi di circuiti combinatori a livello logico (1/2).............................16Esercitazione 5: Sintesi di circuiti combinatori a livello logico (2/2).............................18Esercitazione 6: Sintesi di circuiti combinatori con tecniche alternative........................20Esercitazione 7: Sintesi di circuiti combinatori a livello RT..........................................23Esercitazione 8: Latch e Flip-Flop ................................................................................25Esercitazione 9: Sintesi di FSM semplici a livello logico (1/2)......................................26Esercitazione 10: Sintesi di FSM semplici a livello logico (2/2)....................................28Esercitazione 11: Sintesi di FSM semplici con tecniche alternative...............................30Esercitazione 12: Sintesi di FSM semplici a livello RT (1/2) ........................................32Esercitazione 13: Sintesi di FSM semplici a livello RT (2/2) ........................................34Temi d’esame ...............................................................................................................36

Page 2: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 2

Elenco delle videocassette

Lez. Argomento

1 Il ciclo di vita di un sistema CAE

2 Il progetto

3 Le fasi del progetto

4 L’algebra booleana

5 Proprietà delle algebre booleane

6 Cubi

7 Coperture

8 Esercizi di coperture

9 Introduzione ai sistemi CAE

10 La simulazione digitale

11 La sintesi automatica

12 Introduzione ai circuiti logici

13 Analisi e sintesi di circuiti combinatori

14 Sintesi manuale di circuiti combinatori a livello logico

15 Sintesi automatica di circuiti combinatori a livello logico

16 Sintesi logica con tecniche alternative

17 Sintesi di circuiti combinatori a livello RT (blocchi funzionali)

18 Sintesi di circuiti combinatori a livello RT (metodologia di sintesi)

19 Sintesi di circuiti combinatori a livello RT (technology mapping)

20 Esercizi di sintesi di circuiti combinatori

21 Latch e Flip-Flop

22 Introduzione alle FSM

23 Classificazione delle FSM

24 Analisi e sintesi di FSM semplici

25 Sintesi manuale di FSM semplici a livello logico

26 Sintesi manuale di FSM semplici a livello logico

27 Sintesi automatica di FSM semplici a livello logico

28 Blocchi sequenziali a livello RT

29 Regole di buon progetto

30 Sintesi di FSM semplici a livello RT

Page 3: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 3

Lez. Argomento

31 Esercizi di sintesi di FSM semplici

32 Esercizi di sintesi di FSM semplici

33 Introduzione al collaudo dei sistemi digitali (1)

34 Introduzione al collaudo dei sistemi digitali (2)

35 Introduzione al collaudo dei sistemi digitali (3)

36 Introduzione al collaudo dei sistemi digitali (4)

37 Design for Testability

38 Design for Testability

39 BIST

40 Boundary Scan

Page 4: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 4

Calendario dei Tutorati

Es. Data Ora Argomento Lez. Testo

1 9/9/97 18:30 Algebre booleane e cubi 1-5 II.2, II.3

2 11/9/97 18:30 Mappe di Karnaugh, Implicanti ecoperture

6-8 II.4

3 12/9/97 18:30 Classificazione ed analisi dicircuiti combinatori

12-13 IV.1, IV.2

4 16/9/97 18:30 Sintesi di circuiti combinatori alivello logico (1/2)

14-15 IV.3

5 18/9/97 18:30 Sintesi di circuiti combinatori alivello logico (2/2)

14-15 IV.3

6 19/9/97 18:30 Sintesi di circuiti combinatori contecniche alternative

16-17 IV.5

7 20/9/97 8:30 Sintesi di circuiti combinatori alivello RT

18-20 IV.6

8 20/9/97 8:30 Latch e Flip-Flop 21-22 VI.1, VI.2

9 29/9/97 18:30 Sintesi di FSM semplici a livellologico (1/2)

23-26 VI.3, VI.4

10 30/9/97 18:30 Sintesi di FSM semplici a livellologico (2/2)

23-26 VI.4

11 2/10/97 18:30 Sintesi di FSM semplici contecniche alternative

27-30 VI.5

12 4/10/97 10:30 Sintesi di FSM semplici a livelloRT (1/2)

31-32 VI.6, VI.7

13 7/10/97 18:30 Sintesi di FSM semplici a livelloRT (2/2)

31-32 VI.7

14 9/10/97 18:30 Svolgimento di Temi d’Esame 1-40

15 11/9/97 10:30 Svolgimento di Temi d’Esame 1-40

ES Prova di esonero 1-40

Page 5: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 5

Modalità d’esame

L’esame consiste di una prova scritta della durata di 2 ore, composta da:

• 1 esercizio di sintesi (a livello logico o RT) di circuiti combinatori

• 1 esercizio di sintesi (a livello logico o RT) di FSM semplici

• 1 domanda teorica sulla parte di programma coperta dalle cassette 1-3, 9-11, 33-40.

Ai fini dell’esame non sono richiesti i capitoli II.1, II.2, II.5, IV.4, IV.7, V.1, V.2, V.3, VI.8.

Page 6: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 6

Esercitazione 1: Algebre booleane e cubi

Tema dell’esercitazione:

• algebre booleane

− proprietà dell’algebra booleana binaria

− dualità

− teorema di De Morgan

− teorema di espansione di Boole

− legge di cancellazione

• funzioni booleane

− rappresentazione delle funzioni booleane mediante tabelle

− rappresentazione delle funzioni booleane mediante espressioni

⋅ espressioni SP

⋅ espressioni PS

• cubi

− definizione di cubo

− rappresentazioni dei cubi

⋅ notazione cubica

⋅ notazione algebrica tramite termini prodotto

⋅ notazione algebrica tramite termini somma

− identificazione dei cubi sulle mappe di Karnaugh

Esercizio 1.1

Si dimostri la proprietà distributiva dell’or rispetto all’and:

x + y * z = (x + y) * (x + z)

Esercizio 1.2

Si verifichino le seguenti uguaglianze

a. x * y’ + x * y’ * z + x + z + x’ * y’ * z = x + y’ + y’ * z + x * z

b. y’ + x * y * z’ = (x + y’ + z’) * (x’ + z) * (y + z)

c. x * z’ + y’ = (x + y’) * (y’ + z’)

Page 7: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 7

Esercizio 1.3

Si scriva il duale delle seguenti identità

a. x * y’ + x * y’ * z + x + z + x’ * y’ * z = x + y’ + y’ * z + x * z

b. x * y’ + x * y’ * z + x + z + x’ * y’ * z = x + y’ + y’ * z + x * z

c. y’ + x * y * z’ = (x + y’ + z’) * (x’ + z) * (y + z)

d. x * z’ + y’ = (x + y’) * (y’ + z’)

Esercizio 1.4

Si scriva la tabella della verità delle seguenti funzioni

a. F = x’ * y + x’ * y’ * z

b. F = w’ * x + y’ * z’ + x’ * z

c. F = w + x’ * (y’ + z)

d. F = a * b + b’ * c + c’ * d + d’ * a

e. F = v * w + x’ y’ z’

f. F = (a’ + b’ + c * d) * ( b + c’ + d’ * e’)

g. F = (w * x)’ * (y’ + z’)’

h. F = (((a + b)’ + c’)’ + d)’

i. F = (a’ + b + c) * (a + b’ + d’) * (b + c’ + d’) * (a + b + c + d)

Esercizio 1.5

Si scrivano la somma canonica ed il prodotto canonico per le seguenti funzioni

a. F = x + y’ * z’

b. F = v’ + (w’ * x)’

c. F = x’ * y + x’ * y’ * z

d. F = w’ * x + y’ * z’ + x’ * z

e. F = w + x’ * (y’ + z)

f. F = a * b + b’ * c + c’ * d + d’ * a

g. F = v * w + x’ y’ z’

h. F = (a’ + b’ + c * d) * ( b + c’ + d’ * e’)

i. F = (w * x)’ * (y’ + z’)’

j. F = (((a + b)’ + c’)’ + d)’

k. F = (a’ + b + c) * (a + b’ + d’) * (b + c’ + d’) * (a + b + c + d)

Page 8: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 8

Esercizio 1.6

y

x

00 10

01 11

Con riferimento alla figura precedente, si identifichino i seguenti cubi, e li si esprimano innotazione cubica, come termini prodotto, come termini somma:

• il vertice 01

• lo spigolo superiore, contenente i vertici 01 e 11.

Si elenchino i minterm ed i maxterm contenuti nei cubi precedenti.

Esercizio 1.7

y

z

x

010

000

111

110

100

011

001 101

Con riferimento alla figura precedente, si identifichino i seguenti cubi, e li si esprimano innotazione cubica, come termini prodotto, come termini somma:

• il vertice 001

• la faccia anteriore, composta dai vertici 000, 001, 101, 100

• lo spigolo contenente i vertici 111 e 110.

Si elenchino i minterm ed i maxterm contenuti nei cubi precedenti.

Esercizio 1.8

Si riportino su una mappa di Karnaugh i cubi degli esercizi precedenti.

Page 9: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 9

Esercitazione 2: Mappe di Karnaugh,Implicanti e coperture

Tema dell’esercitazione:

• insiemi di cubi

− espressioni SP

− espressioni PS

• funzioni booleane

− on-set, off-set

− funzioni non completamente specificate

− don’t-care set

• implicanti ed implicati

− definizioni

− implicati ed implicanti principali

− implicati ed implicanti essenziali

• coperture

− copertura di una funzione

− copertura tramite espressioni SP

− copertura tramite espressioni PS

− copertura di funzioni non completamente specificate

Esercizio 2.1

Dato il seguente insieme di cubi:

{ 1 1 – –, 1 – 1 1, – 0 – – }

si ricavino:

• l’espressione SP corrispondente

• l’espressione canonica SP corrispondente

• l’espressione PS corrispondente

• l’espressione canonica PS corrispondente.

Page 10: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 10

Esercizio 2.2

Si trasformino le seguenti espressioni dalla forma SP alla forma PS.

a. F = x + y’ * z’

b. F = w’ * x + y’ * z’ + x’ * z

c. F = a * b + b’ * c + c’ * d + d’ * a

Suggerimento: è possibile svolgere i calcoli algebricamente, oppure passare alla mappa diKarnaugh e ricostruire un’espressione canonica PS.

Esercizio 2.3

Data la mappa

a b

00 01 11 10

c d 00 1 0 0 1

01 0 0 0 1

11 0 1 1 0

10 1 1 1 0

determinare gli implicanti principali e quelli essenziali ed elencarli in notazione cubica ed innotazione algebrica.

Esercizio 2.4

Data la mappa

a b

00 01 11 10

c d 00 1 0 0 1

01 0 0 0 1

11 0 1 1 0

10 1 1 1 0

determinare gli implicati principali e quelli essenziali ed elencarli in notazione algebrica.

Page 11: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 11

Esercizio 2.5

Coprire la mappa seguente tramite espressioni SP e PS:

a b

00 01 11 10

c d 00 0 0 - 0

01 1 1 - 1

11 - 1 0 0

10 0 0 0 -

Esercizio 2.6

Coprire la mappa seguente tramite espressioni SP e PS:

a b

00 01 11 10

c d 00 - 0 0 -

01 - 0 0 -

11 1 0 0 0

10 1 1 0 0

Esercizio 2.7

Coprire la mappa seguente tramite espressioni SP e PS:

a b

00 01 11 10

c d 00 - 0 0 1

01 0 0 1 -

11 - 0 1 -

10 1 0 1 1

Page 12: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 12

Esercizio 2.8

Coprire la mappa seguente tramite espressioni SP e PS:

a b

00 01 11 10

c d 00 - - - -

01 0 0 - 0

11 0 0 - 0

10 0 0 - 0

Esercizio 2.9

Coprire la mappa seguente tramite espressioni SP e PS:

a b c=0 c=1

00 01 11 10 00 01 11 10

d e 00 0 0 1 0 0 0 - 0

01 - 0 0 1 1 0 0 -

11 - 0 0 1 1 0 0 -

10 0 0 - 0 0 0 1 0

Esercizio 2.10

Coprire la mappa seguente tramite espressioni SP e PS:

a b c=0 c=1

00 01 11 10 00 01 11 10

d e 00 1 0 1 1 0 0 0 1

01 - 0 0 1 1 0 0 -

11 - 0 0 1 1 0 0 -

10 0 0 - 0 0 0 1 0

Page 13: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 13

Esercizio 2.11

Determinare tutte le espressioni SP e PS di costo minimo per la seguente mappa:

a b c=0 c=1

00 01 11 10 00 01 11 10

d e 00 1 0 1 1 1 0 1 1

01 0 - 0 1 0 - 0 -

11 1 0 1 1 1 0 1 -

10 0 1 0 1 0 1 0 1

Page 14: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 14

Esercitazione 3: Classificazione edanalisi di circuiti combinatori

Tema dell’esercitazione:

• estensioni alle algebre booleane

− algebre a più valori

− modelli di ritardo

• classificazione dei circuiti logici

• analisi di circuiti combinatori

− analisi funzionale

− analisi temporale

Esercizio 3.1: Analisi

È data la rete di figura, in cui tutte le porte hanno un ritardo minimo di 5ns e un ritardo massimodi 10ns:

• Si ricavi la funzione logica svolta dal circuito, in termini di espressione booleana e di mappadi Karnaugh.

• Si tracci il diagramma dell’uscita U, essendo A=B=1 ed essendo applicata all’ingresso S laforma d’onda di figura. Si indichino con chiarezza gli intervalli di tempo in cui il segnale diuscita vale X.

A

S

B

U

t (ns)4010

S

Page 15: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 15

Esercizio 3.2: Analisi

È dato il circuito di figura. I ritardi associati alle porte sono: tpmin = 5ns, tpmax = 10 ns.

• Si ricavi la funzione logica svolta dal circuito, in termini di espressione booleana e di mappadi Karnaugh.

• Nell’ipotesi che B=E=1 e che all’ingresso A sia applicata la transizione riportata in figura,tracciare il diagramma dell’uscita (utilizzando la X).

A

B

E

U

t (ns)5

A

Page 16: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 16

Esercitazione 4: Sintesi di circuiticombinatori a livello logico (1/2)

Tema dell’esercitazione:

• sintesi manuale di circuiti combinatori a livello logico

− formalizzazione tramite mappe di Karnaugh

− minimizzazione tramite copertura delle mappe

− library binding

Esercizio 4.1: Selezionatore di RAM

Si progetti un circuito da connettere ad un Address Bus di 12 bit il quale dia uscita 1 se e solol’indirizzo è compreso nell’intervallo:

03F16 < indirizzo < 80016.

Esercizio 4.2: Full Adder

Si progetti un circuito (full-adder) caratterizzato da:

• 3 ingressi Ai, Bi e Ci

• 2 uscite Si e Ci+1

il quale esegue la somma binaria dei 3 bit in ingresso fornendo, in uscita:

• il relativo bit di somma su Si

• il relativo bit di riporto su Ci+1.

Esercizio 4.3: Full Subtracter

Si progetti un circuito (full-subtracter) caratterizzato da:

• 3 ingressi Xi, Yi e Bi

• 2 uscite Di e Bi+1

il quale esegue la differenza binaria dei 3 bit in ingresso fornendo, in uscita:

• il relativo bit di differenza su Di

• il relativo bit di prestito su Bi+1.

Page 17: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 17

Esercizio 4.4 : Logaritmo

Si progetti un circuito il quale, ricevendo in ingresso numeri binari puri X di 4 bit ed unopportuno segnale di selezione S, fornisca in uscita:

• S=0 → log2 X

• S=1 → log2 X

Esercizio 4.5: Indicatore di posizione angolare

Un sensore produce in uscita un segnale di 4 bit che indica la posizione di un asse rotante perpassi di 30°, usando il codice seguente:

Posizione Uscita sensore Posizione Uscita sensore

0°-30° 0 0 1 1 180°-210° 1 1 0 0

30°-60° 0 0 1 0 210°-240° 1 1 0 1

60°-90° 0 1 1 0 240°-270° 1 1 1 1

90°-120° 0 1 1 1 270°-300° 1 1 1 0

120°-150° 0 1 0 1 300°-330° 1 0 1 0

150°-180° 0 1 0 0 330°-360° 1 0 1 1

Si assuma che le combinazioni che non compaiono in tabella non possano essere presenti iningresso.

Si progetti un circuito combinatorio con 4 uscite, corrispondenti ai quattro quadranti, ciascunadelle quali valga 1 se e solo se l’asse si trova nel rispettivo quadrante.

Page 18: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 18

Esercitazione 5: Sintesi di circuiticombinatori a livello logico (2/2)

Tema dell’esercitazione:

• sintesi manuale di circuiti combinatori a livello logico

Esercizio 5.1: Incrementatore gray

Si progetti un incrementatore per numeri codificati in codice Gray su 4 bit.

Esercizio 5.2: Selezionatore di RAM #2

Sia dato un bus di indirizzi di ampiezza 32 bit, e siano date otto memorie RAM da 256K x 8 bit.Le memorie siano connesse in modo da formare un banco di memoria di 1M di ampiezza 16 bit apartire dall’indirizzo 3M.

Si progetti un circuito combinatorio in grado di generare gli otto segnali di abilitazione per lememorie a partire dall’indirizzo presente sul bus.

Esercizio 5.3: Distributore di sigarette

Una macchina distributrice di sigarette accetta monete da 50 L e da 100 L, distribuisce pacchettidel costo di 250 L e dà il resto per un massimo di 150 L (una moneta da 50 L ed una da 100 L). Lamacchina è dotata di un contatore elettromeccanico di monete, capace di contare fino a 7 monete da50 L e 3 monete da 100 L. Le uscite di tale contatore sono 5 segnali binari che indicano le monetericevute (3 per le monete da 50 L e 2 per quelle da 100 L) e che costituiscono gli ingressi di una retecombinatoria. Questa rete ha 4 uscite che comandano la distribuzione di sigarette e resti: due di esseindicano un numero di pacchetti da distribuire (al massimo 2) in funzione della cifra ricevuta dallamacchina; le altre due uscite indicano rispettivamente la distribuzione di un resto da 50 L e di unresto da 100 L. Nel caso non sia possibile erogare tutto il resto, la macchina ne eroghi il massimopossibile. Si progetti tale rete combinatoria.

Page 19: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 19

Esercizio 5.4: Decodifica tastiera telefonica

Si progetti un circuito combinatorio per la decodifica dei segnali provenienti dalla tastiera di untelefono.

Il circuito riceve in ingresso 4 segnali (R1…R4) corrispondenti alle righe di tasti e tre segnali(C1…C3) corrispondenti alle colonne. Tali segnali vanno ad 1 quando viene premuto un qualsiasitasto della riga/colonna relativa.

Il circuito deve generare in uscita due informazioni:

• un segnale VALID che indica quando è stata riconosciuta la pressione di un (ed un solo)tasto;

• la codifica su 4 bit del tasto premuto. Si codifichi * con il valore decimale 10 e # con 11.

1 2 3

4 5 6

7 8 9

* 0 #

Page 20: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 20

Esercitazione 6: Sintesi di circuiticombinatori con tecniche alternative

Tema dell’esercitazione:

• sintesi manuale di circuiti combinatori con tecniche alternative

− sintesi tramite EXOR

− sintesi tramite multiplexer

− library binding tramite ROM

• minimizzazione automatica tramite espresso

• blocchi funzionali combinatori a livello RT

− multiplexer

− decoder

− priority encoder

− sommatore

− comparatore

Esercizio 6.1

Coprire la seguente mappa:

a b

00 01 11 10

c d 00 0 - 0 -

01 - 0 - 0

11 0 - 0 -

10 1 0 1 0

Page 21: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 21

Esercizio 6.2

Coprire, tramite multiplexer, la seguente mappa:

a b

00 01 11 10

c d 00 1 0 1 0

01 1 0 1 0

11 1 0 1 1

10 1 0 1 0

Esercizio 6.3

Coprire, tramite multiplexer, la seguente mappa:

a b

00 01 11 10

c d 00 1 0 0 1

01 0 - 1 1

11 1 0 0 1

10 1 0 0 1

Page 22: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 22

Esercizio 6.4: Convertitore da codice Gray a BCD

Si progetti un convertitore da codice Gray a BCD, la cui tavola di verità è riportata in tabella,usando:

• multiplexer a 4 ingressi e logica sparsa

• multiplexer a 8 ingressi.

Ingresso Uscita

A B C D f1 f2 f3 f4

0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 1

0 0 1 1 0 0 1 0

0 0 1 0 0 0 1 1

0 1 1 0 0 1 0 0

0 1 1 1 0 1 0 1

0 1 0 1 0 1 1 0

0 1 0 0 0 1 1 1

1 1 0 0 1 0 0 0

1 1 0 1 1 0 0 1

Page 23: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 23

Esercitazione 7: Sintesi di circuiticombinatori a livello RT

Tema dell’esercitazione:

• sintesi manuale di circuiti combinatori a livello RT

Esercizio 7.1: Moltiplicatore per 5

Si progetti un circuito combinatorio che ricevendo in ingresso un numero N codificato in binariopuro su 8 bit fornisca in uscita il valore 5*N con la stessa codifica.

Esercizio 7.2: Complementatore BCD

Si progetti a livello RT un complementatore BCD a 4 cifre decimali: dato un numero X iningresso, restituisca il numero 104−X. Si consiglia una realizzazione modulare.

Esercizio 7.3: Gioco della “morra”

Si progetti un circuito in grado di rivelare le vittorie al gioco della morra. Il gioco prevede lapresenza di due giocatori. Ciascun giocatore è connesso al circuito tramite due ingressi: PLAYi

(contiene un numero da 0 a 5) e TOTi (contiene un numero tra 0 e 10). Un giocatore i vince quandoriesce ad indovinare, ponendola sul proprio ingresso TOTi, la quantità PLAY1+PLAY2.

Il circuito abbia due uscite, WIN1 e WIN2, che indicano in ogni istante quali giocatori hannovinto la mano.

Esercizio 7.4: Sommatore/Sottrattore per numeri in modulo e segno su n bit

Si progetti un sommatore/sottrattore completo per numeri di n bit rappresentati nella notazione“modulo e segno”.

Page 24: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 24

Esercizio 7.5: Decoder di tastiera

0

4

8

1 2 3

5 6 7

9 * #

Il circuito riceve in ingresso:

• 3 segnali R1…R3 corrispondenti alle righe di tasti

• 4 segnali C1…C4 corrispondenti alle colonne di tasti

Tali segnali vanno ad 1 quando viene premuto un qualsiasi tasto della riga o colonna relativa.

Il circuito deve fornire in uscita due informazioni:

• un segnale VALID che indica quando è stata riconosciuta la pressione di uno ed un solotasto

• la codifica su 4 bit del tasto premuto. Si assuma * = 10, # = 11.

Page 25: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 25

Esercitazione 8: Latch e Flip-Flop

Tema dell’esercitazione:

• classificazione dei Flip-Flop

Esercizio 8.1: Flip Flop

Si progettino:

• un flip flop di tipo J-K

• un flip flop di tipo S-R

utilizzando un flip flop di tipo T.

Esercizio 8.2: Flip Flop

Si progettino:

• un flip flop di tipo D

• un flip flop di tipo S-R

utilizzando un flip flop di tipo J-K.

Page 26: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 26

Esercitazione 9: Sintesi di FSM semplicia livello logico (1/2)

Tema dell’esercitazione:

• principio di funzionamento delle FSM semplici

• macchine di Moore e macchine di Mealy

• formalizzazione mediante State Transition Diagram

− circuiti sliding window

− circuiti jumping window

− circuiti hybrid window

• la State Transition Table

Esercizio 9.1: Riconoscitore di sequenza #4

Si progetti un circuito a 2 ingressi X, Y e ad una uscita Z, che riconosca la sequenza:

00 → 10 → 00 → 10

Z deve andare ad 1 appena riconosciuta una sequenza e deve tornare a 0 alla prima variazione diuno qualsiasi degli ingressi.

Esercizio 9.2: Connettore programmabile

Su una linea di trasmissione seriale vengono trasmessi dei bit, in modo sincrono rispetto ad unsegnale di clock CLK.

Si progetti un circuito a 2 ingressi:

• EN, connesso alla linea seriale

• IN

e ad un’uscita U tale che:

• al reset, U = 0

• la prima sequenza 11 ricevuta all’ingresso EN “stabilisce” la connessione, nel senso che, apartire dal secondo 1 della sequenza, U = IN

• la connessione viene interrotta all’arrivo, sull’ingresso EN, della prima sequenza 00, vale adire che a partire dal secondo 0 della sequenza, U = 0.

Page 27: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 27

Esercizio 9.3: Sommatore seriale

Su due linee vengono trasmessi serialmente dei numeri binari, LSB first (un bit ogni colpo diclock).

Si progetti un sommatore seriale in grado di fornire in uscita, per ogni colpo di clock relativo aciascun numero trasmesso, il corrispondente bit di somma.

Esercizio 9.4: Riconoscitore di parole

Si progetti un circuito sequenziale sincrono a due ingressi x1 e x2 ed un’uscita z. Gli ingressicodificano le lettere A, B, C, D secondo la tabella allegata.

x1 x2 codifica

0 0 A

0 1 B

1 0 C

1 1 D

La rete deve riconoscere solo le due sequenze BACCA o DACA e portare a 1 l’uscita z inseguito all’avvenuto riconoscimento. L’uscita deve poi tornare a 0 non appena varia uno degliingressi.

Esercizio 9.5: Riconoscitore di codice di accesso

Si progetti un circuito che riconosca un codice di accesso. Il circuito è connesso ad un tastierinocontenente quattro tasti A, B, C, D ed ha un’uscita OPEN, che vale 1 quando è stata riconosciuta lasequenza BBCA su quattro colpi di clock consecutivi e torna a 0 al colpo di clock successivo.

Page 28: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 28

Esercitazione 10: Sintesi di FSMsemplici a livello logico (2/2)

Tema dell’esercitazione:

• codifica degli stati

− codifica random

− codifica one-hot

• technology mapping

− tramite flip-flop D

− tramite flip-flop T e JK

Esercizio 10.1: Codificatore Manchester

Si progetti una macchina di Moore la quale codifichi un flusso di dati seriali secondo il codiceManchester. Il circuito dispone di un ingresso X sul quale arriva un nuovo bit ogni due colpi diclock. Ciascun bit in ingresso viene codificato come una coppia di bit, da emettere serialmente indue colpi di clock consecutivi sull’uscita Y, secondo la tabella. Seguente.

X Y

0 10

1 01

Si fornisca il una descrizione RT-behavioral in VHDL, il diagramma di transizione di stato e lemappe di eccitazione per una realizzazione tramite flip-flop JK.

Un esempio di funzionamento è dato dalla seguente tabella:

X 1 - 1 - 0 - 0 - 1 - 0 -

Y 0 1 0 1 1 0 1 0 0 1 1 0

Esercizio 10.2: Comparatore seriale #1

Su tre linee seriali x, y e z vengono trasmessi, in modo sincrono rispetto ad un segnale di clockCLK, numeri binari di 2 bit (un bit ogni colpo di clock).

Si progetti un circuito da connettere alle tre linee in grado di determinare se gli ultimi tre numeriricevuti sulle tre linee sono stati tutti tra loro diversi. In caso affermativo, un’uscita O assume ilvalore logico 1 per un colpo di clock.

Page 29: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 29

Esercizio 10.3: Generatore di impulsi

Si progetti un circuito avente un bit di ingresso GO ed un bit di uscita OUT. In condizioninormali, GO=0. L’uscita OUT può:

• assumere un valore costante;

• cambiare ad ogni colpo di clock.

Il circuito passa da una modalità all’altra ogni volta che viene ricevuto un impulso positivo didurata pari ad un periodo di clock su GO.

Esercizio 10.4: Rivelatore di errori

Su una linea seriale vengono trasmessi dei gruppi di 5 bit: i primi 3 bit di ogni gruppocorrispondono ad un dato; gli ultimi 2 ad un codice per il rilevamento di errori: in particolarecontengono, in binario puro (MSB first), la codifica del numero di 1 presenti nei corrispondenti 3bit di dato.

Si progetti un circuito da connettere alla linea di trasmissione il quale, per ogni gruppo di bit,verifichi la correttezza del numero di 1 ricevuti.

Page 30: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 30

Esercitazione 11: Sintesi di FSMsemplici con tecniche alternative

Tema dell’esercitazione:

• sintesi tramite shift register

− circuiti sliding window

− circuiti jumping window

Esercizio 11.1: Rivelatore di errori

Su una linea seriale vengono trasmessi dei gruppi di 5 bit: i primi 3 bit di ogni gruppocorrispondono ad un dato; gli ultimi 2 ad un codice per il rilevamento di errori: in particolarecontengono, in binario puro (MSB first), la codifica del numero di 1 presenti nei corrispondenti 3bit di dato.

Si progetti un circuito da connettere alla linea di trasmissione il quale, per ogni gruppo di bit,verifichi la correttezza del numero di 1 ricevuti.

Esercizio 11.2: Gestore di serratura

Si progetti un circuito sequenziale sincrono dotato di un ingresso X e di due uscite HINT eUNLK tale che:

• l’uscita UNLK valga 1 se e solo se X=0 e la sequenza di valori ricevuta su X nei 7precedenti colpi di clock è stata 0110111.

• l’uscita HINT valga 1 se e solo se il valore corrente di X è tale da “avvicinare” la macchinaallo stato dove UNLK = 1.

Esercizio 11.3: Riconoscitore di errori su linea seriale

Si progetti una FSM semplice che riconosca gli errori di trasmissione su una linea seriale. I datitrasmessi sono organizzati come una sequenza di byte da 7 bit ciascuno. Ogni byte è codificatosecondo il protocollo RS-232, in cui l’emissione di ciascun bit è sincronizzata con un segnale diclock:

• 1 bit di start ( = 1 )

• 7 bit di dato

• 1 bit di parità (dispari)

• 1 bit di stop ( = 0 ).

L’uscita del circuito, ERR, deve assumere il valore 1 quando viene riconosciuto un errore etornare a 0 all’inizio del prossimo dato.

Page 31: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 31

Esercizio 11.4: Riconoscitore di parità #1

Si sintetizzi una rete sequenziale sincrona che riconosca se il numero di 1 di una stringa di 4 bit èpari o dispari. La rete interpreta la sequenza di ingresso (variabile x) come una successione distringhe di lunghezza 4 e dà la risposta (variabile z) in corrispondenza al quarto bit di ogni stringa.

Esempio:

x 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 0

z - - - 1 - - - 0 - - - 1 - - - 0

Esercizio 11.5: Generatore di parità

Su una linea di trasmissione sono inviati in serie messaggi codificati con 4 bit ed intervallati unodall'altro da un periodo del clock di trasmissione. Progettare un circuito sequenziale sincrono cheinserisca in tale intervallo il valore 0 o il valore 1 in maniera che il messaggio complessivo di 5 bitcontenga sempre un numero pari di valori 1.

Page 32: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 32

Esercitazione 12: Sintesi di FSMsemplici a livello RT (1/2)

Tema dell’esercitazione:

• blocchi funzionali sequenziali sincroni a livello RT

− registro

− contatore

− shift register

− RAM

• sintesi manuale di circuiti sequenziali a livello RT

Esercizio 12.1: Transcodificatore seriale

Si progetti una rete logica che riceve in ingresso un numero di due cifre più segno codificato inBCD e fornisce in uscita, su 3 bit U0, U1, U2, i seguenti valori:

ingressi uscita

00 000

01 - 32 001

33 - 65 010

66 - 99 011

< 0 1XX

Inoltre, due ulteriori uscite U4 ed U5 indicano se gli ultimi 3 numeri costituiscono una sequenzacrescente (U4 U5=00) o decrescente (U4 U5=11).

Un segnale di ingresso STROBE indica, quando va ad 1, che un nuovo numero BCD èpresente in ingresso. Le uscite devono essere valide non prima di 100 ms dopo il segnale diSTROBE.

Page 33: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 33

Esercizio 12.2: Convertitore seriale↔↔parallelo

Si progetti a livello RT un componente sequenziale da utilizzare come convertitore bidirezionaletra una linea seriale ed una parallela.

• La linea seriale trasmette dati ad 8 bit, con un bit di start (=0), uno di stop (=1) e nessunaparità.

• La linea parallela, ampia 8 bit, è dotata di un segnale di controllo STB (strobe) indicante lapresenza di un nuovo dato.

Interface

STB_IN

STB_OUT

PAR_IN

PAR_OUT

SER_OUT

SER_IN

Esercizio 12.3: Comparatore di soglia

Su un bus di 8 bit vengono trasmessi, in modo sincrono rispetto ad un segnale di clock CLK, ivalori campionati di una funzione V(t), rappresentati nella notazione complemento a 2 (un valoreogni colpo di clock).

Si progetti un comparatore di soglia da connettere al bus, il quale, ricevendo in ingresso, oltre aV(t), anche due costanti di 8 bit Vmin e Vmax, codificate come V(t), fornisca in uscita un segnaleU(t) di 8 bit tale che:

V(t-1) ≤ Vmin ⇒ U(t) = Vmin

Vmin < V(t-1) ≤ Vmax ⇒ U(t) = V(t-1)

Vmax < V(t-1) ⇒ U(t) = Vmax

Esercizio 12.4: Big-endian to Little-endian

Si progetti un circuito che riceva da una linea seriale una sequenza di byte di 8 bit ciascuno, MSBfirst e generi su una linea seriale la stessa sequenza codificata LSB first. L’uscita deve esseredisponibile il più presto possibile.

INPUT = 00101011 11011110 00001111 11001010OUTPUT = 11010100 01111011 11110000 01010011

Page 34: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 34

Esercitazione 13: Sintesi di FSMsemplici a livello RT (2/2)

Esercizio 13.1: Generatore di segnale

Si vuole progettare un circuito sequenziale sincrono in grado di generare il segnale di READYper un generico processore a partire dai 3 ingressi seguenti:

• SELECT: indica che la scheda relativa è stata selezionata;

• W0, W1: indicano, codificati su 2 bit, quanti sono gli stati macchina (cicli di clock delcircuito sequenziale) in cui la CPU deve attendere prima di terminare il ciclo di bus attuale.

Il funzionamento della macchina è il seguente:

• la macchina ha uno stato di riposo da cui si muove quando SELECT passa da 0 a 1;

• quando la macchina riconosce che SELECT è attivo campiona anche W0 e W1. In funzionedel loro valore la macchina aspetta 1, 2 o 3 stati prima di attivare l'uscita READY al valore1;

• l’uscita READY è attiva per un solo colpo di clock, poi la macchina torna nello stato diriposo.

La codifica di W0 e W1 è la seguente:

W0 W1

0 0 1 ciclo di wait

0 1 2 cicli di wait

1 0 3 ciclo di wait

1 1 condizione non permessa

Esercizio 13.2: Moltiplicatore

Si progetti a livello RT structural un circuito in grado di calcolare il prodotto C tra due numeri Ae B dati in ingresso, codificati senza segno su 8 bit. L’algoritmo da utilizzare è il classico “somme eshift”, indicato nella seguente figura (dove B0 indica il bit meno significativo di B):

C = 0 ;while (B /= 0){

if B0 = ’1’ then C=C+A ;A=A*2;B=B/2;

}

Si ipotizzi che i valori di A e B siano già caricati nei rispettivi registri e che possano venire“distrutti” durante l’esecuzione dell’algoritmo.

Page 35: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 35

Esercizio 13.3: Derivatore

Si progetti a livello RT un circuito sequenziale sincrono che calcoli la derivata di un flusso didati provenienti in ingresso. Su un ingresso X di 8 bit viene ricevuto un nuovo valore, codificato inbinario puro, ad ogni colpo di clock in cui un segnale sincrono di strobe STB_X vale 1.

Il circuito generi su un’uscita Y, per ogni nuovo campione X ricevuto, la quantità Y=X/∆tcodificata in complemento a 2. La quantità ∆t indica la distanza dall’ultimo campione ricevuto ed èmisurata in colpi di clock. Si supponga che ∆t non superi 8.

Esercizio 13.4: Sommatore dinamico

Si progetti a livello RT un circuito sequenziale sincrono che calcoli la quantitàOUT=LAST_A+LAST_B. LAST_A e LAST_B sono l’ultimo valore ricevuto sulle porte diingresso A e B, rispettivamente. Ad ogni colpo di clock viene fornito un nuovo valore su una delledue porte. Un segnale A/~B indica la porta sulla quale il nuovo dato è presente.

B

A/~B

AOUT

Page 36: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 36

Temi d’esame

Test di autovalutazione A.A. 1994/95

Esercizio 1

Al fine di rilevare errori di trasmissione, un dato numerico compreso tra 0 e 9 viene trasmessoutilizzando il cosiddetto codice “2 su 5”, ossia trasmettendo 5 bit nei quali il numero di “1” èsempre pari a 2.

Dato Codifica Dato Codifica0 00011 5 011001 00101 6 100012 00110 7 100103 01001 8 101004 01010 9 11000

Si progetti un circuito combinatorio il quale controlli la validità del dato presente in ingresso,ossia la sua appartenenza al codice.

Esercizio 2

Si progetti un circuito sequenziale sincrono per il controllo dell’apertura automatica di una portascorrevole. Il circuito è dotato di due ingressi:

• PERSON, indicante se il sensore ha rivelato la presenza di una persona nelle prossimitàdella porta

• FINE_CORSA, indicante se la porta è in una posizione terminale (completamente aperta ocompletamente chiusa)

e di due uscite:

• OPEN, direttamente connessa al motore di apertura della porta

• CLOSE, direttamente connessa al motore di chiusura della porta.

Esercizio 3

Si enunci brevemente che cosa si intende per Design for Testability (DfT).

Page 37: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 37

20/5/95

Esercizio 1

Si progetti un circuito combinatorio in grado di riconoscere i numeri in codice Morse. I codiciMorse delle cifre tra 0 e 9 composti da 5 “segni” (si assuma la codifica “.”=0, “-”=1).

Cifra Codifica Cifra Codifica0 ..... 5 -----1 ....- 6 ----.2 ...-- 7 ---..3 ..--- 8 --...4 .---- 9 -....

Il circuito controlli la validità del dato presente in ingresso, ossia la sua appartenenza al codice.

Esercizio 2

Si progetti un circuito sequenziale sincrono con 2 ingressi EN, x ed un’uscita Z.

Quando EN=0, l’uscita valga Z=0.

Quando EN=1, l’uscita deve assumere il valore Z=1 se il numero di ingressi a 1 su x a partiredall’istante in cui EN è andato ad 1 è un multiplo di 3, Z=0 altrimenti.

Esercizio 3

Si enunci brevemente che cosa si intende per Built-In Self-Test (BIST).

6/6/95

Esercizio 1

Si progetti un circuito combinatorio che, dato in ingresso un numero codificato su 4 bit inmodulo e segno, ne generi in uscita uno equivalente, codificato in complemento a due.

Esercizio 2

Si progetti un circuito sequenziale sincrono con 2 ingressi ON, OFF ed un’uscita Z.

Un fronte di salita sul segnale ON forza l’uscita Z ad 1. Un fronte di salita sul segnale OFF forzal’uscita Z ad 0. Nel caso in cui i due fronti siano contemporanei, l’uscita rimane invariata.

Page 38: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 38

Esercizio 3

Si enunci brevemente che cosa si intende per sintesi automatica e quali vantaggi essa comporti.

20/6/95

Esercizio 1

Si progetti un circuito che riceve su una linea seriale una sequenza di cifre decimali condificatein BCD e genera un segnale di uscita V. Il circuito deve controllare che ogni cifra ricevuta siacompresa tra 4 e 8; l’uscita V assume il valore logico 0 quando viene ricevuta una cifra che non ècompresa nell’intervallo o una sequenza di bit non valida. Altrimenti V vale 1.

Esercizio 2

Si progetti un circuito sequenziale sincrono che controlla l’impianto di condizionamento di unufficio in cui sono presenti 5 stazioni di lavoro. Il circuito ha un ingresso A che assume il valorelogico 1 per un periodo del clock quando viene accesa una stazione di lavoro, e un ingresso S cheassume il valore 1 per un periodo del clock quando una stazione viene spenta. Inoltre il circuito hal’ingresso T che proviene da un termostato ed ha il valore 1 quando la temperatura è più elevata diquella voluta, 0 in caso contrario.

Il circuito comanda il condizionatore tramite due uscite su cui è codificata in binario puro su duebit la potenza con cui l’impianto deve funzionare (la codifica 0 indica che il raffreddamento deveessere disabilitato). Quando la temperatura è al di sotto di quella impostata sul termostato ilraffreddamento deve essere spento. Altrimenti deve essere attivato con una potenza proporzionale alnumero di macchine accese presenti nell’ufficio.

Esercizio 3

Si descriva brevemente il ciclo base di progetto.

22/7/95

Esercizio 1

Si progetti a livello RT un circuito sequenziale sincrono che calcoli la derivata di un flusso didati provenienti in ingresso. Su un ingresso X di 8 bit viene ricevuto un nuovo valore, codificato inbinario puro, ad ogni colpo di clock in cui un segnale sincrono di strobe STB_X vale 1.

Il circuito generi su un’uscita Y, per ogni nuovo campione X ricevuto, la quantità Y=X/∆tcodificata in complemento a 2. La quantità ∆t indica la distanza dall’ultimo campione ricevuto ed èmisurata in colpi di clock. Si supponga che ∆t non superi 8.

Page 39: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 39

Esercizio 2

Si progetti un circuito combinatorio che, dato un numero N di 4 bit codificato in codice gray,fornisca in uscita il valore N+1 codificato in binario puro.

Esercizio 3

Si enuncino i vantaggi degli Hardware Description Languages rispetto al progetto tramiteSchematic Editor.

16/9/95

Esercizio 1

Si progetti una FSM semplice con 2 ingressi X e S e due uscite U1 e U0.

Il circuito dispone di due “modi di funzionamento”:

• modo “OFF”: l’uscita vale U1 U0 = 11

• modo “ON”: l’uscita indica, codificato in binario puro su due bit, il valore (n mod 3), dove nè il numero di colpi di clock in cui X valeva 1 a partire dall’istante in cui il circuito è entratonel modo “ON”.

Il circuito cambia modo di funzionamento ogni volta che trova S = 1.

Esercizio 2

Si progetti a livello RT un circuito combinatorio che accetti in ingresso un numero X codificatoin modulo e segno su 8 bit e che generi un’uscita su 8 bit Y, codificata in complemento a 2, il cuivalore dipende da due ingressi di controllo S1 e S0 secondo le regole seguenti:

S1 S0 Y

0 0 X

0 1 -X

1 0 X+1

1 1 -X+1

Esercizio 3

Si descrivano i principali tipi di flip-flop.

Page 40: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 40

28/10/95

Esercizio 1

Si progetti a livello RT un circuito sequenziale sincrono che calcoli la quantitàOUT=LAST_A+LAST_B. LAST_A e LAST_B sono l’ultimo valore ricevuto sulle porte diingresso A e B, rispettivamente. Ad ogni colpo di clock viene fornito un nuovo valore su una delledue porte. Un segnale A/~B indica la porta sulla quale il nuovo dato è presente.

B

A/~B

AOUT

Esercizio 2

Si progetti una macchina a stati finiti da utilizzarsi come antifurto di un’auto. La macchina ricevetre ingressi:

• KEY, che indica se la chiave è inserita

• GLASS, che indica se sono stati spaccati i finestrini

• MOVE, che indica se il mezzo è in movimento.

Il circuito dispone di un’uscita ALARM, la quale deve andare a 1 quando:

• il mezzo è in movimento, ma la chiave non è inserita

• sono stati spaccati i finestrini, indipendentemente dalla chiave

e deve tornare a 0 quando viene re-inserita la chiave. Si noti che, l’allarme scatti con la chiaveinserita, occorre estrarla e re-inserirla.

Esercizio 3

Si descriva brevemente che cosa si intende con il termine Built-In Self Test (BIST).

23/01/96

Esercizio 1

Si progetti a livello RT un circuito sequenziale sincrono che sommi due numeri BCD. Il circuitodisponga di due ingressi A e B ed un’uscita C, di 4 bit ciascuno. I numeri da sommare sonotrasmessi sui due ingressi, una cifra BCD per colpo di clock, a partire dalla cifra meno significativa.Il circuito generi in uscita il valore della somma, anch’esso una cifra BCD per colpo di clock, apartire dalla cifra meno significativa.

Page 41: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 41

Esempio: 376 + 418 = 794

A B C

6 8 0

7 1 4

3 4 9

0 0 7

Esercizio 2

Si progetti una FSM semplice con due ingressi, L e R, connessi ai tasti di un mouse, ed un’uscitaD che vada ad 1 ogniqualvolta venga riconosciuto un “doppio click” su uno dei due tasti. Un doppioclick viene riconosciuto da due pressioni e rilasci consecutivi dello stesso tasto non più distanti di 3periodi di clock.

Esercizio 3

Si descriva brevemente che cosa si intende con il termine Design for Testability.

29/02/96

Esercizio 1

Si progetti a livello RT structural un circuito in grado di calcolare il prodotto C tra due numeri Ae B dati in ingresso, codificati senza segno su 8 bit. L’algoritmo da utilizzare è il classico “somme eshift”, indicato nella seguente figura (dove B0 indica il bit meno significativo di B):

C = 0 ;while (B /= 0){

if B0 = ’1’ then C=C+A ;A=A*2;B=B/2;

}

Si ipotizzi che i valori di A e B siano già caricati nei rispettivi registri e che possano venire“distrutti” durante l’esecuzione dell’algoritmo.

Esercizio 2

Si progetti un circuito combinatorio che agisca come comparatore programmabile. Il circuitoriceve in ingresso due numeri X e Y di 2 bit ciascuno e fornisce in uscita la condizione X>Y. Infunzione del valore di un ulteriore ingresso di controllo C, il confronto deve essere fattointerpretando X ed Y in complemento a 2 (C=0) o modulo e segno (C=1).

Page 42: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 42

Esercizio 3

Si descrivano brevemente i principali tipi di flip-flop.

19/03/96

Esercizio 1

Si progetti a livello RT structural un circuito in grado di calcolare la differenza C tra due numeriA e B dati in ingresso, codificati in modulo e segno su 8 bit.

Esercizio 2

Si progetti un circuito sequenziale che agisca come comparatore programmabile. Il circuitoriceve in ingresso due numeri X e Y di 2 bit ciascuno e fornisce in uscita la condizione X>Y. Infunzione del valore di un ulteriore ingresso di controllo C, il confronto deve essere fattointerpretando X ed Y in complemento a 2 (C=0) o modulo e segno (C=1).

I bit vengono ricevuti su una linea seriale nell’ordine:

C, X1, Y1, X0, Y0

Esercizio 3

Si descrivano brevemente i principali tipi di flip-flop.

27/04/96 (Esonero)

Esercizio 1

Si progetti un circuito combinatorio in grado di decodificare un “codice a maggioranza” su 5 bit.L’uscita U deve valere 1 quando nel dato in ingresso il numero di 1 supera il numero di zeri, 0viceversa. Inoltre è presente una seconda uscita, WARNING, la quale va ad uno quando uneventuale errore su di un solo bit sarebbe in grado di far variare l’uscita U.

Esercizio 2

Si progetti un circuito sequenziale per gestire una votazione elettronica. Il circuito dispone di treingressi (L1, L2, L3) collegati a tre pulsanti corrispondenti a tre liste elettorali tra cui scegliere.Ogni pressione e rilascio su uno dei tasti corrisponde ad un voto per la lista corrispondente. Siipotizzi che il tasto rimanga premuto per almeno un colpo di clock.

Il circuito deve continuamente fornire in uscita, codificato in binario puro su 2 bit, il numerodella lista che ha totalizzato più voti fino all’istante di tempo corrente. In caso di “parità al vertice”,l’uscita presenti il valore “00”.

Page 43: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 43

Esercizio 3

Si indichi brevemente che cosa si intende con il termine Built-In Self Test.

14/05/96

Esercizio 1

Si progetti un sommatore/sottrattore ad 8 bit per numeri codificati in eccesso 128.*

Il circuito riceva in ingresso i due numeri A e B da sommare, il segnale di controllo SUM/~SUBe generi in uscita la somma C, anch’essa codificata su 8 bit in eccesso 128, ed un’indicazione ERRdi errore qualora la somma o la sottrazione non fossero possibili.

Esercizio 2

Si progetti un circuito sequenziale capace di ricevere una sequenza di dati da una linea seriale Xin ingresso e di emetterli su una seconda linea seriale Y in uscita. Sulla linea X vengono ricevutiblocchi di 4 bit, mentre sulla linea Y sono trasmessi 8 bit per volta. Ogni 2 valori ricevuti su X, sene emetta uno su Y, ottenuto concatenando tra loro le sequenze di bit. Su entrambe le linee i datisono codificati con un bit di start pari ad 1 ed un bit di stop pari a 0, nessuna parità.

Esercizio 3

Si indichino brevemente i vantaggi e svantaggi del linguaggio VHDL rispetto all’utilizzo dischematic editor.

17/07/96

Esercizio 1

Si progetti a livello RT structural un circuito in grado di calcolare il massimo C tra due numeri Ae B dati in ingresso, codificati in modulo e segno su 8 bit.

C = max( A, B )

* La codifica in eccesso 128 permette di codificare numeri compresi tra -128 e +127, e viene ottenutacodificando in binario puro un numero ottenuto sommando 128 al numero desiderato. Esempio: -310 ècodificato come 11111012 (=12510), +510 come 100001012 (=13310).

Page 44: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 44

Esercizio 2

Si progetti un circuito sequenziale in grado di calcolare la media mobile di un insieme di dati. Sidefinisce come media mobile la media aritmetica degli ultimi 4 valori ricevuti.

I valori vengono ricevuti su un ingresso IN ampio 8 bit e sono codificati in binario puro.L’arrivo di un nuovo valore è segnalato da un fronte di salita sull’ingresso STB.

Il valore calcolato della media mobile deve essere reso disponibile su un’uscita OUT, anch’essadi 8 bit in binario puro. Si abbia, inoltre, un’uscita VALID che indichi se è stato ricevuto unnumero sufficiente di dati per il calcolo della media.

Esercizio 3

Si indichi brevemente che cosa si intende con Boundary Scan.

21/09/96

Esercizio 1

Si progetti a livello logico una FSM semplice per il controllo dell’espulsione motorizzata di unCD-ROM. Il circuito riceve in ingresso i segnali:

• LOADED, collegato ad un sensore, che vale 1 quando il CD-ROM è inserito

• BUSY, proveniente dalla CPU, che vale 1 quando viene usato il CD-ROM

• EJECT, collegato al tasto di espulsione, attivato dall’utente.

Il circuito deve generare il segnale MOTOR, che pilota il motore di espulsione. Il motore vaacceso alla pressione di EJECT e viene spento quando il CD-ROM è stato espulso (ossia LOADEDtorna a 0). Il circuito deve ignorare le richieste di espulsione illegali (ossia quando non vi è CD-ROM inserito oppure questo sia attualmente in uso).

Esercizio 2

Si progetti un circuito in grado di calcolare la derivata prima di un insieme di dati. Si approssimila derivata con la quantità media(x3, x2)−media(x1, x0), dove x3…x0 sono gli ultimi 4 valoriricevuti.

I valori vengono ricevuti su un ingresso IN ampio 8 bit e sono codificati in complemento a 2.L’arrivo di un nuovo valore è segnalato da un fronte di discesa sull’ingresso STB. Il valorecalcolato della derivata deve essere reso disponibile su un’uscita OUT, anch’essa di 8 bit incomplemento a 2. Il dato calcolato deve essere emesso solo alla ricezione del prossimo nuovovalore su IN.

Page 45: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 45

Esercizio 3

Si descriva brevemente il funzionamento di uno strumento di sintesi automatica.

19/10/96

Esercizio 1

Si progetti il diagramma di transizione di stato di una FSM semplice per la gestione delle porte diun ascensore. Il circuito dispone di due uscite, OPEN e CLOSE, collegate al motore di apertura echiusura delle porte, rispettivamente. Esistono inoltre un ingresso FOTO, collegato alla fotocellula,che indica la presenza di una persona ed un ingresso FINE collegato ad un sensore di “fine corsa”delle porte.

Il circuito deve rispondere a due tasti T_APRI e T_CHIUDI, pilotando opportunamente ilmotore. Si eviti di bloccare una persona tra le porte, e di azionare i motori oltre il fine corsa.

Esercizio 2

Si progetti un circuito in grado di misurare i tempi nel gran premio di F1.

Il circuito riceve un impulso su un ingresso PASS ogni volta che una macchina completa un giro.

Il circuito dispone di tre uscite, LAP, TOT e NUM, che indicano rispettivamente il tempodell’ultimo giro, il tempo totale, ed il numero di giri.

Si definisca il numero di bit di tali uscite ipotizzando un clock di 1 MHz, una durata del granpremio di 3 ore e un numero massimo di giri pari a 50.

Esercizio 3

Si descriva brevemente che cosa si intende con Design for Testability.

22/3/97

Esercizio 1

Si progetti una FSM semplice per gestire il controllo di una bussola di ingresso ad una banca. LaFSM deve gestire il blocco e lo sblocco delle due porte tramite due segnali LOCK1 e LOCK2,utilizzando le informazioni fornite dai sensori:

• PUSH1 e PUSH2, che indicano se un utente sta spingendo una porta

• CLOSED1 e CLOSED2, che indicano se la porta corrispondente è completamente accostata.Si noti che un comando di LOCK è possibile solo quando la porta segnala CLOSED=1.

Si garantisca che, in nessun caso, entrambe le porte siano aperte, pur permettendo il flusso degliutenti. Gli utenti possono fluire in entrambe le direzioni, e possono “cambiare idea”, ritornandoindietro.

Page 46: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 46

Esercizio 2

Si progetti a livello RT un circuito combinatorio per verificare se due numeri di 16 bit ciascuno,codificati in codice pseudo-BCD, sono equivalenti tra loro.

Il codice pseudo-BCD è analogo al BCD, in cui i bit sono raggruppati a gruppi di 4 e hanno pesoproporzionale alle potenze di 10, ma non vi è il vincolo che i singoli gruppi di bit codifichino unnumero minore di 10. In tal modo, lo stesso numero può essere codificato in modi diversi. Adesempio:

0000 0000 0001 0000 = 0000 0000 0000 1010(0x103+0x102+1x101+0x100=0x103+0x102+0x101+10x100)

Esercizio 3

Si descrivano brevemente le architetture di tipo BIST.

23/5/97

Esercizio 1

Si progetti a livello logico un contatore modulo 2 con le seguenti caratteristiche. Il contatore èdotato di un segnale di dato X e di un segnale di abilitazione EN. Il contatore si deve incrementaread ogni transizione (sia da 0 a 1, sia da 1 a 0) del segnale X che avvenga quando EN è alto.

Esercizio 2

Si progetti a livello RT un circuito in grado di calcolare il prodotto tra due numeri dati A e Butilizzando il metodo delle somme ripetute. Si supponga che A e B siano inizialmente caricati inaltrettanti registri, e si sfrutti la relazione:

A * B = A + A + A + ... + A (B volte)

per calcolare il risultato in modo iterativo. Il circuito scriva tale risultato in un registro R e segnali lasua disponibilità su un’uscita DONE. Non è richiesto che il circuito calcoli più di un prodotto.

Esercizio 3

Si descrivano brevemente le architetture di tipo Boundary Scan.

Page 47: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 47

24/7/97

Esercizio 1

Si progetti a livello RT un circuito multifunzionale in grado di eseguire le seguenti funzioni:

• up-counter modulo 9

• down-counter modulo 7

• rotazione a sinistra

• NOP.

Il circuito riceve in ingresso due segnali di selezione S1S0 per definire il tipo di operazione, egenera su un’uscita C il segnale di terminal count (in modalità up/down counter) oppure il bit menosignificativo (in modalità rotazione).

Esercizio 2

Si progetti il diagramma di transizione di stato di una FSM semplice con 2 ingressi EN, x edun’uscita Z. Ad ogni colpo di clock l’uscita Z deve assumere:

• il valore 1 se il numero di 1 su x a partire dall’istante in cui EN è andato ad 1, è un multiplodi 4,

• il valore 0 altrimenti.

Esercizio 3

Si descriva brevemente il flusso di progetto basato su VHDL e sintesi automatica.

25/9/97

Esercizio 1

Si progetti a livello logico una FSM semplice che realizzi un invertitore di segnale controllato.

Quando il segnale di ingresso READY diviene attivo il circuito comincia a campionarel’ingresso IN. Appena su tale segnale di ingresso viene riconosciuta la sequenza 01*0 (‘0’, unnumero maggiore di zero di ‘1’, ‘0’), il circuito deve fornire sull’uscita OUT:

• il segnale IN se il numero di ‘1’ ricevuti nella sequenza di attivazione è pari.

• il segnale not(IN) se il numero di ‘1’ ricevuti nella sequenza di attivazione è dispari.

L’uscita OUT deve seguire l’andamento di IN fino a quando READY rimane attivo.

Page 48: Indice - Politecnico di Torinocorsiadistanza.polito.it/corsi/pdf/9415N/eserc97.pdf · 12 Introduzione ai circuiti logici 13 Analisi e sintesi di circuiti combinatori 14 Sintesi manuale

NETTUNO – Reti Logiche pag. 48

Esercizio 2

Si progetti a livello RT un circuito in grado di calcolare il massimo ed il minimo di un flusso dicampioni presenti su un ingresso x. I campioni di x sono trasmessi ad ogni fronte di salita di unsegnale STB, e sono codificati in complemento a 2 su 8 bit.

L’uscita y fornisca alternativamente, ad ogni colpo di clock, i valori del minimo e del massimofino a quel momento ricevuti su x. La codifica di y sia la stessa di x.

Esercizio 3

Si descriva brevemente l’utilizzo dello standard Boundary Scan nel collaudo delle piastre.

14/10/97 (esonero)

Esercizio 1

Si progetti una FSM semplice in grado di riconoscere, all’interno di un flusso di dati, se èpresente in una qualsiasi posizione la sequenza 011 oppure 001.

Esercizio 2

Si progetti un circuito sequenziale capace di calcolare la somma algebrica di un insieme di datiforniti in ingresso.

I dati sono inviati su un bus X, di 8 bit codificato in complemento a 2, ad ogni fronte di salita diun segnale STB.

La sequenza di dati è segnalata da un campione pari a zero. Al ricevimento di tale campione, ilcircuito deve emettere in uscita il valore della somma, su un bus Z di 12 bit, indicando la suapresenza tramite un impulso su un segnale READY.

Esercizio 3

Si discuta l’utilità delle catene di scan ai fini del collaudo dei circuiti sequenziali.