La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
Télécharger Lire

TUTORIAL ISE WebPack

20 pages
TUTORIAL DE ISE WebPack TUTORIAL DE ISE WebPack 6.2i 1. INTRODUCCIÓN El fin de este tutorial es proporcionar una guía rápida para el manejo básico del entorno de desarrollo ISE WebPack 6.2i de Xilinx. Las diferentes versiones de ISE ( Integrated Software Environment) no son más que un entorno integrado de desarrollo (IDE: Integrated Development Environment) que permite recorrer fácilmente las diferentes fases del proceso de desarrollo de un circuito lógico, desde el diseño hasta la implantación sobre una arquitectura reconfigurable. ISE se encarga de llamar de manera automática a las diferentes utilidades y herramientas suministradas dependiendo de la etapa de diseño en la que nos encontremos. Estas utilidades se pueden usar de manera separada y están disponibles en la ruta %XILINX%\bin\nt. Algunos de estos programas funcionan bajo DOS y otros bajo Windows y casi todos ellos disponen de una pequeña ayuda. ISE se autodenomina Navegador de Proyecto (Project Navigator) y está orientado a facilitar el proceso de desarrollo. La figura siguiente muestra la ventana de proyecto en la que se aprecian las diferentes fases del flujo de diseño. Diseño Imposición de restricciones Síntesis Implementación Configuración del dispositivo Figura 1. Ventana de proyecto de ISE. Resumidamente las fases de desarrollo son: 1. Diseño. 2. Imposición de restricciones. 3. Síntesis. 4. Implementación. 5. Configuración del dispositivo o carga del programa. ...
Voir plus Voir moins
TUTORIAL DE ISE WebPack  
TUTORIAL DE ISE WebPack 6.2i   1. INTRODUCCIÓN  El fin de este tutorial es proporcionar una guía rápida para el manejo básico del entorno de desarrollo ISE WebPack 6.2i  de Xilinx. Las diferentes versiones de ISE  ( Integrated Software Environment ) no son más que un entorno integrado de desarrollo ( IDE : Integrated Development Environment ) que permite recorrer fácilmente las diferentes fases del proceso de desarrollo de un circuito lógico, desde el diseño hasta la implantación sobre una arquitectura reconfigurable. ISE  se encarga de llamar de manera automática a las diferentes utilidades y herramientas suministradas dependiendo de la etapa de diseño en la que nos encontremos. Estas utilidades se pueden usar de manera separada y están disponibles en la ruta %XILINX%\bin\nt . Algunos de estos programas funcionan bajo DOS y otros bajo Windows y casi todos ellos disponen de una pequeña ayuda.  ISE se autodenomina Navegador de Proyecto ( Project Navigator ) y está orientado a facilitar el proceso de desarrollo. La figura siguiente muestra la ventana de proyecto en la que se aprecian las diferentes fases del flujo de diseño.  
 
Diseño Imposición de restricciones
Síntesis Implementación Configuración del dispositivo
 Figura 1. Ventana de proyecto de ISE .  Resumidamente las fases de desarrollo son: 1. Diseño. 2. Imposición de restricciones. 3. Síntesis. 4. Implementación. 5. Configuración del dispositivo o carga del programa.  Cada una de estas etapas admite una variedad de formatos y herramientas tanto nativas (de Xilinx) como de terceros. Los dispositivos reconfigurables pueden ser de dos arquitecturas diferentes: FPGAs ( Field Programmable Gate Array ) y CPLDs ( Complex Programmable Logic Device ).  El hilo conductor de este tutorial es la realización de un diseño sencillo desde la fase de descripción hasta la carga en CPLD.  
 
 
