Version imprimable
Using HLS to raise the design abstraction level for faster exploration of different CPU Micro-architectures
(Utiliser la HLS pour élever le niveau d’abstraction dans la conception des processeurs afin d’explorer plus rapidement différentes microarchitectures)

Hoseininasab, Sara sadat - (2025-02-18) / Université de Rennes
Using HLS to raise the design abstraction level for faster exploration of different CPU Micro-architectures

Langue : Anglais
Directeur de thèse:  Rohou, Erven; Derrien, Steven
Laboratoire :  INRIA-RENNES
Ecole Doctorale : MATISSE

Thématique : Informatique
Accès à la ressource : https://ged.univ-rennes1.fr/nuxeo/site/esupversion...

Mots-clés : Synthèse de haut niveau, micro-architecture CPU en pipeline, multi-threading, Synthèse de haut niveau (informatique), Programmation parallèle (informatique)

Résumé : La conception de circuits complexes, tels que les processeurs, nécessite un prototypage itératif afin d’explorer diverses caractéristiques micro architecturales et d’obtenir des performances optimales. Ce processus repose usuellement sur l’utilisation des langages de description matérielle comme Verilog qui nécessitent beaucoup de travail et sont sujets aux erreurs. Modifier un design impose souvent une réécriture significative du code HDL, rendant la conception itérative et l’exploration de l’espace de conception fastidieuses et inefficaces, en particulier avec l’augmentation de la complexité matérielle. La synthèse de haut niveau (HLS) offre une alternative en permettant aux concepteurs de décrire le comportement des processeurs dans des langages de haut niveau comme le C/C++. Cependant, comme la HLS repose sur un ordonnancement statique, elle gère de manière conservatrice les dépendances dans le processeur, dégradant ainsi les performances en augmentant l’intervalle d’initiation (II). Ce manuscrit propose une méthodologie pour concevoir des processeurs entièrement pipelinés en HLS sans exposer les détails du pipeline dans la spécification de haut niveau. Les contributions principales incluent des techniques de multi-threading statique et dynamique, un mécanisme d’ordonnancement dynamique et une architecture multi-coeur. Ces innovations permettent un pipelining efficace, une exploration rapide de l’espace de conception ainsi qu’une exécution performante. Les designs proposés sont validées sur FPGA, démontrant leur praticité et leur performances.

Résumé (anglais) : Designing complex hardware systems, such as processors, requires iterative prototyping to explore various microarchitectural features and achieve optimized performance. Traditional workflows using Hardware Description Languages (HDLs) like Verilog are labor-intensive and error-prone. Modifying a design often demands significant rewriting of HDL code, making iterative design and design space exploration (DSE) tedious and inefficient, particularly as hardware complexity grows. High-Level Synthesis (HLS) offers an alternative by allowing designers to describe processor behavior in high-level languages like C/C++. However, as HLS relies on static scheduling, it conservatively handles dependencies in the processor and degrading performance by increasing the initiation interval (II). This research introduces a methodology for designing fully pipelined processors in HLS without exposing pipeline details in the high-level specification. Key contributions include static and dynamic multi-threading techniques, dynamic scheduling mechanism, and multi-core architecture. These innovations enable efficient pipelining, rapid design space exploration, and high-performance execution. The proposed designs are validated on FPGA, demonstrating their practicality and potential to simplify processor design while achieving significant performance gains.

Identifiant : rennes1-ori-wf-1-20647
Exporter au format XML