wiki:SC2V

SC2V

SC2V est un outil open source permettant de convertir du code SystemC en code Verilog.

Documentation

 An Open-Source Tool for SystemC to Verilog Automatic Translation

Utilisation de SC2V pour le projet

SocLib étant écrit en SystemC, on peut espérer convertir le code SocLib en Verilog grâce à cet outil.

Voici l'idée en image:

Vue d'ensemble des outils

Cependant SC2V comporte d'importantes restrictions de conversion:

  • Chaque module doit posséder un fichier .h avec les déclarations des ports, signaux et processus. Le code des processus doit se trouver dans un .cpp
  • L'écriture dans un port ou signal doit se faire avec la méthode .write()
  • Les macros ne sont pas entièrement supportées
  • Seulement les types de données bool, sc_int, sc_bigint, sc_uint et sc_biguint sont supportées.
  • Les variables globales ne sont pas supportées.

Nous avons pu tester avec succès SC2V sur les différents exemples SystemC fournis avec le programme. En revanche il reste toujours à le tester sur d'autres sources de codes.

Afin de déterminer s'il est possible de passer d'un code SocLib à du code Verilog, il faudrait tester SC2V sur un code SocLib très simple. Le TP SocLib  HelloWord de Telecom Paris est un bon début.

Attachments