You are on page 1of 20

FCBIT

UNIVERSIDAD AUTONOMA DE TLAXCALA


FACULTAD DE CIENCIAS BASICAS, INGENIERIA Y TECNOLOGIA MAESTRIA EN CIENCIAS DE LA INGENIERIA EN COMPUTACION
Tema de Tesis: DESARROLLO DE UNA RED NEURONAL EN UN FPGA USANDO PWM

Alumna: Ing. Adriana Ruiz Pastor.

Asesores: Dr. Federico Ramrez Cruz M en C. Juan Manuel lvarez Ledesma

Resumen
Una de las reas del hardware que es interesante, est enfocada a la aplicacin de redes neuronales artificiales (RNAs), las cuales tienen la caracterstica de tener una capacidad de aprendizaje. Dicha area ha venido desarrollando tecnologas que permiten implementarse en procesos de automatizacin y control. En este trabajo de tesis se desarrolla una RNA que nos permita observar su comportamiento, su funcin de aprendizaje y su reaccin ante una entrada poco comn como lo es la modulacin por ancho de pulso (PWM), cabe mencionar que esta RNA ser implantada en un dispositivo programable como lo es el FPGA (Field Programmable Gate Array). Se espera que al ser implantada la RNA en un dispositivo hardware esta se desempae con mayor capacidad de procesamiento, aprovechando los recursos que el mismo FPGA le proporcionara. ndice de Trminos Arreglo de compuertas programables en el campo (FPGA), capacidad de aprendizaje, redes neuronales (RNs), modulacin por ancho de pulso (PWM).

ii

Contenido
Resumen.................................................................................................................................ii Contenido..............................................................................................................................iii Prefacio.................................................................................................................................iv INTRODUCCION ................................................................................................................v Capitulo 1. Conceptos generales............................................................................................2 1.1 Redes neuronales..............................................................................................................3 1.2 VHDL...............................................................................................................................4 1.3 Lenguaje de programacin..............................................................................................5 1.4 FPGAs.............................................................................................................................6 1.5 PWMs.............................................................................................................................6 Capitulo 2 Descripcin Funcional de una red neuronal desarrollada en un FPGA..............7 2.1 Generalidades...................................................................................................................8 2.2 Caractersticas de una red neuronal artificial .................................................................8 2.3 Caractersticas del FPGA...............................................................................................10 Bibliografa:.........................................................................................................................13 Plan de trabajo: ...................................................................................................................14

iii

Prefacio
Se propone utilizar la capacidad de procesamiento, utilizando redes neuronales artificiales (RNA) ya que nos permiten aplicar el procesamiento paralelo y aplicar un nmero especifico para las diferentes aplicaciones, de procesadores sencillos. Un FPGA (Field Programmable Gate Array) es un arreglo de compuertas lgicas en la aplicacin, es decir este dispositivo nos permite generar dispositivos electrnicos, programndolos en sus estructura de celdas; para esto es necesario hacer uso del lenguaje de simulacin llamado VHDL ( Very Hardware Description Language ) el cual nos permite realizar el dispositivo as como una simulacin de los mismos por bloques. Una vez realizada esta etapa se sintetizar el cdigo, se genera un archivo para programar el dispositivo programable FPGA (Field Programmable Gate Array). Ahora el PWM (pulse width-modulation, modulacin de ancho de pulso) y su papel dentro de este trabajo es darnos las entradas necesarias para nuestra red, ya que con este dispositivo generamos diferentes pulsos los cuales la red reconocer y diferenciara estos pulsos para realizar el procesamiento de los mismos. Con lo que respecta al ruido utilizando esta tcnica se obtiene una lectura de resultados sin presencia de ruido. Objetivo general: Implantar una red neuronal artificial en un dispositivo programable como es el FPGA usando PWM como entrada Objetivos particulares Aprender a modelar y disear una red neuronal Implementar una NNA en un dispositivo programable Comparar el tiempo de procesamiento de una NNA basados en trabajos reportados con microcontroladores contra el propuesto en este trabajo.

iv

