You are on page 1of 27

Cuaderno de pr acticas de la asignatura Laboratorio de Tecnolog a de Computadores

Jos e Luis Risco Mart n Jos e Miguel Montanana

ii

Indice general
1. Sumador/Restador 1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Realizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Simulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Conversor de c odigo 2.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Realizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Simulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5. Anexo: C odigo Gray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Reconocedor de secuencias 3.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Realizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Simulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Generador de secuencias 4.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Realizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Simulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Ascensor iii 1 1 1 1 2 3 3 3 3 3 4 5 5 5 6 6 7 7 7 7 9

iv

INDICE GENERAL 5.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Realizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. Simulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 10 11 11 11 11 12 13 13 13 13 14 15 15 15 16 16 17 17 17 18 18 19 21 21 21

6. N umeros primos y m ultiplos de siete 6.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2. Realizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3. Simulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7. Generador de secuencias 7.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2. Realizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3. Simulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4. M odulos disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8. M aquina tragaperras 8.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2. Realizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3. Simulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4. M odulos disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9. Algor tmico 9.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2. Realizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3. Simulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4. M odulos disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5. Algoritmos necesarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.Circuito as ncrono 10.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2. Realizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

INDICE GENERAL 10.3. Simulaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

v 21

vi

INDICE GENERAL

Pr actica 1

Sumador/Restador
1.1. Objetivos

1. Dise nar una red iterativa combinacional que realice la suma de 2 n umeros de 2 bits en binario. 2. Dise nar un sumador/restador para n umeros de 4 bits en complemento a 2 usando un sumador binario.

1.2.

Realizaci on

1. El dise no constar a de 2 celdas iguales, cada una para realizar la suma de uno de los bits. Para realizar el circuito vamos a utilizar puertas l ogicas: XOR (7486) y NAND (7400, 7410). 2. Usaremos un sumador binario de 4 bits (7483) y puertas l ogicas para la funci on de complemento en caso de resta y para el desbordamiento: XOR, NAND, NOT (7404).

1.3.

Simulaci on

Hacer el dise no en papel y luego implementarlo utilizando Xilinx para ejecutar varias simulaciones. En el caso del apartado a), dise nar primero un elemento de la red iterativa, generar un s mbolo a partir de este, y dise nar entonces el sumador nal combinando dos s mbolos. Cuando se obtenga el resultado esperado, realizar el dise no en el entrenador. Los s mbolos necesarios para dise nar los esquem aticos son: XOR: XOR2 NAND: NAND2, NAND3 NOT: INV 1

PRACTICA 1. SUMADOR/RESTADOR Sumador de 4 bits: ADD4. El sumador ADD4 incorpora, al contrario que el CI 7483, una salida de desbordamiento llamada OFL. Ignorar esta salida.

1.4.

Pruebas

Realizar las siguientes pruebas, tanto en el simulador como en el entrenador, para vericar que todo funciona correctamente: 1. Vericar primero un elemento de la red iterativa (el s mbolo generado en el caso de Xilinx), para todos los posibles valores de las entradas. Finalmente, vericar el dise no completo, con los siguientes valores: 1 + 1 = 2, 1 + 2 = 3, 3 + 3 = 2 (acarreo de salida) 2. Vericar el dise no con las siguientes pruebas: 3 + 4 = 7, 5 + (-2) = 3, (-3) + (-4) = -7, 3 - (-4) = 7, 5 - 2 = 3, (-3) - 4 = -7 6 + 3 = 9 (Desbordamiento), (-7) + (-7) = -14 (Desbordamiento) 6 - (-3) = 9 (Desbordamiento), (-7) - 7 = -14 (Desbordamiento)

Pr actica 2

Conversor de c odigo
2.1. Objetivo

Dise nar un sistema combinacional que realice la conversi on de c odigo Gray de 4 bits a binario.

Conversor codigo Gray a binario

2.2.

Realizaci on

Para realizar el circuito utilizaremos multiplexores 4 a 1 (74153) y puertas NAND (7400).

2.3.

Simulaci on

