Sei sulla pagina 1di 56

Dipartimento di Ingegneria Biofisica ed Elettronica

Domenico Ponta, Davide Anguita, Giuliano Donzellini

Dispensa del corso di

Elettronica dei Sistemi Digitali

Primo Semestre - Parte III - Complementi ed esercizi

Università di Genova - Facoltà di Ingegneria

Ver. 05-10-2009
Indice

- Test su Reti Combinatorie e Aritmetica Binaria

- Esercizi di Analisi di Reti Sequenziali

- Esercizi introduttivi alle Macchine a Stati Finiti

- Esercizi sulle Macchine a Stati Finiti

- Introduzione alle Macchine a Stati Finiti Asincrone


Test su Reti Combinatorie e Aritmetica Binaria 6) Individuare il grave errore visibile nel seguente schema circuitale:

1) Cosa si indica, nella tecnologia digitale, con 1K?


o il valore 29
o il valore 1000
o il valore 1024

2) Cosa si intende per variabile booleana?


o il valore logico 1
o la lettera X che può essere 0 o 1
Risposta: …………………………………………………………………..
o qualunque variabile che possa assumere solo due valori
7) Compilare le tabelle di verità dei seguenti schemi:
3) La seguente funzione booleana: f(X,Y,Z) = 1+XY+Z+XYZ
o è equivalente alla funzione 1+YZ
o è equivalente alla funzione XY+Z+XYZ
o applicando la proprietà di associatività diventa 1+X(Y+Z+YZ)

4) Rappresentare la porta AND per mezzo dell’OR e del NOT.

5) Alcune porte del seguente schema circuitale presentano disfunzioni:

Le porte che presentano anomalie sono:


o (a), (b), (c)
o (a), (c)
o (b)
1 2
X1 X2 X3 X4 U 9) Scrivere le espressioni booleane corrispondenti ai circuiti degli esercizi 7 e 8.
0 0 0 0
0 0 0 1
X1 0 0 1 0
7. ................................................................
X2 0 0 1 1
U 0 1 0 0 ................................................................
X3
X4
0 1 0 1
0 1 1 0 ................................................................
0 1 1 1
1 0 0 0
1 0 0 1 ................................................................
1 0 1 0
1 0 1 1 8. ................................................................
1 1 0 0
1 1 0 1
1 1 1 0 10) Scrivere l’espressione booleana corrispondente al seguente circuito:
1 1 1 1
X

0
8) Compilare la tabella di verità del seguente circuito: Y
Z
X
Y
U
U1

U2

U = ...........................................................
Z
11) Data una funzione booleana rappresentata tramite la seguente tabella di verità,
x y z U1 U2 ottenere la rappresentazione equivalente come somma di prodotti fondamentali.
0 0 0
0 0 1 x y z f(x,y,z)
0 1 0 0 0 0 1
0 1 1 0 0 1 0
1 0 0 0 1 0 0
1 0 1 0 1 1 1
1 1 0 1 0 0 1
1 1 1 1 0 1 0
1 1 0 1
1 1 1 0

f(x,y,z) = ......................................................
3 4
17) Rappresentare attraverso una mappa di Karnaugh la seguente tabella di verità e
sintetizzarne l’espressione di f(x,y,z):
12) Data una funzione booleana rappresentata tramite la seguente tabella di verità,
ottenere la rappresentazione equivalente come prodotto di somme fondamentali. x y z f(x,y,z)
0 0 0 1
x y z f(x,y,z) 0 0 1 1
0 0 0 0 0 1 0 1
0 0 1 0 0 1 1 0
0 1 0 1 1 0 0 0
0 1 1 1 1 0 1 1
1 0 0 0 1 1 0 1
1 0 1 1 1 1 1 0
1 1 0 1
1 1 1 0

f(x,y,z) = ......................................................

13) La seguente espressione booleana: X + XY+XYZ+XYZW+XZ+XW+XZW è


equivalente a:
o X
o XY
o X+Y
f (x,y,z) = ……………………………………………………………………………
14) La seguente espressione booleana: f = ab+cd+e
o ha un livello
o ha due livelli 18) Eseguire la sintesi della seguente mappa di Karnaugh:
o ha tre livelli X
15) La seguente espressione booleana: XY+YZ+!Z 0 1 1 0
o quali implicanti ha?
o possiede implicanti primi? Se si quali?
Z 0 1 1 0
16) Eseguire la sintesi delle seguenti mappe:
Y
1) 2) 3)
X X X 19) Eseguire la sintesi della seguente mappa di Karnaugh:
1 1 1 0 0 1
X
Y 0 0 Y 0 0 Y 1 0 0 0 1 0

...................... ....................... ........................ Z 1 0 1 1

Y
5 6
20) Ottenere la sintesi con soli NAND della rete descritta dalla seguente mappa: 5. 7168 = .................................................................................................. in base 2
X
6. A316 = ................................................................................. in base 10
0 1 1 0
7. 0.1011012 = ......................................................................... in base 10
Z 1 0 0 1
8. 0.87510 = ............................................................................................ in base 2
Y

21) Ottenere la sintesi con soli NAND della seguente mappa di Karnaugh: 24) Convertire i seguenti numeri decimali in codice binario BCD come indicato;
X - numeri decimali: 5 11 16 30 75 124

- - - 0 - BCD 8421: ........... ........... ........... ........... ........... ...........

Z 1 0 1 0
25) La negazione bit a bit di un numero binario esprime:
Y o il complemento a due del numero
o lo stesso numero ma negativo se considerato in complemento a due
22) Data la seguente mappa di Karnaugh eseguirne la sintesi evitando di dar luogo ad o il complemento a uno del numero
alee:
X 26) In codice complemento a 2 a 8 bit cosa rappresenta il numero 10000001 ?
o il numero decimale 1
0 0 0 0 o il numero decimale -127
o il numero decimale -1
1 0 1 1 o il numero decimale 129
Z
1 1 0 0 27) E’ possibile rappresentare il numero decimale 20 in codice binario complemento
W a due a 5 bit?
0 1 0 0 o si
o no
Y
28) In codice binario complemento a due la somma di due numeri di segno opposto
può dare luogo ad un overflow?
23) Eseguire le seguenti conversioni di base: o si
o no
1. 10011012 = ......................................................................... in base 10
29) Considerando i seguenti numeri in codice binario in complemento a due a
2. 9710 = ................................................................................................... in base 2 cinque bit eseguire le seguenti operazioni:

3. 11001011102 = ................................................................... in base 10 00101 + 10011 + 01100 + 11110 + 10000 +


01001 = 01001 = 00111 = 10110 = 10100 =
4. 1011100102 = ..................................................................... in base 10 ---------- ---------- ---------- ---------- ----------
............... ................. ................. ................. .................
7 8
30) Scrivere l’espressione booleana del multiplexer 4-1 con ingressi di dato P, Q, R,
S e ingressi di selezione X e Y.

U = ……………………………………………………………………………….

31) Progettare un sistema che visualizzi il valore di una variabile booleana X tramite
il display a 7 segmenti, completando la tabella di verità e il disegno in figura.

x a b c d e f g
0
1

a
b a
c
f b
d g

e e c
d
f
g

32) Progettare un circuito di controllo per un impianto di illuminazione stradale


costituito dai seguenti ingressi:
1. interruttore di accensione/spegnimento impianto (I)
2. segnalatore di luminosità (L)
3. interruttore di accensione permanente dell’impianto
e da una uscita (U) che comanda l’accensione dei corpi illuminanti.

Funzionamento: quando l’interruttore I è spento (I=0) l’impianto viene disabilitato


(valore 0 dell’uscita). Altrimenti l’uscita è alta quando l’interruttore P è attivo oppure
se l’indicatore L indica scarsa luminosità (ciò avviene quando L è “basso”) (*).
E’ richiesto il disegno del circuito.

(*) l’indicatore L è posto in modo da non risentire dell’accensione dei corpi


illuminanti.

9
Esercizi di Analisi di Reti Sequenziali 2. Analisi di rete logica – 1999_6 ESD-1

Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma
1. Analisi di rete logica – 1999_5 ESD-1 temporale allegato. I FF sono di tipo PET-(Positive Edge Triggered).
Si considerino, inoltre, le uscite Q2Q1Q0 come un numero binario a tre bit (Q2 = MSB) e si scriva la sequenza
(in base dieci) generata dal circuito interpretando il numero con codifica binaria pura (senza segno)
Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma [Sequenza A] ed in complemento a due (con segno) [Sequenza B].
temporale allegato e supponendo che il periodo di CLOCK sia molto maggiore dei tempi di ritardo dei
dispositivi. I FF sono di tipo PET-(Positive Edge Triggered).
Si considerino, inoltre, le uscite Q2Q1Q0 come un numero binario a tre bit (Q2 = MSB) e si scriva la sequenza
(in base dieci) generata dal circuito interpretando il numero con codifica binaria pura (senza segno)
Q Q Q
[Sequenza A] ed in complemento a due (con segno) [Sequenza B]. X 2 1 0

Q Q Q
2 1 0

J Q J Q J Q
2 2 1 1 0 0
K2 Q 2 K1 Q1 K 0 Q0
CK1
CL CL CL
D2 Q 2 D1 Q1 D 0 Q0
CK2
CLOCK
CL CL CL CLEAR

CLEAR

CK1
CLOCK
CK2
CLEAR
CLEAR
Q2
X
Q1
Q0 Q2
Q1
Q0
Sequenza A

Sequenza A
Sequenza B

Sequenza B
3. Analisi di rete logica – 2000_3 ESD-1 4. Analisi di rete logica – 2000_4 ESD-1

Data la rete descritta dallo schema in figura, composta da cinque flip-flop JK Positive Edge Triggered, si
completi il diagramma temporale allegato. Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma
Si consideri inoltre il dato di uscita XYZWT (X= MSB, T= LSB) come un numero binario con segno temporale allegato. I flip-flop sono di tipo PET (Positive Edge Triggered).
rappresentato in complemento a due e se ne indichi, negli appositi riquadri, il valore decimale Si considerino, inoltre, le uscite Q3Q2Q1Q0 come un numero binario a quattro bit (Q3 = MSB) e si scriva, in
corrispondente. base dieci, la sequenza generata dal circuito interpretando il numero con codifica binaria pura senza segno
[Sequenza A] ed in complemento a due con segno [Sequenza B].

Q Q Q Q
X 3 2 1 0

D Q D Q D Q J Q
3 3 2 2 1 1 0 0
Q Q Q K Q
3 2 1 0 0
CL CL CL CL
CK1
CK2

CLEAR

CK1

CK2

CLEAR

Q3

Q2
Q1

Q0

Sequenza A

Sequenza B
5. Analisi di rete logica – 2000_5 ESD-1 6. Analisi di rete logica – 2002_1 ESD-1

Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma
temporale allegato. I FF sono di tipo PET (Positive Edge Triggered). temporale allegato. I FF sono di tipo PET (Positive Edge Triggered). Si limiti l’analisi agli otto periodi
Si considerino inoltre le uscite Q2Q1Q0, dove definite, come un numero binario a tre bit (Q2 = MSB) e si consentiti dalla traccia fornita (nei quali il circuito non mostra comportamento ciclico).
scriva, in base dieci, la sequenza generata dal circuito interpretando il numero con codifica binaria pura Si considerino inoltre le uscite Q3, Q2, Q1, Q0, dove definite, come un numero binario a quattro bit (Q3 =
[Sequenza A] ed in complemento a due [Sequenza B]. MSB) e si scriva, in base dieci, la sequenza generata dal circuito interpretando il numero con codifica
binaria pura [Sequenza A], in codice Gray [Sequenza B], e con segno in complemento a due [Sequenza
Q Q Q C].
2 1 0

IN D Q D Q D Q
2 2 1 1 0 0

CLOCK

CLOCK

IN

D2
Q2
Q1
Q0

Sequenza A

Sequenza B
7. Analisi di rete logica – 2002_5 ESD-1 8. Analisi di rete logica – 2003_2 ESD-1

Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma
temporale allegato. I FF sono di tipo PET (Positive Edge Triggered). Si considerino inoltre le uscite D, C, B, temporale allegato. I FF sono di tipo PET (Positive Edge Triggered).
A, dove definite, e si interpreti il dato formato dalle uscite: Si considerino inoltre le uscite C3, C2, C1, C0, dove definite, come un numero binario a quattro bit (C3 = MSB)
[Sequenza A]: come un numero binario intero DCBA a quattro bit senza segno (D = MSB, A = LSB) e lo e si scriva, in base dieci, la sequenza generata dal circuito interpretando il numero come intero non
si rappresenti negli appositi spazi in base SEDICI. segnato con codifica binaria pura [Sequenza A] e come un intero con segno codificato in complemento a
due [Sequenza B].
[Sequenza B]: come un numero binario intero DCBA a quattro bit con segno (D = Segno, A = LSB)
codificato in codice complemento a due e lo si rappresenti negli appositi spazi in base
DIECI.
9. Analisi di rete logica – 2003_3 ESD-1 10. Analisi di rete logica – 2003_5 ESD-1

Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma
temporale allegato. I FF sono di tipo PET (Positive Edge Triggered). temporale allegato. I FF sono di tipo PET (Positive Edge Triggered).

