11
Universidad de Antioquia Facultad de Ingeniería Departamento de Ingeniería Electrónica Laboratorio de Circuitos Digitales I Práctica 0: Manejo del software de laboratorio El objetivo de la práctica es conocer el software Xilinx ISE 9.1 mediante la captura de esquemáticos. El problema a resolver: Un multiplexor 2:1. La tabla de verdad del multiplexor es: X1 X2 S Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 Básicamente si la línea de selección S es ‘0’ entonces Y=X1 y si la línea de selección es ‘1’ entonces Y=X2. La ecuación simplificada para este sistema es: Y = !S.X1 + S.X2 A pesar de que este es un problema bastante simple, nos sirve para ilustrar el uso de las herramientas que utilizaremos en el laboratorio. Comenzando con el software Xilinx ISE: Ejecutar el programa Inicio > Programas > Xilinx ISE 9.1i > Project Navigator

Introduccion Xilinx

Embed Size (px)

Citation preview

Universidad de Antioquia Facultad de Ingeniería

Departamento de Ingeniería Electrónica Laboratorio de Circuitos Digitales I

Práctica 0: Manejo del software de laboratorio

El objetivo de la práctica es conocer el software Xilinx ISE 9.1 mediante la captura de esquemáticos. El problema a resolver: Un multiplexor 2:1. La tabla de verdad del multiplexor es:

X1 X2 S Y0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1

Básicamente si la línea de selección S es ‘0’ entonces Y=X1 y si la línea de selección es ‘1’ entonces Y=X2. La ecuación simplificada para este sistema es: Y = !S.X1 + S.X2 A pesar de que este es un problema bastante simple, nos sirve para ilustrar el uso de las herramientas que utilizaremos en el laboratorio. Comenzando con el software Xilinx ISE: Ejecutar el programa Inicio > Programas > Xilinx ISE 9.1i > Project Navigator

El próximo paso es crear un proyecto: File > New Project…

En este cuadro se selecciona el nombre del proyecto (Project Name), use nombres sin espacios ni caracteres; para la práctica utilicemos mux2_1. También se puede seleccionar la ubicación del proyecto y el tipo del módulo de más alto nivel (Top-Level Module Type), en nuestro caso, esquemáticos (Schematic). Presione siguiente. Seleccionar el dispositivo:

Xilinx (http://www.xilinx.com) es fabricante de varios tipos de dispositivos reprogramables (CPLD’s, FPGA’s, etc). El departamento de Ingeniería electrónica de la UdeA cuenta en el laboratorio con FPGAs de la famila Xilinx Spartan2 - xc2S30, empaquetado t9144 y Speed Grade 5. Completamos la parte superior del cuadro con estos datos. La parte inferior muestra las herramientas de síntesis (Synthesis Tool), el simulador (Simulator) y el lenguaje de Simulación generado (Generated Simulation Languaje). Para nuestro caso las opciones por defecto son suficientes. Finalmente presione siguiente tres veces consecutivas (en estos pasos se pueden agregar archivos al proyecto pero lo haremos posteriormente) Una vez creado el proyecto, hay que crear un nuevo diseño de esquemático. Para ello hacer doble clic en Create New Source.

Aparecerá un cuadro de diálogo 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 Siguiente y en el siguiente cuadro de diálogo, en que figura el archivo que se generará, clic en Finalizar. Una vez hecho esto se abrirá el editor de esquemáticos.

En la parte izquierda superior hay una ventana con cuatro pestañas, en la primera podemos ver la jerarquía de los módulos (module view) que en un proyecto simple, aparecen los archivos de trabajo) y en la cuarta se encuentran los símbolos (Symbols) donde se encuentran los componentes que se pueden añadir a un proyecto.

Símbolos está dividido en varios cuadros de dialogo. En el primero de ellos, categorías (Categories) se puede escoger el tipo de elementos que se quiere usar, como puertas lógicas, comparadores, multiplexores, memorias, etc. Este actúa como filtro para el cuadro de dialogo Símbolos (Symbols), en este es donde finalmente se selecciona el componente especifico (por ejemplo and2, and de 2 entradas). También si se conoce el nombre exacto se puede utilizar el cuadro Symbol Name Filter. Recordemos que la ecuación del multiplexor esta dada por Y = !SX1 + SX2, por lo tanto para comenzar añadimos una AND de dos entradas (and2), una AND de dos entradas con una entrada negada (and2b1) y una OR de dos entradas (or2); estas se encuentran bajo la categoría Logic. Si se desea cambiar la rotación puede usar el cuadro Orientation. Después de agregar todos los componentes el editor se debe ver como la siguiente figura:

