Complutense University Library

Sistema de comunicación de sistemas reconfigurables basado en PCI con sistemas de sobremesa

Albaladejo Mestre, Pablo and Martín Moreno, Gerardo and Sánchez Escapa, Pablo (2009) Sistema de comunicación de sistemas reconfigurables basado en PCI con sistemas de sobremesa. [Coursework] (Unpublished)

[img]
Preview
PDF
888kB
View download statistics for this eprint

==>>> Export to other formats

Abstract

En este proyecto vamos a desarrollar un disco duro de estado sólido utilizando como soporte una tarjeta reconfigurable, o FPGA, con un chip SpartanII. Dada la limitación de lógica reconfigurable de la que disponemos vamos a desarrollar una memoria pequeña, de tan solo 2kbytes, pero que será suficiente para comprobar su funcionamiento y como ejercicio de comprensión y adquisición de experiencia en la elaboración de este tipo de componentes. La finalidad de este proyecto es cubrir todos los aspectos en el desarrollo de un componente
periférico, desde su implementación en VHDL, su conexión y comunicación con el ordenador, hasta el acceso al mismo desde una aplicación de usuario.
Nos hemos servido del puente Wishbone, obtenido de OpenCores, para realizar la comunicación con el PCI. En la FPGA implementamos la memoria, la configuración y protocolos
de comunicación necesarios para conectar con la interfaz del Wishbone y comunicarnos con el PC a través del bus PCI. Para hacer posible que el sistema sea reconocible por el computador, y pueda interactuar con éste, desarrollamos un driver que encapsula la funcionalidad necesaria para instalar el dispositivo y realizar las transacciones a través del controlador DMA. Para tratar de obtener el mayor rendimiento, el traspaso de datos entre nuestro sistema y la
computadora se realiza a través del DMA que nos permite escribir y leer directamente de la memoria RAM con mayor rapidez y, por tanto, liberar al procesador de la carga masiva de interrupciones que le supondría intervenir en las transferencias. Por último desarrollamos una aplicación de usuario que interactúa con los datos existentes en la memoria RAM y envía peticiones de lectura y escritura, por sectores, a nuestro dispositivo que realiza las transacciones en bloques de 512bytes.
[ABSTRACT]
By this project we are developing a solid state hard drive using a Field Programmable Gate Array, or FPGA, with a SpartanII chip. As the reconfigurable logic available is not enough we will rise a small memory of only 2kbytes but large enough to check its functionality and as
understanding and experiencing exercise in development of such components. The purpose of this project is to cover all aspects in the development of a peripheral component, Its implementation in VHDL, its connection and communication with the computer, even the access through from software.
We use the bridge Wishbone, obtained from OpenCores, to guarantee the connection to the PCI. Memory, configuration and connection protocols required by the Wishbone interface
are implemented within the FPGA card to establish the communication with the PC via the PCI bus. To enable the system to be recognized by the computer, and interact with it, we developed a driver with all the required functionality to install the device and perform Transactions with the DMA controller. Data transfers between our system and the computer are granted by DMA increasing the performance of the device allowing us to read and write data directly to RAM memory faster and therefore, release the processor of being interrupted
massively during transactions. Finally we developed user application software that interfaces with existing data within RAM memory and sends reading and writing requests to our device which performs transactions in 512bytes of block size.


Item Type:Coursework
Additional Information:

Proyecto de Sistemas Informáticos (Facultad de Informática, Curso 2008-2009)

Uncontrolled Keywords:FPGA, PCI, Wishbone, VHDL, Driver, DMA, Archivo INF, Bus, Maestro/Esclavo, Sistema reconfigurable, IP Core, BAR0, BAR1, DeviceIoControl, Controlador de dispositivo, Gestor I/O, DriverEntry, AddDevice, HandlePnP.
Subjects:Sciences > Computer science > Expert systems (Computer science)
ID Code:9840
Deposited On:26 Jan 2010 15:34
Last Modified:06 Feb 2014 08:32

Repository Staff Only: item control page