Si considerino inoltre le uscite MX, C2, C1, C0 come un numero binario a quattro bit (MX = MSB, C0 = Si considerino inoltre le uscite X, C, B, A come un numero binario a quattro bit (X = MSB, A = LSB) e si
LSB) e si scriva, in base dieci, la sequenza generata dal circuito interpretando il numero come intero scriva, in base dieci, la sequenza generata dal circuito interpretando il numero come intero non segnato
non segnato con codifica binaria pura [Sequenza A] e come un intero con segno codificato in con codifica binaria pura [Sequenza A] e come un intero con segno codificato in complemento a due
complemento a due [Sequenza B]. [Sequenza B].
11. Analisi di rete logica – 2004_2 ESD-1 12. Analisi di rete logica – 2004_5 ESD-1

Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma
temporale allegato. I FF sono di tipo PET (Positive Edge Triggered). temporale allegato. I FF sono di tipo PET (Positive Edge Triggered).

Si considerino inoltre le uscite C4, C2, C1, C0 come un numero binario a quattro bit (C4 = MSB, C0 = Si considerino inoltre le uscite Q2, Q1, Q0 come un numero binario a tre bit (Q2 = MSB, Q0 = LSB) e si
LSB) e si scriva, in base dieci, la sequenza generata dal circuito interpretando il numero come intero scriva, in base dieci, la sequenza generata dal circuito interpretando il numero come intero non segnato
non segnato con codifica binaria pura [Sequenza A] e come un intero con segno codificato in con codifica binaria pura [Sequenza A] e come un intero con segno codificato in complemento a due
complemento a due [Sequenza B]. [Sequenza B].
13. Analisi di rete logica – 2005_4 ESD-1 14. Analisi di rete logica – 2005_6 ESD-1

Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma
temporale allegato. I FF sono di tipo PET (Positive Edge Triggered). temporale allegato. I FF sono di tipo PET (Positive Edge Triggered).

Si considerino inoltre le uscite X, C, B, A come un numero binario a quattro bit (X = MSB, A = LSB) e si Si considerino inoltre le uscite X, Y, Z, W come un numero binario a quattro bit (X = MSB, W = LSB) e si
scriva, in base dieci, la sequenza generata dal circuito interpretando il numero come intero non segnato scriva, in base dieci, la sequenza generata dal circuito interpretando il numero come intero non segnato
con codifica binaria pura [Sequenza A] e come un intero con segno codificato in complemento a due con codifica binaria pura [Sequenza A] e come un intero con segno codificato in complemento a due
[Sequenza B]. [Sequenza B].
15. Analisi di rete logica – 2006_1 ESD-1

Data la rete descritta dallo schema in figura, se ne descriva il comportamento utilizzando il diagramma
temporale allegato. I FF sono di tipo PET (Positive Edge Triggered).

Si considerino inoltre le uscite D, C, B, A, dove definite, come un numero binario a quattro bit (D = MSB) e si
scriva, in base dieci, la sequenza generata dal circuito, interpretando il numero come binario senza segno
[Sequenza 1] e binario con segno (codifica in complemento a due) [Sequenza 2].
Esercizio n. 2:
Esercizi introduttivi alle Macchine a Stati Finiti Progettare, usando i diagrammi ASM, una MSF con un ingresso IN sincrono con il clock che generi un segnale
USCITA, anch’esso sincrono, quando l’ingresso IN é alto.

Esercizio n. 1:
Progettare, usando i diagrammi ASM, una MSF che generi un segnale periodico OUT, sincrono con il CK, il cui valore
sia alto per un ciclo e basso per un altro.

SOLUZIONE

Commento:
SOLUZIONE La macchina rimane nello stato a, dove non
genera alcun segnale, fintanto che l’ingresso IN é
basso.
Commento:
La macchina nello stato a non genera alcun segnale, dunque
l’uscita OUT resta a zero.

Quando, al fronte di salita del clock, la macchina


vede l’ingresso IN alto, transita nello stato b dove
Al fronte di salita del clock la macchina passa nello stato b vi permane, generando l’uscita USCITA, fino a
dove genera l’uscita OUT, che dunque va a uno, e vi rimane quando non viene visto dalla MSF IN basso, una
fino al prossimo fronte di salita del clock, dopo il quale volta che IN è a zero si ritorna allo stato a.
ritorna nello stato a.
Esercizio n. 3: Esercizio n. 4:
Progettare, usando i diagrammi ASM, una MSF che alla transizione basso-alto dell’ingresso GO, sincrono con il CK, Si progetti, usando i diagrammi ASM, una MSF con due ingressi X e Y sincroni col clock, che generi un’uscita
generi ininterrottamente la seguente sequenza di segnali: A, B, AB; dove A e B sono le due uscite della macchina. ERROR ogni volta che entrambi gli ingressi vengono visti contemporaneamente alti. L’uscita ERROR deve essere
azzerata quando gli ingressi assumono valori uguali tra loro.

SOLUZIONE

SOLUZIONE
Commento:
La macchina permane nello stato a per un tempo
indefinito, fino a quando non vede l’ingresso GO alto, Commento:
Stato a: la macchina non genera alcun
segnale e vi permane fino a quando il
prodotto logico tra i due ingressi é uguale a
zero.

Stato b: la MSF genera ERROR ed esce da


questo stato solo in corrispondenza di un
valore differente tra i due ingressi.

in conseguenza al quale, entra in un loop infinito dove


esegue in successione gli stati b, c, d, generando la
sequenza richiesta.
Esercizio n. 5: Esercizio n. 6:
Progettare, usando i diagrammi ASM, una MSF che controlli un ingresso CR sincrono e che generi un segnale ERROR Progettare una MSF usando i diagrammi ASM con un ingresso START
se CR resta stabile a uno per più di un ciclo di clock. Dopo la segnalazione di ERROR si ripristini lo stato iniziale. avente le seguenti caratteristiche: è sincrono con il CK, può permanere
alto per un solo T di clock e basso per almeno 4T di clock. Si vuole che,
ad ogni transizione da basso ad alto di START, la macchina conti alla
rovescia da tre a uno attivando le rispettive uscite TRE, DUE e UNO.

SOLUZIONE

Commento:
Lo stato a é uno stato d’attesa dal quale si esce nel caso di
passaggio da alto a basso dell’ingresso START, nel qual caso,
SOLUZIONE si percorrono in sequenza gli stati b, c e d, dove si attivano
rispettivamente le uscite TRE, DUE e UNO.

Commento:
La macchina permane nello stato a, di attesa,
fino a quando non legge CR a uno,

poi passa nello stato b dal quale può passare


allo stato c, nel caso la macchina veda
nuovamente CR a uno, oppure ritornare nello
stato a.

Lo stato c genera ERROR e riporta la


macchina nello stato a.

Da d si torna in a dove si attenderà per almeno un ciclo di


clock il successivo fronte di salita del segnale START.
Esercizio n. 7:
Progettare una MSF, usando i diagrammi ASM, con un ingresso START
sincrono con il CK. Si vuole che ad una transizione da basso ad alto di Esercizio n. 8:
START la macchina conti alla rovescia da tre a uno attivando le rispettive Si progetti una MSF che generi un’uscita OUT alta fino a quando il clock non vede
uscite TRE, DUE e UNO, dopo di che si rimetta in attesa del nuovo l’ingresso ON basso per due cicli di clock consecutivi.
fronte di salita di START.
SOLUZIONE
SOLUZIONE

Commento:
Lo stato a attende che START vada a uno nel qual caso vengono percorsi in sequenza
gli stati b, c e d dove si attivano rispettivamente le uscite TRE, DUE e UNO.
Commento:
Stato a: in tale stato è attivata l’uscita OUT fino a quando ON
viene visto alto dopodiché si passa nello stato b.

Da d si effettua un controllo su
START per assicurarsi che si
torni in a solo nelle condizioni
di START basso per poi Stato b: nel quale continua ad essere attiva l’uscita OUT
rigenerare la sequenza solo in dopodiché si ritorna nuovamente in a se ON è a uno mentre si
presenza di un fronte di salita va in c se ON è basso.
dell’ingresso.

Stato c: OUT diventa basso indeterminatamente.


Esercizio n. 9: Esercizio n. 10:
Progettare una MSF avente in ingresso due segnali START e SEL, sincroni col
CK, e due uscite WAIT e GO. Progettare una MSF, usando i diagrammi ASM, che ricopi fedelmente l’ingresso Q0, asincrono con il clock, sull’uscita
Quando START va a uno la macchina deve generare, a seconda che il segnale Q1.
SEL sia a uno o a zero, un segnale di GO o di WAIT fino a quando START
rimane alto, quando poi START torna basso, si vuole che la macchina torni in SOLUZIONE
attesa.

SOLUZIONE
Commento:
Il fatto che la macchina debba ricopiare fedelmente un ingresso
asincrono, e quindi generare un uscita asincrona significa che è
necessario l’utilizzo di blocchi di uscita condizionata.
Commento: Stato a: in questo stato la MSF non genererebbe nulla di per se,
La macchina ha tre stati: infatti così fa finché QO è a zero.
Stato a: si permane in tale stato fino a quando START non viene Tuttavia la presenza del blocco di uscita condizionata, subito di
visto alto momento nel quale si passa a b se SEL è alto o a c se SEL seguito, fa si che, non appena QO diventa alto, Q1 si attivi,
è basso. indipendentemente dal CK, nello stesso stato a.

Stato b: si genera, in tale


stato, l’uscita GO, per un
CK, per poi controllare
nuovamente lo stato
dell’ingresso START e
ripetere il processo.
Stato c: si genera, in tale
stato, l’uscita WAIT, per
un CK, per poi controllare
nuovamente lo stato
dell’ingresso START e
ripetere il processo.
Esercizio n. 11:
Progettare, usando i diagrammi ASM una MSF che individui i fronti di salita dell’ingresso IN segnalandoli con l’uscita Esercizio n. 12:
UNO che si attiva contemporaneamente ad IN e dura fino al primo fronte di salita del Ck. Progettare una MSF con due ingressi, GO asincrono e STOP sincrono con il clock, ed un’uscita X. L’uscita X deve
attivarsi istantaneamente all’attivazione di GO, senza attendere il fronte di salita del clock, deve rimanere attiva per
almeno un ciclo di clock e disattivarsi all’attivazione di STOP.
SOLUZIONE
SOLUZIONE

Commento:
Stato a: vi si resta fino a quando GO é a zero dopodiché si passa
Commento : istantaneamente nel bloccho di uscita condizionata, dove viene
Stato a: si resta in questo stato fino a quando IN non passa attivata l’uscita X, per poi passare comunque allo stato b.
a uno, momento nel quale senza attendere il fronte di
salita del clock si attiva l’uscita OUT, dopodiché si passa
allo stato b.

Stato b: si rimane in tale stato fino a quando IN viene Stato b: dove si resta fino a quando STOP non assume valore alto
visto a uno e si torna in a quando IN va a zero, in modo da in corrispondenza con un fronte di salita del Ck nel qual caso si
assicurarsi che vengano segnalati i fronti di salita torna allo stato a.
dell’ingresso (come richiesto dal testo) e non permanenze
dello stesso a uno come avverrebbe se dopo il bloccho di
uscita condizionata si mandasse la macchina direttamente
nello stato a.
Esercizio n. 13:
Progettare, usando i diagrammi ASM, una MSF dotata di due ingressi:
SYN sincrono con il clock e ASYN asincrono. La macchina deve
generare un’uscita START asincrona ogni volta che SYN e ASYN
sono entrambi alti.

SOLUZIONE

Commento:
Stato a: in questo stato la MSF non genererebbe nulla di
per se

Il blocco di uscita condizionata, subito di seguito, fa si che,


non appena SYN e ASYN diventano alti, START si attivi,
indipendentemente dal CK, nello stesso stato a.
Esercizi sulle Macchine a Stati Finiti 2. Progetto di MSF – 1999_5 ESD-1

1. Progetto di MSF – 1999_4 ESD-1


Si progetti con il metodo ASM il dispositivo digitale rappresentato nella figura. La MSF riceve in ingresso una
Si progetti con il metodo ASM il dispositivo digitale rappresentato nella figura. La MSF riceve in ingresso una linea seriale L sulla quale sono trasmessi dei dati sincroni con il clock CLK del dispositivo. La MSF controlla
linea seriale LINE sulla quale sono trasmessi dei dati sincroni con il clock CLK del dispositivo. La MSF (mediante i segnali D1, D2, LOAD1 e LOAD2) due FF D PET, che generano rispettivamente le uscite SEQ1
controlla un FF JK PET, che a sua volta genera le uscite SEQ1 e SEQ2. La MSF genera direttamente una e SEQ2.
uscita ERROR e riceve un ingresso RST.
CLK
CLK L SEQ1
D1
LINE D Q
J SEQ1
J Q LOAD1
CP
K
K Q
SEQ2 MSF D2 SEQ2
MSF D Q
LOAD2

RST ERROR

