sábado, 10 de noviembre de 2012

Sumador completo 1Bit

En esta entrada vamos a desarrollar un sumador completo de 1 bit, implementando el CPLD XC9572.
Lo primero de todo tenemos que crear la tabla de la verdad, analizar los resultados y obtener su Karnaugh.

Crear nuevo proyecto 

Para crear un nuevo proyecto, tenemos que hacer click en File-> New Project, nos aparecerá una nueva ventana donde tenemos que introducir el nombre de nuestro proyecto.
En nuestro caso introduciremos sumador1Bit, la ruta donde guardaremos el proyecto y tipo de fuente esquemática.


Una vez que hemos hecho click en siguiente, en 1º lugar pasamos a la configuración del CPLD seleccionando la familia de CPLDS y el dispositivo a emplear, asi como su encapsulado y velocidad.
En 2º lugar configuraremos la herramienta de síntesis(XST VHDL/Verilog), el simulador a utilizar(como no hemos instalado Model sim, seleccionamos ISE simulador) y el lenguaje empleado(VHDL).



En el siguiente paso tenemos que seleccionar la fuente, para hello hacemos clicn en “New source”, y el tipo de fuente a seleccionar de tipo esquemático, introducido el nombre, podemos hacer click en Next.



Al hacer finalizar, nos aparecerá un mensaje de si queremos crear la carpeta, tal y como se muestra en la foto.



En el siguiente paso podríamos seleccionar una fuente existente, pero como estamos haciendo un proyecto nuevo, lo ignoramos.
Por último nos mostrará lo que vamos a crear en función de los parámetros establecidos,Finish y ya habriamos acabado.



El siguiente paso es añadir los componentes de esquemático  y realizar las conexiones.
Realizadas todas las conexiones, tenemos que establecer las entradas y salidas, para ello hacemos click con el botón derecho Add-> I/O Marker, nos creará las label por defecto, si hacemos doble click en ellas, las modificaremos como queramos.




Aquí se puede ver el esquemático acabado.


Proceso de Simulación

El siguiente paso será comprobar el proyecto, para ello haremos una simulación con el simulador propio de Xilinx. Puestos a ello, lo primero de todo será crear el archivo TestBench Waveform, el cual añadiremos haciendo click con el botón derecho sobre las fuentes, y añadiremos fuente.
Marcamos la opción TestBench Waveform e introduciremos el nombre.



Al finalizar nos aparecerá la siguiente ventana, donde estableceremos la siguiente configuración.
La información de reloj seleccionamos combinacional y el tiempo entre entradas y salidas lo estableceremos de 50ns.
Abajo podemos establecer otras opciones como la longitud del Test o la escala.




Finalizada la configuración del Testbench, se nos carga HDL Bencher dentro del entorno ISE, observándose la siguiente ventana.



Ahora tendremos que modificar los pulsos de las entradas, basándonos en la tabla de verdad. Nos quedará el siguiente resultado.



Introducidos los pulsos, pasaremos a la propia simulación, para ello en la ventana fuentes, seleccionamos “behavioral simulation”. Debajo en la ventana de procesos seleccionamos Xilinx ISE Simulator, y hacemos doble click en “Simulate Behavorial Model” .



Una vez hecho esto, nos cargará la ventana de simulación.



A continuación crearemos las restricciones, esto es un fichero(*.ucf) donde establecemos la localización de los pines, asignar periodos, retardos, IOB’s y más recursos del CPLD.
Para crear este fichero, hacemos click en el sumador, y añadiremos una nueva fuente. El tipo será Implementation Constrait Files, al cual añadiremos el nombre, en este caso ha sido Restricc_sumador_1BIT.



Pulsamos next, y una vez acabado nos cargará el entorno PACE donde podemos realizar las modificaciones.


El último paso será la creación del archivo *.jed, para ello hacemos doble click en “implement design”, y nos quedará el siguiente resultado.
Nos tienen que aparecer todos las partes de implement design con un tick verde, si apareciera una X, significa que tendríamos algo erróneo.


Proceso descarga al Cpld

Como ya tenemos generado el archivo *.jed, el siguiente paso será la descarga del programa a nuestro CPLD. Explicaré resumidamente el procedimiento, no obstante en la entrada   "Proceso de Descarga en CPLD XC9572", analizo mas detalladamente todo el proceso.

Lo primero de todo abriremos Impact y nos cargará la siguiente ventana, donde hemos seleccionado crear un nuevo proyecto.


A continuación configuramos el dispositivo utilizando Jtag.

.
Hecho esto nos realizará la descarga del cable y nos carga el entorno de Impact.


Ahora simplemente seleccionaremos el archivo *.jed que hemos generado del sumador, y si todo ha salido correctamente y se ha establecido la comunicación ya podemos iniciar la descarga.


Ahora pasamos a  realizar las conexiones según el fichero de restricciones generado en PACE.
Input A: corresponde al pin 25
Input B: corresponde al pin 17
Cin: corresponde al pin 31
S: Pin 46, correspondiente al segundo led de la barra.
Cout: Pin 44, correspondiente al tercer led de la barra.


Este es el resultado




No hay comentarios:

Publicar un comentario