Los s mbolos necesarios para dise nar el esquem atico son: Multiplexores 4 a 1: M4 1E Entradas constantes: VCC, GND El resto de s mbolos est an enumerados en pr acticas anteriores.

2.4.

Pruebas

Comprobar las 16 conversiones, tanto en el simulador como en el entrenador, para vericar que todo funciona correctamente. Por ejemplo: 3

4 Entrada 0100 1000 1100

PRACTICA 2. CONVERSOR DE CODIGO Salida 0111 1111 1000

2.5.

Anexo: C odigo Gray

El C odigo Gray es un caso particular de c odigo binario (patentado por Frank Gray en 1953). n Consiste en una ordenaci on de 2 n umeros binarios de tal forma que cada n umero s olo tenga un d gito binario distinto a su predecesor. Un c odigo Gray de 2 bits ser a: 00 01 11 10 Una forma sencilla de construir un c odigo Gray de n bits es utilizar un c odigo Gray de n 1 bits y a nadirle un cero por la izquierda. A continuaci on para completar el c odigo Gray a nadiremos un 1 por la izquierda al c odigo Gray de n 1 bits empezando por el u ltimo elemento. De este modo, podremos obtener un c odigo Gray de 3 bits a partir del c odigo de 2 bits denido arriba. 0 0 0 0 1 1 1 1 00 01 11 10 10 11 01 00

Esta t ecnica de codicaci on se origin o cuando los circuitos l ogicos digitales se realizaban con v alvulas de vac o y dispositivos electromec anicos. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simult aneamente. El uso de c odigo Gray garantiz o que en cualquier transici on variar a tan s olo un bit. En la actualidad, el c odigo Gray se sigue empleando para el dise no de cualquier circuito electr onico combinacional mediante el uso de un Mapa de Karnaugh, ya que el principio de dise no de buscar transiciones m as simples y r apidas entre estados sigue vigente, a pesar de que los problemas de ruido y potencia se hayan reducido.

Pr actica 3

Reconocedor de secuencias
3.1. Objetivo

Dise nar un reconocedor de n umeros de 4 bits que pertenezcan al intervalo 0100-1011.

reset

Reconocedor

estado salida

bit
01001011

clk

3.2.

Realizaci on

Se trata de dise nar un circuito secuencial capaz de reconocer si la entrada (un n umero de 4 bits que se recibe a trav es de una l nea serie durante 4 ciclos consecutivos) est a en el intervalo 0100-1011. Para realizar el dise no se estudiar an dos posibilidades seg un el orden de llegada de los bits: que el primer bit sea el m as signicativo o que sea el menos signicativo. Se realizar an las m aquinas de estados de cada caso y se seleccionar a la m as sencilla para realizar la implementaci on nal. La llegada de los bits est a sincronizada por una se nal de reloj. La salida ser a 1 cuando se produzca la llegada del cuarto bit y el n umero est e en el intervalo especicado. En todos los dem as casos ser a cero. 5

PRACTICA 3. RECONOCEDOR DE SECUENCIAS

Cada cuatro pulsos de reloj el circuito volver a autom aticamente al estado inicial. El circuito debe tener una entrada as ncrona (reset) que permita llevarlo al estado inicial. El estado del circuito se podr a visualizar en los leds para facilitar la depuraci on. Para la pr actica se pueden utilizar cualquier tipo de puertas de 2 y 3 entradas, biestables tipo D (7474) e inversores. Para las entradas tanto la serie, como la de reloj, como la de reset se deben utilizar los conmutadores. Los pulsos de reloj tambi en se introducir an utilizando un conmutador.

3.3.

Simulaci on

Hacer el dise no en papel y luego implementarlo utilizando Xilinx para ejecutar varias simulaciones. Cuando se obtenga el resultado esperado, realizar el dise no en el entrenador. Los s mbolos necesarios para dise nar los esquem aticos son: Biestable D, con clear y preset: FDCP Puertas AND, OR, NOT, ...: AND2, AND3, OR2, OR3, INV, ... El resto de s mbolos est an enumerados en pr acticas anteriores.

3.4.

Pruebas

Realizar cuatro pruebas al azar, de forma que dos de ellas pertenezcan al intervalo y las otras dos no.