I dati sono costituiti da pacchetti seriali di quattro bit, separati tra loro da almeno due bit a zero. Ciascun
pacchetto inizia sempre con il primo bit a “1” (bit di start) e termina con il quarto bit a “0” (bit di stop). Il
I dati sono costituiti da pacchetti seriali di quattro bit, separati tra loro da almeno due bit a zero. Il cambiamento dei bit in ingresso avviene sul fronte di discesa del clock CLK, mentre la MSF li campiona su
cambiamento dei bit di dato in ingresso avviene sul fronte di discesa del clock CLK, mentre la MSF li quello di salita.
campiona su quello di salita. Il dispositivo deve riconoscere quale delle due sequenze 1101 oppure 1110 Il dispositivo deve riconoscere quale delle due sequenze 1010 oppure 1100 viene ricevuta.
viene ricevuta e, quando viene ricevuta la prima, attivare l’uscita SEQ1. Quando viene riconosciuta la Quando e` ricevuta la prima, il dispositivo attiva l’uscita SEQ1. Quando e` ricevuta la seconda sequenza, il
seconda, deve attivare l’uscita SEQ2. Ciascuna uscita rimane attiva fino a che non viene ricevuta la dispositivo attiva l’uscita SEQ2. Quando e` ricevuta una sequenza diversa dalle due previste, entrambe le
sequenza che attiva l’altra. uscite SEQ1 e SEQ2 sono azzerate.
Le uscite SEQ1 e SEQ2 non devono essere mai attive contemporaneamente, e mantengono il loro valore
In assenza di trasmissione la linea si trova al valore logico zero. Se dopo la ricezione del primo bit ad uno la fino al riconoscimento della successiva sequenza. In assenza di trasmissione la linea si trova al valore logico
linea ritorna a zero, oppure sono ricevute sequenze diverse da quelle previste, la MSF attiva l’uscita ERROR zero.
e rimane in attesa del segnale RST per riportarsi in attesa di una nuova sequenza.
Si chiede:
Si chiede: - Il diagramma ASM della MSF;
- Il diagramma ASM della MSF; - Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura qui
- Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura qui sotto e non tralasciando l’indicazione dello stato in cui si trova l’MSF in ogni periodo del clock;
sotto; - La sola assegnazione degli stati con relativa mappa di assegnazione. Non si richiede la sintesi della
- La sola assegnazione degli stati con relativa mappa di assegnazione. Non si richiede la sintesi della MSF.
MSF.
Nota: Non sono ammesse soluzioni ottenute senza l'impiego del metodo ASM.
Nota: Non sono ammesse soluzioni ottenute senza l'impiego del metodo ASM.

CLK
CLK
L
LINE
STATO
RST
ERROR D1

J LOAD1
K D2
CP
LOAD2
SEQ1
SEQ1
SEQ2
SEQ2
3. Progetto di MSF – 1999_6 ESD-1
4. Progetto di MSF – 2000_1 ESD-1
Si progetti con il metodo ASM il dispositivo digitale rappresentato nella figura. La MSF riceve in ingresso una
linea seriale L sulla quale sono trasmessi delle sequenze di bit, sincrone con il clock CLK del dispositivo. La Progettare con il metodo ASM il dispositivo digitale rappresentato nella figura. La MSF riceve in ingresso una
MSF genera le uscite READY ed ERROR, e controlla (mediante i segnali D1, D2, LOAD1 e LOAD2) due FF linea seriale LINE sulla quale sono trasmesse delle sequenze di bit, sincrone con il clock CLK del
D PET, che generano le uscite B1 e B2. dispositivo. La MSF genera le uscite READY ed ERROR, e controlla (mediante i segnali S1, R1, S2 e R2)
due FF RS asincroni, che generano le uscite U1 e U2.
CLK
CLK
L B1
D1 LINE U1
D Q S1
S Q
LOAD1
R1
R
D2 B2
D Q U2
MSF S2
S Q
LOAD2 MSF
R2
R
READY
READY
ERROR
ERROR

Le sequenze sono costituite da pacchetti seriali di quattro bit, separati tra loro da almeno due bit a zero.
Ciascun pacchetto inizia sempre con il primo bit a “1” (bit di start) e termina normalmente con il quarto bit a Le sequenze sono costituite da pacchetti seriali di cinque bit, separati tra loro da almeno tre bit a zero.
“0” (bit di stop). In assenza di trasmissione la linea si trova al valore logico zero. Ciascun pacchetto inizia sempre con il primo bit a “1” (bit di start) e termina normalmente con il quarto e il
I due bit ricevuti dopo il bit di start e prima del bit di stop rappresentano l’informazione trasmessa: il nostro quinto bit a “0” (bit di stop). In assenza di trasmissione la linea si trova al valore logico zero.
dispositivo deve ricopiare i due bit, nell’ordine di ricezione, sulle uscite B1 e B2, mantenendoli fino alla I due bit ricevuti dopo il bit di start e prima dei due bit di stop rappresentano l’informazione trasmessa: il
ricezione del successivo pacchetto. nostro dispositivo deve ricopiare i due bit, nell’ordine di ricezione, sulle uscite U1 e U2, mantenendoli fino
Se la sequenza ricevuta si conclude correttamente con il quarto bit a “0”, la MSF attiva l’uscita READY, alla ricezione del successivo pacchetto.
altrimenti l’uscita ERROR. Sia READY che ERROR saranno mantenute attive per un ciclo di clock.
Se la sequenza ricevuta si conclude correttamente con il quarto e il quinto bit a “0”, la MSF attiva l’uscita
Si chiede: READY, altrimenti l’uscita ERROR. Sia READY che ERROR saranno mantenute attive fino all’inizio della
- Il diagramma ASM della MSF; ricezione della prossima sequenza.
- Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura qui Si chiede:
sotto e non tralasciando l’indicazione dello stato in cui si trova l’MSF in ogni periodo del clock;
- Il diagramma ASM della MSF;
- La sola assegnazione degli stati con relativa mappa di assegnazione. Non si richiede la sintesi della
MSF. - Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura qui
sotto e non tralasciando l’indicazione dello stato in cui si trova l’MSF in ogni periodo del clock;
Nota: Non sono ammesse soluzioni ottenute senza l'impiego del metodo ASM. - La sola assegnazione degli stati con relativa mappa di assegnazione. Non si richiede la sintesi della
MSF.
Nota: Non sono ammesse soluzioni ottenute senza l'impiego del metodo ASM.
CLK

L CLK
STATO L
D1 STATO
LOAD1 S1
B1 R1
D2 U1
LOAD2 S2
B2 R2
READY U2
ERROR READY

ERROR
6. Progetto di MSF – 2001_3 ESD-1
5. Progetto di MSF – 2000_2 ESD-1
Progettare con il metodo ASM il dispositivo
Progettare con il metodo ASM il dispositivo digitale rappresentato nella figura. La MSF riceve in ingresso una digitale rappresentato nella figura. Il dispositivo,
linea seriale SER sulla quale sono trasmesse delle sequenze di bit, sincrone con il clock CLK del dispositivo. sincrono con il clock CLK, riceve sequenze
La MSF genera le uscite CHANGED e ERROR, e controlla (mediante i segnali S1, R1, S2 e R2) due FF RS seriali attraverso la linea SER e, dopo opportune
asincroni, che generano le uscite Q1 e Q2. elaborazioni, le ritrasmette attraverso la linea
OUT. La MSF dispone inoltre di un'uscita ERR.
CLK
Le sequenze ricevute sono costituite da
SER pacchetti seriali di quattro bit, ciascuno dei quali
S1 Q1
ha la durata di un periodo di clock. I pacchetti
S Q
iniziano sempre con il primo bit a "1" (bit di start)
R1 e terminano con il quarto bit a "0" (bit di stop). Il
R
secondo ed il terzo bit (D0 e D1) contengono
Q2 l'informazione associata al pacchetto.
S2
MSF S Q
R2 In condizioni di riposo, le linee SER e OUT si
R trovano al valore logico zero e il dispositivo
attende l'arrivo di un pacchetto sulla linea SER.
CHANGED
Il pacchetto da trasmettere è identico al pacchetto ricevuto ad eccezione dei bit di informazione, la cui
ERROR posizione è scambiata (il dispositivo riceve la sequenza 1-D0-D1-0 e trasmette la sequenza 1-D1-D0-0). Ogni
bit trasmesso è mantenuto sulla linea OUT per la durata di un ciclo del clock CLK.
La trasmissione su OUT deve avvenire se la sequenza ricevuta su SER e` corretta. La sequenza ricevuta è
ritenuta errata se il bit di stop è diverso da "0". In questo caso, il dispositivo non deve generare alcuna uscita
Le sequenze sono costituite da pacchetti seriali di quattro bit, separati tra loro da almeno tre bit a zero. su OUT, ma attivare l’uscita ERR fino a che la linea non ritorna bassa, per poi tornare in attesa di una nuova
Ciascun pacchetto inizia sempre con il primo bit a “1” (bit di start) e termina normalmente con il quarto bit a sequenza.
“0” (bit di stop). In assenza di trasmissione la linea si trova al valore logico zero. I due FF JK-PET hanno il compito di immagazzinare temporaneamente i due bit D0 e D1 della sequenza
Il primo bit ricevuto dopo il bit di start indica su quale dei due flip-flop la MSF dovra` agire (se 0 -> Q1, se 1 - ricevuta e le loro uscite sono lette dalla MSF per generare la sequenza di uscita. Il clock dei FF è lo stesso
> Q2). della MSF.
Il successivo bit ricevuto rappresenta l’informazione da trascrivere sul flip-flop specificato dal primo bit.
Si chiede:
Se la sequenza ricevuta si conclude correttamente con il quarto e il quinto bit a “0”, la MSF attiva l’uscita
- Il diagramma ASM della MSF;
CHANGED, altrimenti l’uscita ERROR. Le uscite CHANGED e ERROR saranno mantenute attive fino
all’inizio della ricezione della prossima sequenza. - Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura
allegata e non tralasciando l'indicazione dello stato in cui si trova la MSF in ogni periodo del clock;
Si chiede:
- La sola assegnazione degli stati con relativa mappa di assegnazione. Non si richiede la sintesi della
- Il diagramma ASM della MSF; MSF.
- Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura qui Nota: Non sono ammesse soluzioni ottenute senza l'impiego del metodo ASM.
sotto e non tralasciando l’indicazione dello stato in cui si trova l’MSF in ogni periodo del clock;
- La sola assegnazione degli stati con relativa mappa di assegnazione. Non si richiede la sintesi della
MSF.
Nota: Non sono ammesse soluzioni ottenute senza l'impiego del metodo ASM.

CLK

SER

(Stato)

S1

R1

Q1

S2

R2

Q2

CHANGED

ERROR
7. Progetto di MSF – 2001_4 ESD-1 8. Progetto di MSF – 2001_5 ESD-1

Progettare con il metodo ASM il Progettare con il metodo ASM il dispositivo digitale rappresentato nella figura. Il dispositivo, sincrono con il
dispositivo digitale rappresentato nella clock CLK, riceve sequenze seriali attraverso la linea L, le sincronizza e le processa, restituendo in uscita i
figura. Il dispositivo, sincrono con il dati in formato parallelo e segnalando sia la corretta ricezione di ogni sequenza, sia gli eventuali errori
clock CLK, riceve sequenze seriali (errato bit di stop ed errore di parità).
attraverso la linea L e, dopo opportune Le sequenze ricevute sono costituite da
elaborazioni, le ritrasmette attraverso la pacchetti seriali di sette bit, ciascuno dei quali
linea OUT. La MSF dispone inoltre di ha la durata di un periodo di clock. I pacchetti
un'uscita ERR e di un ingresso RST. iniziano sempre con il primo bit a "1" (bit di start)
Le sequenze ricevute sono costituite da e terminano con il settimo bit a "0" (bit di stop). I
pacchetti seriali di quattro bit, ciascuno bit dal secondo al quinto (B0, B1, B2, B3)
dei quali ha la durata di un periodo di contengono l'informazione associata al
clock. I pacchetti iniziano sempre con il pacchetto, il sesto il valore della loro parità P.
primo bit a "1" (bit di start) e terminano
con il quarto bit a "0" (bit di stop). Il In condizioni di riposo, la linea L si trova al
secondo ed il terzo bit (B0 e B1) valore logico zero. Il dispositivo attende l'arrivo
contengono l'informazione associata al di un pacchetto sulla linea L. Ogni bit del
pacchetto. pacchetto ha la durata di un periodo di CLK, e
cambia sui fronti di salita di questo.
In condizioni di riposo, le linee L e OUT si trovano al valore logico zero. Il dispositivo attende l'arrivo di un
pacchetto sulla linea L. Il pacchetto che viene trasmesso è formato da un bit di start ad uno, seguito da due I bit di informazione devono essere memorizzati
bit a zero e quindi dai due bit di informazione, i cui valori sono negati: il dispositivo riceve la sequenza 1 - B0 nei quattro flip-flop tipo D (B0 in Q0, B1 in Q1 e
- B1 - 0 e, al termine della ricezione, trasmette la sequenza 1 - 0 - 0 - !B0 - !B1 - 0 (dove ! indica l’operazione così via).
di negazione). Ogni bit trasmesso è mantenuto sulla linea OUT per la durata di un ciclo del clock CLK. La Il valore effettivo della parità dei quattro bit di
trasmissione su OUT deve avvenire solo se la sequenza ricevuta su L e` corretta. La sequenza ricevuta è informazione deve essere confrontato con il
ritenuta errata se il bit di stop è diverso da "0". In questo caso, il dispositivo non deve generare alcuna uscita valore ricevuto P; se diverso deve essere attivato il segnale ERPY (Parity Error). Se la sequenza seriale non
su OUT, ma attivare l’uscita ERR fino a ricezione di un comando di riavvio (RST) che lo riporta in attesa di termina correttamente con il settimo bit a zero si deve attivare ERFR (Frame Error). Se non ci sono errori si
una nuova sequenza, previo controllo che la linea sia nel frattempo ritornata bassa. deve attivare READY. ERPY, ERFR e READY durano un ciclo di CLK.
Il segnale di ingresso L è sincronizzato da un FF D-PET. Gli altri due FF D-PET Q0 e Q1 hanno il compito di
immagazzinare temporaneamente il valore dei due bit B0 e B1 della sequenza ricevuta e le loro uscite sono Si chiede:
lette dalla MSF per generare la sequenza di uscita. I clock CP0 e CP1 dei FF sono generati dalla MSF. - Il diagramma ASM della MSF;
Si chiede: - Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura
allegata e indicando lo stato in cui si trova la MSF in ogni periodo del clock. Si assuma che il valore
- Il diagramma ASM della MSF; di P sia quello corretto.
- Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura - La sola assegnazione degli stati con relativa mappa di assegnazione. Non si richiede la sintesi della
allegata e non tralasciando l'indicazione dello stato in cui si trova la MSF in ogni periodo del clock; MSF.
- La sola assegnazione degli stati con relativa mappa di assegnazione. Non si richiede la sintesi della
MSF.
9. Progetto di MSF – 2002_2 ESD-1 10. Progetto di MSF – 2002_3 ESD-1

