Prova di esame del 12-9-00

Esercizio 1 (15 punti)

Progettare un divisore di frequenza, ovvero un circuito che riceve in ingresso un segnale di clock di frequenza f e produce in uscita un segnale di clock di frequenza . Ovviamente, la durata dell'impulso è T in ingresso, Tx8 in uscita.

 

 

Esercizio 2 (15 punti)

Analizzare il seguente circuito sequenziale:

 

Derivare l'automa a stati finti che rappresenta il funzionamento del circuito.

Soluzioni :

(accennate)

Esercizio 1

Un singolo FF JK connesso come in figura funziona come divisore di frequenza f/2:

 

 

Banalmente, è possibile realizzare un divisore di frequenza f/n usando log2n FF di tipo JK con J=K=1 (oppure Toggle con T=1), collegando l'output Qi del i-esimo FF con il clock del (i+1)- esimo FF.

Tale circuito rappresenta un contatore ASINCRONO (infatti i FF non hanno lo stesso segnale di clock).

Volendo utilizzare un circuito sincrono (ricordatevi che la metodologia di sintesi illustrata a lezione si applica ai soli circuiti sincroni) possiamo ancora usare un contatore (sincrono) con log2n FF (log8=3), sincronizzati sul clock la cui frequenza si desidera dividere.

Formalmente, la tabella degli stati futuri è la seguente (nella tabella sono anche evidenziate le transizioni):

Fronti

di

clock

Transizioni

Dei FF

(Q2Q1Q0)

Si Æ Sj

(stato di partenza stato di arrivo)

 

J2K2 J1K1 J0K0

­

­

­

­

­

­

­

­


 

 

00

0 Ø

01

Ø Ø

10

1 Ø

11

Ø Ø Ø

000Æ 001

001Æ 010

010Æ 011

011Æ 110

110Æ 101

101Æ 110

110Æ 111

111Æ 000

0X 0X 1X

0X 1X X1

0X eccetera!!

1X

X0

X0

X0

X1

 

 

 

 

Da cui ricaviamo:

J0=K0= 1

J1= Q0

J2= Q0Q1

(in generale, per un contatore sincrono ad n bit, Ji= Qj (j=1..i-1)

 

Si osservi in tabella (colonne 1 e 2) che Q2 ha un fronte di salita ogni 8 fronti di salita del clock, come richiesto.

E' banale ricavare lo schema circuitale.

Esercizio 2

Si ricavano dapprima le espressioni booleane degli input JK dei 3 FF.

Quindi si ricava la tabella degli stati futuri e l'automa.

Si (Q2Q1Q0) stato di partenza

J2K2 J1K1 J0K0

Sj stato di arrivo

000

001

010

011

100

101

110

111

11 11 11

11 11 11

00 11 01

10 11 01

eccetera!!!!

111

110

000

100

010

011

100

101

 

La sequenza contata è 000 111 101 011 100 010 000…

Si noti che, qualora il sistema erroneamente ricada in uno stato non incluso nella sequenza, comunque "ricade" successivamente nel ciclo previsto.