Pr actica 4

Generador de secuencias
4.1. Objetivo

Dise nar un generador de secuencia s ncrono.

4.2.

Realizaci on

Utilizando biestables JK (7476), dise nar un contador s ncrono descendente m odulo 10 con entrada reset que genere la cuenta (en binario) 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 9, 8, . . . La salida deber a coincidir con el estado, es decir, que si el estado actual es S7 , la salida ser a 0111. Al pulsar reset, el contador volver a a 9. Utilizando el contador anterior y a nadiendo las puertas l ogicas necesarias, realice un generador de secuencia s ncrono que produzca, de forma c clica, la siguiente secuencia de salida Z = 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, . . .

4.3.

Simulaci on

Hacer el dise no en papel y luego implementarlo utilizando Xilinx para ejecutar una simulaci on. Cuando se obtenga el resultado esperado, realizar el dise no en el entrenador. Los s mbolos necesarios para dise nar los esquem aticos son: Biestable JK: El CI 7476 contiene JKs con se nales clear y preset as ncronas. Por ello, en Xilinx habr a que combinar el uso de FJKC y FJKP, dependiendo de si el JK se quiere poner a 0 al pulsar reset (FJKC) o si se quiere poner a 1 (FJKP). El resto de s mbolos est an enumerados en pr acticas anteriores.

PRACTICA 4. GENERADOR DE SECUENCIAS

Pr actica 5

Ascensor
5.1. Objetivo

Dise no modular de un sistema secuencial s ncrono que funciona como un ascensor.

5.2.

Realizaci on

Utilizando un contador ascendente/descendente (74169) y puertas l ogicas habr a que construir un circuito secuencial que act ue como un ascensor. El bloque b asico del sistema ser a el contador, cuya salida S coincide con la salida del circuito. El ascensor constar a, adem as, de una entrada externa A de 3 bits. En todo momento la entrada es comparada con la salida, de modo que: Si A=S, el contador no har a nada, lo que es equivalente a decir que el ascensor se encuentra en el piso en el que estamos. Si A>S, el ascensor tiene que subir, con lo cual se activar a la cuenta ascendente del contador hasta que A=S, par andose en ese momento. Si A<S, entonces el ascensor tendr a que bajar, de modo que se activar a la cuenta descendente del contador de nuevo hasta que A=S. Mostrar la salida y la entrada del circuito en los displays 7 segmentos. Para comparar las entradas A y S se puede utilizar un sumador de 4 bits (7483).

5.3.

Simulaci on

Hacer el dise no en papel y luego implementarlo utilizando Xilinx para ejecutar varias simulaciones. Cuando se obtenga el resultado esperado, realizar el dise no en el entrenador. Los s mbolos necesarios para dise nar los esquem aticos son: 9

10 Contador ascendente/descendente: CB4CLED

PRACTICA 5. ASCENSOR

El resto de s mbolos est an enumerados en pr acticas anteriores.

5.4.

Pruebas

Realizar las siguientes peticiones al ascensor (tanto en el simulador como en el entrenador), en el orden dado: 0, 7, 0, 3, 3, 6, 1

Pr actica 6

N umeros primos y m ultiplos de siete


6.1. Objetivo

Dise no modular de un sistema secuencial s ncrono usando m odulos est andar.

6.2.

Realizaci on

La pr actica constar a de dos partes: 1. Dise nar un sistema secuencial utilizando un registro de desplazamiento (74194). El sistema tendr a una entrada serie A (el primer bit que entra es el menos signicativo) que tras 4 ciclos de reloj aparecer a almacenada en el registro. Una vez cargado el registro, comprobar si su salida corresponde a un n umero primo o a un n umero m ultiplo de 7. Las salidas de ambos reconocedores deber an ir cada una a un led de modo que este se iluminar a tras 4 pulsos de reloj si el n umero es primo o si es m ultiplo de 7. 2. Introducir en el circuito anterior una entrada de control externa C, que tras 4 pulsos de reloj, har a que si C=0 y el n umero es primo se incremente un contador (74169) en una unidad, y si C=1 y el n umero es m ultiplo de 7 se decremente el contador. La salida del contador ser a otra de las salidas del sistema y se visualizar a en uno de los displays 7 segmentos.