INTRODUCCION
Actualmente en las investigaciones realizadas para este trabajo de tesis, hemos seleccionado algunas de las soluciones que investigadores reconocidos han otorgado a este tipo de problemas, refirindonos al trabajo de redes neuronales implementadas en hardware; de acuerdo a algunos artculos que analizamos son las siguientes: La inquietud de aplicar una red neuronal en algn dispositivo de hardware como lo son los dispositivos lgicos programables sigue siendo un buen tema de investigacin ya que se enfrenta a diferentes retos; como son los tipos de sistemas con el que se trabaja y a veces sus conversiones; tales como las redes neuronales que trabajan con entradas analgicas, pero de aqu que el reto de transformarlas a digitales por ser una implementacin hardware [1].El estudio de las redes neuronales ha sido un gran aporte al rea de electrnico-digital ya que ha permitido el desarrollo de numerosas aplicaciones, tales como el hecho de querer solucionar problemas lgicos aplicados a hardware como los son las operaciones XOR [2]. Algunos de los estudios slo se han quedado en proyectos de simulacin que algunos autores han desarrollado para simular el comportamiento de algn tipo de red neuronal [3] [4]. La mayora de trabajos han sido desarrollados por medio de herramientas orientadas a la simulacin, una de las cuales es tan poderosa en su rea como lo es MATLAB; ya que proporciona numerosas herramientas, mdulos de programacin y grficos para distintas aplicaciones. Actualmente la implementacin de circuitos electrnicos en dispositivos lgico programables es una lnea de investigacin atractiva para la comunidad cientfica, ya que atreves de una herramienta de programacin tenemos la posibilidad de disear, simular y sintetizar estas aplicaciones [5], son los llamados CAD (Diseo Asistido por Computadora). Nos permiten realizar el diseo de los dispositivos electrnicos necesarios para el procesamiento y realizacin de la simulacin o aplicacin; estos diseos ya son modelados para cada dispositivo programable que el mercado desarrolla de acuerdo a la demanda. Uno de los lenguajes de programacin que realizan este tipo de aplicaciones con VHDL(Lenguje de descripcin y modelado de circuitos digitales, VHDL es el acrnimo que representa la combinacin de VHSIC y HDL, donde VHSIC es el acrnimo de Very High Speed Integrated Circuit y HDL es a su vez el acrnimo de Hardware

Description Language ) [6], con l podemos realizar el desarrollo completo de hardware, ya que para llegar a esto se pasa por pruebas y simulaciones previas. Es una forma de desarrollo econmico ya que podemos cambiar el diseo electrnico de acuerdo a las necesidades que se tengan durante el desarrollo del estudio. El estudio de las redes neuronales desde su desarrollo ha dejado huella en diversas reas de la ciencia. Por ejemplo en la Universidad Autnoma de Tlaxcala, en FCBIyT en 1999 en un proyecto de tesis desarrollaron un programa discriminador de seales nerviosas utilizando una red neuronal para reconocimiento espacio-temporal; y el objetivo del trabajo era desarrollar un programa que sirviera de apoyo a experimentos en problemas biolgicos cuya naturaleza es el anlisis multiunitario de seales, implementndolo en el sistema nervioso central en ratas [7]. Al observar los resultados de algunos trabajos que han utilizado las redes neuronales para mejorar el funcionamiento de sus procesos de comunicacin, tal es el caso del Dr. Vicente Alarcn Aquino y sus colegas [8] que al haber escogido una red neuronal Backpropagation les, descubrieron que generaba un menor error de reconocimiento adems de que contena un menor nmero de neuronas que la red RBF(Radial Basis Function), esto reduca el tiempo de respuesta del sistema adems de que permita un ahorro en el uso de memoria. Ese es uno de los motivos del porque en este trabajo de tesis pretendemos disear e implementar una red de tipo BPN (Backpropagation Network). El modo en cual posteriormente la implementacin sea evaluada est por definirse, ya que con el desarrollo del proyecto se podrn observar los lmites y capacidades del sistema. Una implementacin que nos pareci interesante seria realizar una aplicacin como la que se desarrollo en la universidad de Patras al oeste de Atenas [9], donde se realizo la aplicacin para sistemas mdicos expertos (MES) y esto por la necesidad de las variantes que representan las enfermedades pulmonares, con solo una red de 8 neuronas lograron realizar que el sistema aprendiera los diferentes sntomas que presenta un persona con grado avanzado de enfermedad pulmonar, para poder describir datos que ayudaran a los mdicos a tener un mejor cuadro de diagnostico. A todo esto el hecho de que utilicemos un PWM (pulse width-modulation, modulacin de ancho de pulso) es debido a que como se demostr con el trabajo de El-Masry [9] que esta tcnica se puede utilizar para aplicar de manera eficiente una WSO (weighted summation operation, Operacin suma ponderada) que se requieren en la realizacin de una RNA ( Artificial Neural Network, Red Neuronal Artififcial) general. Tambin podemos mencionar de este trabajo que se observo que su aplicacin son de fcil programacin, adems que por va electrnica son ajustables las ganancias de las neuronas, y de son de estructuras modulares. Y no solo estas investigacin han sido plasmadas en artculos cientficos tambin existen investigacin documentadas en libros. Un ejemplo es el del autor Amos R. Omondi [10] que nos muestra una investigacin de implementaciones de redes neuronales sobre dispositivos programables tales como los FPGA (Field Programmable Gate Array) lo cual sigue siendo considerado una aplicacin difcil de implementar. Un FPGA se basa en una matriz de hardware configurable debido a los bloques que estn interconectados por una tela de enrutamiento. Los circuitos son plenamente reprogramables y, por lo tanto, es muy flexible, son algo fcil de usar y de programar, ofrecen un gran rendimiento, y estn 1

