Pregunta 3 · Fonaments dels Computadors UAB 2022
Tema: Descripción de máquinas de estados en VHDL · Del examen Examen Parcial Bloque 2 (Turno de Tarde) - Curso 2022-2023 (2022)
Enunciado
Pregunta 3 (2,5 puntos). Análisis e implementación de máquina de estados en VHDL
A partir del siguiente código VHDL que modela un sistema secuencial, contesta a los apartados indicados a continuación:
ENTITY PROVA2 IS
Port (X, clk, reset: in std_logic;
p, q: out std_logic);
End entity;
Architecture FUNCIONAL of PROVA2 is
type states is range 0 to 6;
signal EA, ES: states;
Begin
XXX: Process (reset, clk)
Begin
if reset='1' then EA <= 0;
elsif (clk'event and clk = '1') then EA <= ES;
endif;
End process XXX;
YYY: Process (EA, X)
Begin
ES <= EA;
case EA is
when 0 => if X=0 then ES<=1; endif; p<=0; q<=0;
when 1 => if X=0 then ES<=5; else ES<=2; endif; p<=0; q<=0;
when 2 => if X=0 then ES<=3; endif; p<=0; q<=0;
when 3 => if X=1 then ES<=0; else ES<=4; endif; p<=0; q<=0;
when 4 => if X=1 then ES<=0; else ES<=1; endif; p<=0; q<=1;
when 5 => if X=1 then ES<=6; else ES<=1; endif; p<=0; q<=0;
when 6 => if X=1 then ES<=0; else ES<=1; endif; p<=1; q<=0;
end case;
End process YYY;
a)
Indica y razona si se trata de un autómata de Moore o de Mealy. Dibuja el diagrama de bloques genérico con nombres y dimensiones de todas las conexiones, número de flip-flops y función de cada circuito.
Moore
Mealy
b)
Realiza la implementación a nivel estructural de la máquina completa directamente a partir del código VHDL, identificando los módulos que integran el circuito.
c)
Dibuja el grafo de estados asociado al autómata.
d)
Explica qué secuencia o secuencias detecta el circuito y mediante qué señales de salida lo manifiesta. Pista: toda secuencia detectada comienza por '0'.

Solución
Según los criterios oficiales de corrección
a) Indica si se trata de un autómata de Moore o de Mealy
Solución: Moore
a) Razona si se trata de un autómata de Moore o de Mealy
Solución: Las asignaciones de las salidas p y q dependen únicamente del estado actual (EA) y no de la entrada X.
a) Dibuja el diagrama de bloques genérico con nombres y dimensiones de todas las conexiones, número de flip-flops y función de cada circuito
Solución: Entrada X: 1 bit. CC1 (Estado Siguiente): Entradas X (1 bit) y EA (3 bits); salida ES (3 bits). Memoria: 3 biestables tipo D (rango 0 a 6 requiere 3 bits, ya que 2³ = 8 > 6), gobernados por clk y con reset asíncrono. CC2 (Salidas): Entrada EA (3 bits); salidas p, q (2 bits en total).
b) Realiza la implementación a nivel estructural de la máquina completa directamente a partir del código VHDL, identificando los módulos que integran el circuito
Solución: • Bloque CC1: Sintetizado con un MUX 8:1 de 3 bits controlado por EA[2..0]. A cada una de sus entradas (0 a 6) llega la salida de un MUX 2:1 de 3 bits controlado por la entrada X: - Entrada 0: si X=0 -> 1, si X=1 -> 0. - Entrada 1: si X=0 -> 5, si X=1 -> 2. - Entrada 2: si X=0 -> 3, si X=1 -> 2. - Entrada 3: si X=0 -> 4, si X=1 -> 0. - Entrada 4: si X=0 -> 1, si X=1 -> 0. - Entrada 5: si X=0 -> 1, si X=1 -> 6. - Entrada 6: si X=0 -> 1, si X=1 -> 0. - Entrada 7: valor por defecto (0). • Bloque de Memoria: 3 flip-flops D (ff2, ff1, ff0) cuyas entradas D se conectan a ES[2..0], sus salidas Q forman EA[2..0], y sus entradas de Reset asíncrono se unen a la línea reset. • Bloque CC2: Un MUX 8:1 de 2 bits comandado por EA[2..0] donde las entradas son los vectores pq: entradas 0, 1, 2, 3, 5, 7 a 00; entrada 4 a 01; entrada 6 a 10.
c) Dibuja el grafo de estados asociado al autómata
Solución: • Estado 0 (p=0, q=0): con X=0 -> 1; con X=1 -> 0. (Estado inicial con reset=1). • Estado 1 (p=0, q=0): con X=0 -> 5; con X=1 -> 2. • Estado 2 (p=0, q=0): con X=0 -> 3; con X=1 -> 2. • Estado 3 (p=0, q=0): con X=0 -> 4; con X=1 -> 0. • Estado 4 (p=0, q=1): con X=0 -> 1; con X=1 -> 0. • Estado 5 (p=0, q=0): con X=0 -> 1; con X=1 -> 6. • Estado 6 (p=1, q=0): con X=0 -> 1; con X=1 -> 0.
d) Explica qué secuencia o secuencias detecta el circuito y mediante qué señales de salida lo manifiesta
Solución: • La salida p se activa (nivel alto) en el estado 6 y detecta secuencias que responden al patrón regular (00)*1 (un número par de ceros seguido de un uno: 0 -> 5 -> 6 con X = 0, 0, 1). • La salida q se activa en el estado 4 y reconoce secuencias con el patrón 01*00 o combinaciones de tipo 0(00)*1*00 (0 -> 1 -> 2 -> 3 -> 4 con X = 0, 1, 0, 0).
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 4 · 2018 ›