6.3.

Simulaci on

Hacer el dise no en papel y luego implementarlo utilizando Xilinx para ejecutar varias simulaciones. Cuando se obtenga el resultado esperado, realizar el dise no en el entrenador. Los s mbolos necesarios para dise nar los esquem aticos son: Registro de desplazamiento: SR4CLED El resto de s mbolos est an enumerados en pr acticas anteriores. 11

12

PRACTICA 6. NUMEROS PRIMOS Y MULTIPLOS DE SIETE

6.4.

Pruebas

Realizar las siguientes pruebas, tanto en el simulador como en el entrenador1 : 1. 0000 (0-0), 0010 (1-0), 0011 (1-0), 0100 (0-0), 0111 (1-1), 1110 (0-1) 2. C=0, 0000 (0-0-0000), 0001 (0-0-0000), 1011 (1-0-0001), 0010 (1-0-0010) 3. C=1, 0011 (1-0-0010), 0111 (1-1-0001), 1110 (0-1-0000), 0111 (1-1-????)

1 Los n umeros se representan en orden (de m as a menos signicativo). La salida se indica entre par entesis (primo, m ultiplo de 7, estado del contador en el apartado 2)

Pr actica 7

Generador de secuencias
7.1. Objetivo

Dise no e implementaci on de un sistema secuencial s ncrono sobre FPGAs.

7.2.

Realizaci on

La pr actica constar a de dos partes: 1. Generador de secuencias en los leds: Se debe dise nar un circuito que genere una secuencia de tal forma que se visualice en la placa un led encendido que va desplaz andose al siguiente cada segundo. Para saber cu ando ha pasado un segundo se utilizar a un divisor de frecuencias que se encuentra disponible en el Campus Virtual. Las entradas del circuito ser an reset, reloj y cambio y las salidas los 8 leds. Al empezar todos los leds estar an apagados, al detectarse un anco de cambio se encender a el primer led, pasado un segundo el segundo led, y as sucesivamente mientras no se detecte ning un anco en la entrada cambio. Un anco en la entrada cambio retornar a el sistema al estado inicial (todos los leds apagados). 2. Generador de secuencias en un display 7-segmentos: Se debe a nadir al circuito anterior la posibilidad de elegir entre dos secuencias a visualizar. La primera secuencia es la explicada en el apartado anterior. La segunda secuencia es sobre un display 7-segmentos, mostrando un segmento encendido, que va rotando al segmento adyacente cada segundo. Inicialmente todos los leds y segmentos del display estar an apagados. Al detectarse un anco en cambio se comenzar a a visualizar la primera secuencia. Al siguiente anco se pasar a a la segunda y un tercer anco retornar a el sistema al estado inicial.

7.3.

Simulaci on

Hacer el dise no en papel y luego sintetizarlo utilizando la herramienta ISE. Es imprescindible realizar una simulaci on de cada uno de los apartados, durante la cual se pueda demostrar que 13

14

PRACTICA 7. GENERADOR DE SECUENCIAS

funciona para todas las posibles combinaciones de las entradas. Se recuerda que para simular es necesario quitar el divisor de frecuencias, y s olo cuando se haya terminado de simular y se est e seguro de que el circuito funciona, se a nadir a el divisor de frecuencias y se generar a el mapa de bits para volcarlo sobre la FPGA.

7.4.

M odulos disponibles

Para la realizaci on de los circuitos se dispone de los siguientes m odulos: Pads de entrada salida IBUF y OBUF (no utilizar IBUF4 ni OBUF4) Biestables D con se nal de clear as ncrona FDC Registros de 4 bit con se nal de reset s ncrona y capacitaci on CE (se nal de carga) FD4RE y entrada paralela de 4 bits. Contadores m odulo 16 con se nal de reset s ncrona y se nal de cuenta (RE) CB4RE. Descodicador de 3 entradas D3 8E. Registro con desplazamiento de 8 bits con se nal de capacitaci on y reset s ncrono SR8RE. Multiplexores del tama no necesario (M2 1E, M4 1E, M8 1E) Puertas l ogicas. (AND, INV, OR, XOR . . . ) Pueden utilizarse otros m odulos disponibles en las bibliotecas de Xilinx