disponibles a un costo razonable. No es de extraarse que los FPGAs, ocupen un lugar en el rea de control y automatizacin, desplazando de ranking a los microcontroladores y a los microprocesadores (por sus capacidades de velocidad de procesamiento, inflexible, alto costo de desarrollo) y la realizacin de programacin pura (un anlisis minucioso, flexible y de bajo costo de desarrollo), que los han hecho cada vez ms populares en los ltimos aos, no slo para la aplicacin de neurocomputadoras.

Capitulo 1. Conceptos generales


2

1.1 Redes neuronales


Las redes neuronales artificiales son modelos de comportamiento inteligente que pueden ser construidos con sistemas artificiales basados en el sistema nervioso de los seres vivos; en la figura Fig. 1 se muestra un elemento de procesamiento (PE) biolgica y una representacin artificial de la misma [4]. Las aplicaciones de sistemas basados en redes neuronales han permitido disear redes con propsitos especficos, tales como el reconocimiento de patrones, la optimizacin de procesamiento de datos, la automatizacin de sistemas electrnicos basados en lgica difusa, etc.

Fig. 1 Representacin de elemento de procesamiento (PE) Las RNAs inspiradas en el funcionamiento del sistema nervioso de seres vivos han permitido a las computadoras modernas aprender, mediante algoritmos bien definidos de redes neuronales, teniendo como auxiliares auditivos y transductores de visin de amplio espectro. Por otro lado las computadoras digitales de arquitectura tradicional abordan ese tipo de tarea con mayores dificultades que las arquitecturas de redes celulares neuronales (CNN) que pueden ser diseadas con arreglos de bloques en VHDL (Very High ) [4]. En algunas literaturas [4] definen la forma de procesamiento de los sistemas de computo tradicional como una forma de procesamiento secuencial; en el cual el computador serial consiste por lo general de un solo procesador que se encarga de manipular instrucciones y datos lo cuales se encuentran almacenados en memoria. En cambio una RNA no ejecuta instrucciones, esta responde a las entradas en paralelo que se le presentan, el resultado no se almacena en ninguna memoria, debido a que de esta forma presenta el estado de la red para lograr un equilibrio.

