Download Máquina de estado.

Document related concepts
no text concepts found
Transcript
Universidad de Costa Rica
Maestría en Computación e Informática.
Tarea de máquinas de estado
1. Se desea construir una calculadora de 2 bits que almacene el último dato
calculado para ser sumado con otro número de 2 bits proveniente de la
entrada. La calculadora funcionará con las reglas de la aritmética de un
acumulador abierto (en complemento a 2, o en módulo 4). Los bits del
resultado se almacenarán en 2 Flip Flops JK llamados A y B, siendo A el bit
de la izquierda (más significativo). El dato de entrada viene en 2 variables
llamadas X y Y, con X la posición más significativa. Para efectos de
inicializar la calculadora, existirá una línea R de “reset” que se activa en
bajo. La salida de la calculadora se tomará directamente del estado de los
Flip Flops.
a) Dibuje una máquina de estados para representar este problema. No
considere R para efectos de este diagrama. (10 puntos)
b) Construya la tabla de excitación de este problema (10 puntos)
c) Encuentre las ecuaciones de excitación para las entradas de los Flip
Flops, de modo que sean lo más simples posibles. La simpleza se
mide principalmente por el número de compuertas AND y ORD
que usted utilice. (20 puntos)
d) Haga un diagrama del circuito que incluya los Flip Flops A y B,
entradas X, Y, R, reloj, compuertas AND, OR, NOT, Leds y
resistencias. Debe utilizar 2 leds para monitorear las entradas X, Y,
2 leds para las salidas. (10 puntos)
e) Adicional (puntos extra, 10 puntos). Como es incómodo estar
sujetos a los pulsos del reloj, construya un interruptor sin rebote
que permita al usuario colocar los valores X, Y con tranquilidad y
luego presionar un contacto manual para realizar la suma.
Tabla de excitación de FF JK
Q(t)
0
0
1
1
Q(t+1) J K
0
0 X
1
1 X
0
X 1
1
X 0
2. Se debe diseñar un circuito de prioridad de 4 líneas de entrada de prioridad
(P0, P1, P2, P3) y 4 salidas de prioridad (S0, S1, S2, S3) y una salida de
error E, que pueda crecer modularmente. Todas las líneas se activan en alto
y P= representa la máxima prioridad. Tal circuito funciona así:
a) Si varios valores de entrada están activos, el circuito debe detectar
el de mayor prioridad activa en ese momento e indicarlo mostrando
la respectiva línea de salida de prioridad.
M. Sc. Sanders A. Pacheco Araya
Universidad de Costa Rica
Maestría en Computación e Informática.
b) Por ejemplo, si (P0, P1, P2, P3) = 0,1,1,0 entonces la salida (S0,
S1, S2, S3) = 0,1,0,0, y E = 0, puesto que la mayor prioridad en ese
momento es P1.
c) Si todas las entradas fueran 0,0,0,0, entonces E = 1 para indicar que
hay un error al no poderse determinar una prioridad.
Su circuito debe poder expandirse de forma modular, esto significa,
que debe ser posible empacarlo en un chip (como caja negra) y
conectar varios de éstos módulos para formar un circuito mayor, sin
requerir de hardware adicional.
1. Diseñe su circuito y explique su funcionamiento. (35 p)
2. Si se desea obtener una salida que indique en representación
binaria pura (sin signo) la posición de la línea de entrada de mayor
prioridad. ¿cómo modificaría su circuito?. (15 P)
M. Sc. Sanders A. Pacheco Araya