Progettare con il metodo ASM il Si progetti con il metodo ASM il sistema digitale
dispositivo digitale rappresentato nella rappresentato in figura. Il sistema attende in
figura. Il dispositivo, sincrono con il ingresso il fronte di salita del segnale ST per
clock CLK, riceve sequenze seriali generare un impulso sull’uscita OUT.
attraverso la linea L e, dopo opportune Il sistema utilizza il contatore CNT, il cui schema
elaborazioni, le ritrasmette attraverso la è riportato nella seconda figura. Il segnale PRE
linea OUT. La MSF dispone inoltre di (Preset) consente di “presettare” il contatore al
un'uscita ERR e di un ingresso RST. valore ‘111’ (7). Il segnale TC (Terminal Count)
In condizioni di riposo, le linee L e OUT indica che il conteggio ha raggiunto il valore 0.
si trovano al valore logico zero. L’impulso, di durata nT, viene generato dopo
Il dispositivo attende l'arrivo di una una pausa anch’essa pari a nT, dove T è il
sequenza sulla linea L. Le sequenze periodo del clock CLK, e n una costante,
ricevute sono costituite da pacchetti descritta nel seguito.
seriali di quattro bit, (1 - B0 - B1 - 0), All’arrivo del fronte di salita di ST, la MSF
ciascuno dei quali ha la durata di due utilizzando il contatore CNT, temporizza la
periodi di clock. I pacchetti iniziano durata della pausa e dell’impulso.
sempre con il primo bit a "1" (bit di start) Nel tempo in cui è in attesa del fronte di salita di
e terminano con il quarto bit a "0" (bit di stop). Il secondo ed il terzo bit (B0 e B1) contengono l'informazione ST, il sistema attiva l’uscita
associata al pacchetto. Si assuma che ciascun bit rimanga stabile nell’intervallo dei due periodi di clock in RDY, per segnalare che è
cui è presente. pronto a generare l’impulso
Al termine della ricezione di un pacchetto, il sistema trasmette su OUT la sequenza 1 - B1 - B0 - 0 (dove i bit OUT. Si presti attenzione al
di informazione sono scambiati di posizione rispetto alla sequenza ricevuta). In trasmissione, i bit della fatto che la durata del
sequenza sono mantenuti sulla linea OUT per la durata di due periodi del clock CLK. La trasmissione su segnale ST non è definita a
OUT deve avvenire solo se la sequenza ricevuta presenta il bit di stop correttamente a "0". In caso contrario, priori, salvo il fatto che è pari
il dispositivo non deve generare alcuna uscita su OUT, ma attivare l’uscita ERR fino a ricezione di un ad almeno un ciclo di clock.
comando di riavvio (RST) che lo riporta in attesa di una nuova sequenza, previo controllo che la linea sia nel La costante n, che determina
frattempo ritornata bassa. la durata della pausa e
Il segnale di ingresso L è sincronizzato da un FF D-PET. Gli altri due FF D-PET hanno il compito di dell’impulso, è in relazione al
immagazzinare temporaneamente il valore dei due bit B0 e B1 della sequenza ricevuta nelle loro uscite Q0 e valore di preset del contatore
Q1 , le quali sono lette dalla MSF per generare la sequenza di uscita. I clock CP0 e CP1 dei FF sono generati CNT, e dipende dalla
dalla MSF. particolare soluzione progettuale. Si faccia in modo che n sia il più vicino possibile a 7.
Si chiede: Si chiede:
- Il diagramma ASM della MSF; - Il diagramma ASM della MSF di controllo;
- Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura - La sola assegnazione degli stati con la relativa mappa di assegnazione (non si richiede la sintesi della
allegata e non tralasciando l'indicazione dello stato in cui si trova la MSF in ogni periodo del clock; MSF).
- La sola assegnazione degli stati con relativa mappa di assegnazione. Non si richiede la sintesi della - Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura
MSF. allegata (indicare lo stato in cui si trova la MSF in ogni periodo del clock).
- Precisare la durata effettiva della pausa e dell’impulso.
11. Progetto di MSF – 2002_4 ESD-1 12. Progetto di MSF – 2002_6 ESD-1

Si progetti con il metodo ASM il sistema digitale Si progetti con il metodo ASM il sistema digitale
rappresentato in figura. Il sistema, quando a riposo, rappresentato in figura. Il sistema attende in ingresso il
attende un impulso, come rappresentato nel fronte di salita del segnale ST per generare un segnale
diagramma temporale, sull’ingresso sincrono TGL periodico simmetrico sull’uscita OUT.
(Toggle). L’impulso dura un ciclo di clock e ha l’effetto All’arrivo del fronte di salita di ST il sistema inizia a
di avviare la generazione di un segnale periodico generare il segnale periodico sull’uscita OUT, iniziando
sull’uscita WAVE. con il semiperiodo basso. Alla ricezione del fronte di
Durante la generazione del segnale, l’arrivo di un discesa di ST, la MSF cessa di generare il segnale, ma
identico impulso sull’ingresso TGL termina la dopo aver completato il periodo già iniziato (in tal
generazione del segnale ad onda quadra e riporta il modo, a seguito di un fronte di salita di ST il sistema
sistema a riposo. genererà almeno un periodo completo).
A riposo l’uscita WAVE è a zero: il semiperiodo alto e il
semiperiodo basso hanno durata uguale, pari a mT, La MSF torna quindi in attesa del fronte di salita di ST.
dove T è il periodo del clock CLK, e m una costante, Durante l’attesa del fronte di salita di ST, il sistema attiva l’uscita RDY, per segnalare che è pronto a
descritta più avanti. generare OUT.
All’avvio, la generazione di WAVE inizia con il semiperiodo basso. La terminazione, se richiesta durante la
generazione del semiperiodo basso, avviene immediatamente. Invece, se la terminazione è richiesta Per la temporizzazione del
durante la generazione del semiperiodo alto, non avviene subito ma al termine di questo. Si presti segnale, il sistema utilizza il
attenzione al fatto che la durata dell’impulso sull’ingresso TGL è pari ad un solo ciclo di clock. contatore CNT, il cui schema
Durante il tempo in cui il sistema non è riportato nella seconda
genera il segnale periodico, ed è in figura. Il segnale PRE
attesa dell’impulso sull’ingresso TGL, il (Preset) consente di
sistema attiva l’uscita IDLE. “presettare” il contatore,
Il sistema utilizza il contatore CNT, il cui mentre TC indica che il
schema è riportato nella seconda figura. conteggio ha raggiunto il
Il segnale PRE (Preset) consente di valore terminale.
“presettare” il contatore al valore ‘111’ Il segnale su OUT ha periodo
(7). Il segnale TC (Terminal Count) 2nT, dove T è il periodo del clock CLK, e n una costante determinata dal modulo del contatore CNT e dal
indica che il conteggio ha raggiunto il particolare algoritmo adottato (si accettano valori di n compresi tra 7 e 9). Durante il completamento del
valore 0. I flip-flop sono di tipo PET. segnale, successivo al fronte di discesa di ST, il sistema ignora eventuali fronti di salita dello stesso.
La costante m, che determina il periodo del segnale in uscita, è in relazione al valore di preset del contatore Si chiede:
CNT, e dipende dalla particolare soluzione progettuale. Si accettano valori di m pari a 7 o a 8. - Il diagramma ASM della MSF di controllo (ricordarsi di definire lo stato al Reset);
Si chiede: - La sola assegnazione degli stati con la relativa mappa di assegnazione (non si richiede la sintesi della
- Il diagramma ASM della MSF di controllo (ricordarsi di definire lo stato al Reset); MSF).
- La sola assegnazione degli stati con la relativa mappa di assegnazione (non si richiede la sintesi della - Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura
MSF). allegata (indicare lo stato in cui si trova la MSF in ogni periodo del clock).
- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura - Precisare il valore del periodo di OUT ottenuto nel proprio progetto.
allegata (indicare lo stato in cui si trova la MSF in ogni periodo del clock).
- Precisare la relazione risultante tra la frequenza del clock CLK e la frequenza del segnale periodico in
uscita.
13. Progetto di MSF – 2003_3 ESD-1

Si progetti con il metodo ASM il sistema digitale rappresentato in figura. Il sistema riceve in ingresso un
segnale IN, normalmente a zero, sul quale si presentano impulsi a livello uno di durata variabile da uno a
sette periodi del segnale di clock CK. Si veda, come esempio, il diagramma temporale, dove l’impulso IN
dura cinque periodi.
Il sistema misura la
durata degli impulsi, in
termini di periodi di
clock, e trasmette sulla
linea seriale di uscita
SER il valore della
misura.

Il dato seriale in uscita è


formato da un bit di
start (alto), tre bit con
la codifica in binario
puro del valore
misurato ed un bit di stop (basso).
Per la misura della durata degli impulsi su IN il sistema utilizza il contatore CNT, il cui schema è riportato
nella seconda figura. La MSF A controlla il contatore tramite i segnail CL ed EN. Il segnale CL consente di
azzerare il contatore mentre il segnale EN abilita il conteggio, disponibile sulle uscite C2, C1 e C0 del
contatore stesso.

Quando la misura è terminata, la MSF A informa la MSF B attivando per un periodo di clock il segnale RDY.
A questo punto, la MSF B inizia a generare l’uscita SER.
Gli impulsi su IN sono separati tra loro da un numero di periodi di clock sufficienti a permettere al sistema di
completare la trasmissione del dato, prima che un altro impulso si presenti all’ingresso. La durata di un
impulso non è mai superiore a sette periodi di CK.

Si chiede:

- I diagrammi ASM delle due MSF;


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura
allegata nella pagina successiva (indicare lo stato in cui si trovano le MSF in ogni periodo del clock).
14. Progetto di MSF – 2003_4 ESD-1

Si progetti con il metodo ASM il sistema digitale rappresentato in figura. Quando il sistema riceve in ingresso
un fronte di salita sull’ingresso CMD genera, sull’uscita PLS, un impulso, la cui durata ad “1” è temporizzata
dal contatore CNT.
La MSF-A ha il compito
di interfacciare il sistema
con l’esterno e di
coordinarne le
operazioni.
Alla ricezione di un
fronte di salita su CMD,
MSF-A esamina lo stato
della linea IDL (‘Idle’).
La linea IDL è attivata
dalla MSF-B quando
questa si trova a riposo.
Se la MSF-B è a riposo,
la MSF-A trasmette
l’ordine di far partire la generazione di PLS, attivando per un periodo di CK la sua uscita ST.
Se la MSF-B è
occupata, la MSF-A
genera il segnale BSY
(‘Busy’) e, prima di
inviare il comando ST,
attende che la MSF-B
sia ritornata a riposo.
BSY sarà disattivato
dopo l’invio del
comando ST (il segnale
BSY ha il compito di
avvisare l’esterno
affinché non invii un
altro comando CMD mentre la MSF-B è occupata).
La durata del segnale CMD è compresa tra 1 e 4 cicli di CK.
La MSF-B ha il compito di generare l’impulso PLS, usando CNT per la sua temporizzazione. La MSF-B
attiva IDL mentre è nell’ attesa del comando ST. L’attivazione di ST fa partire l’impulso, attivando la linea
PLS per un numero di cicli di CK pari al numero di stati percorsi da CNT dall’attivazione di PRE al termine
del conteggio (TC attivo). Lo schema del contatore CNT è riportato nella seconda figura.

Si chiede:
- I diagrammi ASM delle due MSF (indicare lo stato di Reset);
- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura
allegata (indicare lo stato in cui si trovano le MSF in ogni periodo del clock).
15. Progetto di MSF – 2003_5 ESD-1

Si progetti con il metodo ASM il sistema digitale rappresentato in figura. Il sistema riceve in ingresso un
segnale IN, normalmente a zero, sul quale si presentano delle successioni di impulsi a livello uno. Ciascun
impulso della successione rimane ad uno per almeno un periodo di CK ed è separato dal successivo da un
intervallo in cui rimane a zero, della durata di un solo periodo di CK.

Le successioni sono formate da un numero di impulsi variabile da uno a sette. Una successione è
terminata quando IN è a zero per almeno due cicli di CK. Il sistema ha il compito di contare il numero
degli impulsi ad uno di ciascuna successione, trasmettendo poi, mediante la MSF-B, il valore della misura
come dato seriale sulla linea SER. Il dato seriale in uscita è formato da un bit di start (alto), tre bit con la
codifica in codice binario puro del valore misurato (MSB in testa) e due bit di stop (basso).
Per il conteggio del
numero degli impulsi su
IN il sistema utilizza il
contatore CNT, il cui
schema è riportato nella
seconda figura.
La MSF-A controlla il
contatore tramite i
segnali CL ed EN. Il
segnale CL consente di
azzerare il contatore
mentre il segnale EN ne
abilita il conteggio,
disponibile sulle uscite C2, C1 e C0.

Per il tempo in cui è impegnata nella ricezione e conteggio degli impulsi, la MSF-A manda all’esterno il
segnale RXA, segnalando che e’ impegnata nella ricezione di una sequenza. Quando la misura è terminata,
la MSF-A informa la MSF-B attivando, per un solo periodo di clock, il segnale TRG. A questo punto, la
MSF-B inizia a generare l’uscita SER.
Si faccia l’ipotesi che le successioni di impulsi siano separate tra loro da un numero di periodi di clock
sufficienti a permettere al sistema di completare la trasmissione del dato, prima che un’altra successione si
presenti all’ingresso.

Si chiede:

- I diagrammi ASM delle due MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura
allegata nella pagina successiva (indicare lo stato in cui si trovano le MSF in ogni periodo del clock).
16. Progetto di MSF – 2004_1 ESD-1

Si progetti con il metodo ASM il sistema digitale rappresentato in figura, che realizza un semplice impianto
antifurto da istallare in una abitazione. Il sistema, quando non attivo, rimane in uno stato di riposo (sia esso
anche lo stato al reset) in cui genera l’uscita GRN ed attende il segnale di attivazione ON.
Il segnale ON è un impulso ad
uno della durata di almeno un
periodo di CK, che porta il
sistema in uno stato in cui attiva
la segnalazione gialla YLW e
controlla i due sensori di
intrusione: ST (sensore
temporizzato) e SNT (sensore
non temporizzato).
L’attivazione ad uno di SNT
comporta il passaggio nello stato
di allarme, con la generazione del
segnale di allarme ALR e la
contemporanea accensione della
lampada rossa RED. La durata
dell’allarme è temporizzata dal
contatore; dopo l’allarme il
sistema ritorna nello stato di
attesa di attivazione dei sensori.
L’attivazione di ST, al contrario,
non fa scattare subito l’allarme,
per permettere al proprietario di
disattivarlo tramite il comando OFF, dopo essere entrato in casa. Se OFF non è attivato in tempo, il sistema
entra nello stato di allarme descritto sopra. La durata dell’allarme deve essere uguale a quella del caso
precedente.
Il contatore presente nel sistema ha lo scopo di temporizzare sia l’intervallo che precede ALR dopo
l’attivazione di ST, tramite il segnale TC2, sia la durata stessa dell’allarme, tramite il segnale TC4 (nota:
dall’analisi dello schema del contatore è evidente che, a partire dall’attivazione di LOAD, TC2 si attiva prima
di TC4).

Qualunque sia lo stato corrente, l’attivazione di OFF per almeno un periodo di CK riporta il sistema nello
stato di riposo. Si supponga che ON e OFF non possano mai essere attivi contemporaneamente.
Si faccia attenzione al fatto che, per non complicare eccessivamente la realizzazione del sistema, non è
prevista la temporizzazione dell’attivazione dell’allarme tramite il comando ON. Questo significa che il
proprietario dovrà attivare il sistema dall’esterno, altrimenti farebbe intervenire i sensori di intrusione
uscendo di casa. Potrà invece disattivarlo dopo aver essere entrato in casa, poiché, come si è detto, il
sensore della porta di ingresso ST è temporizzato.

Si chiede:

- Il diagramma ASM della MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura
allegata nella pagina successiva (indicare lo stato in cui si trova la MSF in ogni periodo del clock).
17. Progetto di MSF – 2004_2 ESD-1

Si progetti con il metodo ASM il sistema digitale rappresentato in figura, che realizza un semplice impianto
antifurto da istallare in una abitazione. Il sistema, quando non attivo, rimane in uno stato di riposo (stato
“verde”) in cui genera l’uscita GRN. Lo stato di riposo è lo stato di reset della MSF di controllo.
L’antifurto si attiva rilasciando
il segnale di !Reset asincrono
della MSF.
Da questo momento il sistema
attende per un tempo T1,
generando GRN e YLW, che il
proprietario esca dall’abitazione.
Si porta quindi in uno stato (stato
“giallo”) in cui attiva la
segnalazione YLW e controlla i
due sensori di intrusione: ST e
SNT.
L’attivazione ad uno di SNT
comporta il passaggio immediato
nello stato di allarme (stato
“rosso”), con la generazione del
segnale di allarme ALR e la
contemporanea accensione della
segnalazione RED. Lo stato di
allarme dura un tempo T2.
Dopo l’allarme il sistema ritorna
nello stato di attesa di attivazione
dei sensori (stato “giallo”).
L’attivazione di ST, al contrario, non fa scattare subito l’allarme, lasciando al proprietario, che è entrato in
casa, il tempo T1per disattivarlo tramite il !Reset della MSF. In questo intervallo di tempo il sistema attiva
YLW e RED.
Se !Reset non è attivato entro un tempo T1, il sistema entra nello stato di allarme.
Il contatore presente nel sistema ha lo scopo di temporizzare gli intervalli T1 e T2 tramite i segnali TC1 e
TC2: T1 è l’intervallo di tempo tra l’inizio del conteggio e l’attivazione di TC1, T2 è l’intervallo di tempo tra
l’inizio del conteggio e l’attivazione di TC2. La durata dell’allarme deve essere sempre uguale a T2.

Si chiede:

- Il diagramma ASM della MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando il
diagramma temporale allegato (indicare lo stato in cui si trova la MSF in ogni periodo del clock).
18. Progetto di MSF – 2004_3 ESD-1

Progettare con il metodo ASM il sistema


digitale rappresentato nella figura.
Il sistema riceve sulla linea LIN sequenze
seriali sincrone con il clock CK e fornisce in
uscita i dati Q0, Q1 e Q2.
Le sequenze ricevute sono costituite da
pacchetti formati da un bit di start ad “1”, tre
bit di dato (D0 D1 D2 ) ed un bit di stop a "0".
Ciascun bit ha la durata di un periodo di
clock.
La funzione del sistema è eseguire, ad ogni
ricezione di una sequenza, l’operazione
EXOR “bit a bit” tra il dato contenuto nei
tre FF e quello contenuto nella sequenza.
Come si vede dallo schema, al Reset i tre
FF sono azzerati. Nello stato di reset, si
supponga la linea LIN al valore logico zero.
Ad ogni sequenza ricevuta, i dati contenuti
nei tre FF (Q0, Q1, Q2) sono sostituiti con
quelli generati dall’operazione di EXOR, bit
a bit, tra Q0, Q1, Q2 e quelli della sequenza
D0, D1 e D2 (Q0 viene sostituito da Q0
EXOR D0, lo stesso per Q1 e Q2).

La MSF controlla il bit di stop e, nel caso non sia correttamente a zero, azzera i tre FF e, dopo che LIN è
tornata a zero, riprende il suo funzionamento normale.
I tre FF JK sono del tipo temporale PET.

Si chiede:

- Il diagramma ASM della MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando il
diagramma temporale allegato (indicare lo stato in cui si trova la MSF in ogni periodo del clock).
19. Progetto di MSF – 2004_4 ESD-1

Progettare con il metodo ASM il sistema digitale


rappresentato nella figura. Il sistema riceve
sulla linea LIN sequenze seriali sincrone con il
clock CK e fornisce in uscita i dati Q0, Q1 ed
ERR.
Le sequenze ricevute sono costituite da
pacchetti formati da un bit di start ad “1”, due bit
di dato (D0 D1) ed un bit di stop a "0". Ciascun
bit ha la durata di un periodo di clock.
La funzione del sistema è eseguire, ad ogni
ricezione di una sequenza, l’addizione tra il
dato contenuto nei due FF e quello contenuto
nella sequenza
Come si vede dallo schema, al Reset i due FF
sono azzerati. Nello stato di reset, si supponga
la linea LIN al valore logico zero.
Ad ogni sequenza ricevuta, i dati dei FF sono
sostituiti con quelli generati dall’operazione di
somma, tra il dato contenuto nei FF (il numero Q1Q0) e quello della sequenza (il numero D1D0) [Q1Q0 viene
sostituito da Q1Q0 + D1D0]. I riporti generati verso il terzo bit non sono presi in considerazione.
La MSF controlla il bit di stop e, nel caso non sia correttamente a zero, azzera i FF e attiva l’uscita ERR.
ERR è mantenuta attiva fino quando LIN non ritorna a zero; da questo momento, la MSF riprenderà il suo
funzionamento normale.
I due FF JK sono del tipo temporale PET.

Si chiede:

- Il diagramma ASM della MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando il
diagramma temporale allegato (indicare lo stato in cui si trova la MSF in ogni periodo del clock).
20. Progetto di MSF – 2004_5 ESD-1

Progettare con il metodo ASM il sistema


digitale rappresentato nella figura.
Il sistema riceve sulla linea LIN sequenze
seriali sincrone con il clock CK e fornisce in
uscita i dati Q0, Q1 e Q2.
Le sequenze ricevute sono costituite da
pacchetti formati da un bit di start ad “1”, tre
bit di dato (in ordine di ricezione: D0, D1 e
D2) ed un bit di stop a "0". Ciascun bit ha la
durata di un periodo di clock.
La funzione del sistema è eseguire, ad ogni
ricezione di una sequenza, l’addizione tra
il dato contenuto nei tre FF e quello
contenuto nella sequenza.
Come si vede dallo schema, al Reset i tre
FF sono azzerati. Nello stato di reset, si
supponga la linea LIN al valore logico zero.
Ad ogni sequenza ricevuta, i dati dei FF
sono sostituiti con quelli generati
dall’operazione di somma, tra il dato
contenuto nei FF (il numero a tre bit
Q2Q1Q0) e quello della sequenza (il
numero a tre bit D2D1D0).
[Q2Q1Q0 viene sostituito da Q2Q1Q0 +
D2D1D0, ignorando il riporto generato dal bit
più significativo].

La MSF controlla il bit di stop e, nel caso non sia correttamente a zero, azzera i tre FF e, dopo che LIN è
tornata a zero, riprende il suo funzionamento normale.
I tre FF JK sono del tipo temporale PET.

Si chiede:

- Il diagramma ASM della MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando il
diagramma temporale allegato (indicare lo stato in cui si trova la MSF in ogni periodo del clock).
21. Progetto di MSF – 2005_2 ESD-1

Progettare con il metodo ASM il sistema digitale


rappresentato nella figura.
L’ingresso LS riceve pacchetti seriali, di lunghezza
variabile, sincroni con il clock CK. Come si vede nel
diagramma temporale riportato nella pagina seguente, un
pacchetto è formato da:
- due bit a ‘1’ consecutivi di start;
- un bit a ‘0’;
- un impulso, formato da bit consecutivi ad “1” in
numero variabile, compreso tra zero e sette;
- due bit di stop a ‘0’.
L’informazione trasmessa dal segnale è la durata,
espressa in cicli di clock, dell’impulso.
Compito del sistema è trasferire in formato parallelo, sulle
uscite C2, C1 e C0, la codifica in binario puro della durata
dell’impulso.
Dopo aver misurato la durata dell’impulso, il sistema
aggiorna il valore di C2, C1 e C0, genera per un ciclo di
clock il segnale STR e ritorna in attesa di un nuovo
pacchetto.
Il sistema produce una segnalazione di errore nei
seguenti casi:

1. un pacchetto inizia con un solo bit di start;


2. dopo i due bit di start, non è presente il bit a zero che separa i due bit di start dall’impulso da misurare;
3. dopo i due bit si start c’è più di un bit a zero;
4. l’impulso dura più di sette cicli di clock;
5. non sono presenti entrambi i bit di stop.

In ognuno dei tre casi il sistema genera l’uscita ERR e la mantiene attiva fino alla ricezione di un nuovo
pacchetto.
I tre FF JK sono del tipo temporale PET.

Si chiede:

- Il diagramma ASM della MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando il
diagramma temporale allegato (indicare lo stato in cui si trova la MSF in ogni periodo del clock).
22. Progetto di MSF – 2005_4 ESD-1

Si progetti con il metodo ASM il sistema digitale rappresentato in figura. Il sistema riceve in ingresso un
segnale seriale SER e genera sull’uscita PT una serie di impulsi il cui numero è controllato dal dato ricevuto
su SER.

Il segnale seriale è formato da due bit di dato, D0 e D1, preceduti da un bit di start e seguiti da un bit di
stop. Il segnale è campionato sul fronte di salita del clock di sistema e cambia il suo valore, come si vede
nel diagramma temporale, sul fronte di discesa.

Il sistema è formato dalle due MSF (MSF-A, MSF-B) e da due FF tipo JK. La MSF-A riceve il dato seriale ed
immagazzina i valori di D0 e D1 nei FF. Controlla quindi la presenza del bit di stop e, in caso affermativo,
segnala alla MSF-B, tramite il segnale ST, di iniziare la generazione della serie di impulsi sull’uscita PT. Il
numero di impulsi, della durata di un ciclo di clock e separati da un periodo di clock, è pari al numero
ricevuto D1D0, più uno.
Durante la generazione dell’uscita, la MSF-B attiva l’uscita BSY per segnalare l’impossibilità di processare
nello stesso momento un’altra sequenza su SER. Se la MSF-A riceve un dato su SER mentre BSY e’ attivo,
la MSF-A non tiene conto dei dati ricevuti e attiva l’uscita ERR, mantenendola alta fino all’arrivo del
successivo bit di start.

Si chiede:

- I diagrammi ASM delle due MSF (indicare lo stato di Reset per ciascuna MSF);
- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando quello
allegato (indicare lo stato in cui si trovano le MSF in ogni periodo del clock).
23. Progetto di MSF – 2005_6 ESD-1

Si progetti con il metodo ASM il sistema digitale rappresentato in figura. Il sistema riceve in ingresso un
segnale IN, normalmente a zero, sul quale si presentano sequenze seriali, formate da quattro bit. Il sistema
esamina le sequenze e ne riconosce tre. La sequenza 1011 determina l’azzeramento del contatore, la
sequenza 1000 l’incremento del valore del contatore CNT, mentre la sequenza 1001 comanda la
trasmissione sulla linea d’uscita SER del valore del conteggio.

Il segnale IN è sincrono con il clock, e varia sui fronti di discesa di questo, come si vede nel diagramma
temporale.
La MSF-A controlla il contatore tramite il segnale EN, che ne abilita il conteggio, presentato sulle uscite C2,
C1 e C0. CNT avanza di un’unità ogni volta che il sistema riceve la sequenza 1000. Il contatore è azzerato,
tramite il segnale CL, dalla MSF-B. Si abbia cura di azzerare il contatore anche alla inizializzazione del
sistema. Lo schema del contatore CNT è riportato qui sotto.
Il dato seriale in uscita è formato da un bit di start (alto), i tre bit C2, C1, C0 e un bit di stop (basso).

Quando si presenta la sequenza


1011, la MSF-A comanda la
MSF-B attivando, per un
periodo di clock, il segnale TRG.
A questo punto, la MSF-B inizia
a generare l’uscita SER.

Analogamente, all’arrivo della


sequenza 1011, la MSF-A,
attivando per un periodo di
clock il segnale CRQ, richiede
alla MSF-B di azzerare il
contatore.

Nel caso venga ricevuta una sequenza diversa dalle tre previste, il sistema attiva, per un periodo di clock, il
segnale ERR al termine della sequenza.
Si faccia l’ipotesi che le sequenze di ingresso siano separate tra loro da un numero di periodi di clock
sufficienti a permettere al sistema di completare le operazioni previste, prima che un’altra sequenza si
presenti all’ingresso.

Si chiede:

- I diagrammi ASM delle due MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando quello
allegato (indicare lo stato in cui si trovano le MSF in ogni periodo del clock).
24. Progetto di MSF – 2005_7 ESD-1

Si progetti con il metodo ASM il sistema digitale


rappresentato in figura, una centralina di controllo per
un cancello ad apertura elettrica.
Il cancello si controlla a distanza azionando un
telecomando provvisto di un unico tasto. Il
telecomando trasmette, via radio, alla centralina,
l'informazione relativa alla pressione dell'unico tasto.
Si assuma, per semplicità, che ad ogni pressione
del tasto del telecomando si presenti all’ingresso
OPN della MSF un impulso sincrono della durata di
un ciclo di clock.
La centralina mantiene il cancello normalmente
chiuso. Attende l’impulso OPN per azionare il motore
MOT_A che apre il cancello.
Quando e' completamente aperto, il cancello aziona il
fine corsa FC_A, per un periodo di clock. Come
conseguenza, la MSF ferma il motore ed il cancello
rimane aperto per un tempo prefissato Tap,
controllato dal contatore CNT.
Trascorso questo tempo, la MSF richiude il cancello, azionando il motore di chiusura MOT_C fino
all'attivazione del fine corsa FC_C, per un periodo di clock. Quando il cancello è in movimento, la pressione
del tasto del telecomando non ha effetto se il cancello si sta aprendo, mentre lo fa riaprire se si sta
chiudendo.
Nel caso in cui, a cancello
aperto, il passaggio di una
persona o di un veicolo attivi la
fotocellula CEL, l’apertura è
prolungata del tempo Tap.
Per la temporizzazione il sistema
utilizza il contatore CNT, il cui
schema è riportato nella seconda
figura. La MSF presetta il
contatore tramite il segnale
LOAD ed attende il segnale di
fine conteggio CTC.

Si chiede:

- Il diagramma ASM della MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema, completando quello allegato.
- Indicare, nel diagramma temporale, lo stato in cui si trova la MSF in ogni periodo del clock.

Nota:
Nel diagramma temporale è mostrata l’attivazione dei due fine corsa (il diagramma è interrotto per tenere
conto dei tempi di apertura e chiusura del cancello).
25. Progetto di MSF – 2006_2 ESD-1

Si progetti con il metodo ASM il


sistema digitale rappresentato in
figura, una centralina di controllo per
un cancello ad apertura elettrica.
Il cancello si controlla a distanza
azionando un telecomando provvisto di
un unico tasto. Il ricevitore collegato
alla centralina attiva l’ingresso PRX
di MSF-A per tutto il tempo in cui il
tasto è premuto.
MSF-A genera un impulso OPN, della
durata di un ciclo di Clock, ad ogni
fronte di salita di PRX, se PRX dura
almeno due cicli di clock.
La centralina mantiene il cancello
normalmente chiuso. La MSF-B
attende l’impulso OPN per azionare il motore MOT_A che apre il cancello. Il tempo impiegato dai motori per
aprire o chiudere il cancello è determinato dalle loro caratteristiche elettriche e meccaniche e la centralina è
informata sullo stato di apertura o chiusura dai due sensori di fine corsa. Si assuma, per tracciare il
diagramma temporale, che il tempo necessario per l’apertura o chiusura completa del cancello sia pari a
quattro cicli di clock.
Quando e' completamente aperto, e per tutto il tempo in cui è aperto, il cancello aziona il fine corsa FC_A.
All’attivazione di FC_A, MSF-B ferma il motore ed il cancello rimane aperto per un tempo prefissato Tap,
controllato dal contatore CNT. Per la temporizzazione il sistema utilizza il contatore CNT, il cui schema è
riportato nella seconda figura: la MSF-B presetta il contatore tramite il segnale LOAD ed attende il segnale
di fine conteggio CTC.
Trascorso il tempo Tap, la MSF-B richiude il cancello, azionando il motore di chiusura MOT_C fino
all'attivazione del fine corsa FC_C (il segnale FC_C rimane attivo per tutto il tempo in cui il cancello rimane
nella posizione di chiusura completa). I segnali FC_A e FC_C sono asincroni.
Quando il cancello è in fase di apertura, la pressione del tasto del telecomando non ha effetto, mentre, se si
sta chiudendo, lo blocca nella posizione in cui si trova (la successiva pressione del tasto lo riapre).
A cancello aperto, il
passaggio di una persona
o di un veicolo attiva ad
uno il segnale della
fotocellula CEL. In
questo caso, il cancello
rimane aperto finchè CEL
è attivo. Alla
disattivazione di CEL si
chiude dopo il tempo
Tap.