Esta diferencia de procesamiento ha motivado a las comunidades cientficas a estudiar sistemas neuronales biolgicos en un esfuerzo por disear sistemas computacionales con capacidades semejantes a las del cerebro [4]. As, la tecnologa de circuitos integrados modernos esta ofreciendo su potencialidad para construir redes paralelas masivas con base en elementos simples de procesamiento. Una idea clara del procesamiento de una neurona artificial se observa en la Fig. 3, en donde puede observarse el recorrido de un conjunto de seales que entran a una red.

Fig. 3 Proceso de una red neuronal De esta manera, la disciplina formal del estudio de redes neuronales (la neurocomputacion), sienta las bases necesarias para programar y coordinar el comportamiento de diseos de procesamiento. Los modelos de redes neuronales estn ofreciendo nuevos enfoques para resolver problemas, mismos que se pueden simular en maquinas de propsito especifico, aceleradores de hardware con arquitectura neuronal incluso en computadoras convencionales. A fin de alcanzar velocidades de procesamiento mximo pueden utilizarse arreglos con base en tecnologa de procesamiento ptico o en VLSI de silicio. El aspecto fundamental reside en utilizar el modelo neuronal de procesamiento paralelo en tiempo real con una enorme cantidad de procesadores sencillos.

1.2 VHDL
En cuanto al VHDL (Very High Speed Integrated Circuit) [15] es un lenguaje de descripcin y diseo de circuitos integrados, de tal manera que los humanos y las maquinas puedan leer y entender. Describe la funcionalidad y la organizacin de sistemas 4

hardware digital. El surgimiento del VHDL se da a mediados de la dcada de los 80s. Surge como una necesidad manifiesta de disponer de un lenguaje estndar capaz de dar el soporte necesario al proceso completo de diseo de sistemas electrnicos, en sus distintas etapas y niveles de abstraccin cuya complejidad se ha ido incrementando cada da ms. Esto fue lo que motiv el nacimiento del VHDL. El VHDL fue desarrollado como un lenguaje para el modelado y simulacin lgica dirigida por eventos de sistemas digitales, y actualmente se utiliza tambin para la sntesis automtica de circuitos [16]. VHDL tiene similitudes con otros lenguajes de programacin como es que es un lenguaje estructurado, reutiliza submodulos y es portable. Una de las ventajas de este lenguaje es que permite la descripcin y simulacin de eventos concurrentes (paralelos) y permite mezclar diferentes niveles de abstraccin al describir un sistema digital. VHDL es un lenguaje cuya sintaxis permite el modelado estructural, en flujo de datos y comportamental del hardware diseado. Su utilizacin en sntesis no es inmediata aunque gracias al desarrollo de las actuales herramientas de sntesis es posible implementar diseos especificados en un alto nivel de abstraccin [18].

1.3 Lenguaje de programacin


Las ventajas ofrecidas por este lenguaje de programacin VHDL al diseo digital son muchas y podemos mencionar las siguientes [17]: Estndar: VHDL es un estndar, como tal reduce la confusin y hace que las interfaces entre herramientas, compaas, y productos sean ms fciles. Portabilidad: El mismo cdigo VHDL puede ser simulado y usado en muchas herramientas de diseo y en diferentes etapas del proceso de diseo. La capacidad de modelado: VHDL fue desarrollado para modelar todos los niveles de diseo, desde un nivel alto de abstraccin viendo un sistema como caja negra hasta un diseo de bajo nivel, considerando compuertas y transistores. Reusabilidad: VHDL permite que diseos comunes puedan ser descritos, verificados, y modificados para un uso futuro. Documentacin: En VHDL se permite integrar documentacin en el diseo por medio de comentarios en los cdigos desarrollados, brindando una gran ayuda al momento de realizar modificaciones.

1.4 FPGAs
FPGA (Field Programmable Gate Array), se define como un arreglo bidimensional de mdulos digitales reprogramables con interconexiones programables, que cuentan con capacidades de 5000 a 10 millones de compuertas en un solo chip. Sus tiempos de retardo son dependientes de la arquitectura; estos dispositivos sustituyen a ASIC de mediano tamao sin mencionar que se obtiene una buena relacin costo/rendimiento para producciones relativamente pequeas [15].

Fig. 4 Estructura de un FPGA

