Pregunta 2 · Fonaments dels Computadors UAB 2023
Tema: Descripción de máquinas de estados en VHDL · Del examen Examen Parcial de Fundamentos de Computadores - Bloque 2 (2023)
Enunciado
Pregunta 2. Análisis y diseño a partir de código VHDL
A partir de la siguiente descripción en VHDL y la tabla de asignación de estados proporcionada, responde a los apartados indicados:
library ieee;
use ieee.std_logic_1164.all;
ENTITY MISTERIO IS
Port(A1, A0, clk, reset: in std_logic;
D1, D0: out std_logic);
End entity;
Architecture DETALLADA OF MISTERIO is
type states is (S0, S1, S2, S3);
signal q, next_q: states;
Begin
StoreState: Process (reset, clk);
Begin
If reset='1' then q<=S1;
elsif (clk'event and clk = '1') then q<=next_q;
endif;
End process StoreState;
ComputingGraf: Process (q, A1, A0)
Begin
next_q <= q;
case q is
when S0 => case A1&A0 is
when "01" | "10" | "11" => next_q <= S1; end case;
D1 <= '0'; D0 <= '0';
when S1 => case A1&A0 is
when "00" => next_q <= S0;
when "01" | "10" | "11" => next_q <= S2; end case;
D1 <= '0'; D0 <= '1';
when S2 => case A1&A0 is
when "00" => next_q <= S1;
when "10" | "11" => next_q <= S3; end case;
D1 <= '1'; D0 <= '0';
when S3 => case A1&A0 is
when "00" | "01" => next_q <= S2; end case;
D1 <= '1'; D0 <= '1';
end case;
End process ComputingGraf;
End Architecture DETALLADA of MISTERIO;
Estados
Asignación de código
S0
00
S1
01
S2
10
S3
11
Nota: La expresión A1&A0 hace referencia a la concatenación de los bits de entrada.
a.
Indica y justifica si la máquina es de Moore o de Mealy. Detalla la estructura del esquema canónico indicando bloques combinacionales (CC1, CC2), memoria (# flip-flops), nombres de las señales y número de bits de cada conexión.
b.
Plantea una implementación directa del sistema basada en multiplexores y flip-flops D con entradas asíncronas, señalando la correspondencia con los bloques del esquema genérico.
c.
Justifica si sería admisible suprimir la sentencia de inicialización next_q <= q; ubicada al comienzo del proceso combinacional ComputingGraf.
d.
Representa el grafo de estados de la máquina finita e indica de forma razonada cuál es su estado inicial.

Solución
Según los criterios oficiales de corrección
a. Indica y justifica si la máquina es de Moore o de Mealy. Detalla la estructura del esquema canónico indicando bloques combinacionales (CC1, CC2), memoria (# flip-flops), nombres de las señales y número de bits de cada conexión.
Solución: Máquina de Moore. - Entrada externa: A1, A0 (bus de 2 bits). - Circuito combinacional 1 (CC1 / ComputingGraf): recibe la entrada (2 bits) y la realimentación del estado actual q (2 bits). Genera el estado futuro next_q (bus de 2 bits). - Memoria de estado: constituida por 2 flip-flops tipo D sincronizados por reloj (clk) y con señal de reinicio (reset). Almacena el código binario del estado (2 bits). - Circuito combinacional 2 (CC2 / ComputingGraf2): recibe el estado actual q (bus de 2 bits) y decodifica las salidas D1, D0 (bus de 2 bits).
b. Plantea una implementación directa del sistema basada en multiplexores y flip-flops D con entradas asíncronas, señalando la correspondencia con los bloques del esquema genérico.
Solución: - Bloque CC1 (Cálculo de estado siguiente): Se estructura mediante 4 multiplexores de 4 a 1 (uno por cada estado de origen, controlados por las entradas A1, A0), cuyas salidas de 2 bits se conectan a un multiplexor de 4 a 1 de 2 bits de ancho gobernado por el estado actual q (q1, q0), produciendo las líneas next_q (2 bits). - Bloque de Memoria: 2 biestables D (D1, D0) que reciben next_q y la señal común de CK. Para cumplir con el reset activo a S1 (código binario 01), el biestable 1 conecta Reset a su entrada asíncrona R (y entrada S = 0), mientras que el biestable 0 conecta Reset a su entrada asíncrona S (y entrada R = 0). - Bloque CC2 (Salidas): Un multiplexor de 4 a 1 de 2 bits de salida direccionado por q. En sus entradas fijas se cablean los valores asignados: entrada 00 con 00, entrada 01 con 01, entrada 10 con 10 y entrada 11 con 11 (en este caso particular, la salida coincide directamente con el código de estado: D1 = q1 y D0 = q0).
c. Justifica si sería admisible suprimir la sentencia de inicialización next_q <= q; ubicada al comienzo del proceso combinacional ComputingGraf.
Solución: No se puede eliminar.
d. Estado inicial
Solución: S1
d. Representa el grafo de estados de la máquina finita
Solución: Grafo de 4 estados con las siguientes transiciones y salidas: - S0 (D1 D0 = 00): * si A1 A0 = 01, 10, 11 (A1 A0 != 00) transita a S1 * si A1 A0 = 00 se mantiene en S0 - S1 (D1 D0 = 01): * si A1 A0 = 00 transita a S0 * si A1 A0 = 01, 10, 11 (A1 A0 != 00) transita a S2 - S2 (D1 D0 = 10): * si A1 A0 = 00 transita a S1 * si A1 A0 = 01 permanece en S2 * si A1 A0 = 10 o 11 transita a S3 - S3 (D1 D0 = 11): * si A1 A0 = 00 o 01 transita a S2 * si A1 A0 = 10 o 11 (A1 = 1) permanece en S3
d. Justificación razonada de las transiciones del grafo de estados
Solución: - S0 (D1 D0 = 00): si A1 A0 != 00 transita a S1; si A1 A0 = 00 se mantiene en S0. - S1 (D1 D0 = 01): si A1 A0 = 00 transita a S0; si A1 A0 != 00 transita a S2. - S2 (D1 D0 = 10): si A1 A0 = 00 transita a S1; si A1 A0 = 01 permanece en S2; si A1 A0 es 10 o 11 transita a S3. - S3 (D1 D0 = 11): si A1 A0 es 00 o 01 transita a S2; si A1 = 1 (10, 11) permanece en S3.
La explicación paso a paso, hecha con IA, es Premium. Premium
Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.
‹ Pregunta 2 · 2023 · Pregunta 3 · 2022 ›