Pr actica 8

M aquina tragaperras
8.1. Objetivo

Dise no e implementaci on de un sistema secuencial s ncrono modular sobre FPGAs.

8.2.

Realizaci on

La pr actica constar a de dos partes: 1. M aquina tragaperras con 2 premios: Se debe dise nar un circuito que genere tres n umeros aleatorios de 2 bits. Las entradas del circuito ser an jugar, reset, y reloj y las salidas Num1, Num2, Num3 (de 2 bits cada uno, que se visualizan en el banco de leds) y dos premios nal de Premio grande y Premio medio (que se visualizan en los display 7 segmentos). La se reset inicializa todos los registros y contadores a 0.
reset

2 2 jugar 2

Num1 Num2 Num3 Premio_grande Premio_medio

reloj

El anco de bajada de la entrada jugar se utiliza para generar tres n umeros aleatorios: el primer anco de bajada genera el 1er n umero (Num1 ), el segundo anco de bajada el segundo (Num2 ) y el 3er anco de bajada el 3er n umero (Num3 ). Los 3 n umeros se visualizan en los leds (2 bits por numero, en total 6 leds). Los premios por la jugada son: 15

16

PRACTICA 8. MAQUINA TRAGAPERRAS Premio grande: los 3 n umeros son iguales Premio medio: hay 2 n umeros iguales Si el premio es el grande se enciende el segmento superior de un display 7 segmentos. Si el premio es el medio se enciende s olo el segmento central. Hasta que no se generan los 3 n umeros no se visualiza el premio. Se puede jugar de nuevo volviendo a generar un anco de bajada de la entrada jugar. 2. M aquina tragaperras con luces intermitentes: Hay que modicar el dise no anterior para que si el premio es el grande se encienden y apagan todos los leds del display 7 segmentos menos el central con una frecuencia de aproximadamente 1Hz. Si el premio es el medio se enciende y apaga s olo el segmento central.

8.3.

Simulaci on

Hacer el dise no en papel y luego sintetizarlo utilizando la herramienta ISE. Es imprescindible realizar una simulaci on de cada uno de los apartados, durante la cual se pueda demostrar que funciona para todas las posibles combinaciones de las entradas. Se recuerda que para simular es necesario quitar el divisor de frecuencias, y s olo cuando se haya terminado de simular y se est e seguro de que el circuito funciona, se a nadir a el divisor de frecuencias y se generar a el mapa de bits para volcarlo sobre la FPGA.

8.4.

M odulos disponibles

Para la realizaci on de los circuitos se dispone de los siguientes m odulos: Pads de entrada salida IBUF y OBUF (no utilizar IBUF4 ni OBUF4) y BUFG Biestables D con se nal de clear as ncrona y capacitaci on FDCE Contadores m odulo 4 con se nal de clear as ncrona, se nal de cuenta (CE) y se nal de carga (L) CB2CLE. Comparador de 2 bits COMP2 Puertas l ogicas. (AND, INV, OR, XOR . . . ) Divisor de frecuencias para generar una frecuencia de 1Hz Registro con desplazamiento de 4 bits con se nal de capacitaci on y clear as ncrono SR4CE

Pr actica 9

Algor tmico
9.1. Objetivo

Dise no algor tmico con FPGAs.

9.2.

Realizaci on
Dir Dato L/E Modo Reset 3 8 8 Dato[Dir]

Reloj

Dise nar un sistema que deber a ser capaz de realizar las siguientes operaciones: En un modo interactivo, el usuario podr a introducir cuatro valores de 8 bits (A, B, C y D). Los elementos se ubicar an en las posiciones de memoria de la 0 a la 3. En este modo el usuario podr a leer cualquier dato de la memoria visualiz andolo en los LEDS. En un modo de ejecuci on, la ruta de datos realizar a cuatro c alculos sobre los valores anteriores, almacenados en las posiciones de memoria de la 4 a la 7, estos son: M aximo com un divisor de A y B M aximo de C y D M nimo de C y D Suma de C y D 17

