Circuit partitioning for multi-FPGA platforms
Partitionnement de circuits pour plate-formes multi-FPGA
Résumé
An FPGA (’Field Programmable Gate Array’) is an integrated circuit comprising a large number of programmable and interconnectable logic resources, which allow one to implement, by programming, a digital electronic circuit such as a microprocessor, a compute accelerator or a complex hybrid system-on-chip. FPGAs are widely used in the field of integrated circuits design, because they allow one to obtain prototype circuits very quickly, without having to manufacture the chip on silicon. However, some circuits are too big to be implemented on a single FPGA. To address this issue, it is possible to use a platform consisting of several highly interconnected FPGAs, which can be seen as a single virtual FPGA giving access to all the resources of the platform. This solution, although elegant, poses several problems. In particular, the existing tools do not account for all the constraints of the placement problem to be solved in order to efficiently map a circuit onto a multi-FPGA platform. For example, current cost functions are not designed to minimize signal propagation times between FPGA registers, nor do they take into account the capacity constraints induced by the routing of connections. The aim of this PhD work is to design hypergraph partitioning and placement models adapted to the problem of circuit layout on a multi-FPGA platform. These models will be specifically designed to meet the objectives and performance criteria defined by circuit designers.
Un FPGA (’Field Programmable Gate Array’) est un circuit intégré comprenant un grand nombre de ressources logiques programmables et interconnectables, qui permettent de mettre en oeuvre, par programmation, un circuit électronique numérique tel qu’un microprocesseur, un accélérateur de calcul ou un système hybride complexe sur puce. Les FPGA sont largement utilisés dans le domaine de la conception de circuits intégrés, car ils permettent d’obtenir très rapidement des circuits prototypes, sans avoir à fabriquer la puce sur silicium. Cependant, certains circuits sont trop grands pour être mis en oeuvre sur un seul FPGA. Pour résoudre ce problème, il est possible d’utiliser une plate-forme composée de plusieurs FPGA fortement interconnectés, qui peut être considérée comme un seul FPGA virtuel donnant accès à toutes les ressources de la plate-forme. Cette solution, bien qu’élégante, pose plusieurs problèmes. En particulier, les outils existants ne tiennent pas compte de toutes les contraintes du problème de placement à résoudre pour cartographier efficacement un circuit sur une plate-forme multi- FPGA. Par exemple, les fonctions de coût actuelles ne sont pas conçues pour minimiser les temps de propagation du signal entre les registres du FPGA, ni pour prendre en compte les contraintes de capacité induites par le routage des connexions. L’objectif de ce travail de doctorat est de concevoir des modèles de partitionnement et de placement d’hypergraphes adaptés au problème de placement des circuits sur une plate-forme multi-FPGA. Ces modèles seront spécifiquement conçus pour répondre aux objectifs et aux critères de performance définis par les concepteurs de circuits.
Domaines
Informatique [cs]Origine | Version validée par le jury (STAR) |
---|