(EN) The compilation of a high-level software-based description of an algorithm into efficient digital hardware implementation(s) is addressed. This is done through the definition of new semantics for software constructs with respect to hardware implementations. This approach allows a designer to work at a high level of abstraction, while the semantic model can be used to infer the resulting hardware implementation. These semantics are interpreted through the use of a compilation tool that analyzes the software description to generate a control and data flow graph. This graph is then the intermediate format used for optimizations, transformations and annotations. The resulting graph is then translated to either a register transfer level or a netlist-level description of the hardware implementation.
(FR) L'invention concerne la compilation d'une description logicielle de haut niveau d'un algorithme en mise(s) en application matérielle(s) numérique(s) efficace(s). Pour ce faire, une nouvelle sémantique d'élaboration de logiciels est définie par rapport à des mises en application matérielles. Cette approche permet à un concepteur de logiciels de travailler à un haut niveau d'abstraction et d'utiliser le modèle sémantique pour produire la mise en application matérielle résultante. Cette sémantique est interprétée au moyen d'un outil de compilation qui analyse la description logicielle afin de produire un graphe de flux de données et de commande. Ce graphe sert ensuite de format intermédiaire pour des optimisations, des transformations et des annotations. Le graphe résultant est ensuite traduit en une description au niveau du transfert de registres ou au niveau des listes d'interconnexions de la mise en application matérielle.