Si chiede:

- Il diagramma ASM delle due MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema, completando quello allegato.
- Indicare, nel diagramma temporale, lo stato in cui si trovano le MSF in ogni periodo del clock.
26. Progetto di MSF – 2006_3 ESD-1

Si progetti con il metodo ASM il sistema digitale rappresentato in figura. Il sistema riceve in ingresso un
segnale IN, normalmente a zero, sul quale si presenta un dato seriale, formato da un bit di start, tre bit di
informazione ed un bit di stop. I bit di informazione controllano, nell’ordine, l’azzeramento del contatore (CL),
il suo incremento (EN) e la trasmissione in formato seriale sull’uscita SER del valore del conteggio (C2, C1,
C0, in quest’ordine).

La MSF-A attende il bit di start, dopodichè esamina ad uno ad uno i tre bit successivi. Se il primo bit che
segue start è ad “1” azzera il contatore, se trova ad “1” il secondo, incrementa il contatore. Il terzo bit
comanda la trasmissione in formato seriale del valore delle uscite del contatore, sull’uscita SER della MSF-
B. Il dato seriale sull’uscita SER è formato da un bit di start (alto), i tre bit C2, C1, C0 e un bit di stop
(basso).
La trasmissione avviene solo dopo aver verificato la correttezza del bit di stop. La MSF-A richiede alla
MSF-B la trasmissione attivando per un periodo l’uscita TRG. Se il bit di stop non è corretto, MSF-A genera
un segnale ERR: in questo caso, MSF-B genera su SER un dato formato dal bit di start, seguito da tre bit a
zero ed il bit di stop.

