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'.

Enunciado: Pregunta 3 · Fonaments dels Computadors UAB 2022

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 ›

Más ejercicios de Descripción de máquinas de estados en VHDL