Examen de Fonaments dels Computadors UAB 2018 · Parcial Bloque 2 - Curso 2018-2019

Examen de Fonaments dels Computadors de la UAB (Grado en Ingeniería Informática) 2018, Parcial Bloque 2 - Curso 2018-2019: 5 problemas con solución. Gratis.

Temas del examen: Análisis de circuitos secuenciales: cronogramas, Moore y Mealy · Síntesis de máquinas de estados finitos a partir del grafo o la tabla · 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.a · Análisis de circuitos secuenciales: cronogramas, Moore y Mealy

Pregunta 1. Análisis temporal de circuito secuencial y mecanismos de reset [10 puntos]

a.

(5 puntos) Dado el circuito secuencial síncrono con biestables tipo D mostrado en el siguiente esquema, deduce los valores y completa de forma razonada la evolución de las salidas intermedias q1q_1, q0q_0 y la salida general YY en el cronograma temporal proporcionado.

Pregunta 1.b · Temporización y sincronización de circuitos síncronos

Pregunta 1. Análisis temporal de circuito secuencial y mecanismos de reset [10 puntos]

b.

(5 puntos) Justifica conceptualmente la diferencia existente entre una señal de inicialización o puesta a cero (RESET) de carácter síncrono y una de naturaleza asíncrona. Acompaña la explicación con un cronograma ilustrativo representativo para un biestable disparado por flanco ascendente.

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

Pregunta 2 (10 puntos). Diseño de registro multifunción de 3 bits

Se desea diseñar un registro de 3 bits (q2,q1,q0q_2, q_1, q_0) que satisfaga las siguientes especificaciones:

Dispone de una entrada de carga serie IN-SERIE y tres salidas en paralelo OUT2, OUT1, OUT0.

Incorpora una entrada INIT que, al activarse, provoca la inicialización asíncrona del registro al valor binario 0112011_2.

Cuenta con una señal de habilitación de salidas OE (Output Enable) que controla las salidas en paralelo mediante búferes triestado.

Dispone de una salida indicadora val6 que se activa con nivel alto ('1') únicamente cuando el registro almacena el valor binario 1102110_2 (el número 6 en decimal).

La operación síncrona del registro se gobierna mediante dos líneas de selección, z1z_1 y z0z_0, conforme a la siguiente tabla de modos de operación:

z1z_1

z0z_0

Función

0

0

Inicialización síncrona al valor 100

0

1

División entera por 2 (desplazamiento a la derecha con entrada de un '0' por el MSB)

1

0

Desplazamiento de un bit a la izquierda. El biestable de menor peso carga el valor procedente de la entrada IN-SERIE

1

1

Inversión bit a bit (complemento a 1) del contenido actual del registro

1.

Estructura y lógica de entrada a los biestables: se emplea para cada biestable un multiplexor 4 a 1 gobernado por z1z0z_1 z_0. Indica el valor o señal conectado a cada canal de entrada de los MUX: [6 puntos]

Canal (z1z0z_1 z_0)

D2D_2 (MSB, FF2FF_2)

D1D_1 (FF1FF_1)

D0D_0 (LSB, FF0FF_0)

Canal 0 (00)

Canal 1 (01)

Canal 2 (10)

Canal 3 (11)

2.

Inicialización asíncrona al valor 0112011_2: ¿A qué entradas asíncronas de los biestables (Set / Reset) se conecta la señal INIT ? [1 punto]

3.

Salidas con tercer estado (OE): Describe la conexión y ecuación lógica de las salidas OUTiOUT_i con respecto a qiq_i y la señal de habilitación OEOE. [2 puntos]

4.

Circuito detector de valor 6 ( val6): Escribe la ecuación lógica booleana de la salida val6 en función del contenido del registro (q2,q1,q0q_2, q_1, q_0). [1 punto]

Pregunta 3 · Síntesis de máquinas de estados finitos a partir del grafo o la tabla

El sistema de ventilación de una sala se gestiona a través de dos señales de control, Z1Z_1 y Z0Z_0, que gradúan la potencia de giro de un ventilador de gran capacidad. Adicionalmente, una red de sensores monitoriza el aforo del recinto y proporciona dos líneas de entrada, A1A_1 y A0A_0. El significado de las combinaciones se detalla a continuación:

