---++ Esame di Architetture 1 - AA 2000-2001 - Canale H-Z ---- %TOC% ---- ---+++ 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 | <table><tr valign="top"><td> 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 | </td><td> Da cui si ottiene la regola | *Q Q'* | *J K* | | 0 0 | 0 - | | 0 1 | 1 - | | 1 0 | - 1 | | 1 1 | - 0 | </td><td> 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 | </td></tr></table> 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): <table><tr valign="top"><td> | *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* </td><td> | *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* </td><td> | *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* </td></tr><tr><td> | *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* </td><td> | *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* </td><td> | *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* </td></tr></table> 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. -- Users.AndreaSterbini - 03 Jul 2001 <br> <!-- * Set ALLOWTOPICCHANGE = Users.DocentiArcGroup -->
This topic: Architetture1/EO
>
SoluzioniEsame3Luglio2001
Topic revision: r1 - 2001-07-03 - AndreaSterbini
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback