Sommes nous dans un monde bilingue ?
Oui, le monde est bi lingue, plus tôt vous l’admettrez, le mieux ce sera. En effet, et à titre d’exemple, dans l’industrie du semi-conducteur, la conception haut niveau est souvent réalisée en VHDL alors que le code bas niveau, celui utilisé pour valider le design, est du Verilog. D’autre part, les USA utilisent plus Verilog pour faire de la conception système alors que culturellement, l’Europe utilise VHDL. Comme les designs se traitent maintenant au niveau de la planète, générant des échanges permanents entre les parties, il y a un besoin considérable d’interopérabilité. Il faut ainsi s’assurer de l’équivalence du code échangé dans les deux langages pour en permettre l’utilisation.
Traditionnellement, les concepteurs se sont concentrés sur l’usage d’un langage haut niveau (HDL) (VHDL ou Verilog) pour réaliser leurs projets. Maintenant, du fait des échanges et des habitudes de travail de chacun, il est impératif de pouvoir manipuler les deux. Il en résulte une demande forte de solutions inter-opérables en VHDL/Verilog.
- Souvent, le concepteur est amené à réutiliser un design écrit dans un langage qu’il n’utilise pas.
- Autre scénario: Vous êtes développeur de bibliothèques de modèles et vous avez l’obligation de fournir vos modèles dans les deux langages.
- Ou bien, vous avez envie de vous rendre compte par vous-même et d’apprendre les deux langages et essayer de comprendre pourquoi il y a une guerre entre les deux langages.
- De plus, si vous devez fournir des projets dans les deux langages, vous n’avez plus d’excuse, il faut y aller.
-> C’est à ce moment que nous intervenons.
Un environnement pour deux langages haut niveaux HDL
Verilog2VHDL est un traducteur Verilog vers VHDL pour vous aider à transférer votre projet Verilog dans l’environnement VHDL.
VHDL2Verilog est un traducteur de VHDL vers Verilog. Grâce à l’utilisation de ces traducteurs, vous allez pouvoir intégrer votre stylique dans l’environnement de synthèse-simulation-test cible.
Mais comment savoir si les traducteurs vont vraiment réaliser un bon travail pour moi ?
Répondez par vous-même aux deux questions suivantes :
* Connaissez vous le langage vers lequel vous devez traduire ?
* Avez vous à écrire du code synthétisable?
Si vous avez répondu OUI aux deux questions ci-dessus, alors, OUI, les traducteurs vont radicalement résoudre votre problème.
D’un autre coté, si vous concevez des modèles de simulation, et si voulez transcrire des test-benches ou autre code non-synthétisable, les traducteurs seront quand même d’une aide précieuse, sachant qu’il sera cependant nécessaire de faire quelques retouches manuelles du code généré.
Les traducteurs sont-ils capable d’effectuer la totalité de la tâche, sans retouche ?
Une traduction pousse bouton, sans intervention manuelle VHDL-Verilog relève du mythe.
En tant qu’utilisateur, vous avez besoin de savoir ce qui se passe, et serez peut-être obligé d’éditer la sortie pour achever une traduction complète. Dans la plupart des cas, il y a une correspondance un à un entre les blocs élémentaires du langage. Pour les éléments non traités par le traducteur, des commentaires sont rajoutés dans la sortie résultante.
Le code créé par un générateur est très lisible, les commentaires présents en entrée sont préservés.
Ainsi il est important d’être prêt à faire quelques ajustements sur le code de sortie si le source en entrée l’impose.