Z1Z_1

Z0Z_0

Ventilación

A1A_1

A0A_0

Aforo (personas)

Nivel deseado

0 · 0 · Parada · 0 · 0 · Inferior a 10 · Parado

0 · 1 · Mínima · 0 · 1 · Entre 10 y 25 · Mínima

1 · 0 · Media · 1 · 0 · Entre 26 y 50 · Media

1 · 1 · Máxima · 1 · 1 · Mayor a 50 · Máxima

Requisito operativo: Para evitar transiciones bruscas que dañen el motor, los cambios de potencia deben realizarse siempre de manera gradual (desde un nivel dado únicamente es posible transitar al nivel inmediatamente superior o al inmediatamente inferior en cada ciclo).

a)

[3 puntos] Enuncia de forma esquemática la secuencia de pasos a seguir para llevar a cabo el diseño metodológico de un circuito secuencial sincrónico o máquina de estados finitos (MEF).

b)

[3 puntos] Elabora el grafo de comportamiento o diagrama de transición de la máquina de estados correspondiente al control gradual del ventilador.

c)

[4 puntos] Considera el siguiente grafo de estados con entradas X,YX, Y y salida ZZ:

Diseña el sistema secuencial síncrono correspondiente detallando cada una de las fases: esquema genérico de bloques, tabla de estados y salidas, asignación binaria de estados, tabla de transiciones y obtención de las funciones lógicas no simplificadas de estado siguiente (q1+,q0+q_1^+, q_0^+) y salida (ZZ) en forma de suma de minitérminos.

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

Pregunta 4 (10 puntos). Análisis e implementación de una MEF descrita en VHDL

A partir del siguiente código VHDL que modela una máquina de estados finitos:

library ieee;

use ieee.std_logic_1164.all;

entity TriProces is

port ( clk, rst: in std_logic;

x, y: in std_logic;

z: out std_logic);

end TriProces;

architecture behavior of TriProces is

type estados is range 0 to 3;

signal cs, ns: estados;

Begin

synchroProc: process (clk, reset)

begin

if rst = '1' then cs <= 0;

elsif (clk'event and clk = '1') then

cs <= ns;

end if; end if;

end process synchroProc;

NsProc: process (cs, x, y)

Begin

ns <= cs;

case cs is

when 0 => if (not(x xor y)='1') then ns <= 1; end if;

when 1 => if (x='1') then ns <= 2; else ns <= 3; end if;

when 2 => ns <= 3;

when 3 => if ((x xor y)='1') then ns <= 0; end if;

end case;

end process NsProc;

OutProc: process (cs, x, y)

begin

case cs is

when 0 => z <= not(x xor y);

when 1 => z <= x;

when 2 => z <= y;

when 3 => z <= x xor y;

end case;

end process outProc;

end architecture behavior;

a)

Determina razonadamente si se trata de una máquina de tipo Moore o de tipo Mealy. En base a dicha clasificación, escoge el diagrama de bloques adecuado entre las dos opciones mostradas a continuación y complétalo asociando los nombres de los procesos VHDL a sus bloques correspondientes, especificando el nombre y el ancho en bits de cada una de las señales:

Moore

Mealy

Bloque / Señal del esquema

Nombre / Proceso asociado

Ancho (# bits / # FFs)

Entradas primarias

Circuito Comb. Estado Siguiente

—

Señal Estado Siguiente (hacia Memoria)

Bloque de Memoria (Proceso / FFs)

Señal Estado Actual (retroalimentación)

Circuito Comb. Salidas

—

Salida generada

b)

Diseña la implementación circuital directa del proceso combinacional NsProc empleando preferentemente multiplexores (MUX) y las puertas lógicas que resulten estrictamente necesarias.

c)

Dibuja el grafo de transición de estados formal correspondiente al autómata modelado por dicha descripción VHDL.

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 2018

Examen Parcial Bloque 2 (Curso 2018-2019) (2018)