1
TUTORIAL DE ISE WebPack  
2. FLUJO DE DISEÑO  En esta sección se presenta el flujo de diseño completo para lógica reconfigurable de Xilinx. Podemos distinguir las siguientes etapas: 1. Diseño  modelado de un circuito lógico (HDL, esquemático, EDIF, máquina de estados, etc.). 2. Imposición de restricciones asignación de pines, limitaciones temporales. 3. Síntesis traducción a puertas lógicas. 4. Implementación  generación del programa que configura un determinado dispositivo destino (FPGA o CPLD). 5. Configuración del dispositivo carga del programa en el dispositivo destino.  La figura siguiente ilustra lo dicho indicando las diferentes fases de desarrollo según la enumeración anterior. Dicha enumeración no significa que necesariamente haya que seguir ese orden de principio a fin, más bien es un proceso en el que se avanza y retrocede iterativamente hasta alcanzar el objetivo.   1
3
4
5   Figura 2. Flujo de diseño Xilinx simplificado.   Cada una de las etapas del flujo de diseño puede realizarse dentro del entorno integrado o bien utilizar herramientas de terceros. Algunas de esas herramientas también son integrables en ISE si están convenientemente instaladas.  La lógica reconfigurable de Xilinx cuenta con dos tipos de dispositivos: FPGAs ( Field Programmable Gate Array ) y CPLDs ( Complex Programmable Logic Device ). Cada uno de ellos tiene sus fases de desarrollo específicas. Aquí nos centraremos en la configuración de dispositivos CPLD.  
 
 
2
TUTORIAL DE ISE WebPack  
2.1. Flujo de diseño completo para CPLDs  El flujo de diseño completo concretado para CPLDs se muestra en la figura siguiente. Se ha recuadrado la fase de simulación y verificación para separarla del proceso de implementación en el dispositivo físico. Las líneas que se han trazado encima del diagrama de flujo indican los dos posibles caminos que vamos a seguir: el diseño basado en esquemáticos o en modelos VHDL.   
1
4
3
1
Simulación y verificación
  Figura 3. Flujo de diseño completo para CPLDs de Xilinx. Los rectángulos son aplicaciones o utilidades, las elipses son librerías y los rectángulos redondeados tipos de ficheros   El diagrama mostrado en la figura identifica con diferentes símbolos las herramientas y los ficheros que se van generando en cada paso. Las aplicaciones o utilidades que usaremos como herramientas se reconocen porque se enmarcan en rectángulos mientras que los diferentes tipos de ficheros se encuadran en rectángulos de esquinas redondeadas. En las secciones siguientes se hace una descripción más detallada de todo esto.   
 
 
3
TUTORIAL DE ISE WebPack  
2.2. Fase de diseño, restricciones y síntesis  En el diagrama de flujo de diseño figura en primer lugar la entrada del circuito lógico que deseamos implantar. Esta entrada se puede realizar de las siguientes maneras:  HDL o lenguaje de descripción de hardware (VHDL, Verilog, ABEL).  Esquemáticos.  EDIF.  NGC/BGO.  Máquina de estados.  Núcleo IP.  Para llevar a cabo esta entrada del circuito lógico el entorno ISE  proporciona las siguientes herramientas:  Editor de texto. Genera diferentes extensiones dependiendo del lenguaje utilizado. Para el caso de VHDL la extensión es .vhd .  Editor de esquemáticos Es la utilidad ECS  ( Engineering Capture System ) que podemos encontrar bajo el nombre ECS.exe . Funciona tanto en el entorno integrado ISE como de forma autónoma. Genera ficheros con extensión .sch .  Editor de máquinas de estados. Es la utilidad StateCAD (fichero sc.exe ). Permite generar diagramas de estados (ficheros .dia ) y traducirlos a algún lenguaje de descripción de hardware .  Hay que tener en cuenta que el circuito ha de relacionarse con el exterior a través de los pines del encapsulado del dispositivo configurable destino (CPLD en nuestro caso). Estos pines están, a su vez, unidos a una serie de elementos de la placa de desarrollo (puertos de entrada/salida, memoria, microcontrolador, etc.). Es necesario, por tanto, establecer las asignaciones de entradas y salidas a los pines del dispositivo físico concreto. Esto forma parte de las restricciones de usuario que además incluyen las limitaciones temporales.  Para realizar las asignaciones de pines del encapsulado tenemos las siguientes herramientas:  Editor de texto. Generamos un fichero de extensión .ucf .  PACE : Pinout and Area Constrints Editor . Entorno gráfico que permite realizar las asignaciones y salvarlas en un fichero de texto. Este fichero de texto tiene extensión .ucf .  Finalmente hemos de realizar la traducción del circuito a puertas lógicas. Cuando el diseño fuente se ha realizado en esquemático o con lenguajes de descripción de hardware  mediante modelados estructurales se puede disponer de la implementación en puertas lógicas pero en otros casos no es así. La síntesis se puede realizar con las siguientes herramientas:  XST : Xilinx Synthesis Technology . Es el sintetizador nativo de Xilinx y se materializa en el ejecutable xst.exe . Genera (entre otros) un fichero de extensión .ngc .  LeonardoSpectrum . Pertenece a Mentor Graphics y es integrable en ISE .  Synplify . Pertenece a Synplicity y también es integrable en ISE .  Las etapas de diseño, imposición de restricciones (asignación de pines) y síntesis se presentan con detalle en la figura siguiente.  
 
 
1
2
3
1
 Figura 4. Flujo de diseño Xilinx para entrada de modelos y síntesis.
 
