Vous êtes sur la page 1sur 40

BENEMRITA UNIVERSIDAD AUTNOMA DE PUEBLA INGENIERA EN CIENCIAS DE LA COMPUTACIN SISTEMAS DIGITALES PRCTICA 2 ALU (Unidad Lgica Aritmtica) EN VHDL

IMPLEMENTACION EN SPARTAN 6 PROFESOR: BUSTILLO DAZ MARIO ALUMNOS: LVAREZ PREZ YOLANDA ANDREA HERNNDEZ MORALES JORGE ANTONIO MARTNEZ ESCOBAR ENRIQUE MARTNEZ GUTIRREZ IRMA CAROLINA PRIMAVERA 2013 CALIFICACIN:_____

I.- INTRODUCCIN
Actualmente, los sistemas digitales son muy utilizados y variados para diferentes tipos de aplicaciones, tales como en la industria y en los equipos electrnicos. Debido a esto, es sumamente importante conocer el

funcionamiento y las aplicaciones de los diferentes tipos de sistemas digitales que existen hoy en da. De esta forma, nosotros, como estudiantes, podremos desarrollar la habilidad y capacidad de aplicar dichos conocimientos y trabajar con ellos sin dificultad alguna.

Bsicamente, un circuito secuencial con reloj consiste en un grupo de flip-flops y compuertas combinacionales conectados para formar un camino de retroalimentacin. Los flip-flops son indispensables porque, sin ellos, el circuito se reduce a un circuito puramente combinacional (suponiendo que no haya retroalimentacin entre las compuertas). Un circuito con flip-flops se considera secuencial aunque no tenga compuertas combinacionales. Los circuitos que incluyen flip-flops, por lo regular se clasifican segn la funcin que desempean, ms que por el nombre del circuito secuencial. Dos de esos circuitos son los registros y los contadores.

Un registro es un grupo de flip-flops. Cada flip-flop puede almacenar un bit de informacin. Un registro de n bits consiste en un grupo de n flip-flops capaces de almacenar n bits de informacin binaria. Adems de los flip-flops, un registro puede tener compuertas combinacionales que realizan ciertas tareas de procesamiento de datos. En su definicin ms amplia, un registro consiste en un grupo de flip-flops y compuertas que efectan su transicin. Los flip-flops contienen la informacin binaria y las compuertas determinan cmo esa informacin se transfiere al registro.

Un contador es bsicamente un registro que pasa por una sucesin predeterminada de estados. Las compuertas del contador estn conectadas de tal manera que producen la sucesin prescrita de estados binarios. Aunque los contadores son un tipo especial de registros, es comn distinguirlos dndoles otro nombre.

Uso de los contadores Es importante conocer las aplicaciones de los contadores, ya que de esta manera, se puede hacer uso de los conocimientos adquiridos acerca de los contadores: Generadores de secuencias. En muchas ocasiones se utilizan un oscilador junto con un contador para generar todas las seales de control que gobiernan un sistema digital. Divisores de frecuencia. La capacidad de divisin es igual al mdulo del contador. Conversin de datos formato paralelo a serie. Para esta aplicacin se utiliza el contador junto con un multiplexor. Las salidas del contador se conectan a las entradas de seleccin de canal del multiplexor, y en cada ciclo de reloj aparecer en la salida del multiplexor uno de sus canales de entrada. Implementacin de sistemas secuenciales sncronos. Mediante un contador podemos generar los estados internos necesarios para implementar cualquier sistema asncrono.

En la seccin II. Marco terico se presenta ms informacin acerca de los contadores, especialmente de los contadores sincrnicos (Contador binario y contador binario ascendente y descendente), ya que son estos los conocimientos bsicos que se requieren para la realizacin y comprensin de la prctica.

II.- MARCO TERICO


Los contadores sincrnicos difieren de los de rizo en que se aplican pulsos de reloj a las entradas de todos los flip-flops. Un mismo reloj dispara todos los flipflops simultneamente en vez de hacerlo uno por uno sucesivamente como en los contadores de rizo. La decisin de su un flip-flop debe complementarse o no depende de los valores de las entradas de datos, como T o J y K, en el momento en que llega el borde de reloj. Si T=0 o J=K=0, el flip-flop no cambia de estado. Si T=1 o J=K=1, el flip-flop se complementa.

