Esame di Architetture 1 - AA 2000-2001 - Canale H-Z



Esame A

Progettate, usando flip-flop di tipo JK, il circuito sequenziale che genera la sequenza ciclica di cifre esadecimali: C > 2 > 0 > E > 4 > 8 > 6 > A > C.

  • Costruite l'automa che parte dallo stato C e cicla attraverso i diversi stati.
  • Minimizzate l'automa.
  • Disegnate in forma grafica l'automa minimizzato.
  • Codificate gli stati dell'automa.
  • Calcolate la tabella delle transizioni.
  • Calcolate le funzioni di input dei flip-flop di tipo JK.
  • Codificate l'output (le cifre esadecimali).
  • Disegnate il circuito usando una PLA.

Suggerimento: Con una scelta accorta della codifica degli stati il circuito di codifica dell'output esadecimale diventa molto semplice.

Soluzione A

L'automa ha la tabella di transizione (con x che indica la transizione):

  C 2 0 E 4 8 6 A
C   x            
2     x          
0       x        
E         x      
4           x    
8             x  
6               x
A x              

L'automa non e' minimizzabile.

Notiamo che i numeri da produrre sono tutti pari, e quindi il meno significativo dei 4 bit che li rappresentano e' sempre 0. Quindi scegliamo come codifica degli stati i 3 bit piu' significativi di ciascuna cifra esadecimale.

Stato Cifra Codice
0 0000 000
2 0010 001
4 0100 010
6 0110 011
8 1000 100
A 1010 101
C 1100 110
E 1110 111

Si ricordano le transizioni di un FF JK.
J K Q Q'
0 0 1 1
0 0 0 0
1 0 - 1
0 1 - 0
1 1 1 0
1 1 0 1
Da cui si ottiene la regola
Q Q' J K
0 0 0 -
0 1 1 -
1 0 - 1
1 1 - 0
Quindi otteniamo la tabella di transizione
Q2 Q1 Q0 Q2' Q1' Q0' J2 K2 J1 K1 J0 K0
0 0 0 1 1 1 1 - 1 - 1 -
0 0 1 0 0 0 0 - 0 - - 1
0 1 0 1 0 0 1 - - 1 0 -
0 1 1 1 0 1 1 - - 1 - 0
1 0 0 0 1 1 - 1 1 - 1 -
1 0 1 1 1 0 - 0 1 - - 1
1 1 0 0 0 1 - 1 - 1 1 -
1 1 1 0 1 0 - 1 - 0 - 1