4
TUTORIAL DE ISE WebPack  
 En la figura podemos observar como partiendo de esquemáticos pasamos a una formalización textual a través de EDIF ( Electronic Design Interchange Format ). EDIF es una normalización usada para intercambiar diseños entre diferentes sistemas de CAD y entre ellos y los equipos de fabricación y ensamblado de circuitos impresos. Los ficheros EDIF tienen extensión .edf .  Como hemos dicho, cuando partimos de descripciones realizadas con VHDL, Verilog o ABEL es necesario intercalar una etapa de síntesis a puertas lógicas ya que estos modelos no siempre se realizan basados en circuitos lógicos, es más, su mayor potencia se encuentra en los modelados comportamentales, más cercanos a los programas de alto nivel que a los circuitos digitales. La síntesis genera ficheros NGC ( .ngc ) o EDIF ( .edf ).  En esta fase del diseño es necesario comprobar las reglas lógicas y realizar simulaciones que nos permitan justificar el correcto funcionamiento de nuestros circuitos. Como herramientas de simulación integradas disponemos de:  HDL Bencher : es el simulador nativo de Xillinx con salida de forma de onda que nos permite ver los cronogramas que generan nuestros diseños.  ModelSim de Model Technology integrable en ISE .  El conjunto de ficheros que describen el modelo ( .ngc  y .edf ) y los que imponen restricciones ( .ucf ) permiten abordar la siguiente fase, la de implementación.   2.3. Fase de implementación  La fase de implementación consiste en la creación del fichero de configuración que, una vez cargado en el dispositivo programable, le hará trabajar conforme a las especificaciones de nuestro diseño. Consta de dos partes: la creación de una base de datos o netlist  que recopile tanto el circuito diseñado como sus restricciones (fichero .ngd ) y la creación del fichero de programación propiamente dicho ( .jed ). La primera parte de la implementación se conoce como fase de traducción ( translate ) mientras que la segunda es, en el caso de los dispositivos CPLD, la fase de ajuste ( fit ).  La fase de traducción ejecuta NGDBuild (utilidad ngdbuild.exe ) para mezclar todos los ficheros que contienen la información del modelo ( .ngc  y .edf ) y la información de restricciones ( .ucf ) dando lugar a una base de datos o netlist que se almacena en un único fichero de extensión .ngd . Esquemáticamente tendremos:  ficheros .ngc  + ficheros .edf + ficheros .ucf   ngdbuild.exe  fichero .ngd  TRADUCCIÓN   En el caso de las CPLDs, la fase de ajuste consiste en partir de un fichero .ngd  para generar un fichero de tipo .jed . Esta tarea la lleva a cabo la utilidad CLPD Fitter plasmada en el ejecutable cpldfit.exe  que recibe como entrada un fichero de tipo .ngd  además de los parámetros (ver cpldfit.exe -help ). Tendremos:  fichero .ngd   cpldfit.exe  fichero .jed  IMPLEMENTACIÓN   
 
 
 Figura 5. Fase de implementación (ajuste) sobre CPLD.
 