Contador Binario. En un contador binario sincrnico, el flip-flop de la posicin menos significativa se complementa con cada pulso. Un flip-flop en cualquier otra posicin se complementa cuando todos los bits de las posiciones significativas inferiores son 1. Ejemplo: Si el estado actual de un contador de cuatro bits es A 3A2A1A0 = 0011, el siguiente conteo ser 0100. A0 siempre se complementa. A1 se complementa porque el estado actual de A0=1. A2 se complementa porque el estado actual de A1A0= 11. En cambio, A3 no se complementa porque el estado actual de A2A1A0 = 011, y no cumple la condicin de todos unos. Los contadores binarios sincrnicos tienen un patrn regular y se pueden construir con flip-flops complementadores y compuertas. El patrn regular se distingue en el contador que se presenta en la Figura 2.1. Las entradas CLK de todos los flip-flops se conectan a un reloj comn. El contador se habilita con la entrada de Habilitar conteo. Si esa entrada es 0, todas las entradas J y K son 0 y el reloj no cambia el estado del contador. La primera etapa de A 0 tiene 1 en su J y en su K si el contador est habilitado. Las otras entradas J y K tienen 1 si todas las etapas anteriores, menos significativas, producen 1 y el conteo est habilitado. La cadena de compuertas AND genera la lgica requerida para las entradas J y K de cada etapa. El contador puede extenderse a cualquier cantidad de etapas, cada una de las cuales tiene un flip-flop adicional y una compuerta AND que produce una salida de 1 si las salidas de todos los flipflops anteriores son 1.

Figura 2.1 Contador binario sincrnico de 4 bits

Contador Binario ascendente-descendente Un contador binario sincrnico de cuenta regresiva pasa por los estados binarios en el orden inverso, de 1111 hasta 0000, pasando despus a 1111 para repetir el conteo. El bit de la posicin menos significativa se complementa con cada pulso. Un bit en cualquier otra posicin se complementa si todos los bits menos significativos son cero. Ejemplo:

El estado que sigue al estado actual 0100 es 0011. El bit menos significativo siempre se complementa. El segundo bit hacia la izquierda se complementa porque el primero es 0. El tercero se complementa

porque los dos primeros son 0. El cuarto bit, en contraste, no cambia porque no todos los bits menos significativos son 0.

En la Figura 2.2 se puede observar el circuito de un contador binario ascendente-descendente que utiliza flip-flops T. Tiene una entrada de control para conteo ascendente y una entrada de control para conteo descendente. Cuando la entrada arriba es 1, el circuito cuenta hacia arriba, porque las entradas T reciben sus seales de las salidas normales de los flip-flops anteriores. Cuando la entrada abajo es 1 y la entrada arriba es 0, el circuito cuenta hacia abajo, porque se aplican a las entradas T las salidas complementadas de los flip-flops anteriores. Si ambas entradas, arriba y abajo, son 0, el circuito no cambia de estado y permanece en la misma cuenta. Si ambas entradas son 1, el circuito cuenta hacia arriba. Lo anterior garantiza que slo una operacin se efecte en todo momento.

Figura 2.2 Contador binario ascendente-descendente de 4 bits

III.- OBJETIVOS
Crear un diseo en ISE y realizar la simulacin en ISE Simulator. Aprender a utilizar los procesos en VHDL Uso del reloj en el sistema secuencial. Recordar los conocimientos adquiridos en cursos anteriores sobre contadores y aplicarlos en la prctica. Aprender a determinar cundo se ejecuta un proceso por medio de la lista de sensibilidad. Aprender a implementar un diseo de VHDL en la tarjeta FPGA.

IV.- DESARROLLO DE LA PRCTICA


Se desea realizar contador binario que tendr tres entradas: un reloj, un reset y una entrada que indique si el conteo es ascendente o descendente; adems tendr una salida binaria de 4 bits en donde se muestra el conteo. Adems, el pulso del reloj ser dado por el usuario mediante un push-button. El diagrama del contador binario en VHDL se muestra en la Figura 4.1.

Figura 4.1 Diagrama completo del contador binario VHDL

Para implementar el contador binario es necesario llevar a cabo los siguientes pasos. 1. 2. 3. 4. 5. Crear un proyecto en ISE. Capturar el cdigo VHDL en ISE. Sntesis del Proyecto Simular el diseo usando ISE Simulator. Asignar Pines de salida y de entrada de la tarjeta SPARTAN 6 XC6SLX16. 6. Programar tarjeta SPARTAN 6 XC6SLX16.

