FPGA Simulator 1.0 simula el comportamiento de una FPGA bidimensional dinámicamente reconfigurable. La simulación consiste en la gestión de una cola de tareas de tamaño rectangular (simple), con la posibilidad de multitarea, lo que permite ejecutar simultáneamente varias de estas tareas.
La ubicación de las tareas dentro de la FPGA se lleva a cabo mediante un algoritmo previamente implementado que gestiona el espacio libre en la FPGA. Este algoritmo gestiona las tareas en espera de ejecución, las que están ejecutándose actualmente en la FPGA y las que han terminado de ejecutar.
Nuestra solución FPGA Simulator 1.0 permite gestionar tanto la FPGA como la lista de tareas en espera a través de una sencilla e intuitiva interfaz gráfica. El algoritmo encargado de la ubicación de las tareas también puede ser configurado manualmente.
Entre la diversidad de algoritmos existentes (p.e. First-Fit (FF), Best-Fit (BF), First-Fit-Decreasing (FFD) y Best-Fit-Decreasing (BFD)), el algoritmo utilizado en nuestra solución es el Bin Packing MER, que ubica las tareas en el MER (Maximun Empty Rectangle) o Máximo Rectángulo Vacío.
Trabajar con distintas FPGAs y listas de tareas se convierte en una tarea sencilla gracias a la exportación de estos elementos a ficheros de texto, que permite tanto abrir y guardar como modificar los elementos involucrados en la simulación. A parte, el uso de ficheros incrementa la versatilidad del producto, permitiendo la exportación de elementos a otros ordenadores.
FPGA Simulator 1.0 permite además guardar la configuración de una simulación concreta de manera que se pueda reproducir en cualquier momento. Dado el carácter determinista de los algoritmos utilizados, una misma configuración desemboca en un mismo resultado, de forma que el almacenamiento de resultados se simplifica con el uso de un fichero de texto absolutamente independiente, que también es completamente portable.
A parte de la creación de un entorno de simulación, FPGA Simulator 1.0 proporciona además una idea general del comportamiento de la simulación por medio de métricas. Estas métricas, que deben ser utilizadas de manera orientativa, se basan en la utilización del espacio libre de la FPGA, y consisten en la ocupación media y la ocupación instantánea (en porcentaje) del espacio de la FPGA. La comparación de estas métricas como resultado de la ejecución de diferentes algoritmos sobre un mismo entorno de simulación nos puede dar un acercamiento al comportamiento real de los algoritmos.
La versión actual de FPGA Simulator 1.0 sólo está disponible para plataformas Windows (windows 95, 98, NT, 2000 y XP)
Implementando en Borland C++ Builder, este software presenta una gran estabilidad y rapidez de ejecución, al igual que un mínimo consumo de recursos de sistema. La posibilidad de incorporar manualmente nuevos algoritmos de ejecución convierte este producto en un software de gran utilidad en el campo de la investigación.
[Abstract]
FPGA Simulator 1.0 simulates the behavior of a dynamically reconfigurable bidimensional FPGA. Simulation consists of a rectangular task queue managemente (simple tasks) with a multitask posibility, which implies the simultaneous execution of several tasks.
The task allocation within the FPGA is done through a previously programmed algorithm, which manages the free space in the FPGA. The task management involves the waiting for execution tasks, currently executing, and already finished ones.
Our solution FPGA Simulator 1.0, enables the management of both the FPGA and the task queue throug an easy and intuitive graphic interface. The algorithm used to allocate the tasks con also be manually configured. Between many other existing ones (p.e. First-Fit (FF), Best-Fit (BF), First-Fit-Decreasing (FFD) y Best-Fit-Decreasing (BFD)),Bin Packing MER was the final algorithm used in our product. Bin Packing MER allocates tasks in the Maximum Empty Rectangle available at a given moment.
The exportation of elements such as FPGAs and task queues to text files translates into a clear enhancement of the working capabilities, specially when working with different types of these kind of elements. The use of text files increases the product's versatility, as these elements can be exported to other copmputers with a minimum amount of space expense.
FPGA Simulator 1.0 allows saving concrete simulatin configurations for later execution Given that the algorithms used are deterministic, two identical configurations imply same results. Thus, results storage is simplified by the use of absolutely independent text files, wich are also portable.
Apart from creating a simulation environment, FPGA Simulator 1.0 offers a general view of the algorithms behavior trough the metrics. These metrics, which should be used only in an orientative way, are based on the available free space in the FPGA. The two metrics used are the current occupation and the average occupation (in percentage). The comparison of the metrics obtained out of the execution of different algorithms over the same simulation environment can give us an approximate idea of the real behavior of th algorithms.
The current version of FPGA Simualtor 1.0 is only supported under Windows platforms (Windows 95, 98, NT, 2000 and XP).
Programmed under Borland C++ Builder, this software displays a great stability and execution time, at the same time as it consumes a minimum amount of system resources. The possibility of adding manually new algorithms provides this software with a great utility withing the scope of investigation