5
TUTORIAL DE ISE WebPack  
La figura siguiente muestra el proceso completo de ajuste ( fit ) para CPLDs desde el fichero de netlist  .ngd  hasta el fichero de configuración .jed  listo para ser cargado en el dispositivo reconfigurable.  
    
 
Figura 6. Proceso completo de ajuste (fit) para CPLDs.
 
 
6
TUTORIAL DE ISE WebPack  
2.4. Carga del programa de configuración  Disponemos de 2 opciones para cargar el programa de configuración en la pastilla CPLD:  La herramienta IMPACT  de Xilinx que genera varios formatos de ficheros de programación y que puede descargar el programa a través de un cable de comunicación; y  Las utilidades de la placa de desarrollo que proporciona XESS . En este caso necesitamos un fichero de programación de extensión .svf .   IMPACT  Realiza dos funciones básicas: la configuración de un dispositivo a través de alguno de los posibles cables desarrollados al efecto y la generación de ficheros de configuración en diferentes formatos. Los cables disponibles son: - Cable paralelo ( es nuestro caso ). -MultiPRO . -MultiLINX (serie o USB).  La configuración del dispositivo se puede hacer con arreglo a uno de los cuatro modos disponibles (ver documentación en línea para más detalles): -Boundary-scan . -SelectMAP (no CPLDs). -SlaveSerial (no CPLDs). -Desktop Configuration (únicamente cable MultiPRO).  Cruzando los cables disponibles y los dispositivos soportados por los diferentes modos de configuración llegamos a la conclusión de que el único par que se adecua a nuestras posibilidades es el modo Boundary-scan con el cable paralelo.   Utilidades XESS  Ver “ MANUAL UTILIDADES xstools-v4_0.pdf ”.   
 
 
7
TUTORIAL DE ISE WebPack  
3. DESCRIPCIÓN DEL DISEÑO EJEMPLO  Como ejemplo vamos a diseñar un decodificador de 7 segmentos. La figura siguiente ilustra gráficamente lo que queremos hacer.  a0 a1 a2 a3 DEC
  Figura 7. Esquema del decodificador de 7 segmentos.  El decodificador de 7 segmentos tiene como entrada un bus de 4 líneas que representa un número hexadecimal (en el rango que va de 0 a F) y como salida 7 líneas que atacan al display de 7 segmentos.  A continuación se ofrece el modelo VHDL de este decodificador tal y como se genera en el editor de nuestra aplicación ISE WebPack 6.2i de Xilinx. Obsérvese como se incluye una librería propia de Xilinx.   library IEEE; _ _ use IEEE.STD LOGIC 1164.ALL; _ _ use IEEE.STD LOGIC ARITH.ALL; use IEEE.STD LOGIC UNSIGNED.ALL; _ _ -- Uncomment the following lines to use the declarations that are -- provided for instantiating Xilinx primitive components. library UNISIM; use UNISIM.VComponents.all; entity dec7seg is _ port(hex: in bit vector(3 downto 0); _ led: out bit vector(6 downto 0)); end dec7seg; architecture comportamiento of dec7seg is begin process(hex) begin case hex is when "0001" => led <= "0010010"; --1 when "0010" => led <= "1011101"; --2 when "0011" => led <= "1011011"; --3 when "0100" => led <= "0111010"; --4 when "0101" => led <= "1101011"; --5 when "0110" => led <= "1101111"; --6 when "0111" => led <= "1010010"; --7 when "1000" => led <= "1111111"; --8 when "1001" => led <= "1111011"; --9 when "1010" => led <= "1111110"; --A when "1011" => led <= "0101111"; --B when "1100" => led <= "1100101"; --C when "1101" => led <= "0011111"; --D when "1110" => led <= "1101101"; --E when "1111" => led <= "1101100"; --F when others => led <= "1110111"; --0 end case; end process; end comportamiento;  Modelo 1. Decodificador de 7 segmentos modelado en VHDL.  
 
 