1. Crear un proyecto en ISE Una vez abierto el programa ISE, creamos un nuevo proyecto en donde vamos a dar un nombre al proyecto y en la siguiente ventana vamos a dar las caractersticas de nuestra FPGA.

Figura 4.2 Especificaciones y propiedades del proyecto.

En la Figura 4.2 podemos observar los diferentes campos que se deben de configurar para la FPGA, entre estas opciones tenemos el tipo de tarjeta a ser utilizada. Despus de haber especificado las caractersticas de la tarjeta, en la siguiente ventana se nos muestra todas las especificaciones ya establecidas, en la Figura 4.3 podemos observar los datos.

Figura 4.3 Especificaciones establecidas del proyecto.

2. Capturar cdigo en el programa ISE

Una vez creado el proyecto, el siguiente paso es la captura del cdigo. En la Figura 4.4 podemos observar como quedo la estructura de nuestro nuevo proyecto. Como se puede observar en la figura 4.4, en esta parte es donde observamos los archivos que se van generando durante el desarrollo del proyecto.

Figura 4.4 Estructura del nuevo proyecto.

A continuacin se mostrar cmo se capturar el cdigo para realizar el contador binario. Para empezar con la captura del cdigo, es necesario crear un archivo VHDL, para esto seleccionamos el archivo que se nos cre en la carpeta, y damos clic izquierdo en donde se nos desplegar opciones, seleccionamos New Source (Figura 4.5).

Figura 4.5 Agregar un nuevo archivo al proyecto.

Despus de haber seleccionado New Source, se nos muestra otra ventana en la cual seleccionamos VHDL module como podemos observar en la Figura 4.6.

Figura 4.6 Seleccionamos el tipo de archivo, en este caso VHDL Module.

A continuacin se especifican los puertos de entrada y salida como se muestra en la Figura 4.7 que sern utilizadas en la FPGA.

Figura 4.7 Configuracin de entradas y salidas.

Despus de haber configurado las entradas y salidas, se muestra una ventana en la cual encontramos todas las especificaciones del archivo VHDL. Al haber terminado de crear el archivo lo seleccionamos e insertamos el cdigo del comparador. En la Figura 4.8 muestra el cdigo que se insertar.

Figura 4.8 Cdigo del contador binario.

3. Sntesis del Proyecto Despus de haber copiado el cdigo al archivo VHDL, lo siguiente es realizar una sntesis del cdigo, para ver las caractersticas, errores y recursos que tendr el contador una vez en puesto en la tarjeta Spartar 6. Para llevar a cabo la sntesis, lo primero que debemos de hacer es seleccionar la opcin Synthesize- XST, damos clic derecho y seleccionamos View Text Report. (Figura 4.9)

Figura 4.9 Opcin para ver Reporte de Sntesis.

Para poder visualizar el reporte, tenemos que dar clic derecho en Synthetize XST, y seleccionar la opcin View Text Report como se observa en la Figura 4.10.

Figura 4.10. Cmo abrir reporte de sntesis.

En el reporte que se nos gener de haber realizado la sntesis, vamos a obtener los recursos que necesita nuestro diseo que utilizar en la tarjeta Spartan 6. Slices: 4 LUTs: 16 luts I/Os: 7
3 de entrada. 4 de salida.

Flip-Flops: 32 4. Simular el diseo usando ISE Simulator.

Despus de haber realizado la sntesis, se realiza la simulacin, para poder observar si el cdigo que se ha programado realmente realiza lo que se desea. Para poder llevar a cabo esto, se siguen los siguientes pasos: En la ventana de sources localizar seleccionar el dispositivo, dar clic derecho, seleccionando la opcin New Source (Figura 4.11).

Figura 4.11 Seleccionar dispositivo y New Source.

Despus de esto aparece una ventana con todas las opciones de fuente que pueden crearse. Se selecciona el mdulo VHDL Test Bench, que sirve para realizar la simulacin, y se le da el nombre de ContadorBinario_test. (Figura 4.12).

Figura 4.12 Seleccionar VHDL Test Bench para la simulacin.

En la ventana siguiente se pueden observar todos los archivos que pueden asociarse al Test_Bench, y seleccionamos contador. Y se da NEXT.(Figura 4.13)

Figura 4.13 Seleccionar archivo VHDL al Test_Bench para la simulacin

Se genera un archivo para realizar el diseo, y se busca la instancia uut: comparador PORT MAP y al final de la instancia borrar todo lo dems y capturar el cdigo que dar los valores a las entradas clk, rst, dir. El cdigo de la simulacin, puede verse en la Figura 4.14.

Figura 4.14 Seleccionar archivo VHDL al Test_Bench para la simulacin.

Ir a la ventana Sources, seleccionar la opcin Behavioral Simulation del men desplegable, tal como se observa en la Figura 4.15.

Figura 4.15 Ventana con el modo de simulacin

Figura 4.16 Propiedades de simulacin

Ir a la ventana process, y buscar la opcin Simulate Behavioral Model y dar clic a Propiedades; y en la ventana de propiedades escribir 900 ns en el campo Simulation Run Time. Y dar doble click en Behavioral Simulation para abrir la ventana del simulador. (Figura 4.16 y 4.17).

Figura 4.17 Modificar: Simulation Run Time a 900 ns

En la Figura 4.18 se puede observar la simulacin obtenida.

Figura 4.18 Resultado de la Simulacin.

Tal como podemos observar en la Figura 4.18 el contador binario tiene 16 estados diferentes: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111. Tambin podemos observar que cada vez que hay un pulso de reloj positivo, el contador cambia de estado y dependiendo de la direccin que tenga, contara ascendente o descendentemente. Al inicio podemos observar que el contador tiene direccin descendente, pero a los 400ns en el siguiente pulso positivo de reloj la direccin del contador cambia a ascendente.

5. Asignar Pines de salida y de entrada de la tarjeta SPARTAN 6 XC6SLX16. Luego de haber observado que la simulacin realiza correctamente la funcin deseada, se prosigue a implementar el diseo en un archivo de configuracin *.bit para programar el FPGA y validar dicho diseo en una FPGA real. Los pasos que se realizan para la implementacin son los siguientes: Colocarse en modo de implementacin, y en la ventana de Process seleccionar desglosar la opcin User Constraints y dar clic en Floorplan IO-Presynthesis y se le da aceptar cuando el programa nos pregunte si se quiere asociar un archivo UCF al diseo, y se abre la herramienta para asignar los pines de entrada y de salida a los recursos de la tarjeta FPGA. (Figura 4.19).

Figura 4.19 Ejecutar la Pre sntesis para la asignacin de pines

Una vez que se tiene la interface para asignar los pines, se dan las restricciones que se observan en la Figura 4.20 para colocar las entradas en los switches y las salidas en los LEDS de la tarjeta y se guarda el archivo.

Figura 4.20 Asignacin de pines, se colocan las entradas y salidas.

Luego de esto, ir a la pantalla de Processes y dar doble click a implementacin. (Figura 4.21).

Figura 4.21 Implementacin del Diseo

Una vez acabada la implementacin se pasa a generar el archivo *.bit, dando doble click o run en la opcin Generate Programming File. (Figura 4.22).

Figura 4.22 Generacin del archivo de programacin *.bit

6. Programar tarjeta SPARTAN 6 XC6SLX16.

Luego de esto, se conecta la FPGA a la computadora. Posteriormente, se le da doble clic o run a la opcin Manage Configuration Project (IMPACT). Esta herramienta sirve para programar la FPGA con el archivo *.bit generado. (Figura 4.23 y Figura 4.24)

Figura 4.23 Ejecutar el IMPACT

Figura 4.24 Programa IMPACT

Vamos a File/New Project damos siguiente y seleccionamos la opcin Automatically connect to a cable y OK. Despus de esto se abre la ventana Assign new configuration File y seleccionamos el archivo

comparador.bit. En la siguiente ventana click BYPASS , y no se le asigna nada y se le da click a OK. (Figura 4.25 Y Figura 4.26).

Figura 4.25 IMPACT y conexin automtica al cable de la FPGA

Figura 4.26 Agregar archivo de configuracin *.bit

Finalmente, para programa la FPGA se le da clic derecho en el dispositivo xc3s200 y se le da la opcin Program y luego debe aparecer el mensaje Program Succeeded, lo cual indica que se ha programado adecuadamente la FPGA (Figura 4.27 y Figura 4.28).

Figura 4.27 Programar FPGA

Figura 4.28 Programacin exitosa

A continuacin se muestran los resultados y evidencias del contador binario de 4 bits que se implement.

En la Figura 4.29 se puede observar que el contador inicia en el nmero 0 (0000), adems la direccin (dir) es descendente.

Figura 4.29 Nmero 0 (0000)

En la Figura 4.30 se puede observar el nmero 15 (1111), adems la direccin (dir) es descendente.

Figura 4.30 Nmero 15 (1111)

En la Figura 4.31 se puede observar el nmero 14 (1110), adems la direccin (dir) es descendente.

Figura 4.31 Nmero 14 (1110)

En la Figura 4.32 se puede observar el nmero 13 (1101), adems la direccin (dir) es descendente.

Figura 4.32 Nmero 13 (1101)

En la Figura 4.33 se puede observar el nmero 12 (1100), adems la direccin (dir) es descendente.

Figura 4.33 Nmero 12 (1100)

En la Figura 4.34 se puede observar el nmero 11 (1011), adems la direccin (dir) es descendente.

Figura 4.34 Nmero 11 (1011)

En la Figura 4.35 se puede observar el nmero 10 (0110), adems la direccin (dir) es descendente.

Figura 4.35 Nmero 10 (0110)

En la Figura 4.36 se puede observar el nmero 9 (1001), adems la direccin (dir) es descendente.

Figura 4.36 Nmero 9 (1001)

En la Figura 4.37 se puede observar el nmero 8 (1000), adems la direccin (dir) es descendente.

Figura 4.37 Nmero 8 (1000)

En la Figura 4.38 se puede observar el nmero 7 (0111), adems la direccin (dir) es descendente.

Figura 4.38 Nmero 7 (0111)

En la Figura 4.39 se puede observar el nmero 6 (0110), adems la direccin (dir) es descendente.

Figura 4.39 Nmero 6 (0110)

En la Figura 4.40 se puede observar el nmero 5 (0101), adems la direccin (dir) es descendente.

Figura 4.40 Nmero 5 (0101)

En la Figura 4.41 se puede observar el nmero 4 (0100), adems la direccin (dir) es descendente.

Figura 4.41 Nmero 4 (0100)

En la Figura 4.42 se puede observar el nmero 3 (0011), adems la direccin (dir) es descendente.

Figura 4.42 Nmero 3 (0011)

En la Figura 4.43 se puede observar el nmero 2 (0010), adems la direccin (dir) es descendente.

Figura 4.43 Nmero 2 (0010)

En la Figura 4.44 se puede observar el nmero 1 (0001), adems la direccin (dir) es descendente.

Figura 4.44 Nmero 1 (0001)

En la Figura 4.45 se puede observar el nmero 0 (0000), adems la direccin (dir) es descendente.

Figura 4.45 Nmero 0 (0000)

En la Figura 4.46 se puede observar que cuando se llega al nmero 0 (0000) el contador vuelve al nmero 15 (1111).

Figura 4.46 Nmero 15 (1111)

En la Figura 4.47 se puede observar como cambiamos la direccin (dir) del conteo por lo que ahora ser ascendente.

Figura 4.47 Cambio de direccin a ascendente

En la Figura 4.48 se puede observar el nmero 0 (0000), adems la direccin (dir) es ascendente.

Figura 4.48 Nmero 0 (0000)

En la Figura 4.49 se puede observar el nmero 1 (0001), adems la direccin (dir) es ascendente.

Figura 4.49 Nmero 1 (0001)

En la Figura 4.50 se puede observar el nmero 2 (0010), adems la direccin (dir) es ascendente.

Figura 4.50 Nmero 2 (0010)

En la Figura 4.51 se puede observar el nmero 3 (0011), adems la direccin (dir) es ascendente.

Figura 4.51 Nmero 3 (0011)

En la Figura 4.52 se puede observar el nmero 4 (0100), adems la direccin (dir) es ascendente.

Figura 4.52 Nmero 4 (0100)

En la Figura 4.53 se puede observar el nmero 5 (0110), adems la direccin (dir) es ascendente.

Figura 4.53 Nmero 5 (0110)

En la Figura 4.54 se puede observar el nmero 6 (0111), adems la direccin (dir) es ascendente.

Figura 4.54 Nmero 6 (0111)

En la Figura 4.55 se puede observar el nmero 7 (0111), adems la direccin (dir) es ascendente.

Figura 4.55 Nmero 7 (0111)

En la Figura 4.56 se puede observar el nmero 8 (1000), adems la direccin (dir) es ascendente.

Figura 4.56 Nmero 8 (1000)

