1. PLANTEAMIENTO DEL PROBLEMA .................................................................................... 3
2. OBJETIVOS .................................................................................................................................. 3 2.1. Objetivo general .................................................................................................................... 3 2.2. Objetivos especficos .............................................................................................................. 3 3. MARCO TEORICO ...................................................................................................................... 4 3.1. Introduccin ........................................................................................................................... 4 3.2 Proceso Para La Implementacin De Mdulos Ip Xilinx. ................................................. 7 3.3 Proceso Para agregar CORE Generator IP a un proyecto ................................................ 7 3.4. Comparacion de los modulos disponibles entre SPARTAN 3E-500, OPEN3S500Ey OPEN3S250E. ........................................................................................................................................ 9 3.5. Explicacin de cada una de las categoras disponibles XILINX ISE ................................... 15 4. DIAGRAMAS .............................................................................................................................. 19 4.1. Diagrama de Bloques .............................................................................................................. 19 5. LISTA DE COMPONENTES .................................................................................................... 19 6. MAPA DE VARIABLES ............................................................................................................ 19 7. EXPLICACION DE LOS METODOS O FUNCIONES ......................................................... 20 8. DESCRIPCION DE PRERREQUISITOS Y CONFIGURACION ........................................ 20 9. CONCLUSIONES ....................................................................................................................... 21 10. RECOMENDACIONES ......................................................................................................... 21 11. APLICACIONES .................................................................................................................... 22 12. CRONOGRAMA ..................................................................................................................... 22 13. BIBLIOGRAFA ..................................................................................................................... 22 14. ANEXOS .................................................................................................................................. 23 14.1. Manual de usuario ........................................................................................................... 23 14.2. Resultados del Programa Antiplagio ............................................................................. 30 14.3. Hojas tcnicas .................................................................................................................. 31
Tabla De Ilustraciones Ilustracin 1. Definicin de FPGA .......................................................................................................... 4 Ilustracin 2. Familia de las FPGA ........................................................................................................ 4 Ilustracin 3. Caracteristicas de la SPARTAN 3E-500 ........................................................................... 5 Ilustracin 4. ISE ..................................................................................................................................... 5 Ilustracin 5. Definicin de IP ................................................................................................................ 6 Ilustracin 6. Tipos de IP ........................................................................................................................ 6 Ilustracin 7. Archivos Generados al Crear una IP ............................................................................... 7 Ilustracin 8. Proceso para Implementar Mdulos IP en un Proyecto ................................................... 8 Ilustracin 9. Diagrama de Bloques ..................................................................................................... 19 Ilustracin 10. Logo de Windows 7 ....................................................................................................... 20 Ilustracin 11. FPGA SPARTAN 3E-500 .............................................................................................. 21 Ilustracin 12. Cronograma de Actividades ......................................................................................... 22 Ilustracin 13. Crear un nuevo proyecto .............................................................................................. 23 Ilustracin 14. Configuracin de la FPGA ........................................................................................... 24 Ilustracin 15. Crear una nueva Fuente ............................................................................................... 24 Ilustracin 16. Configuracin de la Fuente IP ..................................................................................... 25 Ilustracin 17. Seleccin de la IP a implementar ................................................................................. 25 Ilustracin 18. Configuracin de la IP.................................................................................................. 26 Ilustracin 19. Creamos una Fuente VHDL .......................................................................................... 26 Ilustracin 20. Configuracion de la Interfaz ......................................................................................... 27 Ilustracin 21. Arquitectura del Encabezado en VHDL ........................................................................ 27 Ilustracin 22. Instanciacin ................................................................................................................. 28 Ilustracin 23. Simulacin en VHDL .................................................................................................... 28 Ilustracin 24. Diagrama de Bloques ................................................................................................... 28 Ilustracin 25. Asignacin de Direcciones a las Variables .................................................................. 29 Ilustracin 26. Grabar el Proyecto en la FPGA ................................................................................... 29 Ilustracin 27. Variables de Entrada y Salida en la FPGA .................................................................. 29 Ilustracin 28. Comprobacin de la Aplicacin ................................................................................... 30
1. PLANTEAMIENTO DEL PROBLEMA
En la actualidad debido al avance tecnolgico se han creado las FPGA Arreglo de compuertas lgicas programables que contiene bloques de lgica cuya interconexin y funcionalidad puede ser configurada mediante un lenguaje de descripcin especializado.
En este dispositivo se puede incluir la funcionalidad de varios circuitos integrados la cual puede ser desarrollada uno mismo o adquirida a travs de terceros, estas funcionalidades son como componentes electrnicos, pero sin su parte fsica, en la industria se les conoce como bloques de propiedad intelectual o IP cores (Intellectual Property).
Estos mdulos IP nos permiten implementar diversas funciones sin necesidad de programarlas, acortando as el tiempo de realizacin de algn proyecto.
2. OBJETIVOS
2.1. Objetivo General Investigar sobre los mdulos IP disponibles para las diferentes FPGA en ISE, su implementacin y funcionamiento 2.2. Objetivos Especficos Detallar el procedimiento necesario para implementar mdulos IP en ISE. Comparar los distintos mdulos IP disponibles entre SPARTAN 3E-500, OPEN3S500E y OPEN3S250E. Determinar las caractersticas de cada una de las categoras disponibles en ISE. Realizar una aplicacin ilustrativa con Mdulos IP en la SPARTAN 3E-500.
3. MARCO TEORICO 3.1. Introduccin
3.1.1. FPGA
Ilustracin 1. Definicin de FPGA
Ilustracin 2. Familia de las FPGA FPGA (Field Programmab le Gate Array) Es un dispositivo semiconductor que contiene bloques de de logica. se utilizan en aplicaciones similares a los ASICs sin embargo son ms lentas tienen la ventaja de ser reprogramable Histricamente las FPGA surgen como una evolucin de los conceptos desarrollados en las PAL y los CPLD.
Ilustracin 3. Caractersticas de la SPARTAN 3E-500
Ilustracin 4. ISE SPARTAN 3E Starter Kit Plataforma de Xilinix Junto a ISE permite disear, simular e implementar Sistemas Embebidos Cuenta con Cuatro switch, cuatro pulasdores y una perilla. Cuenta con una pantalla LCD Cuenta con un puerto VGA Cuanta con Puertos seriales RS 232 Cuenta con Conversores DA y AD Cuenta con Puertos PS/2 Cuenta con una Xilinix Flash PROM Cuenta con conectores de expasion de 6 pines y 100 pines ISE DE XILINIX Herramienta que ayuda en el proceso de diseo, simulacion, sintesis de confirguracion de hardware Integrated Software Environment La GUI se denomina Proyect Navigator Los diseos se pueden introducir mediante esquematicos, los grafos de estados y las descripciones hardware en VHDL Se puede simular su comportamiento a nivel funcional o temporal 3.1.2. Componentes IP (IP cores)
Ilustracin 5. Definicin de IP 3.1.3. Tipos de IP CORES
Ilustracin 6. Tipos de IP Los dispositivos FPGA que contienen procesadores integrados y otras funciones implementadas en forma de mdulos de hardware (hard-core) y de mdulos de software (soft- core) se conocen con el nombre de dispositivos FPGA de plataforma. Porque pueden emplearse para implementar un sistema completo sin necesidad de dispositivos externos de soporte.
Dentro de una FPGA se puede incluir la funcionalidad de varios circuitos integrados la cual puede ser desarrollada uno mismo o adquirida a travs de terceros. Debido a que estas funcionalidades son como componentes electrnicos, pero sin su parte fsica, se les suele llamar componentes virtuales. En la industria se les conoce como bloques de propiedad intelectual o IP cores (Intellectual Property). TIPOS DE IP CORES Soft-Core Cdigo sintetizable, similar al cdigo fuente para software o tambin a descripcin a nivel de puerta (netlist). Hard-Core Descripcin fsica, presentan problemas a la hora de asociar diferentes procesos entre ellos o pasar de una lnea de fabricacin a otra. Firm-Core Puede ser modificado en trminos de placement & routing o en tecnologa de bibliotecas.
3.2 Proceso Para La Implementacin De Mdulos Ip Xilinx.
Puede crear Core Generator IP para crear una instancia en el nivel de HDL o diseos esquemticos. Cuando se crea IP, el software principal generador produce una combinacin de los siguientes archivos y los coloca en el directorio especificado para su uso en su proyecto ISE:
Ilustracin 7. Archivos Generados al Crear una IP Por defecto, cuando se crea un nuevo ncleo CORE Generator, los archivos principales se colocan en un subdirectorio del directorio principal del proyecto denominado ipcore_dir. Si es necesario, puede especificar una ubicacin diferente en el Asistente para nueva fuente cuando se crea el ncleo.
3.3 Proceso Para agregar CORE Generator IP a un proyecto
El archivo de origen XCO se debe agregar al proyecto para ser compilado correctamente en el diseo durante la sntesis y aplicacin. XCO Este archivo contiene opciones bsicas y parmetros. EDN / NGC Esta es la lista de conexiones de aplicacin de los ncleos de propiedad intelectual que netlists salida. Se transmite al proceso Traducir (NGDBuild). SYM Este smbolo esquemtico se genera automticamente para crear instancias de la IP en un esquema. VHO o VEO archivos de plantilla Estos archivos se generan automticamente para crear instancias de la IP en un archivo de HDL. Archivos de contenedor VHD o simulacin V Estos archivos estn destinados a la simulacin de ncleos IP que netlists salida. Los archivos de cdigo fuente de VHD o V Estos archivos son el cdigo fuente real requerido tanto para la sntesis y simulacin de ncleos de propiedad intelectual que de cdigo fuente de salida. XISE, ISE, y los archivos de proyecto Gise Estos archivos se utilizan para ayudar a controlar y administrar el ncleo en el contexto del proyecto ISE. Usted no debera tener que interactuar directamente con estos archivos.
Ilustracin 8. Proceso para Implementar Mdulos IP en un Proyecto
El archivo de origen se agrega al proyecto y el archivo aparece en el panel Jerarqua del panel Diseo de forma predeterminada, los archivos de origen se analizan cuando se agregan al proyecto y se muestran jerrquicamente. El orden de compilacin enviado a la sntesis se determina automticamente en funcin de la jerarqua de los archivos de origen. El archivo tambin aparece en el panel Archivos, que proporciona una vista de lista ordenada de todas las fuentes en su proyecto. Si el archivo de origen que ha aadido se refiere a los archivos que no se han agregado al proyecto, los nombres de archivo aparecen en la jerarqua de diseo como archivos Crear un nuevo proyecto Escogemos la configuracin de nuestra FPGA En la Ventana New Source Wizard seleccionamos la opcin IP core y le damos un nombre a nuestro proyecto. Escogemos el IP core que queremos usar y damos clic en Aceptar En la ventana de Configuracin de la IP escogida, establecemos los parmetros que necesitemos para nuestra aplicacin Esperamos a que se generen la IP y al crearse el software principal generador produce una combinacin de varios archivos y los coloca en el directorio especificado para su uso en su proyecto ISE. Luego creamos un nuevo modelo VHDL Configuramos la interface para que se comunique con la IP. Abrimos el archivo .vho que se genera en la ipcore_dir y se copia la declaracin del componente y la instanciacin. Luego se realiza la sntesis, se asignan las direcciones de la FPGA y se graba el proyecto. indefinidos Imagen. Debe agregar los archivos de referencia al proyecto para el software ISE para rastrear cambios en los archivos. Nota Si ha generado el archivo de origen mediante el Asistente para nuevo origen y seleccionados Aadir al Proyecto, no es necesario agregar el archivo fuente al proyecto; se aade automticamente a su proyecto.
3.4. Comparacion de los modulos disponibles entre SPARTAN 3E- 500, OPEN3S500Ey OPEN3S250E. Comparacin de mdulos IP disponibles
Mdulos IP Herramientas de diseo de apoyo SPARTAN 3E-500 OPEN 3S500E OPEN 3S250E Audio / Video / Procesamiento de Imgenes
Audio y voz Audio conversor de frecuencia de muestreo de bajo costo ISE - - -
|Imgenes y video Decodificador JPEG de lnea de base JPG
ISE VIVADO - - - Cdigo JPEG de lnea de base ISE VIVADO - - - Multicanal bsico H.264 Encoder ISE VIVADO - - - Caracterizacin de imagen ISE + + - Reduccin de ruido de la imagen ISE + + - Estadsticas de imagen ISE + + - Matriz De correccin de color ISE + + - Controlador de temporizacin de video ISE + + - Video en pantalla ISE + + - Escalador e video
ISE + + - SMPTE2022-5/6 Receptor De video sobre IP ISE + + - SMPTE2022-5/6 Transmisor De video sobre IP ISE + + -
Conversor de formatos LogiWIN Verstil controlador de video de entrada ISE VIVADO - - - Controlador de video LogiCVC-ML Compacto multicapa ISE VIVADO - - - LogiBAYER.Color de la cmara de sensor BayerDecoder ISE VIVADO - - - Reduccion de ruido de la imagen ISE VIVADO - - -
Procesamiento LogiBAYER.Color de la cmara de sensor BayerDecoder ISE VIVADO - - - Interfaz digital Serie ------------ - - - Automotor LogiVIEW. Prespectiva de transformacin y la lente del procesador de correccin de imagen ISE
- - - Controlador FlexRay XPS ---------- - - - Controlador de video LogiCVC-ML Compacto multilayer ISE VIVADO - - - Todos DAC Digital IP Core ISE - - - Controlador de red CAN2.0(DDC) ISE - - - CAN ISE VIVADO + + + LogiWIN verstil controlador de video de entrada ISE VIVADO - - - Controlador Flexray ---------- - - - Controlador de bus LIN ---------- - - - Codificador de lnea base JPEG ----------- - - - BitMap 2.5 D Tarjeta de video ISE VIVADO - - - LogiStep Controlador de motor paso a paso - - - Logil2S Audio I2S Transmisor /Receptor - - - Lgica Bsica Comparador --------------- - - -
Contador C8254- Programable Timer - Contador ISE VIVADO - - - Contador binario ISE + + + Acumulador Acumulador ISE + + + Codificador y decodificador 8b/10b Decodificador ---------- - - - Decodificador binario ----------- - - - Codificador 8b/10b ISE - - - Puerta lgica y buffer --------------- - - - Multiplexor Bufe- Based multiplexer slice -------------- - - - Registro, desplazador y canalizacin Registro de desplazamiento basado en RAM ISE VIVADO + + + Interfaz de bus y IO
Automotriz e industrial Controlador de red CAN2.0 (DDC) ISE - - - CAN2.0 B Controlador compatible de red ISE VIVADO - - - Controlador esclavo EtherCAT (ET1815) ISE VIVADO - - - CAN ---------------- - - - CoreConect CoreConect tecnologa
I2C I2C Controlador de bus de base esclava ISE VIVADO - - - I2C Controlador de bus esclavo ISE VIVADO - - - Controlador de bus maestro ISE VIVADO - - - Controlador de bus maestro/ esclavo ISE VIVADO - - - Parallel IO ----------------- - - -
PCI
Iniciador/ Destino de 64 bits para PCI
ISE VIVADO + + + Iniciador/ Destino de 32 bits para PCI ISE VIVADO + + + Iniciador/ Destino de 32 y 64 bits para PCI de paquetes de productos ISE VIVADO - - - PCI-Express ------------ - - - PCI-X ------------ - - - Procesador bus ------------ - - - Rapid IO ------------ - - - Serial IO ------------- - - -
USB USB 2.0 Sobre la marcha ISE
- - - Controlador de dispositivo USB 2.0 ISE
- - - Dispositivo OPB USB2.0 ISE
- - - Dispositivo USB 3.0 ISE VIVADO - - - Comunicacin y Redes Modo de transferencia asincrnica -------------------- - - - -
Cifrado y descifrado
Motor de exponenciacin modular para RSA y DH ISE VIVADO - - - AES cifrado rpido y descifrado ISE
- - - Helion AES cifrado/ descifrado estndar
ISE
- - - AES Clave wrap ISE
- - - AES Cifrado diminuto /Descifrado ISE
- - - DVB cifrado comn de algoritmo de nucleo ISE VIVADO - - -
Decodificador de Viterbi ISE VIVADO + + +
Correccin de errores F-LDPC codificador/ decodificador IV ISE - - - Cifrado Reed-Salomon ISE VIVADO + + + Descifrado Reed-Salomon ISE VIVADO + + + F-LDPC codificador/ decodificador III ISE - - - 3GPP LTE Turbo Decodificador ISE VIVADO + + +
Ethernet UDP Hardware/ IP Stack Core ISE VIVADO - - - Tri mode Ethernet MAC ISE + + + Ethernet AVB Endpoint ISE - - + 10 Gigabit Ethernet MAC ISE + + - Interface paralela ------------------ - - - - SONET- SDH ------------------- - - - -
Creacin de redes de rea de almacenamiento ATA 7 Host ISE
- - - Controlador de dispositivos ATA ISE
- - - Dispositivo Serial ATA I/ II/ III ISE
- - - Dispositivo ATA7/ UDMA 133 ISE
- - - Telecomunicaciones Decodificador Turbo 3GPP ISE + + + Codificador Turbo 3GPP ISE + + + Codificador Turbo 3GPP2 ISE + + + Decodificador Tubo 3GPP2 ISE + + +
Wireless F-LDPC Codificador/Decodificador 5 ISE
- - - SDIO UART Puente IP core ISE
- - - IPsek ESP Seguridad del motor ISE VIVADO - - - Codificador/ Decodificador 4 ISE - - - Punto a punto adaptativa 1024/QAM microondas modem ISE - - - Transformada discreta de Fourier DFT ISE VIVADO - - - Ncleo de AES-CCM ISE VIVADO - - - Transformada rpida de Fourier FFT ISE VIVADO - - - Procesamiento Digital de Seales Aritmtica Multiplicador complejo ISE VIVADO + + + Divisor ISE VIVADO - - - FFT/IFFT ISE VIVADO + + + DFT ISE + + - Correlador ------------- - - - Procesador DSP ------------- - - - Prototipo DSP Hardware ------------- - - -
Correccin de errores F-LDPC Codificador/ Decodificador 5 ISE - - - Decodificador de Viterbi ISE VIVADO - - - F-LDPC Codificador/ Decodificador 4 ISE - - - Turbo cdigo del producto Decodificador ISE - - - Codificador de Reed/Solomon ISE VIVADO - - - Decodificador de Reed/Solomon ISE VIVADO - - -
Filtros LogiWIN verstil controlador de video de entrada ISE VIVADO - - - LogiBayer Color de la cmara del sensor Bayer decoder ISE VIVADO - - - Compilador FIR ISE VIVADO + + +
Modulacin Demodulacin DDS Compilador ISE VIVADO + + + Zaltys de alta velocidad de datos modular ISE VIVADO - - - Zaltys de alta velocidad de datos demodulador ISE VIVADO - - - Sintetizador digital directo ISE VIVADO - - -
Transformar LogiWIN verstil controlador de video de entrada ISE VIVADO - - - Transformada rpida de Fourier ISE VIVADO + + + logiBayer color de camara de sensor Bayer Decoder ISE VIVADO - - - Proceso de FFT/IFFT ISE VIVADO + + +
Funciones Trigonometricas CORDIC ISE VIVADO + + + Seno, coseno ISE VIVADO - - - Procesamiento Embebido-
CoreConnect PLBV 4.6 Brust Maestro ISE
- - - Estructura OPB Bus ISE
- - - Lgica reducida til ISE
- - - Lgica de vector til ISE
- - - til flip flop ISE
- - - Depuracin y --------- - - - seguimiento Interfaz de memoria Dispositivo SD/ SD IO ISE - - - Controlador flash SPI ISE - - - Bloquear RAM ISE - - - Dispositivo MMC ISE - - - MicroBlace ISE + + + Procesador Core Lgica reducida til ISE - - - FSL_V20 ISE - - - Lgica de vector til ISE - - - til flip_flop ISE - - - Procesador Interfaz ATA 7 Host ISE - - - Generador de reloj ISE - - - Multiplexor de IO ISE - - - XPS Mutex ISE - - - XPS Buzn ISE - - - AXI Infraestructura interconexin AXI ISE + + - Perifricos Networking ----------- - - - Perifricos UART Controlador de dispositivos ATA ISE - - - Controlador PS2 XPS ISE - - - Perifricos de video XPS TFT ISE - - - Perifrico acelerador ------------- - - - FPGA Caractersticas y depuracin Depuracin y verificacin Controlador integrado chipscope ISE VIVADO EDK - - - Chipscope integrado Analizador lgico ISE EDK - - - IO Interfaces Asistente de 7 transceptores de la serie FPGA ISE + + - Clocking Single DCM_SP ISE - - + Conmutacin de reloj con 2 DCM_SP ISE - - + Reenvo de reloj ISE - - + Clocking wizard ISE + + - Infraestructura de interconexin Interfaz del generador de memoria ISE VIVADO - - - Generador FIFO ISE VIVADO - - - Matemticas Acumulador Acumulador ISE VIVADO - - - Sumador y Sustractor Sumador y restador ISE VIVADO + + + Comparador ----------- - - - Contador ----------- - - - Divisor y funcin reciproca Generador de divisin ISE VIVADO + + + Punto flotante Punto flotante ISE VIVADO + + + Conversor de --------- - - - formatos Multiplicador Multiplicador complejo ISE VIVADO + + + Multiplicador ISE VIVADO + + + Raz cuadrada ---------- - - - Transformar ---------- - - -
Funcin Trigonomtrica CORDIC ISE VIVADO + + + Seno y Coseno ISE
+ + + Interfaz de memoria y de elemento de almacenamiento CAM ----------- - - -
FIFO Generador FIFO ISE VIVADO + + +
Interfaz de memoria y control DDR2 SDRAM Core control ISE VIVADO - - - Flash, Controlador NAND ISE
- - - Controlador flash SPI ISE
- - - Interfaz de generador de memoria ISE VIVADO - - - Controlador de HOST SD ISE
- - - Controlador de memoria SD RAM LogiMEM SDR/DDR/DDR2 ISE VIVADO - - -
RAM y ROM Generador de memoria distribuida ISE VIVADO + + + Generador de memoria por bloques ISE VIVADO + + + Registros, Shifter y Canalizacin Registro de desplazamiento basado en RAM ISE VIVADO - - - Serial ATA ---------------- - - - Tabla 1. Cuadro Comparativo entre los Mdulos IP disponibles entre SPARTAN 3E-500, OPEN3S500E y OPEN3S250E
3.5. Explicacin de cada una de las categoras disponibles XILINX ISE
Industria y automotriz Consta de un IP CAN, Ideal para aplicaciones de automotriz e industriales, tales como vas de acceso para automviles, unidades de control de cuerpo, equipos de prueba de automviles, grupos de instrumentos, controles de sensores y redes industriales. A travs de opciones configurables por el usuario, puede proporcionar la mxima flexibilidad para mltiples aplicaciones de la unidad de control electrnico (ECU) . El ncleo puede ser utilizado en modo autnomo o conectado a procesadores Xilinx MicroBlaze o PowerPC . El Xilinx CAN LogiCORE cumple con los trminos de licencia de Bosch y proporciona un completo y flexible ncleo IP para dar a los usuarios un uso de la fpga rpidamente en sistemas de automocin e industriales.
Infraestructura AXI Esta categora consta de varias subcategoras como son: el modelo funcional bus AXI que apoyan la simulacin de IP basado en AXI; la central de acceso de memoria directa que ofrece acceso a la memoria de alto ancho de banda entre la memoria, se accede a la inicializacin, de estado y de gestin de registros a travs de una interfaz esclava AXI4-Lite; la subcategora de organizador de datos; el acceso directo a memoria que proporciona eficientes dos operaciones DMA dimensiones con leer y escribir el funcionamiento del canal asncrono independiente; la interconexin que nos permite conectar uno o ms dispositivos maestros asignados a la memoria AXI a uno o ms dispositivos esclavos asignados en memoria.; el vdeo acceso directo a memoria; el controlador FIFO virtuales que es una IP tecla Infraestructura de interconexin que permite a los usuarios acceder a segmentos de memoria externa como varios bloques FIFO y la subcategora de AXI-4 de interconexin de corriente.
Base IP Es una categora que no consta de subcategoras pero tiene dos IP que son: la IP de acumulador se multiplican que acepta dos operandos, un multiplicador y un multiplicando, y produce un producto (A * B = Prod) que se resta al resultado anterior del sumador (S = S + /-Prod) y la IP de multiplicar sumador que realiza una multiplicacin de dos operandos y aade (o resta) el producto-precisin completo a tercera operando.
Elementos bsicos Es una categora que consta de varias subcategoras con diferentes IP como son: la subcategora de acumuladores; la subcategora de contadores; la subcategora de elementos de memoria que consta de la IP Generador de memoria de bloque y la IP generador de memoria distribuida; la subcategora de registros, palancas de cambio y la canalizacin que consta con la IP de RAM basada registro de desplazamiento.
Comunicacin y creacin de redes Consta de mdulos que se podran encargar de correccin de errores en comunicaciones, de comunicaciones con Ethernet, que es un protocolo de eleccin popular en FPGAs debido a su flexibilidad, confiabilidad y rendimiento. Tambin consta de interfaces seriales, mdulos para modulacin de seales y mdulos para aplicaciones en telecomunicaciones, Wireless y networking (redes y sus diferentes protocolos dependiendo de las diferentes aplicaciones).
Depuracin y verificacin Consta de modelos funcionales de Bus, Monitores Chipscope que proporcionan una interfaz en entre Boudary de la FPGA y los ncleos Pro chipscope. Tambin consta de Controladores Integrados, Analizador lgico integrado que es un analizador lgico personalizable que puede ser usado para monitorear cualquier seal interna de su diseo, y mdulos de Entradas y salidas virtuales que servirn para usos de verificacin.
Procesamiento digital de seales Esta categora est formada por subcategoras de construccin de Bloque, que resuelven ecuaciones hiperblicas, trigonomtricas, con raz cuadrada, de una manera iterativa, Otras subcategoras son: Filtros (Creacin de filtros FIR), Modulacin; Transformadas como la DFT y la FFT (en aplicaciones que van desde mdems digitales basados en OFDM, para Ultrasonido, RADAR y algoritmos de reconstruccin de imagen de TC). Tambin consta de manejo de Funciones trigonomtricas, y mdulos para sintetizar formas de onda.
Proceso embebido Esta categora consta de 2 subcategoras las cuales son: AXI infraestructura la cual conecta uno o ms dispositivos maestros asignados a la memoria AXI a uno o ms dispositivos esclavos asignados en memoria,. Procesador el cual utiliza MicroBlaze que es un sistema de procesador altamente integrado, independiente destinado a las aplicaciones de micro controladores ms ligeros. El asistente de configuracin MicroBlaze MCS ayuda al diseador para configurar cualquier perifrico MCS necesaria, as como otras opciones del sistema.
Caractersticas y diseo de la FPGA Esta categora cuenta con las siguientes subcategoras: Clocking, el cual genera cdigo fuente HDL para configurar un circuito de reloj a los requerimientos del usuario. Interfaz de IO, la cual proporciona una interfaz grfica de usuario intuitiva y personalizada que ayuda a los usuarios a configurar los bloques de Xilinx FPGAs para apoyar sus requisitos de diseo. El asistente genera una envoltura de HDL que configura los bloques como entradas o salidas y se los conecta con las primitivas de reloj tanto de entrada como salida para su diseo. Mitigacin de errores de software, el cual realiza las operaciones necesarias para localizar y corregir errores SEU. XADC asistente, el cual automatiza la configuracin del anlogo XADC al bloque de conversin digital
Funciones matemticas Esta categora cuenta con las siguientes subcategoras: Sumador y restador, el cual es un mdulo que puede implementar sumadores (A + B), sustractores (A-B), asi como estos de una forma dinmica y configurables sumador / sustractores que operan sobre datos firmados o no firmados. CORDIC, el cual implementa una coordenada generalizada computadora digital de rotacin (CORDIC) algoritmo Divisin, la cual proporciona un recurso eficiente y solucin de alto rendimiento para la divisin entera Puntos flotantes, el cual determina un rango dinmico extendido y con precisin ofrecida por aritmtica de punto flotante est convirtiendo rpidamente en un requisito en numerosos algoritmos de procesamiento de seales que se estn utilizando en los grficos, las comunicaciones inalmbricas avanzadas, instrumentacin, control industrial, audio y aplicaciones de imgenes mdicas. Kit de herramientas de algebra lineal, el cual proporciona implementaciones flexibles y optimizadas de las siguientes operaciones de lgebra lineal: la suma de matrices de matriz, la resta entre matrices, multiplicacin de la matriz de la matriz y de matriz de la multiplicacin escalar. As como Funciones trigonomtricas, Multiplicadores, Conversiones, Raz cuadrada.
Elementos de almacenamiento y memoria Esta categora consta de 3 subcategoras las cuales son: FIFOs: El IP FIFO genera plenamente verificada la cola de memoria primero en entrar, primero en salir (FIFO) es ideal para aplicaciones que requieren el almacenamiento de datos en el orden y la recuperacin. Generadores de interfaz de memoria es una herramienta de software gratuito que se utiliza para generar los controladores de memoria e interfaces para Xilinx FPGAs .MIG genera Verilog o VHDL, restricciones UCF, archivos de simulacin y archivos de comandos de implementacin para simplificar el proceso de diseo. Interfaces de memoria compatibles son: DDR3 SDRAM, DDR2 SDRAM, SRAM QDRII y DDRII SRAM, LP DDR, QDRII + SRAM y RLDRAM II. RAMs y ROMs crea una variedad de estructuras de memoria. Puede ser utilizado para crear memoria de slo lectura (ROM), de un solo puerto de acceso aleatorio de memoria (RAM), y simple memoria RAM de puerto dual / doble, as como la memoria RAM basada en SRL16. Conjunto de caractersticas flexible permite a los usuarios personalizar para el tipo de memoria, ancho de datos, tamao de memoria, opciones de entrada / salida y restablecer las opciones.
Interfaces de bus estndar Esta categora consta de 4 subcategoras las cuales son: DisplayPort es un protocolo de interconexin para la transmisin de la serie digital de vdeo de hasta 5.4Gbps de Consumo y Profesionales Pantallas. DisplayPort es un estndar de interfaz en serie de alta velocidad con el apoyo de lderes de la industria en HDTV de electrnica de consumo, ordenadores porttiles PC y monitores de PC. PCI es la tecnologa de interconexin de componentes perifricos la cual es un estndar de bus muy popular para ordenadores personales e industriales, interruptores, routers, comunicacin e instrumentacin. Soluciona muchos problemas de compatibilidad y limitaciones de rendimiento experimentados con los mayores estndares de ISA y VME. PCI Express es una interconexin de serie de uso general que se puede aprovechar para las Comunicaciones, Data-center, embebidos, aplicaciones de prueba y medidas, militares y de escritorio. Tambin se puede utilizar como dispositivo perifrico de interconexin, interfaz de chip a chip y el puente a muchas otras normas de protocolo. Rapid IO es la arquitectura que elimina el cuello de botella producido por la demanda de ancho de banda que existe por el internet; mediante la definicin de un alto rendimiento, tecnologa de interconexin de conmutacin de paquetes diseada para pasar datos e informacin de control entre los microprocesadores, DSPs, la comunicacin y los procesadores de red, la memoria del sistema, y los dispositivos perifricos dentro de un sistema. Diseado para la creacin de redes y equipos de comunicaciones, almacenamiento empresarial y otros mercados embebidos de alto rendimiento, la arquitectura RapidIO se dirige a la demanda de un mayor rendimiento al ofrecer el ancho de banda, la independencia del software, la tolerancia a fallos, y baja latencia
Procesamiento de imagen y video Esta categora proporciona una opcin de licencia a bajo costo para todos los bloques IP LogiCORE. Los bloques de procesamiento de vdeo proporcionan implementaciones de hardware optimizados para funciones crticas tales como escalado de vdeo, men en pantalla, imagen dentro de imagen, superposicin de texto, video y anlisis de imgenes y ms. Bloques de procesamiento de imagen permiten a los pre-procesamiento de las imgenes capturadas por un sensor de imagen de color provisto de una matriz de Bayer de filtros de color (CFA), la correccin de pxeles defectuosos, interpolar faltan componentes de color para cada pxel, la correccin de colores para adaptarse a las condiciones de iluminacin, el establecimiento de gamma para compensar para la distorsin de la intensidad de diferentes dispositivos de visualizacin y ms.
4. DIAGRAMAS 4.1. Diagrama de Bloques
Ilustracin 9. Diagrama de Bloques 5. LISTA DE COMPONENTES COMPONENTES UTILIDAD Camtasia Studio 8.0
Prezi
Viper
ISE Desing Suite 14.1
Xilins PlanAhead 14.1
FPGA SPARTAN 3E-500
Capturar videos directamente mientras se trabaja en pantalla.
Permite realizar presentaciones de trabajo para la exposicin del mismo.
Software anti plagio.
Software para programar en VHDL
Software para grabar el programa en VHDL en la FPGA. Field Programmable Gate Array Dispositivo es un dispositivo semiconductor que contiene bloques de lgica cuya interconexin y funcionalidad puede ser configurada Tabla 2. Lista de Componentes 6. MAPA DE VARIABLES Entradas Tipo Nombre Descripcin Dimensin Direccin Asignada STD_LOGIC_VECTOR a Vector para el primer numero 2 a[0] H18 a[1] N17 STD_LOGIC_VECTOR b Vector para el segundo numero 2 b[0] L13 b[1] L14 STD_LOGIC clk Seal de reloj 1 clk C9 Tabla 3. Mapa de Variables de Entrada Salida Tipo Nombre Descripcin Dimensin Direccin Asignada STD_LOGIC_VECTOR a Vector para la respuesta de la suma 2 s[0] F12 s[1] E12 STD_LOGIC c_out Seal de reloj 1 clk E11 Tabla 4. Mapa de Variables de Salida 7. EXPLICACION DE LOS METODOS O FUNCIONES Tipo Descripcin Cdigo PORT MAP Asignacin de variables creadas a variables de IP (Instanciacin)
PORT Declaracin de componente
Tabla 5. Explicacin de los Mtodos o Funciones
8. DESCRIPCION DE PRERREQUISITOS Y CONFIGURACION Computadora con Windows 7 para instalar el programa ISE Desing Suite 14.1
Ilustracin 10. Logo de Windows 7 Programa ISE Desing Suite 14.1 para programar en VHDL Programa Xilins PlanAhead 14.1 para grabar el programa en la FPGA. FPGA SPARTAN 3E-500
Ilustracin 11. FPGA SPARTAN 3E-500 Tener conocimiento bsico de programacin en VHDL.
9. CONCLUSIONES
La gran ventaja de trabajar con IP-Cores es que reduce considerablemente el tiempo al diseador a la hora de realizar proyectos de gran envergadura En un FPGA se puede incluir la funcionalidad de varios circuitos integrados. Esta funcionalidad puede ser desarrollada por el mismo equipo de trabajo o adquirida a travs de un tercero. Debido a que estas funcionalidades son como componentes electrnicos, pero sin su parte fsica, se los suele llamar componentes virtuales o Propiedad Intelectual IP. Al crear un nuevo ncleo CORE Generator, los archivos principales se colocan en un subdirectorio del directorio principal del proyecto denominado ipcore_dir; con estos archivos podemos compilar correctamente el diseo durante la sntesis y la aplicacin. El estudio de los mdulos de propiedad intelectual en varios tipos de procesadores para FPGA nos muestra que los mdulos IP se diferencian entre dispositivos de diferentes familias, es decir que las FPGA que pertenecen a la Spartan 3E comparten la mayora de mdulos IP en sus distintas procesadores con muy pocas diferencias, mientras que comparados con la familia Virtex existen muchas diferencias en los mdulos IP.
10. RECOMENDACIONES
Se recomienda agregar el archivo de origen vho al proyecto para ser compilado correctamente en el diseo durante la sntesis y aplicacin. Se recomienda investigar todos los mdulos IP que tiene la FPGA que se tiene a disposicin, sabiendo lo que se puede hacer, y lo que esta echo, logrando as realizar cualquier aplicacin o investigacin con mayor facilidad. Se recomienda determinar la direccin del cristal oscilador para aplicaciones sncronas, mas no tratar de generar un oscilador.
11. APLICACIONES
Gracias a la variedad de mdulos IP que existen para la familia de las SPARTAN 3E podemos crear un sinnmero de aplicaciones, ya que estos mdulos nos permiten acortar el tiempo de elaboracin de un proyecto largo, gracias a que son herramientas que ya estn programadas, solo es necesario implementarlas; algunos de esas aplicaciones son para realizar el prototipado para sistemas Embebidos en FPGA, el diseo de sistemas empotrados sobre FPGA, el diseo de hardware y software de System on chip empleando tecnologa XILINXS EDK, entre otras aplicaciones.
12. CRONOGRAMA
Ilustracin 12. Cronograma de Actividades 13. BIBLIOGRAFA
Alonso, A. B. (02 de 2010). Recuperado el 13 de 06 de 2014, de http://deeea.urv.cat/public/PROPOSTES/pub/pdf/1453pub.pdf Bermudez, R. (s.f.). Obtenido de https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxtaWtyb2VsZ WN0cm9uaWNhfGd4OjMxNWQwMTE3ZDJkZjg2Mw Dias, M. J. (s.f.). Obtenido de file:///C:/Users/AaNnDdRrEeSs/Downloads/DisenoMicro6- Modulos2013.pdf Instituto de Microelectronica de Sevilla. (s.f.). Desarrollo de Modulos IP. Obtenido de file:///C:/Users/AaNnDdRrEeSs/Downloads/Desarrollo%20de%20m%C3%B3dulos.pdf ISE. (s.f.). Recuperado el 14 de 06 de 2014, de http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/ise_c_using_coregen_i p.htm XILINX. (s.f.). Recuperado el 14 de junio de 2014, de http://www.xilinx.com/products/intellectual- property/index.htm XILINX. (s.f.). Recuperado el 14 de 06 de 2014, de http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/ip_documentatio n.html
14. ANEXOS 14.1. Manual de usuario MANUAL DE USUARIO 1. Crear un nuevo proyecto
Ilustracin 13. Crear un nuevo proyecto
2. Escogemos la configuracin de nuestra FPGA
Ilustracin 14. Configuracin de la FPGA
Ilustracin 15. Crear una nueva Fuente 3. Nos aparecer la siguiente ventana y seleccionamos la opcin IP core y le damos un nombre a nuestro proyecto.
Ilustracin 16. Configuracin de la Fuente IP 4. Escogemos el IP core que queremos usar y damos clic en Aceptar
Ilustracin 17. Seleccin de la IP a implementar 5. En la ventana de Configuracin de la IP escogida, establecemos los parmetros que necesitemos para nuestra aplicacin
Ilustracin 18. Configuracin de la IP 6. Esperamos a que se generen la IP y al crearse el software principal generador produce una combinacin de varios archivos y los coloca en el directorio especificado para su uso en su proyecto ISE.
7. Luego creamos un nuevo modelo VHDL
Ilustracin 19. Creamos una Fuente VHDL
8. Configuramos la interface para que se comunique con la IP.
Ilustracin 20. Configuracion de la Interfaz 9. Abrimos el archivo .vho que se genera en la ipcore_dir y se copia la declaracin del componente y la instanciacin.
Ilustracin 21. Arquitectura del Encabezado en VHDL
Ilustracin 22. Instanciacin
10. Luego se realiza la sntesis y simulacin del proyecto.
Ilustracin 23. Simulacin en VHDL
Ilustracin 24. Diagrama de Bloques
11. Se asignan las direcciones de la FPGA tanto de las entradas, salidas y la seal de reloj.
Ilustracin 25. Asignacin de Direcciones a las Variables 12. Se graba el proyecto en la FPGA.
Ilustracin 26. Grabar el Proyecto en la FPGA
Pruebas de la Aplicacin Para probar el funcionamiento de sumador, se procede a usar los switch que estn integrados en la FPGA, a continuacin se puede ver los switch a usar como entradas y los leds a usar como salidas.
Ilustracin 27. Variables de Entrada y Salida en la FPGA Ilustracin 28. Comprobacin de la Aplicacin A continuacin se probar las diferentes posibilidades de datos para comprobar el buen funcionamiento de la aplicacin