6 ---5| |4 --- <- 3 2| |1 ---0
8
TUTORIAL DE ISE WebPack  
El dispositivo físico de lógica reconfigurable que vamos a utilizar es la CPLD ( Complex Programmable Logic Device ) xc95108  de Xilinx. El encapsulado es el PC84  de 84 pines y se encuentra dentro de una placa de desarrollo de XESS denominada XC95-108+ que cuenta con memoria SRAM, un microcontrolador 8051 y dispositivos de entrada/salida. El esquema se da en la figura siguiente.  
Figura 8. Esquema de la placa XS95 108+.
   La entrada al decodificador de 7 segmentos se realizará por el puerto paralelo (pines 46, 47, 48, 50, 51, 52, 81 y 80) mientras que la salida al display se realiza por los pines 21, 23, 19, 17, 18, 14 y 15. Estas serán las asignaciones de pines que vamos a realizar en nuestro diseño.  
 
 
9
TUTORIAL DE ISE WebPack  
4. ARRANQUE DE LA APLICACIÓN ISE WebPack  La versión ISE WebPack 6.2i  es una edición libre, descargable de la página web de Xillinx.  El arranque de la aplicación se realiza a través del menú inicio: Menú Inicio  Programas  XIlinx  ISE WebPack 6 . Después de la ventana de bienvenida aparece la ventana principal del entorno, tal y como se muestra en la figura siguiente si no se ha realizado ningún proyecto anteriormente.   
  Figura 9. Aspecto inicial de ISE WebPack 6.2i .  En la ventana principal se distinguen cuatro partes:  Arriba a la izquierda se encuentra la ventana de ficheros fuente del proyecto.  Debajo, a la izquierda, se encuentra la ventana de proyecto que representa el flujo de diseño adaptado al dispositivo del proyecto.  A la derecha se encuentra un espacio reservado para colocar los diferentes editores del entorno.  Abajo tenemos una ventana que muestra la salida texto generada por las diferentes utilidades que van siendo llamadas en el proceso de diseño.  Cada vez que abrimos la aplicación se carga el último proyecto tratado mostrando el estado correspondiente a las actuaciones realizadas en cada una de las ventanas.  Para cerrar la aplicación hay que seleccionar la opción File  Exit  y confirmar en el cuadro de diálogo correspondiente.  
 
 
10
TUTORIAL DE ISE WebPack  
5. CREACION DE UN PROYECTO  Para el entorno ISE  un proyecto es un conjunto de unidades de diseño modelos en lenguajes de descripción de hardware , esquemáticos, etc. , unas restricciones de implantación física y una arquitectura de dispositivo reconfigurable. Además de esto, el proyecto integrará en el entorno algunas herramientas de simulación y síntesis que seleccionará el usuario de entre las nativas de Xilinx y las proporcionadas por terceros.  Creación de nuestro proyecto: 1. Iniciar la aplicación ISE WebPAck 6.2i . 2. Seleccionar la opción File New Project… . Aparecerá la ventana de dialogo de la figura siguiente. En dicha ventana se establece el nombre del proyecto, el directorio en el que desea ubicarse y tipo de fichero fuente de entre los disponibles (lenguaje de descripción de hardware  (HDL), esquemático, EDIF o NGC/NGO). Pulsar el botón ‘ Siguiente’ .  
   
   
 
 Figura 10. Primera ventana de dialogo para la creación de un proyecto. 3. Aparece la ventana de diálogo de la figura siguiente en la que se determina el dispositivo reconfigurable destino, su encapsulado y grado de velocidad. Las herramientas de síntesis ( XST  de Xilinx ) y simulación ( ModelSim  de Model Technology ) aparecen automáticamente si están instaladas en nuestro computador. También se selecciona el lenguaje HDL concreto que se va a utilizar en los ficheros fuente. Pulsar el botón ‘ Siguiente’ .
 Figura 11. Segunda ventana de dialogo para la creación de un proyecto. 4. En las siguientes ventanas podemos determinar los ficheros fuente que vamos a utilizar o bien optar por no dar ninguna información ya que siempre podemos añadir nuevos ficheros en cualquier momento. Hacer clic en el botón ‘ Finalizar’  para crear el proyecto.
 
11
Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin