viernes, 4 de noviembre de 2011

CREACIÓN DE SUMADOR EN XILINX


Hola a todos, en esta entrada vamos a realizar un proyecto desde un soporte llamado xilinx. El proceso será de la siguiente manera, vamos a empezar con el desarrollo del esquemático, una vez hecho eso, comenzaremos con el proceso de simulación, a manos de ISE xilinx.
En primer lugar, abriremos el entorno y le daremos a file “New Project”, nos saldrá una ventana así:


En Project name, nuestro nombre, y en Project location, la ruta donde queremos guardarlo. Importante, deberemos seleccionar tipo “schematic” ya que nosotros vamos a empezar con eso.
Bien una vez hecho esto, tendremos que configurar unos parámetros iniciales, deberemos crear una tabla similar a esta.

Como veis ahí, elegiremos el encapsulado, el model etc. Procurad ser fieles a la imagen. Importante, poned en el simulador el “ISEsimulator vhdl/verilog” ya que va a ser con ése con el que simulemos nuestro esquemático.
Le daremos a next, nos saldrá una ventana parecida a esta:


Le daremos a new source, y entonces nos saldrá la ventana inmediatamente inferior, marcaremos “schematic” pondremos el nombre que queramos para el archivo y luego la ruta. Le daremos a next, nos dirá que no existe el archivo que si queremos crearlo y, una vez hecho esto, ya podremos comenzar a trabajar con el esquemático. Nos saldrá una ventana similar a esta.


Una vez hayamos llegado aquí, tendremos que dar a la pestaña simbols en la parte de “source”
Y ahí empezaremos a meter los componentes del esquemático.

Este es el esquemático que vamos a hacer.

Para implementar los componentes es muy sencillo, desde la ventana symbols, eligiremos “or2” para puertas or de 2 entradas, “and2” para puertas and y 2 entradas y “xor2” para exclusive or de 2 entradas. Una vez colocados, empezaremos a conexionarlo como lo tenemos en la imagen superior.
Después procederemos a implementar las salidas y las entradas, para eso iremos a la barra superior del entorno y clicaremos en una etiqueta llamada “add net name”, basta con ir clicando en la entrada/salida correspondiente y nos saldrá esta ventana.


En name, pondremos en nombre de la entrada y luego en “port polarity” seleccionamos si queremos que sea entrada o salida. Damos a ok y se nos marcará una etiqueta con el nombre seleccionado.

Tras esto deberemos ir a la parte superior del entorno, donde hay una especie de ticket de color verde parecido a esto.
Este elemento sirve para ver si nuestro esquemático tiene algún error, el cual nos comunicará en la parte inferior del entorno. De no ser así nos dirá algo así como “el esquemático carede de warnings y errores”.
Una vez hecho esto, procederemos a hacer la simulación, este proceso se hace directamente desde el entorno de xilinx, con un soporte llamado ISE que colocamos en los parámetros iniciales para usarlo. Lo primero que haremos será  crear el TEST BENCH.
El proceso es similar que al de introducir un esquemático, iremos a nuestro proyecto y, daremos clic derecho y seleccionar “add source”, donde elegiremos test bench en vez del squematic, como hicimos anteriormente. Eligiremos el nombre y la localización.

Después de esto, nos saldrá una ventana como esta.


Importante, marcaremos lo de “combinational (or internal clock) y luego, en la zona inferior desactivaremos el ticket donde pone PRLD. Daremos a siguiente.
Nos saldrá un conjunto de 3 ondas, las cuales deberemos modificar, para eso, simplemente tenemos que ir dando click en una parte de la onda, para que esta cambia de 0 a 1 y por tanto, nos permita trazar la onda deseada, deberemos copiar la siguiente.


El primer cuadrado rojo marca 200ns, que es donde se cumple el primer pulso de la onda a, deberemos hacer que nuestras 3 ondas sean similares a las de la imagen. El cuadrado rojo del final es el 900 ns, es decir, donde las 3 ondas, acaban. Una vez hecho esto, tendremos que empezar con la simulación.
Para eso, iremos en el entorno a la parte izquierda, donde nos aparecerá el ISE SIMULATOR, le marcaremos y seleccionaremos la opción que dice “Generate self-checking test bench” y una vez demos a esto, nos empezará a crear la simulación.
Será similar a la imagen anterior, solo que con fondo negro y las ondas colocadas de otra manera.
Una vez hecha la simulación, tendremos que anexionar las entradas  las salidas a los pines que queramos. Para ello, nos acercaremos a la ventana de process en la parte inferior izquierda y en la parte de “user” nos saldrá una función llamada “floorplan IO-PRESYNTESIS”
Una vez seleccionemos esto, se nos abrirá un nuevo entorno, llamado xilinx place, en él simplemente tendremos que ir cogiendo las entradas y salidas que nos aparecerán en la ventana de la derecha y unirlas al pin que deseemos.


Como veis en la imagen, la parte de la izquierda son las entradas y, el círculo que está a la derecha, son las entradas del componente que elegí para cada una. Obviamente vosotros podréis usar las que queráis.
Ya solo nos queda guardarlo, al hacerlo nos saldrá una ventana, la cual no tocaremos, deberemos dejarlo en el  “XST default” si está marcado por defecto, daremos a ok y ya estará.
Una vez guardado, se nos creará un archivo en el que nos vendrá una espece de “memoria”, donde nos comunica los errores, warnings, sumario… etc.
Y por último deberemos generar el archivo “JED”, cuya función se encuentra en la parte de process/implement design. Como viene en la imagen.


Una vez hecho esto, ya estará acabado. Espero que os haya sido de ayuda.






















No hay comentarios:

Publicar un comentario