Circuiti Sequenziali & Somma FP Circuiti Sequenziali : Esercizio 1 Esercizio 1: progettare una rete sequenziale per il controllo di un motore elettrico. La rete riceve in input i segnali relativi a due pulsanti A --> accendi S --> spegni In caso di pressione simultanea, S prevale. Se il motore è acceso (o spento) e arriva un altro segnale di accensione ( o spegnimento) la rete non deve tenerne conto. La rete deve dare in uscita il segnale O: O = 0 --> motore spento O = 1 --> motore acceso 1. Disegnare la macchina a stati finiti 2. Scrivere la tabella di verità 3. Trovare le forme SP minime 4. Disegnare il circuito
Circuiti Sequenziali : Esercizio 1 Esercizio 1: macchina a stati finiti e tabelle di verità Si tratta di una macchina di Moore F A S F* F O 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 O = F 1 0 0 1 F* = ~FA~S + F~A~S + FA~S 1 0 1 0 1 1 0 1 1 1 1 0 Esercizio 1: forme SP minime Circuiti Sequenziali : Esercizio 1 F A S F* F O 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 O = F F* = A~S + F~S
Esercizio 1: circuito O = F F* = A~S + F~S Circuiti Sequenziali : Esercizio 1 Circuiti Sequenziali: Esercizio 2 Esercizio 2: progettare una rete sequenziale che riceva in ingresso un segnale I e rilevi la presenza delle sequenze 101 e 110, anche sovrapposte. La rete ha un solo segnale di uscita R tale che: R = 1 se una delle due sequenze è stata rilevata R = 0 altrimenti 1. Disegnare la macchina a stati finiti 2. Scrivere la tabella di verità 3. Trovare le forme SP minime 4. Disegnare il circuito
Circuiti Sequenziali: Esercizio 2 Esercizio 2: macchina a stati finiti es. I =00111101100101 Si tratta di una macchina di Mealy Circuiti Sequenziali: Esercizio 2 Esercizio 2: tabella di verità F 1 I R F 1 * * a 0 0 0 0 0 0 a 0 0 1 0 0 1 b 0 1 0 0 1 0 b 0 1 1 0 1 1 d 1 0 0 0 0 0 d 1 0 1 1 0 1 c 1 1 0 1 1 0 c 1 1 1 0 1 1 R = F 1 ~ I + F 1 ~I F 1 * = ~F 1 ~I + ~F 1 I + F 1 ~I + F 1 I * = ~F 1 ~ I + ~F 1 I + F 1 ~ I + F 1 I
Circuiti Sequenziali: Esercizio 2 Esercizio 2: minimizzazione di R F 1 I R F 1 * * a 0 0 0 0 0 0 0 0 1 0 0 1 b 0 1 0 0 1 0 0 1 1 0 1 1 d 1 0 0 0 0 0 1 0 1 1 0 1 c 1 1 0 1 1 0 1 1 1 0 1 1 R = F 1 ~ I + F 1 ~I (attenzione: la tabella è sbagliata!) Circuiti Sequenziali: Esercizio 2 Esercizio 2: minimizzazione di F 1 * F 1 I R F 1 * * a 0 0 0 0 0 0 0 0 1 0 0 1 b 0 1 0 0 1 0 0 1 1 0 1 1 d 1 0 0 0 0 0 1 0 1 1 0 1 c 1 1 0 1 1 0 1 1 1 0 1 1 F 1 * =
Circuiti Sequenziali: Esercizio 2 Esercizio 2: minimizzazione di * F 1 I R F 1 * * a 0 0 0 0 0 0 0 0 1 0 0 1 b 0 1 0 0 1 0 0 1 1 0 1 1 d 1 0 0 0 0 0 1 0 1 1 0 1 c 1 1 0 1 1 0 1 1 1 0 1 1 * = I Esercizio 2: circuito finale Circuiti Sequenziali: Esercizio 2
Circuiti Sequenziali: Esercizio 3 Esercizio 3: progettare una rete sequenziale di Moore che riceva in ingresso due segnali I 1, I 2 e dia in ingresso due segnali di uscita O 1 e O 2 tali che: O 1 O 2 sono il complemento di I 1, I 2 se l uscita precedente aveva O 1 =0 O 1 O 2 sono il risultato della somma di I 1 + I 2 altrimenti Si supponga di partire inizialmente con O 1 = O 2 = 0 1. Disegnare la macchina a stati finiti 2. Scrivere la tabella di verità 3. Trovare le forme SP minime 4. Disegnare il circuito Circuiti Sequenziali: Esercizio 3 Esercizio 3: macchina a stati finiti di Moore
Circuiti Sequenziali: Esercizio 3 Esercizio 3: tabelle di verità per NextState S0 S1 I1 I2 S0* S1* 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 S1* = ~S0 ~I2 + I1 I2 + S0 ~I1 I2 Circuiti Sequenziali: Esercizio 3 Esercizio 3: tabelle di verità per NextState S0 S1 I1 I2 S0* S1* 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 S0* = ~S0 ~I1 + I1 I2 S0
Circuiti Sequenziali: Esercizio 3 Esercizio 3: tabelle di verità per O1 e O2 S0 S1 O1 O2 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 O1 = S0 O2 = S1 Esercizio 3: circuito finale Circuiti Sequenziali: Esercizio 3
Circuiti Sequenziali : Esercizio 4 Esercizio 4: disegnare una macchina a stati finiti per il controllo di un distributore automatico di bibite. Il costo di una bibita è di L.500 e il distributore accetta monete da 100, 200, 500. I segnali di ingresso I100, I200 e I500 vengono settati in corrispondenza della moneta introdotta. Può essere introdotta una sola moneta alla volta. L uscita O vale uno se la cifra totale introdotta è maggiore o uguale a L.500, zero altrimenti. Fare in modo che l eventuale resto possa essere utilizzato dal cliente successivo. Scrivere le tabelle di verità relative alla macchina a stati finiti progettata. Esercizio 4: automa Circuiti Sequenziali : Esercizio 4
Circuiti Sequenziali : Esercizio 4 Esercizio 4: tabella di verità (per il primo stato...) S0 S1 S2 I100 I200 I500 O S1* S2* S3* a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 X X X X 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 X X X X 0 0 0 1 1 0 X X X X 0 0 0 1 1 1 X X X X b 0 0 1 0 0 0 etc... Circuiti Sequenziali : Esercizio 5 Esercizio 5: progettare una rete sequenziale che comanda l accensione e lo spegnimento di tre lampadine in sequenza S ---> C ---> D <------------- L output del circuito sono proprio i tre segnali S,C,D. Quando sono affermati le lampadine corrispondenti sono accese; quando sono zero le lampadine corrispondenti sono spente Il ritmo del circuito è determinato dal periodo di clock La rete riceve un segnale di ingresso I tale che: se I = 0 ==> le lampadine devono accendersi una alla volta partendo (la prima volta) da S se I = 1 ==> le lampadine devono accendersi due alla volta partendo (la prima volta) da S e C Macchina a stati + tabelle + minimizzazione + circuito
Circuiti Sequenziali : Esercizio 5 Esercizio 5: macchina a stati (di Moore) Circuiti Sequenziali : Esercizio 5 Esercizio 5: tabella di verità per NextState S0 S1 S2 I S0* S1* S2* 0 0 0 0 X X X 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 0 X X X 0 0 0 1 X X X 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 X X X S0* = S2 + I
Circuiti Sequenziali : Esercizio 5 Esercizio 5: tabella di verità per NextState S0 S1 S2 I S0* S1* S2* 0 0 0 0 X X X 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 0 X X X 0 0 0 1 X X X 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 X X X S1* = ~S2 I + ~S1 ~S2 + ~S1 I Circuiti Sequenziali : Esercizio 5 Esercizio 5: tabella di verità per NextState S0 S1 S2 I S0* S1* S2* 0 0 0 0 X X X 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 0 X X X 0 0 0 1 X X X 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 X X X S2* = ~S0 ~S2 I + S0 S1 I + S1 S2 I
Circuiti Sequenziali : Esercizio 5 Esercizio 5: tabella di verità per i segnali di uscita S0 S1 S2 S C D 0 0 0 X X X 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 X X X S = S0 C = S1 D = S2 Somma di numeri razionali in virgola mobile Esercizio 6: eseguire la somma a + b Esponente: a 10000010 2 = 130 10 ==> 130-127 = 3 b 01111110 2 = 126 10 ==> 126-127 = -1 Allineamento mantissa b 1.1111 2-1 ==> 0.00011111 2 3
Somma di numeri razionali in virgola mobile Esercizio 6: (continua) a + b Mantisse in complemento a due (aggiungo un bit per il segno) a 01.010101 & a negativo ==> 10.101011 b 00.00011111 & b positivo ==> 00.00011111 Somma mantisse a 10.10101100 + b 00.00011111 = -------------------- 10.11001011 mod 2 10 = 10.11001011 numero negativo! Il modulo del risultato è quindi 1.00110101 Somma di numeri razionali in virgola mobile Esercizio 6: (continua) a b + = --------------------------------------------------------------------------