Forum Programmation.autre Conseil pour débuter avec la programmation de FPGA

Posté par  .
Étiquettes : aucune
3
14
mai
2009
Voilà, étant un programmeur plutôt bas niveau, C et assembleur, j'aimerais descendre encore plus bas et me mettre à la programmation de FPGA. J'ai déjà d'ailleurs brièvement expérimenté une programmation un peu différente en m'essayant à CUDA (sapusaypalibre donc je ne m'y suis pas attardé, j'y jetterais sûrement à nouveau un oeil quand/si on aura un jour une implémentation libre d'OpenCL sur notre manchot) mais bizarrement aussi bien dans mon cursus universitaire que professionnel je n'ai jamais eu l'occasion de m'y mettre.

J'ai donc décidé de combler par moi même cette lacune. C'est pourquoi je sollicite l'éventuelle expérience de membres de linuxfr dans ce domaine pour m'aider à démarrer. Mes connaissances étant proches de zéro, a priori tout conseil, même le plus modeste, sera le bienvenue.

Mais tout de même, je devrais peut-être détailler un peu plus quelles sont les informations qui me font défaut (car oui j'ai déjà fait des recherches par moi-même). Apparemment il y a deux langages majeurs à connaître, le Verilog et le VHDL. Il existe un compilateur/simulateur libre pour chacun d'eux, à savoir respectivement Icarus Verilog et GHDL.

Ma plus grand interrogation est quel matériel acheter. J'aimerais vraiment acheter une carte FPGA avec laquelle je puisse jouer sans avoir besoin de logiciels propriétaires. Une carte donc qui serait compatible avec Icarus Verilog ou GHDL. Les deux serait un plus afin de pouvoir appréhender les deux langages. Bien sûr, je n'aurais pas besoin non plus de logiciels propriétaires pour ensuite charger le programme compilé sur la carte. Une telle carte existe-t-elle ?

Une seconde interrogation est comment débuter. Je me suis procurer le livre "Circuit Design with VHDL" de Volnei A. Pedroni. Il me semble pas mal. Peut-être y a-t-il des sites en ligne pour débuter en VHDL ou en Verilog ? Dans mes recherches je suis surtout tombé sur des sites s'adressant à des gens déjà d'un certain niveau.

Voilà, merci d'avance pour vos réponses.
  • # Une boutique

    Posté par  . Évalué à 3.

    Je n'ai pas d'expérience pour parler des outils et langages, mais pour ce qui est du matériel, tu trouveras des cartes abordables ici : http://www.knjn.com
    Et un site sympa : http://www.fpga4fun.com
  • # Armadeus

    Posté par  (site web personnel) . Évalué à 5.

    Salut,

    Je pense que tu peux trouver autant de bonheur que moi j'en qi trouvé dans cette association: http://www.armadeus.com/wiki/index.php?title=Main_Page
    La carte de développement et les outils de developement y sont libres au maximum (il y a néanmoins quelques ombres au tableau du au fait que les outils de Xilinx pour FPGA sont propriétaires)
    Tu peux venir sur IRC #armadeus (serveur freenode) pour poser de plus amples détails.

    Ciao et bon courage dans l'aventure !
  • # Profil

    Posté par  . Évalué à 4.

    Bonjour, Xilinx propose le ise webpack qui est 100% proprio mais compatible linux y compris les outils de programmations jtag.

    Niveau langage le Verilog est d'usage plutot americain, le VHDL plutot europeens.
    Dans les 2 cas ce ne sont pas des langage pour concevoir des logiques (ou je sait c'est bizarre) mais des langage de simulation analogique.

    Par utilisation d'une petite partie des instructions on peut concevoir des logiques sur fpga. Mais plein d'instructions VHDL ne seront pas comprise pour concevoir un fpga (surtout les directives de timing).

    Un site bien pour commencer avec des cours (rechercher vhdl)
    http://pagesperso-orange.fr/xcotton/electron/coursetdocs.htm

    Un site ou piocher des idées et des exemples
    http://www.opencores.org/

    Un livre dont l'auteur est sympa et que je croise de temps en temps
    (bien que le contenu soit assez bateau les connaissance de bases des methodes est importante)
    http://www.eyrolles.com/Informatique/Livre/vhdl-methodologie(...)

    A savoir, je ne pense pas qu'il existe de solution non-proprio pour fitter du vhdl dans un composant. Le bitstream des fpga etant 100% proprio.
  • # System C ?

    Posté par  (site web personnel) . Évalué à 3.

    Il n'y a pas que le system C et le verilog, il y a aussi le SystemC, qui te permet de faire en C++ ce qui se fait en vhdl par exemple. J'en ai fait un peu pendant mes études. Comme tu es déjà développeur C, ça mériterait peut être un peu de creuser.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.