Professional Documents
Culture Documents
2. Descarga e instalacin
El software ISE WebPack 10.1 puede ser descargado gratuitamente del enlace: http://www.xilinx.com/ise/logic_design_prod/webpack.htm. Para descargarlo usted debe
2 inscribirse (Create Account), una vez inscrito autorizan la descarga del paquete y le envan a su correo la licencia del software. Los requerimientos bsicos para la instalacin son: Microsoft Windows XP (slo 32 bit) Microsoft Windows Vista (slo 32 bit). Para la instlacin se recomienda estar conectado a la red. Para obtener una informacin ms detallada consulte el manual del enlace: http://www.xilinx.com/itp/xilinx10/books/docs/irn/irn.pdf
3. Diseo a implementar
La prctica consiste en el diseo mediante captura de esquemas de un multiplexor 2 a 1 con seal de habilitacin. Un multiplexor 2 a 1 tiene dos entradas de datos (D0, D1), una entrada de control (S), una seal de habilitacin E y una salida (O). La funcin de conmutacin del multiplexor 2 a 1 es la siguiente: Para implementar este circuito se necesitan una serie de puertas lgicas, como son: 2 puertas AND de 3 entradas, 1 puerta OR de 2 entradas y 1 inversor. La idea de las herramientas de captura de esquemas consiste en que se pueda reproducir de forma grfica aquello que haramos sobre el papel, dibujando dichas puertas y conectando todos los componentes entre s
4. Iniciando ISE
Para usuarios Windows, se arranca el programa desde el men Inicio seleccionando: Inicio > Programas > Xilinx ISE 10.1 > Project Navigator El ISE Project Navigator arranca. Aviso : Dependiendo del proceso de instalacin, el path del programa podra ser otro.
5. Pincha Siguiente para avanzar al siguiente paso 6. Rellena las propiedades del dispositivo en que se va a realizar el diseo y que aparecen a continuacin
7. Pincha Siguiente para obviar los pasos de aadir archivos nuevos o ya creados al proyecto. Esto lo haremos posteriormente. 8. Finalmente, las propiedades de tu proyecto aparecern resumidas de la siguiente manera
9. Pinchar en Finalizar.
6. Captura de esquemas
Una vez creado el proyecto, hay que crear un nuevo diseo de esquemtico. Para ello hacer doble clic en Create New Source
Aparecer un cuadro de dilogo en donde debemos seleccionar el nombre del archivo (mux2a1) y el tipo de archivo (Schematic).
Una vez seleccionado el tipo de archivo y el nombre, pulsar en Siguiente y en el siguiente cuadro de dilogo, en que figura el archivo que se generar, pulsar en Finalizar. Una vez hecho esto se abrir el editor de esquemticos.
En la parte izquierda dar click en la etiqueta Symbols, para seleccionar los componentes que queremos aadir al diseo. Al pinchar en ella presenta el siguiente aspecto, y desde ella se pueden seleccionar los componentes.
El cuadro superior de Symbols est dividido en varios mens. Desde el primero de ellos, etiquetado como Categories, se puede escoger el tipo de elementos que se quiere usar, como puertas lgicas, comparadores, multiplexores, memorias, etc. Tambin aparece en la parte inferior una pestaa que nos proporciona Informacin sobre cada uno de los smbolos. Para nuestra prctica usaremos como elementos puertas lgicas AND y OR que estn en la categora Logic.
7 Para empezar con el diseo aadiremos las dos puertas AND de tres entradas (and3) y la puerta OR de dos entradas (or2). Para ello seleccionaremos la opcin Logic en Categories, y en Symbols buscaremos el componente and3. Una vez seleccionado pincharemos en el rea de diseo 2 veces para insertar 2 puertas. Una vez colocados los 2 componentes, se pulsa la tecla ESC para dejar de insertar componentes. Es conveniente hacer un zoom sobre la zona en la que vamos a trabajar para poder colocar mejor los componentes. Para hacer zoom sobre una zona hay que pinchar en el icono de la barra de herramientas y luego pinchar y dibujar un cuadrado sobre la zona donde queremos hacer el zoom. Una vez colocados las dos puertas AND buscamos el componente or2, el cual seleccionamos e insertamos en el esquemtico. Una vez colocado, se pulsa la tecla ESC. El aspecto del esquemtico debera ser el siguiente:
A continuacin completar el diseo para que quede como la figura de abajo. Para ello tendremos que colocar el componente inv, realizar el cableado de conexin entre los componentes y colocar los puertos de entrada y salida. Estos ltimos comandos se encuentran en la barra de herramientas.
El nombre de los puertos puede modificarse haciendo doble -click en los mismos. Modificar el nombre de los puertos para tener D0, D1, E, S como puertos de entrada y O como puerto de salida.
10 4. Pulsa Siguiente. 5. Un cuadro de dilogo te muestra que asocias el tech bench o banco de pruebas con un fichero fuente: mux2a1. Pulsa Siguiente 2 veces. 6. Pulsa Finalizar Necesitars un conjunto de valores iniciales para tu banco de pruebas, por lo que se abrir el cuadro de dilogo Initialize Timing antes de que puedas editar las entradas en el banco de pruebas.
7. En Clock Information, seleccionamos la opcin Combinatorial cuando el sistema implementado es combinacional. En ese caso, se recomienda dejar los demas campos con los valores por defecto: Check Outputs: 50 ns, Assign Inputs: 50 ns, Global Sig nals: GSR (FPGA), Inicial Length of Test Bench: 2000 ns. Cuando el sistema implementado es secuencial seleccionamos la opcin Single Clock y con la pestaa se selecciona la seal que se usar como reloj. Para este caso puede trabajar con la configuracin por defecto en Clock Timing Information o el estudiante puede entrar a cambiar losvalores de los parmetros. Finalmente pulsa Finish para abrir el editor de formas de onda. 8. En este diseo, debemos simular teniendo todas las combinaciones posibles de estmulos en los puertos de entrada. Pulsa en las zonas sombreadas de azul para modificar los valores y obtener la combinacin de estmulos de la figura. 9. Selecciona File > Save para guardar las formas de onda. En la ventana Sources in Project, se aade automticamente el archivo TBW. 10. Cierra la ventana del editor de estmulos.
11
Aadiendo la estimacin de los resultados esperados al Banco de Pruebas En este apartado crears automticamente un banco de pruebas con las salidas esperadas que corresponden a las entradas que pusiste anteriormente con el editor de estmulos. Los retrasos en las entradas y las salidas que introdujiste cuando comenzaste a usar el editor de estmulos son evaluados cuando el diseo est siendo simulado. Para realizar esta prueba, debes ejecutar el comando Generar Resultados Esperados: 1. Selecciona el archivo mux2a1_tbw.tbw en la ventana Sources y seleccionar Behavioral Simulation en Sources. stas pestaas se encuentran en la parte superior izquierda de la pantalla.
2. En la pestaa que se encuentra en la parte inferior izquierda de la pantalla, pincha en Process, despliega el men Xilinx ISE Simulator y doble click en Behavioral Mode
12
Podemos observar que el comportamiento de nuestro diseo es el deseado. Es de esperar que hayamos diseado correctamente el sistema.
9. Conectado Buses
En el editor esquemtico un bus es simplemente una lnea a la cual ha sido asignada un nombre multi-bit. Para adicionar un bus a un diseo siga los siguientes pasos:
13 2. Luego adicione un nombre multi-bit. De doble click sobre la etiqueta de entrada y de un nombre de vector, asi: a(3:0). Inmediatamente la lnea se pone grusa para indicar que ya es un vector. 3. Una vez el bus ha sido creado, usted puede adicionar tapping al bus para usar cada seal individualmente. Use la opcin de la ventana de procesos de direccin (right,left,etc) para ubicar el tap de tal forma que la figura triangular sea la que se conecte al bus, y la lnea al pin que usted quiere conectar al bus.
4. Una vez haya conectado el tap al bus y al pin, de doble click en cada una de las lneas y de acuerdo al orden, de el nombre respectivo, as: a(0),a(1), a(2) a(3). Tal como se muestra en la siguiente figura.
5. Para conectar por ejemplo este bus a(3:0) a la entrada de bloque decodificador BCD a 7 segmentos, realizamos lo siguientes pasos: a) Conectamos un pedazo de lnea al bloque decodificador y Damos click en Add Net Name, cuyo cono se muestra en la figura
b) En la venta de procesos, colocamos el nombre del vector que ser la entrada del decodificador, para nuestro caso, escribimos a(3:0), sealamos la opcin Display de Name . y finalmente damos click sobre la lnea de entrada del decodificador.
14
15 Nuestro diseo consta de 4 entradas y 1 salida, luego sera muy interesante poder modificar los valores de entrada por medio de 4 de los 8 interruptores de los que disponemos y visualizar la salida por medio de uno de los 8 LEDs que trae la placa de desarrollo, con el fin de verificar visualmente que el diseo sintetizado funciona de manera correcta.
4. Selecciona File > Save. Selecciona XST Default <> y pulsa OK. 5. Cierra PACE.
16
Verificacin de la Sntesis
Tu diseo se puede observar como un esquemtico en el denominado Visor de Nivel de Transferencia de Registros, o Register Transfer Level (RTL) Viewer, en que se muestra las puertas y elementos a implementar independientemente del dispositivo de Xilinx seleccionado para realizar el diseo. 1. En la ventana Processes, haz doble-click en View RTL Schematic situado en el grupo Synthesize - XST process. Aparecer el esquemtico de jerarqua superior de tu diseo, que engloba todo. 2. Haz doble-click en el esquema para observar niveles jerrquicos inferiores y ver el esquemtico en detalle. Aviso: No puedes editar este archivo. 3. Cierra la ventana.
17
18
19
Como se puede ver en la figura, la placa de desarrollo de la FPGA nos permite almacenar el archivo de implementacin tanto en la memoria RAM de la FPGA como en una memoria tipo ROM (Flash) que contiene la placa. Para el caso, solo almacenaremos el archivo en la FPGA. 4. Para la FPGA seleccionamos la ruta del archivo mux2a1.bit, decimos si al aviso que sale y damos click en Program Chain. Sin tocar, ni mover la placa de desarrollo, esperamos hasta que la programacin se a completada y obtengamos un aviso de programacin exitosa.
20
21
Elemento Cristal oscilador de 50Mhz Oscilador externo (Socket) Buttons: BTN0, BTN1, BTN2, BTN3 Slide Switches: SW0, SW1, SW2, SW3 Slide Switches:, SW4, SW5, SW6, SW7 LEDs: LD0, LD1, LD2, LD3 LEDs: LD4 LEDs: LD5 LEDs: LD6 LEDs: LD7 Anodos: AN0, AN1, AN2, AN3 Display seg: a, b, c, d, Display seg: e, f, g Display seg: punto
Tipo entrada entrada entrada entrada entrada salida salida salida salida salida salida
Pin B8 U9 B18 D18 E18 - H13 G18 H18 K18 - K17 L14 L13 N17 - R17 J14 J15 K15, K14 E17 (E16*) P15 (P16*) F4 (E4*) R4 (P4*) F17 H17 C18 - F15 L18 - F18 - D17 - D16
salida salida