Derniers journaux de moy :
- [07/11@22:59] Xtla 0.9 est sorti (interface Emacs pour GNU Arch)
- [04/03@17:13] GNU Arch accès distant via WEBDAV / HTTPS
- [04/11@21:51] Sauvegarde incrémentale sur CD : Je l'ai fait !
- [26/10@17:34] Sauvegarde incrémentale sur CD
Journal : Pinapa: Un parser SystemC open-source
Posté par Matthieu Moy (page perso, ) le 11 avril 2005Je t'écris pour te présenter mon nouveau bébé. Il s'appelle Pinapa (Pinapa Is Not a PArser - faut pas oublier les vieilles traditions d'acronymes récursifs), sa passion dans la vie, c'est de manger du SystemC [1] et de recracher une structure abstraite. Bref, c'est l'équivalent d'un front-end de compilateur pour un langage, sauf que SystemC n'est pas vraiment un langage.
Pinapa a été développé dans le cadre de ma thèse, dans un projet commun entre Verimag [2] et STMicroelectronics [3]. On avait peur qu'il s'ennuie tout seul, alors il fait maintenant partie du projet GreenSoCs [4] et il devrait avoir d'autres copains open-sources d'ici peu.
Ce qui est intéressant, pour ceux qui ne sont pas directement intéressés par un parser SystemC mais qui ont quand même eu le courage de lire jusqu'ici, c'est de voir que l'open source fait son chemin dans le monde du hardware, ou la tradition est plus au secret qu'au partage.
Pourquoi avoir décidé de rendre Pinapa open source ? En partie parce que j'aime bien le logiciel libre, mais aussi parce que Pinapa n'est pas un composant sur lequel on peut espérer faire de l'argent, par contre, on espère récupérer des contributions pour améliorer la qualité du soft pour pas trop cher.
Ah, et si je concluais en vous donnant l'URL ?
http://greensocs.sourceforge.net/pinapa/(...)
[1] : Une bibliothèque pour C++ pour faire de la modélisation hardware, plus ou moins "standard de fait" pour la modélisation de haut niveau. http://www.systemc.org(...)
[2] : Laboratoire d'informatique Grenoblois http://www-verimag.imag.fr/(...)
[3] : http://www.st.com/(...)
[4] : Projet visant a créer une infrastructure open source autour de SystemC http://www.greensocs.com/(...)
> Lire le journal (8 commentaires, moyenne: 2,6).
cool :)
Question bète, y'a-t-il des projets de le faire cohabiter avec des projets comme ghdl ? (ghdl.free.fr)
-
[^]Re: cool :)
Posté par Matthieu Moy (page perso, ) le 12/04/2005 à 07:57. (lien). Évalué à 2.Pas du tout en ce qui me concerne, et l'intérêt serait limité.
ghdl permet de compiler du VHDL avec GCC pour faire de la simulation. Vu que SystemC est une bibliothèque pour C++, il n'y a pas besoin de ça pour faire de la simu. g++ -I/path/to/systemc/include -L/path/to/systemc/lib -lsystemc le fait d'office.
Par ailleurs, Pinapa me sert a faire de l'analyse statique de modèles transactionels (donc d'un niveau d'abstraction plus élevé que le VHDL). On ne traite pas la même catégorie de programmes.-
[^]Re: cool :)
Posté par Nicolas Boulay () le 12/04/2005 à 09:12. (lien). Évalué à 3.mouais. Dans la conception SoC/codesign, personne ne fait du pure top-down.
L'approche est toujours mixte. Parce que tu veux réutiliser les IP interne que tu n'as pas forcément en modèle transactionnel mais en VHDL. Le modèle top-down vient ensuite pour savoir ce que tu fais sur la partie nouvelle (bloc hardware pure, hard + soft, etc...).
Donc en gros, systemc c'est bien mais pas tout seul, parce que ton nouveau bloc aura l'air malin si il ne peut parler avec personne.
En gros pinapa pourrait servir avec les nouvelles normes pour emballer les IP ?-
[^]Re: cool :)
Posté par Matthieu Moy (page perso, ) le 12/04/2005 à 09:21. (lien). Évalué à 2.De ce point de vue là, oui, ça pourrait être intéressant d'avoir un front-end qui puisse parser du SystemC, du VHDL, du Verilog, et qui crache une représentation commune à la sortie. D'ailleurs, Synopsys a un truc comme ça (sauf qu'ils ont bazardé a peu près toutes leurs activités autour de SystemC :-\ ).
Par contre, c'est un boulot énorme, et ce n'est clairement pas moi qui le ferait.
Pour ce qui est de cosimuler du RTL avec du SystemC, pas besoin de Pinapa. Pinapa n'est que le front-end, il ne génère pas de code (Le générateur de code, c'est GCC, sans Pinapa). Je ne connais pas trop GHDL, je suppose qu'il y a une interface avec le C au moins. A partir de la, on doit pouvoir faire une interface VHDL/SystemC, et obtenir un truc qui ressemble a NC-SystemC de Cadence. Bref, y'a des choses intéressantes, mais pas vraiment en relation avec Pinapa.-
[^]Re: cool :)
Posté par Nicolas Boulay () le 12/04/2005 à 12:21. (lien). Évalué à 2.ok pour les relations.
ghdl est un front-end gcc pour le vhdl.
-
-
-
mmmh pas tout compris.
ils sont ou les screenshoots? ;-)
non, sérieusement, j'ai du mal à voir ce que ca fait vraiment, ou plutot qu'est ce qu'on peut tirer de sa sortie.
Je est un autre.
-
[^]Re: mmmh pas tout compris.
Posté par Matthieu Moy (page perso, ) le 12/04/2005 à 09:40. (lien). Évalué à 3.La sortie de Pinapa, c'est une structure abstraite. En gros, c'est l'arbre abstrait de GCC, décoré avec des infos sur l'architecutre de la plateforme que tu modélise. Bon, si tu n'a jamais fait de compil et/ou jamais fait de SystemC, ça ne va pas t'intéresser beaucoup. Je me suis permis de mettre ça en première page parce que c'est suffisament rare d'avoir des outils open source dans le monde du hardware que ça mérite d'être signalé (pas seulement Pinapa, mais aussi ses futurs copains de greensocs).
Ce que j'en tire moi, c'est une connection a des outils de preuve formelle (LusSy, qui lui n'est pas open-source). On prévoit de faire un outil de lint si on trouve la main d'oeuvre pour le faire.-
[^]Re: mmmh pas tout compris.
Posté par lordcow () le 15/04/2005 à 14:39. (lien). Évalué à 3.Au contraire, ca m'interresse pas mal, justement.
Même en etant plus ou moins plongé dans les problemes systemC, HW/SW codesign, ton poste n'est pas très explicite sur ce à quoi ca sert vraiment pour le gars qui veux faire un peu plus que de la simu avec ces modeles systemC--
Je est un autre.
-

Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.