Examen de Fonaments dels Computadors UAB 2022 · Parcial Bloque 2 (Turno de Tarde) - Curso 2022-2023

Examen de Fonaments dels Computadors de la UAB (Grado en Ingeniería Informática) 2022, Parcial Bloque 2 (Turno de Tarde) - Curso 2022-2023: 4 problemas con…

Temas del examen: 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

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

Pregunta 1 [2,5 puntos]. Diseño de circuito secuencial mediante grafo y multiplexores

Diseña un circuito secuencial sincrónico que implemente el comportamiento indicado en el siguiente grafo de estados. El circuito debe incorporar la capacidad de inicializarse al estado E.

Para la síntesis debes cumplir con los siguientes requisitos:

Añade una breve explicación conceptual del procedimiento llevado a cabo en cada paso.

Emplea la asignación de estados: A↔0A \leftrightarrow 0, B↔1B \leftrightarrow 1, C↔2C \leftrightarrow 2, D↔3D \leftrightarrow 3, E↔4E \leftrightarrow 4.

Para la implementación de las funciones booleanas de nn variables, emplea multiplexores de orden n−1n - 1.

a)

Obtén a partir del diagrama la tabla de transición de estados y la tabla de salidas del modelo (Moore).

b)

Asigna los códigos binarios a cada uno de los estados según la pauta facilitada.

c)

A partir de las tablas codificadas, formula las ecuaciones de entrada a los biestables tipo D (funciones de estado siguiente) y las salidas del sistema.

d)

Dibuja el esquema eléctrico del circuito resultante empleando biestables D (ecuación característica q+=Dq^+ = D) y multiplexores.

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

Pregunta 2 (2,5 puntos). Generador de secuencia cíclica hexadecimal

Supón que se desea diseñar un generador para emitir de forma cíclica una secuencia concreta fija de 17 dígitos hexadecimales a través de una salida denominada Out. Responde de forma razonada a las siguientes cuestiones:

a)

Determina el número de estados y de flip-flops estrictamente necesarios para implementar el sistema mediante la metodología clásica de máquinas de Moore. Dibuja el diagrama de bloques genérico identificando las partes (CC1, Memoria, CC2), el nombre y número de líneas de cada bus, su carácter combinacional o secuencial y el cometido de cada bloque. [3 puntos]

b)

Si se utilizase un contador de secuencia recortada para abordar el diseño, ¿cuántos bits debería tener dicho contador y cuál sería su valor de recorte? Razona la respuesta. [3 puntos]

c)

Compara y razona cuál de las dos soluciones anteriores resultaría más costosa respecto al número de puertas lógicas en la parte combinacional y al número de flip-flops en la parte secuencial. [3 puntos]

d)

Si se intentase resolver el problema utilizando exclusivamente un registro de desplazamiento con puertas lógicas, ¿cuántos flip-flops harían falta y cuántas puertas AND con qué número de entradas se requerirían? [1 punto]

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

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

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

Pregunta 4 (2,5 puntos). Registro de desplazamiento con carga paralela y lógica de control

Dado el registro de desplazamiento de 6 bits de la figura:

Se observa que cuando la señal de control Load/shift está a 0 se realiza la carga paralela del bus de entrada in[5..0]in[5..0], mientras que cuando está a 1 opera en modo desplazamiento insertando un '1' por el bit más significativo (q5q_5). Además, nótese que los tres biestables inferiores (q2,q1,q0q_2, q_1, q_0) reciben la salida invertida (Q‾\overline{Q}) de la etapa precedente.

a)

Completa el cronograma indicando el valor binario que toma la salida output=[q5,q4,q3,q2,q1,q0]output = [q_5, q_4, q_3, q_2, q_1, q_0] (en 6 bits) a lo largo de los 9 ciclos de reloj posteriores a la desactivación del reset:

Ciclo 1

Ciclo 2

Ciclo 3

Ciclo 4

Ciclo 5

Ciclo 6

Ciclo 7

Ciclo 8

Ciclo 9

b)

Describe y dibuja las modificaciones mínimas necesarias en el circuito para incluir una señal de inicialización asíncrona INIT activa a nivel alto que, en lugar de borrar el registro, fije el valor decimal 45 como estado inicial.

c)

Diseña y dibuja el circuito combinacional adicional que permita generar una señal de salida de un bit denominada ALARMA, la cual debe activarse cuando el registro presente a la salida los valores decimales 33 o 10.

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