Publication:
Estudio e implementación de reconocedores de secuencias mediante hardware evolutivo

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2009
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
El Hardware Evolutivo es un esquema de diseño automático de sistemas hardware inspirado en la naturaleza. Los circuitos son codificados como cromosomas de un algoritmo evolutivo, son posteriormente cargados a hardware reconfigurable y evaluados para obtener su aptitud o fitness, según la cual son clasificados. Como campo de investigación es relativamente reciente, pues nació a principios de los noventa, siendo ya en 1993 cuando se publicaron las primeras investigaciones sobre la materia. Surgió de la conjunción de dos campos claramente diferenciados, por una parte, de la aplicación de las teorías darwinistas provenientes del estudio de la propia Naturaleza en la informática mediante los algoritmos genéticos, y por otra, del desarrollo del hardware reconfigurable para fines comerciales, principalmente mediante dispositivos tales como las FPGA (Field Programmable Gate Array). Éstos son, básicamente, chips VLSI (Very Large Scale of Integration) que contienen una gran cantidad de lógica reconfigurable y programable por el usuario. Mediante este trabajo de investigación se ha querido principalmente desarrollar un sistema funcional a través del uso de estas técnicas y teorías. Partiendo de las ideas de otros autores duchos en la materia, ya que el sistema se basa en VRCs (Virtual Reconfigurable Circuit), esta investigación trata el desarrollo y la implementación un sistema secuencial usual como es un reconocedor de patrones. Como característica fundamental, cabe destacar que se trata de un diseño evolutivo, por lo que es el propio sistema el que busca una implementación válida. Ésta búsqueda se realiza a partir de una serie de restricciones y una arquitectura base impuestas de antemano. El sistema es lo suficientemente claro como para que se trate de un primer paso en la materia, pero al mismo tiempo novedoso y vanguardista pues hasta ahora la mayoría de los desarrollos publicados han sido sistemas combinacionales. La metodología de desarrollo llevada a cabo ha estado siempre guiada por la generalidad, es por ello que nos hayamos decantado por un co-diseño HW-SW. Por una parte, su núcleo esta formado por una serie de módulos hardware que se ejecutan a gran velocidad, aspecto necesario en este tipo de sistemas. Por otra parte, el poder programar a cierto nivel de abstracción nos ha permitido desarrollar el corazón de la evolución en lenguaje C, fácilmente intercambiable y/o modificable sin perder prestaciones, pues es ejecutado en un soft-core de alto rendimiento como es el MicroBlaze de Xilinx. [ASBTRACT] Evolvable hardware is a circuit automatic design scheme inspired directly by Nature. Circuits are coded as chromosomes of a genetic algorithm which are afterwards uploaded to a reconfigurable logic device and thus assessed in order to obtain its fitness value, by means of which they are classified. It is considered a quite recent researching field, since it was born in the early nineties, and actually the first related publications date of 1993. The field emerged when some authors combined two clearly different ideas, one coming from genetic algorithms, considered as the application in computing of the Darwinist laws, and the other by the striking development of the reconfigurable hardware for commercial purposes, above all by means of FPGAs (Field Programmable Gate Array). These devices are, basically, VLSI chips (Very Large Scale of Integration) that are made of a huge amount of logic ready to be programmed and reconfigured by the developer. The goal of this research is a hands-on study of the field by the development of a fully functional system, always bearing in mind the use of these techniques and theories. Starting off from the ideas of other experienced authors, the system we have developed is based in VRCs (Virtual Reconfigurable Circuit), and it has the functionality of an usual pattern recognizer. As a main feature, it has to be pointed out that it is an evolvable design, i.e. it looks for a valid implementation by itself. This process is carried out assuming a set of constraints and a reconfigurable architecture prepared in advance. The system is clear enough to be considered as a first step in the field, but likewise original and state-of-the-art since up to now almost all systems developed by these techniques have been combinational. Throughout the research, we have always been focused towards generality and thus, the decision was to choose a Hw-Sw co-design. On the one hand, its core is based on a series of hardware modules which are rapidly executed, a necessary characteristic in this sort of systems. On the other hand, the fact of being able to program at high level allowed us to perform the main part of the evolution in a powerful language as C. That entails an ease in the modifications and improvements, and the avoidance of loosing much performance since this code is executed in a highperformance soft-core as Xilinx MicroBlaze.
Description
Máster en Investigación en Informática, Facultad de Informática, Departamento de Arquitectura de Computadores y Automática, curso 2008-2009
Keywords
Citation