MATH2MAT


Le projet Math2mat dispose à présent d'un site web: http://www.math2mat.ch

 

Le projet MATH2MAT a pour finalité la traduction automatique de code source de type Matlab en une description HDL synthétisable afin d’accélérer le traitement. Il s’agit en effet de développer un outil logiciel capable, à partir de fonctions et d’expressions de type Matlab de générer des fichiers HDL, de même qu’un banc de test servant à valider automatiquement la description générée par le biais de l’outil.

Le code synthétisable généré par l’outil sera initialement du VHDL, tandis que les bancs de test seront produits en SystemVerilog. Ce nouveau langage est effectivement particulièrement adapté à la vérification de circuits. Il offre une palette de possibilités nettement plus vaste que celle proposée par VHDL. Il permet notamment une approche orientée objets, la génération de variables aléatoires, des fonctions de couverture ainsi que des assertions.

Le langage mathématique accepté par l’outil sera constitué par un sous-ensemble du langage Matlab. Il comprendra au minimum les fonctions arithmétiques standard (+,-,*,/, puissance), les boucles for ainsi que les instructions de contrôle if/then/else. La structure du logiciel développé permettra cependant d’ajouter aisément de nouvelles fonctions, afin de pouvoir l’étendre en fonction de besoins spécifiques à un domaine ou à un contexte d’application particulier. Le code synthétisable sera généré sous une forme structurelle. Une librairie de composants constituée de blocs de base sera exploitée. Elle pourra évidemment être étendue, comme précédemment suggéré. Une part importante du projet sera dédiée à l’optimisation de la structure matérielle générée. Les notions de pipelining et de parallélisme y seront notamment exploitées.

Dans la cadre de ce projet, le domaine d’application de MATH2MAT se situe dans le monde de la finance, où les outils de modélisation nécessitent l’usage de ressources en calcul intensif. Il en découle que la représentation des nombres en virgule flottante est privilégiée. Toutefois, toute autre représentation doit pouvoir être envisagée par la suite, la partie d’optimisation structurelle étant indépendante de la représentation des nombres choisie.

Notons enfin que le passage de solutions logicielles usuelles au matériel (FPGA) devrait permettre non seulement l’accélération du traitement mais aussi, par effet direct, la réduction du coût énergétique