RT Generic T1 Desarrollo de un entorno hardware para la ejecución deaplicaciones de propósito general sobre FPGAs A1 Sánchez Conde, Laura A1 Sánchez Delgado, Raquel A1 Valero Martín, Jose Antonio AB El hardware dinámicamente reconfigurable ofrece la posibilidad de dar a un únicodispositivo hardware cualquier tipo de funcionalidad deseada por el usuario. Esto porejemplo permitiría que nuestro dispositivo fuese hoy una calculadora y mañana unpotente microprocesador.Existen varios tipos de dispositivos hardware dinámicamente reconfigurables deentre los cuales nosotros utilizaremos las FPGAs.La forma de trabajar con las FPGAs es diseñar mediante herramientas software uncircuito hardware, transformarlo en un mapa de bits que es la representación física delcircuito dentro de la FPGA y por último cargar dicho mapa de bits en la propia FPGA.Una vez hecho esto la FPGA se comportará de la misma forma que el circuito que sediseñó.Nuestro proyecto consiste en ir un paso más allá del modo de funcionamientonormal de este tipo de dispositivos, ya no se tratará de cargar un único circuito en laFPGA sino que podremos tener varios circuitos diferentes almacenados de maneraexterna y el usuario podrá elegir cual es el que quiere ejecutar en cada momento.Para que el usuario del sistema pueda elegir la tarea que desea ejecutar en cadamomento hemos desarrollado un entorno sobre el cual se pueden introducir las órdenespor teclado y visualizar los resultados obtenidos en un monitor.El entorno permite la carga y ejecución de hasta cuatro tareas de manera simultáneae independiente aunque el usuario tiene la posibilidad de lanzar todas las que desee encualquier momento.Las tareas cargadas permanecerán en ejecución hasta que finalicen, por lo que si elusuario lanzara más de cuatro tareas, éstas quedarán a la espera de que alguna de las quehaya en ejecución termine, liberando así su zona de trabajo y permitiendo que unanueva tarea pase a ejecución.El proceso consistente en cargar varias tareas sobre una misma FPGA en cualquiermomento y sin que tengan porqué interferir al funcionamiento del resto, es ladenominada reconfiguración parcial. Esta reconfiguración parcial es una técnicadesarrollada recientemente que permite no sólo que un sistema varíe su comportamientoa lo largo del tiempo, de manera aleatoria o por voluntad de un usuario, sino que podríadarse el caso de que el propio sistema sea capaz de determinar cual de sus partes no estásiendo utilizada en un determinado momento, pudiendo así desactivarlos para ahorrarenergía o disminuir la temperatura global del sistema. De forma contraria, tambiénpodría decidir si necesita más recursos de un cierto tipo, bien sea duplicando alguno yaexistente o bien cargando un módulo nuevo que permita resolver el problema en unmenor tiempo o con una mayor eficiencia o complejidad.[ABSTRACT]The dynamically reconfigurable hardware offers the possibility that a hardwaredevice changes its functionality depending on the user requirements. This for examplewould allow that our device was today a calculator and tomorrow a powerfulmicroprocessor.There are many types of dynamically reconfigurable hardware devices and we willuse the FPGAs.The way to work with the FPGAs consists in the design with software tools of ahardware circuit, to transform it in a bit map that is the physical representation of thecircuit within the FPGA and finally to load this bit map in the configuration memory ofthe FPGA. Then the FPGA will behave like the circuit designed.Our project tries to go far away of the normal function mode of this type of devices.The idea is to have several stored circuits and the user will be able to choose the circuitthat he wants to execute at every moment.In this way we have developed an environment on which the user can writecommands using the keyboard and the system shows the results in a monitor.The environment allows the user to load and run simultaneous a maximum of fourtasks. However the user has the possibility of throws all the tasks that he wants in anymoment.The loaded tasks will remain in execution until they finalize. Then if the userthrows more than four tasks, these tasks will be stopped until any task in executionfinishes, allowing a new task to start the execution.The process of loading several tasks on a same FPGA, in any moment and withoutthey have to interfere to the operation of the other, it is the denominated partialreconfiguration. This partial reconfiguration is a technique recently developed thatallows a system to change its behaviour throughout the time. It is also possible that thesystem would determine which of its parts is not being used at a certain moment, in thatcase the system would deactivate them to save energy or to diminish the globetemperature of the system. By opposite, the system also can decide if it needs moreresources of a type and in that case it can duplicate one of the existing or load a newmodule that allows to solver the problem in a smaller time or with a greater efficiencyor complexity.The dynamically reconfigurable hardware offers the possibility that a hardwaredevice changes its functionality depending on the user requirements. This for examplewould allow that our device was today a calculator and tomorrow a powerfulmicroprocessor.There are many types of dynamically reconfigurable hardware devices and we willuse the FPGAs.The way to work with the FPGAs consists in the design with software tools of ahardware circuit, to transform it in a bit map that is the physical representation of thecircuit within the FPGA and finally to load this bit map in the configuration memory ofthe FPGA. Then the FPGA will behave like the circuit designed.Our project tries to go far away of the normal function mode of this type of devices.The idea is to have several stored circuits and the user will be able to choose the circuitthat he wants to execute at every moment.In this way we have developed an environment on which the user can writecommands using the keyboard and the system shows the results in a monitor.The environment allows the user to load and run simultaneous a maximum of fourtasks. However the user has the possibility of throws all the tasks that he wants in anymoment.The loaded tasks will remain in execution until they finalize. Then if the userthrows more than four tasks, these tasks will be stopped until any task in executionfinishes, allowing a new task to start the execution.The process of loading several tasks on a same FPGA, in any moment and withoutthey have to interfere to the operation of the other, it is the denominated partialreconfiguration. This partial reconfiguration is a technique recently developed thatallows a system to change its behaviour throughout the time. It is also possible that thesystem would determine which of its parts is not being used at a certain moment, in thatcase the system would deactivate them to save energy or to diminish the globetemperature of the system. By opposite, the system also can decide if it needs moreresources of a type and in that case it can duplicate one of the existing or load a newmodule that allows to solver the problem in a smaller time or with a greater efficiencyor complexity.The dynamically reconfigurable hardware offers the possibility that a hardwaredevice changes its functionality depending on the user requirements. This for examplewould allow that our device was today a calculator and tomorrow a powerfulmicroprocessor.There are many types of dynamically reconfigurable hardware devices and we willuse the FPGAs.The way to work with the FPGAs consists in the design with software tools of ahardware circuit, to transform it in a bit map that is the physical representation of thecircuit within the FPGA and finally to load this bit map in the configuration memory ofthe FPGA. Then the FPGA will behave like the circuit designed.Our project tries to go far away of the normal function mode of this type of devices.The idea is to have several stored circuits and the user will be able to choose the circuitthat he wants to execute at every moment.In this way we have developed an environment on which the user can writecommands using the keyboard and the system shows the results in a monitor.The environment allows the user to load and run simultaneous a maximum of fourtasks. However the user has the possibility of throws all the tasks that he wants in anymoment.The loaded tasks will remain in execution until they finalize. Then if the userthrows more than four tasks, these tasks will be stopped until any task in executionfinishes, allowing a new task to start the execution.The process of loading several tasks on a same FPGA, in any moment and withoutthey have to interfere to the operation of the other, it is the denominated partialreconfiguration. This partial reconfiguration is a technique recently developed thatallows a system to change its behaviour throughout the time. It is also possible that thesystem would determine which of its parts is not being used at a certain moment, in thatcase the system would deactivate them to save energy or to diminish the globetemperature of the system. By opposite, the system also can decide if it needs moreresources of a type and in that case it can duplicate one of the existing or load a newmodule that allows to solver the problem in a smaller time or with a greater efficiencyor complexity.The dynamically reconfigurable hardware offers the possibility that a hardwaredevice changes its functionality depending on the user requirements. This for examplewould allow that our device was today a calculator and tomorrow a powerfulmicroprocessor.There are many types of dynamically reconfigurable hardware devices and we willuse the FPGAs.The way to work with the FPGAs consists in the design with software tools of ahardware circuit, to transform it in a bit map that is the physical representation of thecircuit within the FPGA and finally to load this bit map in the configuration memory ofthe FPGA. Then the FPGA will behave like the circuit designed.Our project tries to go far away of the normal function mode of this type of devices.The idea is to have several stored circuits and the user will be able to choose the circuitthat he wants to execute at every moment.In this way we have developed an environment on which the user can writecommands using the keyboard and the system shows the results in a monitor.The environment allows the user to load and run simultaneous a maximum of fourtasks. However the user has the possibility of throws all the tasks that he wants in anymoment.The loaded tasks will remain in execution until they finalize. Then if the userthrows more than four tasks, these tasks will be stopped until any task in executionfinishes, allowing a new task to start the execution.The process of loading several tasks on a same FPGA, in any moment and withoutthey have to interfere to the operation of the other, it is the denominated partialreconfiguration. This partial reconfiguration is a technique recently developed thatallows a system to change its behaviour throughout the time. It is also possible that thesystem would determine which of its parts is not being used at a certain moment, in thatcase the system would deactivate them to save energy or to diminish the globetemperature of the system. By opposite, the system also can decide if it needs moreresources of a type and in that case it can duplicate one of the existing or load a newmodule that allows to solver the problem in a smaller time or with a greater efficiencyor complexity.The dynamically reconfigurable hardware offers the possibility that a hardwaredevice changes its functionality depending on the user requirements. This for examplewould allow that our device was today a calculator and tomorrow a powerfulmicroprocessor.There are many types of dynamically reconfigurable hardware devices and we willuse the FPGAs.The way to work with the FPGAs consists in the design with software tools of ahardware circuit, to transform it in a bit map that is the physical representation of thecircuit within the FPGA and finally to load this bit map in the configuration memory ofthe FPGA. Then the FPGA will behave like the circuit designed.Our project tries to go far away of the normal function mode of this type of devices.The idea is to have several stored circuits and the user will be able to choose the circuitthat he wants to execute at every moment.In this way we have developed an environment on which the user can writecommands using the keyboard and the system shows the results in a monitor.The environment allows the user to load and run simultaneous a maximum of fourtasks. However the user has the possibility of throws all the tasks that he wants in anymoment.The loaded tasks will remain in execution until they finalize. Then if the userthrows more than four tasks, these tasks will be stopped until any task in executionfinishes, allowing a new task to start the execution.The process of loading several tasks on a same FPGA, in any moment and withoutthey have to interfere to the operation of the other, it is the denominated partialreconfiguration. This partial reconfiguration is a technique recently developed thatallows a system to change its behaviour throughout the time. It is also possible that thesystem would determine which of its parts is not being used at a certain moment, in thatcase the system would deactivate them to save energy or to diminish the globetemperature of the system. By opposite, the system also can decide if it needs moreresources of a type and in that case it can duplicate one of the existing or load a newmodule that allows to solver the problem in a smaller time or with a greater efficiencyor complexity.The dynamically reconfigurable hardware offers the possibility that a hardwaredevice changes its functionality depending on the user requirements. This for examplewould allow that our device was today a calculator and tomorrow a powerfulmicroprocessor.There are many types of dynamically reconfigurable hardware devices and we willuse the FPGAs.The way to work with the FPGAs consists in the design with software tools of ahardware circuit, to transform it in a bit map that is the physical representation of thecircuit within the FPGA and finally to load this bit map in the configuration memory ofthe FPGA. Then the FPGA will behave like the circuit designed.Our project tries to go far away of the normal function mode of this type of devices.The idea is to have several stored circuits and the user will be able to choose the circuitthat he wants to execute at every moment.In this way we have developed an environment on which the user can writecommands using the keyboard and the system shows the results in a monitor.The environment allows the user to load and run simultaneous a maximum of fourtasks. However the user has the possibility of throws all the tasks that he wants in anymoment.The loaded tasks will remain in execution until they finalize. Then if the userthrows more than four tasks, these tasks will be stopped until any task in executionfinishes, allowing a new task to start the execution.The process of loading several tasks on a same FPGA, in any moment and withoutthey have to interfere to the operation of the other, it is the denominated partialreconfiguration. This partial reconfiguration is a technique recently developed thatallows a system to change its behaviour throughout the time. It is also possible that thesystem would determine which of its parts is not being used at a certain moment, in thatcase the system would deactivate them to save energy or to diminish the globetemperature of the system. By opposite, the system also can decide if it needs moreresources of a type and in that case it can duplicate one of the existing or load a newmodule that allows to solver the problem in a smaller time or with a greater efficiencyor complexity.The dynamically reconfigurable hardware offers the possibility that a hardwaredevice changes its functionality depending on the user requirements. This for examplewould allow that our device was today a calculator and tomorrow a powerfulmicroprocessor.There are many types of dynamically reconfigurable hardware devices and we willuse the FPGAs.The way to work with the FPGAs consists in the design with software tools of ahardware circuit, to transform it in a bit map that is the physical representation of thecircuit within the FPGA and finally to load this bit map in the configuration memory ofthe FPGA. Then the FPGA will behave like the circuit designed.Our project tries to go far away of the normal function mode of this type of devices.The idea is to have several stored circuits and the user will be able to choose the circuitthat he wants to execute at every moment.In this way we have developed an environment on which the user can writecommands using the keyboard and the system shows the results in a monitor.The environment allows the user to load and run simultaneous a maximum of fourtasks. However the user has the possibility of throws all the tasks that he wants in anymoment.The loaded tasks will remain in execution until they finalize. Then if the userthrows more than four tasks, these tasks will be stopped until any task in executionfinishes, allowing a new task to start the execution.The process of loading several tasks on a same FPGA, in any moment and withoutthey have to interfere to the operation of the other, it is the denominated partialreconfiguration. This partial reconfiguration is a technique recently developed thatallows a system to change its behaviour throughout the time. It is also possible that thesystem would determine which of its parts is not being used at a certain moment, in thatcase the system would deactivate them to save energy or to diminish the globetemperature of the system. By opposite, the system also can decide if it needs moreresources of a type and in that case it can duplicate one of the existing or load a newmodule that allows to solver the problem in a smaller time or with a greater efficiencyor complexity. YR 2006 FD 2006 LK https://hdl.handle.net/20.500.14352/54293 UL https://hdl.handle.net/20.500.14352/54293 LA spa NO Trabajo de la asignatura Sistemas Informáticos (Facultad de Informática, Curso 2005-2006) DS Docta Complutense RD 18 abr 2025