18

PRACTICA 9. ALGOR ITMICO

Los cuatro resultados se podr an inicializar a cero de forma manual en el modo interactivo. Algunas consideraciones: El modo (interactivo/ejecuci on) viene determinado por la entrada Modo. Se podr a escribir un dato en la direcci on de memoria especicada cuando, estando en modo interactivo, se detecte un anco en la entrada L/E. Esta entrada vendr a dada por un conmutador (switch). Hacer el dise no en papel. cada grupo deber a presentar al profesor una planicaci on de las operaciones, en la que se describa cuantos ciclos se necesitan para realizar las operaciones y qu e puntos de control se activan en cada ciclo. Posteriormente sintetizar el dise no utilizando la herramienta ISE.

9.3.

Simulaci on

Se recuerda que para simular es necesario quitar el divisor de frecuencias, y s olo cuando se haya terminado de simular y se est e seguro de que el circuito funciona, se a nadir a el divisor de frecuencias y se generar a el mapa de bits para volcarlo sobre la FPGA. Realizar las siguientes pruebas, tanto en el simulador como en la FPGA: (A,B,C,D) = (32, 64, 65, 129), RAM(4-7) = (32, 129, 65, 194) (A,B,C,D) = (103, 113, 96, 18), RAM(4-7) = (1, 96, 18, 114) (A,B,C,D) = (120, 96, 13, 13), RAM(4-7) = (24, 13, 13, 26)

9.4.

M odulos disponibles

La ruta de datos de este sistema puede implementarse con los siguientes elementos: Memoria RAM con 16 palabras de 8 bits (RAM16X8S). En este m odulo la lectura de los elementos es as ncrona. Sumadores (ADD8), para calcular la suma de los elementos y el c alculo del m aximo com un divisor. 2 Comparadores (COMPM8), para calcular valores m nimos y m aximos. Registros (FD8CE) Contadores Multiplexores, biestables D y puertas l ogicas

9.5. ALGORITMOS NECESARIOS

19

9.5.

Algoritmos necesarios

Algoritmo del m aximo com un divisor: // Versi on recursiva int mcd(int a, int b) { if(a==b) return a; else if(a>b) return mcd(a-b,b); else return mcd(b,b-a); } // Versi on iterativa int mcd(int a, int b) { int t; while (a!=b) { if(a>b) a = a - b; else { t = a; a = b; b = b - t; } } return a; }

20

PRACTICA 9. ALGOR ITMICO

Pr actica 10

Circuito as ncrono
10.1. Objetivo

Dise no e implementaci on de un sistema as ncrono en el entrenador.

10.2.

Realizaci on

Un circuito as ncrono controla la barrera de entrada a un aparcamiento. El circuito recibe dos entradas: el Bot on de apertura de la barrera y el Sensor que detecta si el coche est a pasando a trav es de la barrera. El sistema tiene una salida Abierta, que vale 0 si la barrera est a cerrada y 1 si est a abierta (considerar que se abre y cierra instant aneamente). El comportamiento del sistema es el siguiente: la barrera est a cerrada hasta que se pulse el Bot on. Entonces se abre la barrera y se queda abierta hasta que detecte que el coche ha terminado de entrar. Cuando el coche ha entrado se cierra la barrera y se puede volver a pulsar el Bot on si otro coche quiere entrar. Nota: no puede pasar un coche si la barrera est a cerrada. Se supone que el Bot on se deja de pulsar antes de que el coche empiece a entrar. Hacer la tabla de ujo primitiva, minimizar el n umero de estados y presentar la tabla de ujo nal donde se especiquen las transiciones de estado y las salidas. A continuaci on implementarlo con inversores, puertas and de 2 entradas (7408) y or de 2 entradas (7432) eliminando las carreras y riesgos est aticos.

10.3.

Simulaci on

Hacer el dise no en papel y luego implementarlo utilizando Xilinx para ejecutar varias simulaciones. Cuando se obtenga el resultado esperado, realizar el dise no en el entrenador. S olo se necesitan utilizar puertas INV, AND y OR.

21