Luego conectemos los componentes con la herramienta agregar conexión (add wire) , ubicada en la parte superior izquierda de la pantalla. Primero conectamos las salidas de las dos AND a las entradas de la OR dando clic en los nodos que se desean conectar con la herramienta seleccionada. Finalmente conecte una de las entradas de la AND con la entrada invertida de la segunda y agregue unas lineas adicionales a las dos entradas libres de las AND; al finalizar el circuito se debe ver como en la figura

Ahora es necesario definir las entradas y salidas del circuito; por lo tanto es necesario agregar marcadores

de Entrada/Salida (Add I/O Marker) . Seleccione la herramienta y de clic sobre los puntos que son entradas o salidas. Cuando se selecciona una herramienta, en la parte inferior izquierda, aparecen las opciones para esta, para este caso aparecen opciones sobre la dirección del marcador (Entrada, salida, Entrada/Salida, etc.). Antes de dar clic sobre cada punto de Entrada/Salida seleccione la dirección correcta. Al finalizar el circuito se debe ver como la figura:

Ahora editemos cada nodo para que corresponda con el nombre de cada entrada o salida. Para esto doble clic sobre el marcador.

En Name escribimos el nombre correspondiente a cada marcador (X1, X2, S ó Y), Al finalizar el circuito se debe ver como en la figura:

Comprobación del circuito Una vez terminado el diseño del circuito puede hacerse una comprobación simple sobre el mismo para asegurarnos de que todas las conexiones están bien hechas y que no hay cables sueltos o puertas sin conectar. Para ello desde el menú principal clic en Tools y dentro de este menú en Check Schematics. Aparecerá una ventana que nos informará si hay algún Error o Warning.

En lo que sigue se debe sintetizar el circuito para hacer esto en la parte izquierda inferior hay una ventana damos doble clic en Synthesize-XST. Si después de hacer lo anterior se tiene Synthesize-XST, es porque el circuito tiene errores y se debe proceder a corregirlos, si se ve como en la figura, todo esta correcto.

Creación de un símbolo (opcional) Con el diseño realizado se podrá hacer un nuevo componente, consistente en un “caja negra”, un bloque con el mismo número de entradas y salidas del circuito original diseñado y con su funcionalidad. Este nuevo símbolo creado pasa a formar parte de la librería de componentes del proyecto y podrá utilizarse como un componente más. Esto es fundamental para realizar diseños jerárquicos. Para crearlo desde el menú principal clic en Tools y dentro de este menú Symbol Wizard. Aparecerá la siguiente ventana en la que señalaremos la opción Using Schematic.

Aparecen un conjunto de ventanas que permiten editar el símbolo, en la de la figura podemos dar clic en Siguiente.

En esta se pueden editar las fuentes y el espacio entre pines del símbolo.

Finalmente se muestra como quedará el símbolo.

Al terminar una nueva librería con el nombre del proyecto estará disponible en Categoría. Por esta práctica no utilizaremos el símbolo. Simulación Para simular el circuito diseñado, damos clic en sources, y clic derecho en cualquier lugar dentro de la ventana.

Seleccionamos New Source, luego seleccionamos Test Bench Waveform y le damos un nombre al archivo de simulación, por ejemplo testmux2_1:

Luego clic en Siguiente, nos pregunta cual modulo dentro del proyecto deseamos simular (en nuestro caso solo existe uno) presionamos siguiente dos veces y luego finalizar. Al hacer esto aparece una ventana para iniciar los parámetros de simulación. Nuestro circuito es combinacional (la diferencia entre combinacional y secuencial se ve dentro de los temas del curso). Por lo tanto seleccionamos Combinatorial (or internal clock), también se debe activar la opción GSR (FPGA), el resto de opciones pueden dejarse por defecto.

Se abre el editor de formas de onda del simulador. Como el circuito es extremadamente simple realizamos todas las posibles combinaciones dando clic en las áreas azules para cambiar el valor anterior. Al finalizar el editor debe verse como en la figura siguiente:

Guardamos el archivo de simulación. Para simular en la ventana Sources en Sources for seleccionamos la opcion Behavioral Simulation

Después de la selección en la parte inferior aparecen las opciones que se muestran en la figura.

Doble clic en la opción Simulate Behavioral Model, y el proceso de simulación comienza. Al finalizar el resultado aparece en una nueva ventana:

Como vemos Y es igual a X2 cuando S es igual a ‘1’ y es igual a X1 cuando S es igual ‘0’.