La aplicacin de los FPGA va mas all de la implementacin de lgica digital, pueden ser utilizados para la implementacin de arquitecturas especificas. Los sistemas basados en FPGAs proporcionan un mejor desempeo que sus correspondientes implementaciones en software. Las aplicaciones que requieren de un gran nmero de operaciones simples son adecuadas para su implementacin en FPGAs puesto que un elemento de procesamiento puede disearse para efectuar esta operacin y varias instancias de este pueden reproducirse para llevar a cabo procesamiento paralelo[19].

1.5 PWMs
Y por ultimo un modulador por ancho de pulso (PWM, de pulse-width modulation en ingls) de una seal o fuente de energa es una tcnica en la que se modifica el ciclo de 6

trabajo de una seal peridica (por ejemplo sinusoidal o cuadrada) ya sea para transmitir informacin a travs de un canal de comunicaciones o control de la cantidad de energa que se enva a una carga. Como tcnica de comunicacin de informacin es buena debido a que proporciona la capacidad de manipular el ancho de pulso el cual ser el encargado de transportar la informacin a su destino de procesamiento y presenta mayor inmunidad al ruido que el uso de voltaje o corriente para transportar datos.

Fig.5 Modulador ancho de pulso PWM

1.1 PLANTEAMINETO DEL PROBLEMA Problema: El problema es el disear una red neuronal artificial que pueda desarrollarse en un dispositivo programable como lo es el FPGA teniendo como entrada un PWM. Solucin: Experimentar con diversas topologas de redes neuronales artificiales y aplicarles una sola tcnica de entrada PWM. Someterlas a evaluacin constante hasta llegar a disear la ms apropiada para el FPGA Justificacin: porque habra que hacerlo? Porque el cmputo programable es un rea poco conocida en este mbito de investigacin, y porque se desea adquirir conocimientos que nos permitan utilizar tecnologas como esta para el desarrollo de trabajos y darles un enfoque practico.

Capitulo 2 Descripcin Funcional de una red neuronal desarrollada en un FPGA

2.1 Generalidades
Los sistemas de computo secuenciales, tienen xito en la resolucin de problemas matemticos o cientficos, en la creacin o manipulacin y mantenimiento de bases de datos, en comunicaciones electrnicas, en el procesamiento de datos, incluso en funciones de control en electrodomsticos, hacindolos ms eficientes y fciles de usar, pero tambin cuentan con una incapacidad grande para poder interpretar al mundo [4]. Esta dificultad de los sistemas de computo que trabajan bajo la filosofa de los sistemas secuenciales, desarrollados por Von Neuman, ha hecho que un gran nmero de investigadores centre su atencin en el desarrollo de nuevos sistemas de tratamiento de la informacin, que permitan solucionar problemas cotidianos, tal como lo hace el cerebro humano; este rgano biolgico cuenta con varias caractersticas para cualquier sistema de procesamiento digital, tales: Es robusto y tolerante a fallas, diariamente mueren neuronas sin afectar su desempeo. Es flexible, se ajusta a nuevos ambientes por medio de un proceso de aprendizaje, no hay que programarlo. Puede manejar informacin difusa, con ruido o inconsistente. Es altamente paralelo Es pequeo, compacto y consume poca energa. Basados en la impresionante capacidad del cerebro humano para realizar funciones simples para los humanos y complejas para las maquinas, cada vez se abren mas lneas de investigacin tratando de desarrollar sistemas que permitan a las maquinas aplicar las funciones programadas de una manera ms amplia y flexible.

2.2 Caractersticas de una red neuronal artificial


Las redes neuronales artificiales (RNA), son pequeos sistemas que emulan el comportamiento de las redes neuronales biolgicas, y que se han utilizado para aprender tcnicas de solucin basadas en ejemplos de comportamiento tpico de patrones, estos sistemas no requieren de que el algoritmo sea programado, ellos generalizan y aprenden de la experiencia, debido a la capacidad de tolerar fallas y a su flexibilidad de procesos. Las redes neuronales artificiales no ejecutan instruccin, responden en paralelo a las entradas que se presentan; el resultado no es almacenado en algn tipo de memoria, el conocimiento de una red neuronal artificial no se almacena en instruccin, el poder de la red esta en su topologa y en los valores de las conexiones (pesos) entre neuronas [4].

Fig. 6 De una neurona biologa a un neurona artificial

Dentro de una red neuronal, los elementos de procesamiento se encuentran agrupados por capas, una capa es una coleccin de neuronas; como se muestra en la figura 7 [4], de acuerdo a la ubicacin de la capa en la RNA, esta recibe diferentes nombres: Capa de entrada (1a capa), la cual recibe las seales de la entrada de la red; Capa oculta (2a Capa), estas no tiene contacto con el medio exterior, sus elementos pueden tener diferentes conexiones y son estas las que determinan las diferentes topologas de la red; y al final de la estructura tenemos a la Capa de salida (3a Capa) la cual recibe la informacin de la capa oculta y transmite la respuesta al medio exterior.

Fig. 7 RNA de tras capas

2.3 Caractersticas del FPGA


El dispositivo programable con el que se cuenta es un Spartan-3E FPGA como la que se muestra en la figura 8

Fig.8 Tarjeta de desarrollo Spartan-3E FPGA Esta es una tarjeta de desarrollo que nos permite realizar proyectos a medida de sus capacidades, estos proyectos son de reas como: instrumentacin y control, sistemas embebidos, reconocimiento de patrones. En especfico este dispositivo tiene las siguientes caractersticas, como se muestra en la tabla 1 [ 20]:

Memoria FashStrata de la corporacion Intel de 128 Mbit Linear Technology for the SPI-compatible A/D and D/A converters, the programmable pre-amplifier, and the power regulators for the non-FPGA components Micron Technology, Inc. for the 32M x 16 DDR SDRAM SMSC for the 10/100 Ethernet PHY STMicroelectronics for the 16M x 1 SPI serial Flash PROM Texas Instruments Incorporated for the three-rail TPS75003 regulator supplying most of the FPGA supply voltages Xilinx, Inc. Configuration Solutions Division for the XCF04S Platform Flash PROM and their support for the embedded USB programmer Xilinx, Inc. for the XC2C64A CoolRunner-II CPLD Tabla 1. Caractersticas del FPGA

10

Fig. Diagrama funcional de una RNA

11

12

Bibliografa:
[1]. Ali Zilouchian, Mo Jamshidi, Intelligent Control Systems Using Soft Commputing Methodologies; editorial CRC Press. [2]. K.C. Chang; Digital Systems Design with VHDL and Synthesis an Integrated approach; Computer Society. [3]. David G. Martinez, Jessica Alcala; VHDL: El arte de programar sistemas digitales; CECSA [4].Universidad Tecnollogica de Pereira, Redes Neuronales; copyright 2000, www.ohm.utp.edu.co/neuronales [5].[Yutaka Maeda and Toshiki Tada, FPGA implementation of a pulse density neural network with learningability using simultaneous perturbation IEEE Transactions on Neural Networks, Vol. 14 No. 3; May 2003] [6].Ortiz-Rodrguez J.M., Martnez-Blanco M.R. Diseo de neuro-hadware [Ingeniera en Comunicaciones y Electrnica, Unidad Acadmica de Ingeniera Elctrica, U.A.Z., Zacatecas, Zac.] [7].Juan Carlos Moctezuma Eugenio, (2) Csar Torres Huitzil Estudio sobre la implementacin de redes neuronales artificiales usando XILINX SYSTEM GENERATOR Facultad de Ciencias de la Computacin, Benemrita Universidad Autnoma de Puebla, Mxico Instituto Nacional de Astrofsica, ptica y Electrnica, Departamento de Ciencias Computacionales, PueblaMxico] [8].J.C. Moctezuma Eugenio, A. Snchez Galvez, A. Ata Prez ,Implementacin hardware de funciones de transferencia para redes neuronales artificiales Facultad de Ciencias de la Computacin, Benemrita Universidad Autnoma de Puebla, Mxico [9].Barriga A 1, Marbn M.A, Snchez-Solano1 S, Brox P1, Cabrera A ., Modelado de alto nivel e implementacin sobre FPGAS de sistemas difusos;Instituto de Microelectrnica de Sevilla - Centro Nacional de Microelectrnica Avda. Reina Mercedes s/n, (Edif. CICA) E-41012, Sevilla, Spain2 Dpto. Automtica y Computacin. Facultad de Ingeniera Elctrica. Instituto Superior Politcnico Jos Antonio Echeverra, Ciudad de la Habana, Cuba. [10]. lvaro Varela,Johann Osama, Fredy Segura, Antonio Garca; Neurona digital optimizada: Modelado, implementacin y validacin; Centro de Microelectrnica de los Andes [11]. Freddy Hernndez Hernndez, Dr. Carlos Reyes Garca, Desarrollo de un software discriminador de seales nerviosas utilizando una red neuronal 13