En la Figura 4.57 se puede observar el nmero 9 (1001), adems la direccin (dir) es ascendente.

Figura 4.57 Nmero 9 (1001)

En la Figura 4.58 se puede observar el nmero 10 (1010), adems la direccin (dir) es ascendente.

Figura 4.58 Nmero 10 (1010)

En la Figura 4.59 se puede observar el nmero 11 (1011), adems la direccin (dir) es ascendente.

Figura 4.59 Nmero 11 (1011)

En la Figura 4.60 se puede observar el nmero 12 (1100), adems la direccin (dir) es ascendente.

Figura 4.60 Nmero 12 (1100)

En la Figura 4.61 se puede observar el nmero 13 (1101), adems la direccin (dir) es ascendente.

Figura 4.61 Nmero 13 (1101)

En la Figura 4.62 se puede observar el nmero 14 (1110), adems la direccin (dir) es ascendente.

Figura 4.62 Nmero 14 (1110)

En la Figura 4.63 se puede observar el nmero 15 (1111), adems la direccin (dir) es ascendente.

Figura 4.63 Nmero 15 (1111)

En la Figura 4.64 se puede observar que cuando el contador llega al nmero 15 (1111) se reinicia el conteo por lo que pasa al nmero 0 (0000).

Figura 4.64 Nmero 0 (0000)

Modificar el cdigo VHDL

Ahora modificaremos el cdigo original por lo que el contador ahora contar de 0 a 9 ascendente y descendentemente. En la Figura 4.65 podemos ver el cdigo modificado del contador binario que cuanta de 0 a 9.

Figura 4.65 Cdigo VHDL de contador binario de 0 a 9.

Para comprobar que el cdigo en VHDL del contador binario fue modificado correctamente lo simulamos con la herramienta Behavioral Simulation del ISE de XILINX. La simulacin se muestra en la Figura 4.66.

Figura 4.66 Simulacin del contador binario de 0 a 9.

Como podemos ver en correctamente.

la simulacin, el cdigo fue implementado

Al inicio de la simulacin podemos ver que la variable de reset (rst) se encuentra en 1 por lo que la salida del contador es 0 (0000). Cuando la variable reset (rst) cambia a 0 y se tiene un pulso positivo de reloj, el contador comienza a contar descendentemente ya que la variable de direccin (dir) tiene el valor 0. Podemos darnos cuenta que cuando el contador llega al valor de 0 (0000), regresa a 15 (1111) y sigue contando descendentemente. Cuando el valor de la variable de direccin (dir), cambia de 0 a 1 y en el siguiente pulso de reloj positivo, el contador comienza a contar ascendentemente desde donde se haya quedado la cuenta, es decir, en este caso se estaba contando descendentemente y en el nmero 2 (0010), se cambia la direccin a ascendentemente, por lo que la cuenta sigue con el nmero 3 (0011), 4 (0100), 5 (0101) y as sucesivamente.

V. Conclusiones Personales
lvarez Prez Yolanda Andrea Con esta prctica aprend a implementar un contador binario en VHDL con la tarjeta Spartan 6. Adems, pude observar el funcionamiento de la sentencia rising_edge que se utiliza con el pulso de una seal y sirve para detectar cuando hay un pulso positivo de la seal que se le pasa a la funcin, en este caso, la seal de reloj que se ocupar para el contador, que ser dado por el usuario con un pushbutton. Tambin, esta practica me sirvi como recordatorio de lo visto en el curso anterior de Diseo de Sistemas Digitales, donde aprendimos como disear un contador con flip-flops y aprendimos

detalladamente el funcionamiento interno de un contador binario.

Hernndez Morales Jorge Antonio Gracias a esta prctica pude recordar los conocimientos adquiridos en el curso anterior acerca del funcionamiento de los contadores, y utilic dichos conocimientos para programar e implementar el diseo en VHDL. Considero importante seguir conociendo las herramientas que nos proporciona el ISE XILINX, ya que cada vez se puede implementar un sistema ms complejo y con mayores aplicaciones para el medio en el que nos desarrollamos. Dentro de los pasos que se emplean para desarrollar un proyecto, considero que la simulacin es muy importante, ya que de esta forma, se puede observar si el diseo del sistema es correcto o no. Tambin record acerca de los conceptos de variables internas y estados internos en un sistema, y gracias a esto pude identificar las 4 variables internas y 16 estados internos con los que contaba nuestro diseo.