Il segnale IN è sincrono con il clock, e varia sui fronti di discesa di questo, come si vede nel diagramma
temporale.
Lo schema del contatore
CNT è riportato qui
accanto.

L’azzeramento del
contatore avviene in
modo asincrono tramite
il segnale CL ed il suo
incremento tramite il
segnale EN, che abilita il
conteggio. Il valore di
questo ultimo è
presentato sulle uscite
C2, C1 e C0.
Si faccia l’ipotesi che le sequenze di ingresso siano separate tra loro da un numero di periodi di clock
sufficienti a permettere al sistema di completare le operazioni previste, prima che un’altra sequenza si
presenti all’ingresso.

Si chiede:

- I diagrammi ASM delle due MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando quello
allegato (indicare lo stato in cui si trovano le MSF in ogni periodo del clock).
27. Progetto di MSF – 2006_4 ESD-1

Si progetti con il metodo ASM il sistema digitale rappresentato in figura. Il sistema riceve in ingresso un
segnale IN, normalmente a zero, sul quale si presenta un dato seriale, formato da un bit di start, tre bit di
informazione ed un bit di stop. I bit di informazione controllano, nell’ordine, l’azzeramento del contatore (CL),
il suo incremento (EN) e la generazione di un impulso sull’uscita PLS la cui durata dipende dal numero di 3
bit C2C1C0.
La MSF-A attende il bit di start, dopodichè esamina ad uno ad uno i tre bit successivi. Se il primo bit che

segue lo start è ad “1”, la MSF-A azzera il contatore, se trova ad “1” il secondo, incrementa il contatore. Il
terzo bit comanda la generazione dell’impulso sull’uscita PLS della MSF-B. L’impulso ha una durata pari a
(1 + C2C1C0) cicli di clock.
La generazione dell’impulso avviene solo dopo aver verificato la correttezza del bit di stop. La MSF-A
richiede alla MSF-B la generazione attivando per un periodo l’uscita GEN.
Se il bit di stop non è corretto, MSF-A deve generare un segnale ERR: in questo caso, MSF-B attiva l’uscita
FLT fino alla prossima attivazione di GEN.
Il segnale IN è sincrono con il clock, e varia sui fronti di discesa di questo, come si vede nel diagramma
temporale. Per la correttezza del funzionamento, all’attivazione del !Reset, la MSF-A azzera il contatore
CNT.

Lo schema del contatore


CNT è riportato qui
accanto.

L’azzeramento del
contatore avviene in
modo asincrono tramite
il segnale CL ed il suo
incremento tramite il
segnale EN, che abilita il
conteggio. Il valore di
questo ultimo è
presentato sulle uscite
C2, C1 e C0.
Si faccia l’ipotesi che le sequenze di ingresso siano separate tra loro da un numero di periodi di clock
sufficienti a permettere al sistema di completare le operazioni previste, prima che un’altra sequenza si
presenti all’ingresso.

Si chiede:

- I diagrammi ASM delle due MSF (indicare lo stato di Reset);


- Il diagramma temporale che descrive il funzionamento del sistema progettato, completando quello
allegato (indicare lo stato in cui si trovano le MSF in ogni periodo del clock).
28.Progetto di MSF 2007 -2

Progettare con il metodo ASM il


dispositivo digitale
rappresentato nella figura. Il
dispositivo, sincrono con il
clock CLK, riceve sequenze
seriali attraverso la linea L e,
dopo opportune elaborazioni, le
ritrasmette attraverso la linea
OUT. La MSF dispone inoltre di
un'uscita BSY.

In condizioni di riposo, le linee


L e OUT si trovano al valore
logico zero. Il dispositivo
attende l'arrivo di una
sequenza sulla linea L. Le
sequenze ricevute sono
costituite da pacchetti seriali di
quattro bit, (1 - B0 - B1 - 0), ciascuno dei quali ha la durata di due periodi di clock.