para reconocimiento espacio-temporal Enero 1999; Universidad Autnoma de Tlaxcala, FCBIyT; Ing. en Computacin
[12].

Dr. Vicente Alarcn Aquino , M.C. Luis Gerardo Guerrero Ojeda, M.C. Juan Antonio Arzaga Silva ,ESTUDIO DE REDES NEURONALES PARA UN SISTEMA AUTO-CONFIGURABLE DE CUARTA GENERACIN Universidad De Las Amricas Puebla ,Universidad Politcnica de Puebla ; vialaq@udlap.mx, lgojeda@udlap.mx, arizaga@ieee.org. I. El-Masry TechniqueEzz,Implementations of Artificial Neural Networks Using Current-Mode Pulse Width Modulation, Senior Member, IEEE, Hong-Kui Yang, and Mohamed A. Yakout, IEEE TRANSACTIONS ON NEURAL NETWORKS, VOL. 8, NO. 3, MAY 1997.

[13].

[14]. A. R. Ormondi and J. C. Rajapakse, FPGA Implementations of Neural Networks Eds. (Dordrecht, Germany: Springer-Verlag, 2006, pp. 360, ISBN: 978-0-387-28485-9). Reviewed by C. Teuscher [15]. Miguel Arias Estrada, Introduccion a VHDL y dispositivos FPGA; 2001, INAOE- Ciencias Computacionales [16]. Robert Cypher, Jorge L. C. Sanz, Springer verlag, The SIMD model of parallel computation , New York 1994 [17]. K. C. Chang , Digital Desing and Modeling with VHDL and Synthesis, IEEE Computer Society Press, USA. 1997 [18]. F. Pardo, J. A. Boluda, VHDL Lenguaje para sntesis y modelado de circuitos , Alfaomega/Ra-Ma, Espaa 1999. [19]. Miguel Arias-Estrada, Csar Torres Huitzil ,Sistemas inteligentes en unchip utilizando FPGAs: Aplicaciones a la visin por computadora, . X Congreso Internacional de Electrnica, Comunicaciones y Computadoras. CONIELECOM2000. Cholula, Pue. Febrero 2000. [20].
www.xilinx.com 7, UG230 (v1.1) June 20, 2008

Spartan-3E

FPGA Starter Kit Board User Guide,

Plan de trabajo:
A 1 ao 14

FECHAS Septiembre 08 Diciembre 08

ACTIVIDADES Recopilar informacin sobre Redes Neuronales Definir el tipo de Red Neuronal adecuada para el FPGA

Recopilar informacin sobre implementacin de RNA

Estudiar el lenguaje de descripcin HDL Realizar prcticas en la tarjeta del FPGA para familiarizarse con ella Disear una neurona con ayuda del software y sintetizarlo al FPGA

Adquirir el FPGA y estudiar sus caractersticas

Enero 09 Febreo 09

Marzo 09 Abril 09

Definir y estudiar la aplicacin del PWM en la Red Neuronal a la Red seleccionada Aplicacin del PWM a la Red Neuronal que se encuentra en el FPGA programada Resultados y anlisis de la aplicacin y realizacin de la implementacin

Mayo 09 Junio 09

Escritura del reporte de tesis

Junio 2009

Escritura del documento de tesis

15

You might also like