5 research outputs found

    Reconfigurable microarchitectures at the programmable logic interface

    Get PDF

    High integrity hardware-software codesign

    Get PDF
    Programmable logic devices (PLDs) are increasing in complexity and speed, and are being used as important components in safety-critical systems. Methods for developing high-integrity software for these systems are well-known, but this is not true for programmable logic. We propose a process for developing a system incorporating software and PLDs, suitable for safety critical systems of the highest levels of integrity. This process incorporates the use of Synchronous Receptive Process Theory as a semantic basis for specifying and proving properties of programs executing on PLDs, and extends the use of SPARK Ada from a programming language for safety-critical systems software to cover the interface between software and programmable logic. We have validated this approach through the specification and development of a substantial safety-critical system incorporating both software and programmable logic components, and the development of tools to support this work. This enables us to claim that the methods demonstrated are not only feasible but also scale up to realistic system sizes, allowing development of such safety-critical software-hardware systems to the levels required by current system safety standards

    Co-design matériel/logiciel à l'aide de FPGA étude de faisabilité d'un gestionnaire dynamique

    Get PDF
    Dans les systèmes ordinés actuels, il est courant d'utiliser des circuits additionnels pour effectuer des tâches requérant une puissance de calcul dépassant les capacités du microprocesseur central. L'utilisation de FPGA (Field Programmable Gate Array) est une solution intéressante au problème de l'achat de multiples cartes numériques et de leur désuétude rapide. Le présent projet de maîtrise porte sur l'utilisation de FPGA comme source de matériel dédié à la demande pour des applications s'exécutant sur des microprocesseurs. Un gestionnaire de RPU (Re-configurable Processing Unit) qui permet d'automatiser l'utilisation et le partage d'une carte FPGA (la carte H.O.T. de la compagnie Xilinx qui contient un RPU XC6216) entre plusieurs applications indépendantes a été mis au point. Ce gestionnaire divise la surface du RPU en quatre sections et alloue les sections tout comme l'allocation de mémoire paginée dans un système d'exploitation. Deux algorithmes d'allocations, l'algorithme LRU (Least Recently Used) et FIFO (First In First Out), ont été testés et comparés. Pour tester le fonctionnement de ce système, plusieurs simulations ont été effectuées. Les résultats de simulations sont présentés. Suivent des analyses de performance d'un tel système matériel/logiciel. Finalement des perspectives de travaux futurs sont présentées
    corecore