I pacchetti iniziano sempre con il primo bit a "1" (bit di start) e terminano con il quarto bit a "0" (bit di stop).
Il secondo ed il terzo bit (B0 e B1) contengono l'informazione associata al pacchetto. Si assuma che ciascun
bit rimanga stabile nell’intervallo dei due periodi di clock in cui è presente. Al termine della ricezione di un
pacchetto, il sistema trasmette su OUT la sequenza 1 - B1 - B0 - P - 0, dove i bit di informazione sono
scambiati di posizione rispetto alla sequenza ricevuta, e P è il bit di parità. Il bit di parità è ricavato dalla MSF
ed è posto a "1" quando il numero di "1" su B0 e B1 è dispari.
In trasmissione, i bit della sequenza sono mantenuti sulla linea OUT per la durata di un periodo del clock
CLK. La trasmissione su OUT deve avvenire solo se la sequenza ricevuta presenta il bit di stop
correttamente a "0"; in caso contrario, il dispositivo non deve generare alcuna uscita su OUT. Durante la
trasmissione, la MSF segnala tramite l’uscita BSY che e’ occupata e non puo’ ricevere un dato in ingresso.
Si faccia comunque l’ipotesi che le sequenze di ingresso siano separate da un intervallo di tempo sufficiente
per la trasmissione del dato.
Il segnale di ingresso L è sincronizzato da un FF D-PET. Gli altri due FF D-PET hanno il compito di
immagazzinare temporaneamente il valore dei due bit B0 e B1 della sequenza ricevuta nelle loro uscite Q0 e
Q1 , le quali sono lette dalla MSF per generare la sequenza di uscita. I clock CP0 e CP1 dei FF sono generati
dalla MSF.

Si chiede:
1. Il diagramma ASM della MSF;
2. Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura nella
pagina successiva, indicando anche lo stato in cui si trova la MSF in ogni periodo del clock.

Nota: non si richiede la sintesi della MSF.

.
29. Progetto di MSF 2007 - 3

Progettare con il metodo ASM il


dispositivo digitale rappresentato
nella figura. Il dispositivo,
sincrono con il clock CLK, riceve
sequenze seriali attraverso la
linea L e, dopo opportune
elaborazioni, le ritrasmette
attraverso la linea OUT. La MSF
dispone inoltre di un'uscita BSY.

In condizioni di riposo, le linee L


e OUT si trovano al valore logico
zero. Il dispositivo attende l'arrivo
di una sequenza sulla linea L. Le
sequenze ricevute sono costituite
da pacchetti seriali di quattro bit,
(1 - B0 - B1 - 0), ciascuno dei
quali ha la durata di due periodi
di clock.

I pacchetti iniziano sempre con il primo bit a "1" (bit di start) e terminano con il quarto bit a "0" (bit di stop).
Il secondo ed il terzo bit (B0 e B1) contengono l'informazione associata al pacchetto. Si assuma che ciascun
bit rimanga stabile nell’intervallo dei due periodi di clock in cui è presente. Al termine della ricezione di un
pacchetto, il sistema trasmette su OUT la sequenza 1 - B1 - B0 - P - 0, dove i bit di informazione sono
scambiati di posizione rispetto alla sequenza ricevuta, e P è il bit di parità. Il bit di parità è ricavato dalla MSF
ed è posto a "1" quando il numero di "1" su B0 e B1 è dispari.
In trasmissione, i bit della sequenza sono mantenuti sulla linea OUT per la durata di un periodo del clock
CLK. La trasmissione su OUT deve avvenire solo se la sequenza ricevuta presenta il bit di stop
correttamente a "0"; in caso contrario, il dispositivo non deve generare alcuna uscita su OUT. Durante la
trasmissione, la MSF segnala tramite l’uscita BSY che e’ occupata e non puo’ ricevere un dato in ingresso.
Si faccia comunque l’ipotesi che le sequenze di ingresso siano separate da un intervallo di tempo sufficiente
per la trasmissione del dato.
Il segnale di ingresso L è sincronizzato da un FF D-PET. Gli altri due FF D-PET hanno il compito di
immagazzinare temporaneamente il valore dei due bit B0 e B1 della sequenza ricevuta nelle loro uscite Q0 e
Q1 , le quali sono lette dalla MSF per generare la sequenza di uscita. I clock CP0 e CP1 dei FF sono generati
dalla MSF.

Si chiede:
3. Il diagramma ASM della MSF;
4. Il diagramma temporale che descrive il funzionamento della MSF progettata, completando la figura nella
pagina successiva, indicando anche lo stato in cui si trova la MSF in ogni periodo del clock.

Nota: non si richiede la sintesi della MSF.

.
30. Progetto di MSF 2007-4

Si progetti con il metodo ASM il sistema digitale rappresentato in figura. Il sistema riceve in ingresso un
segnale IN, normalmente a zero, sul quale si presentano impulsi a livello uno di durata variabile da uno a
sette periodi del segnale di clock CK. Si veda, come esempio, il diagramma temporale, dove l’impulso IN

dura quattro periodi.

Il sistema misura la durata degli impulsi, in termini di periodi di clock, e trasmette sulla linea seriale di uscita
SER il valore della misura, in codice binario. Per la misura della durata degli impulsi su IN il sistema utilizza
il contatore CNT, il cui schema è riportato nella seconda figura. Il contatore usa il clock CK e riceve CL
(Clear) da MSF-A e EN (Enable) direttamente dal flip-flop che sincronizza l’ingresso IN.
La MSF-A segnala (attivando per un
periodo di CK il segnale TRG) alla
MSF-B che la misura è terminata ed
il valore del conteggio è disponibile
sulle uscite C2, C1 e C0 del
contatore stesso. MSF-A controlla
inoltre l’azzeramento del contatore
CNT tramite il segnale CL ed attiva
BSY per tutto il tempo in cui il
sistema è impegnato nella ricezione
dell’impulso e nella trasmissione su
SER.
La MSF-B inizia a generare l’uscita
SER quando riceve l’impulso TRG. Il dato seriale in uscita è formato da un bit di start (alto), tre bit con la
codifica binaria (LSB in testa) del valore misurato ed un bit di stop (basso).
MSF-B genera ETX per informare la MSF-A della fine della trasmissione su SER.
Gli impulsi su IN sono separati tra loro da un numero di periodi di clock sufficienti a permettere al sistema di
completare la trasmissione del dato, prima che un altro impulso si presenti all’ingresso. La durata di un
impulso non è mai superiore a sette periodi di CK.

Si chiede:
5. I diagrammi ASM delle due MSF (indicare lo stato di Reset);
6. Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura
allegata nella pagina successiva (indicare lo stato in cui si trovano le MSF in ogni periodo del clock).
31. Progetto di MSF 2008 - 2

Si progetti la MSF di controllo del sistema digitale rappresentato in figura, la cui funzione è il comando
dell’apertura di una porta dotata di serratura elettrica, attraverso un codice.

Il codice per aprire la porta è costituito da tre bit che l’utente inserisce in successione tramite una tastiera,
composta dai pulsanti T0, T1, OPN. T0 e T1 servono rispettivamente per digitare le cifre “zero” ed “uno”,
mentre il pulsante OPN (Open) serve per richiedere l’apertura della porta dopo l’introduzione del codice.
Quando l’utente preme il pulsante T0, al suo rilascio il sistema inserisce uno ‘0’ nel registro a scorrimento
formato dai tre FF S2, S1, S0. Analogamente, al rilascio di T1, il sistema inserisce nel registro un ‘1’.
Dopo avere digitato i tre bit del codice, l’utente preme il pulsante OPN; al suo rilascio, se il dato contenuto
nel registro a scorrimento coincide con quello pre-impostato sui tre interruttori C2, C1 e C0, il sistema
sblocca la serratura della porta, attivando la linea ULK per la durata di due cicli di clock.
Da questo momento l’utente può aprire la porta (il blocco della serratura avviene meccanicamente quando si
richiude).

Si assuma che:
• non vengano mai premuti contemporaneamente più pulsanti;
• tra il rilascio di un pulsante e la pressione del successivo trascorra un tempo pari
ad almeno due cicli di clock;
• il codice pre-impostato sia: C2,C1,C0 = ‘0’,’1’,’1’

Nota:
• La pressione di un pulsante attiva ad ‘1’ la corrispondente linea in ingresso alla
MSF; al rilascio del pulsante, la linea ritorna a ‘0’.

Si chiede:
7. Il diagramma ASM della MSF;
8. Il diagramma temporale del sistema, completando la figura allegata.

Nota: non è richiesta l’assegnazione degli stati e la sintesi della MSF.


32. Sistema digitale con MSF 2008 - 3

Si progetti la MSF di controllo del sistema digitale rappresentato in figura, la cui funzione è il comando
dell’apertura di una porta dotata di serratura elettrica, attraverso un codice.

Il codice per aprire la porta è costituito da tre bit che l’utente inserisce in successione tramite una tastiera,
composta dai pulsanti T0, T1, OPN. T0 e T1 servono rispettivamente per digitare le cifre “zero” ed “uno”,
mentre il pulsante OPN (Open) serve per aprire la porta dopo l’introduzione del codice (la pressione di un
pulsante attiva ad ‘1’ la corrispondente linea in ingresso alla MSF; al rilascio del pulsante, la linea ritorna a
‘0’).
Quando l’utente preme il pulsante T0, al suo rilascio il sistema inserisce uno ‘0’ nel registro a scorrimento
formato dai tre FF S2, S1, S0. Analogamente, al rilascio di T1, il sistema inserisce nel registro un ‘1’.
Dopo avere digitato i tre bit del codice, per aprire la serratura, l’utente preme il pulsante OPN; al suo
rilascio, se il dato contenuto nel registro a scorrimento coincide con quello pre-impostato sui tre interruttori
C2, C1 e C0, il sistema sblocca la serratura della porta, attivando la linea ULK (Unlock) per la durata di un
ciclo di clock. Da questo momento l’utente può aprire la porta (la richiusura della serratura avviene
meccanicamente quando si chiude la porta).
Nel caso in cui il dato inserito non coincida con quello pre-impostato, il sistema permette di reinserire
nuovamente la combinazione, ma una sola volta. Per far ciò, nel sistema è presente un FF che attiva ad uno
l’uscita WRN (Warning) all’occorrenza di una combinazione sbagliata. Se la combinazione immessa
successivamente è corretta, il sistema attiva ULK e disattiva WRN; se è sbagliata, invece, la MSF si porta in
uno stato in cui attiva la segnalazione BLK (Blocco) e non accetta ulteriori comandi. La funzionalità del
sistema può essere ripristinata soltanto azionando il Reset di sistema.
Si assuma che:
• non vengano mai premuti contemporaneamente più pulsanti;
• tra il rilascio di un pulsante e la pressione del successivo trascorra un tempo pari
ad almeno due cicli di clock;
• il codice pre-impostato sia: C2,C1,C0 = ’1’, ‘0’, ’1’ (il codice può essere
modificato agendo sugli appositi interruttori).
Si chiede:
9. Il diagramma ASM della MSF;
10. Il diagramma temporale del sistema, completando la figura allegata.

Nota: non è richiesta l’assegnazione degli stati e la sintesi della MSF.


33. Sistema digitale con MSF 2008 - 4

Il sistema rappresentato in figura controlla un distributore automatico di prodotti, del costo di 35 centesimi
ciascuno. Il distributore accetta monete da 5, 10 e 20 centesimi. Il sistema è composto da una MSF
sincrona che controlla una rete esterna che svolge le funzioni di sommatore-accumulatore ed un flip-flop.

Il sistema dispone di tre ingressi M5, M10 e M20 e di un’uscita GO. E’ presente un segnale di !RESET
generale asincrono che agisce solo sulla MSF.
I segnali M5, M10 e M20, normalmente al valore logico '0', indicano, rispettivamente, l’introduzione di una
moneta da 5, 10 o 20 centesimi nel distributore. L’introduzione di una moneta è segnalata da un impulso al
valore logico '1' della durata di un ciclo di clock, sulla linea corrispondente al valore della moneta. Il
distributore eroga il prodotto quando il totale delle monete inserite raggiunge o supera il valore di 35
centesimi. Il distributore non restituisce eventuali monete eccedenti il costo del prodotto, e neppure le
accredita ad una successiva erogazione. Il sistema comanda al distributore l’erogazione del prodotto
mediante un impulso ad '1', di durata pari a un ciclo di clock, sulla linea GO.
Il sistema calcola il totale introdotto nel distributore, sommando nel registro parallelo (composto dai quattro
flip-flop A3..A0) il valore di ogni moneta inserita (per convenzione, un’unità di A3..A0 corrisponde a 5
centesimi, per esempio ‘0100’ corrisponde a 20 centesimi). La MSF fornisce al sommatore, attraverso le
linee V3..V0, il valore della moneta introdotta.
Il comparatore Cmp4 confronta il totale A3..A0 accumulato nel registro con il prezzo stabilito per
l’erogazione, impostato sugli interruttori C3..C0 (gli interruttori C3..C0 permetterebbero di cambiare il costo
del prodotto). Il comparatore ha tre uscite: A<C, A=C e A>C. Queste si attivano in base al risultato del
confronto tra i due numeri binari presenti sugli ingressi.
Si supponga che:
a) i segnali di ingresso M5, M10 e M20 siano sincroni con il clock;
b) non sia possibile l’introduzione contemporanea di due monete;
c) tra una moneta e la successiva trascorra un tempo sufficiente per il corretto funzionamento del
sistema.
Si chiede:
11. Il diagramma ASM della MSF;
12. Il diagramma temporale del sistema, completando la figura allegata.
Nota: non è richiesta l’assegnazione degli stati e la sintesi della MSF.
34. Sistema digitale con MSF 2009 - 1

