Implementación de un Kernel LINUX sobre un procesador tipo software utilizando una FPGA

En el mercado existen multitud de microprocesadores capaz de realizar multitud de tareas muy variadas, sin embargo, todos ellos tienen una limitación, el hardware, ya que éste no puede ser modificado una vez se fabrica la placa. En este aspecto, las FPGA tienen mucho que decir al respecto, dado que...

Descripción completa

Detalles Bibliográficos
Autor: Vaquerizo Cid, Daniel
Tipo de recurso: tesis de maestría
Fecha de publicación:2017
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:español
OAI Identifier:oai:upcommons.upc.edu:2117/105698
Acceso en línea:https://hdl.handle.net/2117/105698
Access Level:acceso abierto
Palabra clave:Field programmable gate arrays
Microprocessors
FPGA
Xilinx
Linux
Microblaze
Control
Softcore
RAM
ISE
Kernel
Microcontrolador
Matrius de portes programables per l'usuari
Microprocessadors
Àrees temàtiques de la UPC::Enginyeria electrònica
Descripción
Sumario:En el mercado existen multitud de microprocesadores capaz de realizar multitud de tareas muy variadas, sin embargo, todos ellos tienen una limitación, el hardware, ya que éste no puede ser modificado una vez se fabrica la placa. En este aspecto, las FPGA tienen mucho que decir al respecto, dado que gracias a lo que se conoce como softcore, es posible diseñar un microprocesador en lenguaje VHDL capaz de comportarse de la forma deseada, incluyendo en este diseño los periféricos y utilidades deseadas como memoria caché, unidad de gestión de memoria, coma flotante, etc. Además, cuando se emplea el termino FPGA, normalmente se piensa en un sistema embebido, capaz de ejecutar una aplicación una y otra vez a una velocidad elevadísima, aquí es donde entra en juego el softcore Microblaze, diseñado por Xilinx, ya que permite añadir a una simple FPGA la capacidad e ejecutar un sistema operativo como puede ser Linux. Este proyecto se centra en el diseño de un softcore capaz de ejecutar un kernel Linux y los periféricos asociados al mismo, pasando para ello por diferentes puntos del diseño, que van desde la creación del procesador propiamente dicho, pasando por la inclusión de periféricos de utilidad, y la creación de un sistema operativo muy básico capaz de ser cargado en la memoria RAM de la FPGA y ejecutado para tener un sistema operativo completamente funcional, que finalmente ejecute una aplicación de control sobre los diferentes periféricos.