Le 6 funzioni J2 K2 J1 K1 J0 K0 si ottengono con la minimizzazione delle mappe di Karnaugh (con le lettere a,b indico le zone minimizzate nell'ordine in cui appaiono nelle formule):

Q2 Q1 \ Q0 0 1
0 0 1 a 0
0 1 1 ab 1 b
1 1 - ab - b
1 0 - a -
J2 = Q0n---+ Q1
Q2 Q1 \ Q0 0 1
0 0 1 a 0
0 1 - a -
1 1 - ab - b
1 0 1 ab 1 b
J1 = Q0n---+ Q2
Q2 Q1 \ Q0 0 1
0 0 1 a - a
0 1 0 -
1 1 1 b - b
1 0 1 ab - b
J0 = Q1n---+ Q2
Q2 Q1 \ Q0 0 1
0 0 - a -
0 1 - ab - b
1 1 1 ab 1 b
1 0 1 a 0
K2 = Q0n---+ Q1
Q2 Q1 \ Q0 0 1
0 0 - ab - ab
0 1 1 ab 1 ab
1 1 1 a 0
1 0 - a -
K1 = Q0n---+ Q2n
Q2 Q1 \ Q0 0 1
0 0 - a 1 a
0 1 - 0
1 1 - b 1 b
1 0 - ab 1 ab
K0 = Q1n---+ Q2

La PLA si ricava immediatamente.

Esame B

Progettate, usando flip-flop di tipo D, il circuito sequenziale che:

  • prende in input una variabile binaria X
  • se X = 1 ad ogni colpo di clock passa alla prossima cifra esadecimale della sequenza ciclica: F > 5 > 3 > 1 > 7 > B > 9 > D > F.
  • Se X = 0 invece ad ogni colpo di clock torna indietro di una cifra.

    • Costruite l'automa e minimizzatelo.
    • Disegnate in forma grafica l'automa minimizzato.
    • Codificate gli stati dell'automa.
    • Calcolate la tabella delle transizioni.
    • Calcolate le funzioni di input dei flip-flop di tipo D.
    • Codificate l'output (le cifre esadecimali).
    • Disegnate il circuito usando porte NAND.

Suggerimento: Con una scelta accorta della codifica degli stati il circuito di codifica dell'output esadecimale diventa molto semplice.

Soluzione B

L'automa ha la tabella di transizione:

  F 5 3 1 7 B 9 D
F   1           0
5 0   1          
3   0   1        
1     0   1      
7       0   1    
B         0   1  
9           0   1
D 1           0  

L'automa non e' minimizzabile.

Notiamo che i numeri da produrre sono tutti dispari, e quindi il meno significativo dei 4 bit che li rappresentano e' sempre 1. Quindi scegliamo come codifica degli stati i 3 bit piu' significativi di ciascuna cifra esadecimale.

Stato Cifra Codice
1 0001 000
3 0011 001
5 0101 010
7 0111 011
9 1001 100
B 1011 101
D 1101 110
F 1111 111

Si ricordano le transizioni di un FF D.

D Q Q'
0 - 0
1 - 1
Da cui si ottiene la regola D = Q'

Quindi otteniamo la tabella di transizione

X Q2 Q1 Q0 D2'=Q2' D1'=Q1' D0'=Q0'
0 0 0 0 0 0 1
0 0 0 1 1 1 0
0 0 1 0 1 1 1
0 0 1 1 1 0 0
0 1 0 0 0 1 0
0 1 0 1 0 1 1
0 1 1 0 1 0 1
0 1 1 1 0 0 0
1 0 0 0 1 1 1
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 0 1 1 1 0 1
1 1 0 0 0 1 1
1 1 0 1 1 1 0
1 1 1 0 0 0 1
1 1 1 1 0 1 0

Le funzioni D2 D1 D0 si ottengono con la minimizzazione delle mappe di Karnaugh:

X Q2 \ Q1 Q0 0 0 0 1 1 1 1 0
0 0 0 1 a 1 ab 1 bc
0 1 0 0 0 1 c
1 1 0 1 d 0 0
1 0 1 e 0 1 b 1 be
D2 = Xn Q2n Q0n---+ Q2n Q1 + Xn Q1 Q0n + X Q2 Q1n Q0 + X Q2n Q0n

X Q2 \ Q1 Q0 0 0 0 1 1 1 1 0
0 0 0 1 a 0 1 b
0 1 1 c 1 ac 0 0
1 1 1 ce 1 cd 1 d 0
1 0 1 e 0 0 0
D1 = Xn Q1n Q0---+ Xn Q2n Q1 Q0n + Q2 Q1n + X Q2 Q0 + X Q1n Q0n

X Q2 \ Q1 Q0 0 0 0 1 1 1 1 0
0 0 1 a 0 0 1 a
0 1 0 1 c 0 1 b
1 1 1 d 0 0 1 b
1 0 1 d 0 1 e 0
D0 = Xn Q2n Q0n---+ Q2 Q1 Q0n + Xn Q2 Q1n Q0 + X Q1n Q0n + X Q2n Q1 Q0

Il circuito si ricava immediatamente.

-- AndreaSterbini - 03 Jul 2001

Topic revision: r1 - 2001-07-03 - AndreaSterbini






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback