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.

Enunciado: Pregunta 2 · Fonaments dels Computadors UAB 2023

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.

Pregunta 2 · 2023 ›

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