Examen de Fonaments dels Computadors UAB 2023 · Parcial Bloque 2 - Turno Mañana (Curso 2023-2024)

Examen de Fonaments dels Computadors de la UAB (Grado en Ingeniería Informática) 2023, Parcial Bloque 2 - Turno Mañana (Curso 2023-2024): 5 problemas con…

Temas del examen: Análisis de circuitos secuenciales: cronogramas, Moore y Mealy · Descripción de máquinas de estados en VHDL · Registros, contadores y memorias: detección y generación de secuencias · Temporización y sincronización de circuitos síncronos

Pregunta 1 · Análisis de circuitos secuenciales: cronogramas, Moore y Mealy

Pregunta 1. Análisis de circuito secuencial y cronograma

A partir del esquema lógico síncrono y las formas de onda representadas a continuación:

a.

Completa el cronograma temporal para las señales de estado interno q1q_1, q0q_0 y la salida YY. Considera que los biestables son tipo D activos por flanco de subida de reloj y disponen de reset asíncrono activo a nivel alto.

b.

Determina y justifica si el circuito implementa una máquina de estados de Mealy o de Moore. Obtén asimismo las funciones booleanas de próximo estado (D1D_1, D0D_0) y de la salida YY, indicando la cantidad máxima de estados alcanzables por el sistema.

Mealy

Moore

Pregunta 2 · Descripción de máquinas de estados en VHDL

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.

Pregunta 3 · Registros, contadores y memorias: detección y generación de secuencias

3. Pregunta 3. Contador con decodificación de secuencia cíclica

Un dispositivo temporizador incorpora un sistema digital que emite cíclicamente una secuencia en dígitos hexadecimales codificados en binario. Para neutralizar el temporizador es preciso introducir dicha secuencia periódica exacta.

A través del esquema lógico obtenido del circuito integrado en el artefacto:

Estados

Asignación de código

S2

10

S3

11

Nota: La expresión A1&A0 corresponde a la concatenación de los bits de entrada.

Lleva a cabo el análisis detallado del circuito y deduce la secuencia hexadecimal generada de forma cíclica, justificando con rigor el funcionamiento del contador síncrono, la condición de realimentación y las funciones de salida.

Pregunta 4 (a y b) - Divisor y detector · Registros, contadores y memorias: detección y generación de secuencias

Pregunta 4. Cuestiones: divisor de frecuencia, detector y tiempos de biestable

Responde de manera razonada y formal a las siguientes cuestiones:

Pregunta 4. Cuestiones: divisor de frecuencia, detector y tiempos de biestable

Responde de manera razonada y formal a las siguientes cuestiones:

a.

Se dispone de una señal de reloj patrón de 1000 MHz y se desea obtener a partir de ella una frecuencia de 125 MHz. Explica detalladamente cómo llevarías a cabo dicho diseño, proponiendo el circuito correspondiente y señalando claramente de qué línea o terminal se extraería la señal de frecuencia resultante.

b.

Se requiere diseñar un sistema capaz de detectar una secuencia continua de 6 dígitos hexadecimales sin recurrir a la metodología habitual de síntesis de autómatas finitos basada en grafos de estados. Describe y justifica formalmente para un caso general qué componentes o bloques emplearías, de qué factores depende la dimensión de dichos módulos, cuántos de ellos serían necesarios y cómo se interconectarían entre sí para validar la detección. [3,5 puntos]

Pregunta 4.c - Tiempos de biestable · Temporización y sincronización de circuitos síncronos

Pregunta 4. Cuestiones: divisor de frecuencia, detector y tiempos de biestable

Responde de manera razonada y formal a las siguientes cuestiones:

Pregunta 4. Cuestiones: divisor de frecuencia, detector y tiempos de biestable

c.

Define con precisión los conceptos de tiempo de preparación o setup time (tsut_{su}), tiempo de mantenimiento o hold time (tHt_H) y tiempo de propagación (tPt_P) referidos a un biestable tipo D síncrono activo por flanco ascendente que dispone de señales asíncronas de Set y Reset. Acompaña las definiciones de un cronograma explicativo que ilustre inequívocamente cada uno de estos parámetros. [3,5 puntos]

También puedes estudiar por temas

Practica un tema con ejercicios de los exámenes de todos los años, mezclados.

Ver los 8 temas

Otras convocatorias de 2023

Examen Parcial de Fundamentos de Computadores - Bloque 2 (2023)