Progettare con il metodo ASM il sistema digitale rappresentato nella figura, che svolge la funzione di
temporizzatore.

La MSF A riceve dall’esterno, attraverso la linea LN, un dato seriale che controlla la durata della
temporizzazione ed ha compito di memorizzarne il valore nelle tre uscite dei Flip-Flop tipo JK PET. I dati
ricevuti sono costituiti da pacchetti di cinque bit, (1 - D0 - D1 – D2 - 0), sincroni con il clock del sistema. Ogni
bit ha la durata di un periodo di clock. I pacchetti iniziano sempre con il primo bit a "1" (bit di start) e
terminano con il quinto bit a "0" (bit di stop). I bit D0 D1 e D2 codificano la durata dell’uscita OUT della MSF
B.

La MSF B ha il compito di attivare ad uno l’uscita OUT ogni volta che riceve dall’esterno un fronte di salita
sull’ingresso GO. OUT deve rimanere attiva per un numero di cicli di clock uguale al valore del numero
Q2Q1Q0. La durata di GO non è determinata.

In condizioni di riposo, le linee LN e OUT si trovano al valore logico zero.


Se il quinto bit (bit di stop) non è a zero la MSF A attiva l’uscita ERR per un periodo di clock e, non appena
LN assume il valore “0”, ritorna in attesa di un nuovo dato.
Si assuma che i pacchetti di controllo su LN siano separati tra di loro da un intervallo maggiore della
massima durata di OUT e non siano mai inviati al sistema mentre è in corso l’attivazione di OUT .

Si chiede:
13. Il diagramma ASM della MSF;
14. Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura
nella pagina successiva, indicando anche lo stato in cui si trovano le due MSF in ogni periodo del clock.
35. Sistema digitale con MSF 2009- 3

Si progetti la MSF di controllo del sistema digitale rappresentato in figura, la cui funzione è la gestione di un
parchimetro. Il costo della sosta è di 1 Euro ogni 30 minuti e l’utente può inserire nel parchimetro una o più
monete da uno o due Euro.
Il dispositivo CNT è un contatore binario bidirezionale. Al reset il contatore si posiziona al valore 0 e ad
ogni transizione da ‘0’ a ‘1’ della linea CP si incrementa o decrementa di una unità. La direzione di
conteggio è definita dalla linea UD: se tale linea è a ‘1’ il contatore conta in avanti [0,1,2,…,N-1,N,N+1,…],
altrimenti (se UD = ‘0’) il conteggio è all’indietro […,N+1,N,N-1,…,2,1,0]. Il segnale ZRO, attivo a ‘1’, indica
che il valore del contatore è 0.
L’inserimento di una moneta da parte dell’utente, rivelato da un sensore (non rappresentato in figura), è
segnalato con un impulso a ‘1’, della durata di un ciclo di clock, sull’ingresso ONE, nel caso di una moneta
da un Euro, o TWO, se la moneta è da due. Il tempo di sosta viene memorizzato utilizzando il contatore
CNT, che è incrementato dalla MSF di una unità per ogni Euro inserito.
La pressione e il conseguente rilascio del pulsante START avvia il parchimetro, ovvero il conteggio a ritroso
del tempo di sosta (il pulsante START, quando è premuto, fornisce ‘1’ sul rispettivo ingresso della MSF).
Il riferimento temporale per la misura del tempo di sosta è fornito da un timer esterno (non rappresentato in
figura), che segnala alla MSF il trascorrere del tempo. Il timer esterno, attivato dal rilascio del pulsante
START, genera impulsi a ‘1’ sull’ingresso TC, della durata di un ciclo di clock e distanziati tra loro di 30
minuti (il primo impulso è generato allo scadere dei primi 30 minuti).
Dopo che l’utente ha inserito la somma relativa al tempo di sosta desiderato ed ha avviato il parchimetro, la
MSF segnala la sosta regolare portando l’uscita GRN a ‘1’ e mantenendola per tutta la durata prevista. Al
termine del tempo di sosta consentito, la MSF porta a ‘0’ l’uscita GRN e a ‘1’ l’uscita RED, mantenendola
fino ad una successiva richiesta di avviamento del parchimetro.
Per semplicità si supponga che tutti i segnali di ingresso alla MSF siano sincroni con CK.

Si chiede:
15. Il diagramma ASM della MSF;
16. Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura
nella pagina successiva. Si indichi, in ogni periodo del clock, anche lo stato in cui si trova la MSF ed il
valore memorizzato dal contatore CNT.
36. Sistema digitale con MSF 2009 - 7

Progettare con il metodo ASM il sistema digitale rappresentato nella figura.

La MSF A riceve dall’esterno, attraverso la linea LN, un dato seriale ed ha compito di memorizzarne il valore
nelle tre uscite dei Flip-Flop tipo JK PET. I dati ricevuti sono costituiti da pacchetti di cinque bit, (1 – D0 – D1
– D2 – 0), sincroni con il clock del sistema. Ogni bit ha la durata di un periodo di clock. I pacchetti iniziano
sempre con il primo bit a "1" (bit di start) e terminano con il quinto bit a "0" (bit di stop).

La MSF B ha il compito di generare un segnale seriale OUT ogni volta che riceve dall’esterno un segnale
GO (la durata di GO è di 1 ciclo di clock).
Il segnale OUT consiste in un pacchetto di 4 bit (1 - D0 - D1 - 0). La durata di ciascun bit, compresi start e
stop, è di 1 ciclo di clock se D2 vale zero, 2 cicli di clock se D2 vale 1. I bit D0 e D1 del pacchetto in uscita
ricopiano i valori dei bit D0 e D1 in entrata.

In condizioni di riposo, le linee LN e OUT si trovano al valore logico zero.


Se il quinto bit ricevuto (bit di stop) non è a zero la MSF A attiva l’uscita ERR per un periodo di clock e, non
appena LN assume il valore 0, ritorna in attesa di un nuovo dato.
Si assuma che i pacchetti ricevuti su LN siano separati tra di loro da un intervallo maggiore della massima
durata di OUT e non siano mai inviati al sistema mentre è in corso l’attivazione di OUT.

Si chiede:
17. Il diagramma ASM della MSF;
18. Il diagramma temporale che descrive il funzionamento del sistema progettato, completando la figura
nella pagina successiva, indicando anche lo stato in cui si trovano le due MSF in ogni periodo del clock.
Si veda la fig.93:

Introduzione alle Macchine a Stati Finiti Asincrone

Nelle macchine asincrone, da un punto di vista teorico e modellistico, si può considerare il registro
di stato costituito dal ritardo con cui i segnali percorrono la MSF.
Tali ritardi vengono modellati concentrandoli in blocchi ritardatori puri (uno per ogni variabile di
stato) posti all'uscita delle porte logiche, mentre il resto della MSF viene considerato ideale, cioè
privo di ritardi. Per spiegare meglio l'effetto di questi ritardi vediamo l'esempio seguente che
utilizza una MSF asincrona molto semplice disegnata in fig. 91:

Per quanto detto prima, introduciamo un blocco di ritardo all'uscita dell'OR all'interno dell'anello di
retroazione. Quindi consideriamo come variabile di stato attuale il valore logico all'uscita del blocco In questo modello è chiaro come la temporizzazione della macchina sia data dal ritardo dt, ed il
di ritardo e come valore prossimo quello all'uscita dell'OR ormai privo di ritardo. cambiamento di stato solo da opportune combinazioni degli ingressi che sono quelle, (e solamente
quelle), che rendono X(t+dt) ≠ X(t).
Lo schema del modello è quindi in fig. 92: Si potrebbe pensare alla MSF asincrona come ad una MSF sincrona il cui clock abbia un
periodo uguale a dt.
Gli stati della MSF asincrona che non fanno parte di anelli di ritardo durano quindi un tempo dt.
Si capisce quindi che non è possibile realizzare MSF asincrone senza ingressi (come i contatori)
perchè la sequenza di stati dell'ASM (stati di transizione) verrebbe percorsa con una
temporizzazione tale per cui ogni stato durerebbe un tempo dt. Essendo dt molto piccolo e non
controllabile, le uscite della MSF non sarebbero praticamente utilizzabili. Si vedrà però in seguito
che, in sede di realizzazione della MSF asincrona è necessario molte volte aggiungere, nell'ASM,
degli stati di transizione al fine di risolvere dei problemi di sicurezza di funzionamento che
tratteremo in seguito. Tali stati però, durando appunto un tempo brevissimo, occupano un tempo
trascurabile nell'evoluzione della MSF e quindi non alterano il suo funzionamento descritto
dall'ASM che realizzaa l'algoritmo richiesto dalle specifiche.

Vediamone ora il funzionamento. Le MSF asincrone possono essere costruite con sole porte logiche opportunamente retroazionate,
Il ruolo principale è svolto dal blocco di ritardo, il quale fa in modo che per un tempo dt lo stato proprio come nel livello più basso di realizzazioni delle reti sequenziali. In alternativa si può
attuale X(t) si mantenga inalterato: il tempo dt è infatti il ritardo con cui il segnale si propaga utilizzare un registro di stato composto da FF asincroni. Non ci occuperemo qui della sintesi di
dall’ingresso all’uscita della porta. Trascorso dt, passa in uscita il valore X(t+dt) che diventa quindi MSF asincrone, salvo il caso del FF RS.
il nuovo stato.
Ecco quindi che il blocco di ritardo svolge la funzione di registro di stato, perché per un tempo dt
mantiene inalterato (e quindi in pratica "memorizza") il valore attuale dello stato X(t).
Nel tempo dt lo stato attuale, tramite la retroazione, agisce come ingresso sull'OR che costituisce la FLIP-FLOP RS (Reset-Set) Asincrono con Ingressi Attivi Alti
rete combinatoria del nuovo stato X(t+dt). Se il nuovo stato elaborato dalla RC è uguale al
precedente ( X(t+dt) = X(t)), allora la macchina è in condizioni di stabilità e non cambia stato. Il Flip-Flop RS, descritto in precedenza, è la più semplice macchina a stati asincrona: ci occupiamo
Invece, se l'ingresso rende X(t+dt) ≠ X(t), allora la macchina dopo dt cambierà stato. Risulta in questa sede di ricavarne lo schema logico con un procedimento di sintesi a partire dalla sua
quindi evidente la corrispondenza tra il modello di fig.92 e quello della MSF sincrona già visto. descrizione mediante il diagramma ASM.

1 2
Il flip-flop RS è caratterizzato da due ingressi, R e S, e da due uscite Q e Q .

Se gli ingressi R e S sono attivi alti il


comando di SET porta l'uscita Q ad 1, mentre il
comando RESET la manda a 0. Quando R ed S
sono inattivi il FF resta nello stato in cui si
trovava precedentemente. Il comportamento del
FF RS non viene definito se R=S=1.

La tabella che caratterizza il funzionamento del flip-flop RS è la seguente:

Dalle specifiche possiamo ricavare il diagramma ASM del flip-flop RS:

Si ottiene lo schema definitivo della MSF collegando l'uscita Xn all'ingresso Xn-1:

Il FF permane nello stato a (Q=0) fino a che non è attivato Set, nello stato b fino a che non è attivato
Reset. Questa struttura dell’ASM fa’ si che, se R=S=1, il flip-flop evolve continuamente tra i due
stati. Si noti, quindi, che, a livello di definizione del diagramma ASM si è specificato, anche se
implicitamente, il comportamento per R=S=1 anche se tale comportamento si considera non
ammesso. Infatti, in presenza di R=S=1 la MSF commuta continuamente fra i due stati. Dal
diagramma ASM possiamo compilare la tabella ASM e, da essa, ottenere la sintesi e lo schema
logico:

3 4
Per semplificare la struttura della rete, facendola coincidere con quella usata nelle realizzazioni
pratiche, si sfrutta il fatto che si esclude la contemporaneità del pilotaggio di Set e Reset, mettendo
due indifferenze dove S=R=1. Le figure 133, 134, 135 e 136 mostrano i passi intermedi del
processo di sintesi:

L'ultima configurazione rappresenta lo schema della sintesi NAND del flip-flop RS. Per
semplificare la rete, la struttura NAND si impiega con gli ingressi attivi bassi.
Si osservi che, applicando la configurazione non permessa (che, in questo caso è R = S = 0), si
ottiene Q = Q = 1; la situazione è stabile, ma le uscite non sono più una la negata dell'altra.

La sintesi NOR della stessa rete è la seguente:

La sintesi NOR più semplice è quella con gli ingressi attivi alti. Si osservi che, applicando la
configurazione non permessa (che, in questo caso è R = S = 1), si ottiene Q = Q = 0.

5 6
FLIP-FLOP RS Latch FLIP-FLOP D Edge Triggered

Si riporta qui la rappresentazione ASM del FF RS con semplice abilitazione, già studiato in Sappiamo che il FF D PET acquisisce e trasferisce il valore di D sull’uscita Q in presenza di un
precedenza. Lo schema è rappresentato in fig. 141; la fig. 144 mostra il semplice diagramma ASM. fronte di salita del CK.
Il suo diagramma ASM (si noti che l’ingresso CK è trattato come un normale ingresso e compare
quindi nel diagramma) è il seguente (fig. 152):

FLIP-FLOP JK Edge Triggered

Vediamo il diagramma ASM del FF JK Edge Triggered.

7 8