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