Developpez.com - Systèmes embarqués

Le Club des Développeurs et IT Pro

FPGA : tutoriel pour s'initier au langage Verilog, programmation d'un pilote pour le capteur de température Si7021

Un tutoriel de f-leb

Le 2021-09-18 11:14:38, par f-leb, Responsable Arduino et Systèmes Embarqués


Je vous propose un nouveau tutoriel FPGA :

FPGA : tutoriel pour s’initier au langage Verilog
Programmation d’un pilote pour le capteur de température Si7021



Carte FPGA Alchitry Au et capteur de température et d'humidité Silicon Labs Si7021
La carte de développement utilisée dans ce tutoriel est une carte FPGA Alchitry Au que je vous avais déjà présentée dans un tutoriel précédent. Un module avec un capteur de température et d’humidité Si7021 (Silicon Labs) est connecté à la carte.

Après avoir fait vos premiers pas avec Verilog, vous allez apprendre à programmer un pilote qui va gérer le dialogue I2C avec le module pour acquérir la température ambiante à intervalles réguliers. Dans cette démonstration, la valeur de la température sera retournée via le câble USB pour affichage dans un terminal série.
Bonne lecture
  Discussion forum
3 commentaires
  • f-leb
    Responsable Arduino et Systèmes Embarqués
    Hello Hervé

    Envoyé par naute
    Débutant en Verilog je suppose, car pour ma part, je crains qu'un débutant en programmation générale ait du mal à cerner les concepts de ce type de programmation. Personnellement, je ne suis pas très à l'aise avec, et comme le coût, même pour la version Cu, n'est pas négligeable, j'hésite à me lancer .
    Débuter sur FPGA en général n'est pas la même chose que de débuter sur Arduino, ne rêvons pas
    Si la programmation classique dans un langage textuel peut être engagée dès l'entrée au lycée, les FPGA restent du niveau de l'enseignement supérieur dans les formations spécialisées, et à raison à mon avis...

    La plateforme Alchitry est, à ma connaissance, ce qui reste le plus proche d'une plateforme pour débuter. Je n'ai pas trouvé plus simple pour démarrer dans ce domaine, mais débuter sur FPGA quand on n'a pas au moins quelques connaissances en programmation procédurale n'est pas la meilleure façon de débuter En plus dans les tutos ça semble toujours couler de source et tout parait évident, mais je promets quelques galères aux utilisateurs débutants... Ils pourront alors ouvrir des discussions sur Developpez

    Je comprends donc qu'il soit difficile de franchir le pas (en plus du prix qui n'arrange pas les choses). D'autant plus qu'un microcontrôleur sera tout aussi efficace pour de nombreuses applications sans avoir les inconvénients des FPGA.
    Il y a des cartes moins chères, mais tu te retrouves à les programmer dans les environnements pro de Xilinx (Vivado) ou Intel (Quartus Prime) sans beaucoup de ressources pour débuter, sinon quelques sites universitaires américains (où Verilog est plus populaire qu'en Europe). Il y a peut-être d'autres plateformes intéressantes, je ne les connais pas toutes.

    J'aimerais bien (plus tard, quand je trouverai un moment, un jour...) toucher à des applications liées au traitement d'images ou de vidéos où l'utilisation d'un FPGA sera cette fois pleinement justifiée (piloter les signaux d'un port VGA est abordable par exemple, j'y pense sérieusement).

    Bref, j'avance à petit pas, je n'ai pas une très grande expérience des FPGA non plus et j'en ai passé du temps même pour faire des petites applications débiles comme des blinks ou des compteurs... Mais j'aime bien, ça change, tu peux voir ces tutoriels comme un carnet de bord de ma progression dans le domaine
  • naute
    Rédacteur
    Bonjour Fabien .

    Une suite logique, et tout aussi intéressante, à ton tutoriel précédent sur le même sujet.

    L’EDI Alchitry Labs vient en renfort du débutant en complément de la suite Vivado de Xilinx qui supporte gratuitement la puce FPGA Xilinx Artix-7 de la carte Alchitry.
    Débutant en Verilog je suppose, car pour ma part, je crains qu'un débutant en programmation générale ait du mal à cerner les concepts de ce type de programmation. Personnellement, je ne suis pas très à l'aise avec, et comme le coût, même pour la version Cu, n'est pas négligeable, j'hésite à me lancer .

    Sinon, pour info, les deux liens que tu donnes dans ton précédent tutoriel, au début du Chapitre II, semblent obsolètes :


    Amicalement,
    Hervé
  • f-leb
    Responsable Arduino et Systèmes Embarqués
    Envoyé par naute
    Sinon, pour info, les deux liens que tu donnes dans ton précédent tutoriel, au début du Chapitre II, semblent obsolètes :
    Et d'autres encore, ça m'apprendra à mettre des liens vers leur site... le tutoriel a été mis à jour avec les liens corrigés, merci du signalement