Examen de Fonaments dels Computadors UAB 2023 · Parcial de Fundamentos de Computadores - Bloque 2

Examen de Fonaments dels Computadors de la UAB (Grado en Ingeniería Informática) 2023, Parcial de Fundamentos de Computadores - Bloque 2: 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. Cronograma y análisis de máquina de estados

A partir del circuito digital síncrono y de las señales temporales dadas:

El cronograma de entrada presenta las siguientes señales de reloj ( CK), reinicio asíncrono ( Reset) y datos ( X):

a)

Deduce y completa la evolución temporal para las salidas de los biestables (q1q_1, q0q_0) y la salida global del sistema (YY). Sube una fotografía o captura del cronograma completado o tu desarrollo:

b)

Determina de forma justificada si se trata de un modelo de Moore o de Mealy. Deduce analíticamente las expresiones booleanas para el estado siguiente y para la salida, e indica el número máximo de estados posibles que puede asumir el autómata.

Mealy

Moore

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

Pregunta 2. Análisis y diseño a partir de código VHDL

A partir de la siguiente descripción en VHDL y la tabla de asignación de estados proporcionada, responde a los apartados indicados:

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<=S1;

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 hace referencia a la concatenación de los bits de entrada.

a.

Indica y justifica si la máquina es de Moore o de Mealy. Detalla la estructura del esquema canónico indicando bloques combinacionales (CC1, CC2), memoria (# flip-flops), nombres de las señales y número de bits de cada conexión.

b.

Plantea una implementación directa del sistema basada en multiplexores y flip-flops D con entradas asíncronas, señalando la correspondencia con los bloques del esquema genérico.

c.

Justifica si sería admisible suprimir la sentencia de inicialización next_q <= q; ubicada al comienzo del proceso combinacional ComputingGraf.

d.

Representa el grafo de estados de la máquina finita e indica de forma razonada cuál es su estado inicial.

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

Pregunta 3. Circuito secuencial generador de código con contador

En el contexto de un dispositivo de temporización accionado digitalmente, el cese de la cuenta atrás requiere la introducción por teclado de una secuencia de dígitos hexadecimales repetitiva generada internamente por el subsistema digital mostrado en la figura:

El bloque secuencial principal consta de un contador síncrono binario de 3 bits con líneas de inicialización asíncrona ( rst), reloj ( ck), habilitación de carga paralela síncrona ( load) y entradas fijas de carga in2,in1,in0in_2, in_1, in_0 conectadas al valor constante 0.

Analiza el esquema lógico y deduce de forma fundamentada la secuencia cíclica de dígitos hexadecimales que produce el circuito en las salidas S3,S2,S1,S0S_3, S_2, S_1, S_0, detallando cada fase del análisis.

Pregunta 4.a-b - División de frecuencia y generad… · Registros, contadores y memorias: detección y generación de secuencias

Pregunta 4. Cuestiones sobre división de frecuencia, generadores de secuencias y parámetros temporales

a.

Se requiere obtener una señal de reloj con una frecuencia de 200 MHz disponiendo de una señal de reloj de entrada de 1600 MHz. Explica el fundamento teórico y la propuesta de diseño detallando la señal de entrada, el módulo empleado y la toma de la señal generada. [3 puntos]

b.

Razona la validez de la siguiente afirmación: «Para diseñar un circuito generador de una secuencia cíclica formada por 6 dígitos hexadecimales, se pueden emplear 4 registros de desplazamiento de 6 bits combinados con puertas AND». Explica cómo debe estructurarse correctamente este tipo de generadores finitos de secuencias. [3,5 puntos]

Pregunta 4.c - Parámetros temporales en biestables · Temporización y sincronización de circuitos síncronos

Pregunta 4. Cuestiones sobre división de frecuencia, generadores de secuencias y parámetros temporales

c.

Define con precisión los conceptos de tiempo de setup (tsut_{su}), tiempo de hold (tht_h) y tiempo de propagación (tpt_p o tpcot_{pco}) para un biestable D activo por flanco ascendente y con entradas asíncronas de Preset/Clear (Set/Reset). Explica estos conceptos apoyándote en la representación temporal de un cronograma. [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 Bloque 2 - Turno Mañana (Curso 2023-2024) (2023)