Estudio de técnicas de reconfiguración parcial dinámica de FPGAs: aplicación al procesamiento de imágenes digitales
Loading...
Download
Official URL
Full text at PDC
Publication date
2004
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
El principal objetivo de nuestro proyecto era lograr la
reconfiguración parcial dinámica sobre un FPGA Virtex 1000, es decir,
poder reprogramar una determinada área de la FPGA para cambiar el
comportamiento de la misma sin necesidad de resetear el dispositivo.
Por tanto, se pretendía que la FPGA siguiera funcionando normalmente
y con el comportamiento inicial hasta el momento en que el área en
cuestión estuviera totalmente reprogramada, momento en el que la
FPGA adoptaría el nuevo comportamiento derivado de la modificación
de esa área.
Un ejemplo sencillo de esta reconfiguración parcial es programar
la FPGA para que filtre las imágenes que el usuario le vaya indicando.
Inicialmente se carga un primer filtro, pero posteriormente se decide
que se desea utilizar un filtro distinto. Pues bien, con la reconfiguración
parcial no haría falta resetear la FPGA y programarla entera de nuevo,
ya que lo único que se desea es reprogramar la parte de la FPGA que
“contiene” el filtro que se desea cambiar, sino que simplemente habría
que cargar el nuevo filtro en la zona que ocupaba el anterior, dejando
inalterada el resto de la FPGA y permitiéndola que siguiera funcionando
mientras tanto.
Con este tipo de ejemplo es donde entra el otro objetivo de este
proyecto: conseguir utilizar módulos diseñados en VHDL dentro de
código Handel-C, lenguaje muy parecido a C pero con ciertas directivas
para controlar la FPGA y comunicarse con ella.
[ABSTRACT]
The main goal of our project was to achieve dynamic partial
reconfiguration on a FPGA Virtex 1000, it is said, to reprogramme an
determinated area of the FPGA to change its behaviour without having
to reset the device. Therefore, it was trying the FPGA continued working
normaly and with the initial behavior until the mentioned area was
reprogrammed completely, moment at which the FPGA would get the
new behaviour derived from the modification of this area.
A simple example of this partial reconfiguration is to programme
the FPGA to filter images the user was indicating. Initially it was load
the first filter, but then it was decided it was wanted to use a different
filter. With partial reconfiguration you don’t need to reset FPGA and
reprogramme it full again, since the only thing is wanted is to
reprogramme the area of the FPGA that contains the filter that is
wanted to change, but simply it would have to load the new filter on the
area that the other filter was ocupping, letting untouched the rest of the
FPGA and letting it to work meanwhile.
With this kind of example the other goal of this project enters:
to achieve to use VHDL modules in Handel-C code, a lenguage similar to
C but with directives to control the FPGA and to communicate with it.
Description
Trabajo de la asignatura Sistemas Informáticos (Facultad de Informática, Curso 2003-2004)