Pregunta 2 · Fonaments dels Computadors UAB 2023
Tema: Descripción de máquinas de estados en VHDL · Del examen Examen Parcial Bloque 2 - Turno Mañana (Curso 2023-2024) (2023)
Enunciado
Pregunta 2. Síntesis y análisis de FSM en VHDL
Se facilita la siguiente descripción VHDL de un sistema secuencial síncrono, junto con la codificación de sus estados:
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<=S2;
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 corresponde a la concatenación de los bits de entrada.
a.
Indica y razona si se trata de un modelo de Moore o Mealy. Dibuja el diagrama de bloques genérico que modela la estructura canónica del autómata, indicando las dimensiones en bits de todas las señales (entradas, salidas, estado actual y estado siguiente), así como el número de biestables.
Moore
Mealy
b.
Efectúa una implementación estructural directa a nivel de bloques mediante multiplexores y biestables D, identificando con claridad la lógica de estado siguiente (CC1), el bloque de memoria y la lógica combinacional de salida (CC2).
c.
Justifica si sería factible prescindir de la asignación por defecto next_q <= q; ubicada al comienzo del proceso combinacional ComputingGraf.
Sí
No
d.
Dibuja el grafo de estados de la máquina secuencial identificando razonadamente el estado inicial tras la activación de la señal de reset.

Solución
Según los criterios oficiales de corrección
a. Indica y razona si se trata de un modelo de Moore o Mealy.
Solución: Moore
a. Justificación y dimensiones de las señales del esquema canónico
Solución: CC1 recibe 2 bits de entrada primaria (A1, A0) y 2 bits de estado actual (q), generando un bus de 2 bits para el estado futuro (next_q). Memoria: banco de 2 flip-flops D. CC2 recibe el bus de 2 bits de estado actual y produce las salidas (D1, D0) de 2 bits.
b. Implementación estructural directa a nivel de bloques mediante multiplexores y biestables D
Solución: CC1 con multiplexor 4:1 de 2 bits comandado por q; Memoria con dos biestables D conectados a next_q y reset inicializando en 10 (S2); CC2 con multiplexor 4:1 de 2 bits direccionado por q con entradas fijas 00, 01, 10, 11.
c. Justifica si sería factible prescindir de la asignación por defecto next_q <= q; ubicada al comienzo del proceso combinacional ComputingGraf.
Solución: No
c. Justificación de la necesidad de la asignación por defecto next_q <= q;
Solución: No es posible eliminarla porque en las cláusulas case internas no se especifican todas las combinaciones de A1&A0. De omitirse, se sintetizarían latches indeseados.
d. Estado inicial tras la activación de la señal de reset
Solución: S2 / 10
d. Transiciones del grafo de estados
Solución: S0: si A1A0=00 va a S0, si !=00 va a S1. S1: si A1A0=00 va a S0, si !=00 va a S2. S2: si A1A0=01 va a S2, si A1A0=00 va a S1, si A1A0=1x va a S3. S3: si A1A0=1x va a S3, si A1A0=0x va a S2.
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.