Martnez Escobar Enrique Los contadores son dispositivos importantes dentro de los sistemas digitales, permiten tener un registro de diferentes eventos dentro de este. Para su funcionamiento es necesario recibir una seal de reloj que condiciona las acciones de conteo. Se puede implementar un contador incremental o decremental en VHDL conociendo las sentencias WAIT FOR (para crear una variable que actu como la seal de reloj) y sobre todo conociendo la

estructura y las partes de la sentencia PROCESS, y su lista de sensibilidad, que contiene las variables (seales) que permite la ejecucin de un proceso.

Martnez Gutirrez Irma Carolina En la prctica, pude observar que el sistema implementado cuenta con 4 variables internas y 16 estados internos. Esto se explica debido a que nuestro sistema cuenta de 0 a 15. El contador ascendente-descendente implementado incrementa o disminuye su valor, segn la direccin que le pongamos al interruptor. El pulso de reloj fue asignado por medio de un pushbutton, el cual, cada vez que es presionado aumenta o disminuye en uno su valor, de acuerdo a la direccin que tenga activado el interruptor. Cada vez que se quiere regresar a las condiciones iniciales, se presiona reset, el cual tambin es un pushbutton. Gracias a esta prctica record los conocimientos acerca de los contadores y los apliqu en la prctica. Considero que estas prcticas ayudan a conocer mejor el entorno de Xilinx ISE y proporcionan un mejor conocimiento de las herramientas, las cuales servirn en un futuro para hacer un mejor diseo e implementacin.

VI. Conclusiones Generales


Gracias a esta prctica, recordamos el concepto de un contador, el cual, es un dispositivo que almacena y, en la mayora de los casos muestra en algn tipo de display, el nmero de veces que un evento o proceso particular ha ocurrido, y en el caso de los sistemas digitales, est relacionado con una seal de reloj. Una seal de reloj es un tipo de seal que oscila entre dos valores, un valor alto y un valor muy bajo, y es utilizado para coordinar las acciones de circuitos.

Para la realizacin de esta prctica, son necesarias las sentencias secuenciales, las cuales se ejecutan serialmente una despus de otra. La mayora de los lenguajes de programacin, como Java y C, utilizan estas sentencias. De hecho, VHDL utiliza sentencias similares a estos lenguajes.

Por medio de esta prctica aprendimos el concepto de process, la cual, es una sentencia concurrente en el sentido de que todos los process y todas las dems sentencias concurrentes se ejecutarn sin un orden establecido. No obstante las sentencias que hay dentro del process se ejecutan de forma secuencial. Por lo tanto se puede decir que una estructura secuencial va en el interior de un process.

Los procesos pueden tener explcitamente una lista de sensibilidad, esta lista define una serie de seales que, al cambiar de valor, hacen que se ejecute el process.

En el caso del contador que se desarroll, la lista de sensibilidad son las seales de clk y la seal de reset, que define cuando se va a reiniciar el contador.

Lo contadores digitales tienen mltiples funciones, entre las que se encuentran: Tener un registro de una informacin Recibir informacin de otras fuentes Contar el nmero de veces que un evento transcurre Mostrar informacin en forma en un display. Generadores de secuencias. Divisores de frecuencia Conversin de datos formato paralelo a serie. Implementacin de sistemas secuenciales sncronos.

Estos se pueden implementar en VHDL fcilmente teniendo conocimiento de cmo se declaran los procesos, de qu partes intervienen para que estos funcionen, y tambin saber manipular variables con el reloj del sistema.

Gracias a esta prctica llevamos nuestros conocimientos acerca de los contadores a la prctica. Y hemos aprendido a utilizar el ISE Xilinx y sus herramientas cada vez mejor, lo cual, nos ayudar a hacer mejores proyectos en un futuro.

VII.- Bibliografa
http://www.ele.uva.es/~hector/Tema_6.pdf http://www.marcoregalia.com/STUFF/UDISTRITAL/Fisica%20II/Actividades/ Informes%20de%20Laboratorio/Cantador%20Binario%20Ascendente%20d e%200%20a%209.html Morris, Mano(2003). Diseo Digital. 3ra Edicin. Mxico. Pearson Educacin. Pag. 536. Tocci, Ronald J. Widmer, Neal S. Moss, Gregory L. (2007) Sistemas Digitales Principios y Aplicaciones. 10ma Edicin. Mxico. Pearson Educacin. Pag 968

Vous aimerez peut-être aussi