IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Découvrir le langage Lucid avec une carte de développement FPGA d'Alchitry
Un tutoriel de f-leb

Le , par f-leb

53PARTAGES

20  0 


Je vous propose un nouvel article dans lequel on découvre le langage Lucid (une surcouche du langage Verilog) pour apprendre à programmer sur une carte de développement FPGA d'Alchitry :



Le but de ce tutoriel est de s’initier au développement sur FPGA en langage Lucid (un langage dérivé du langage Verilog) avec une carte FPGA d’Alchitry. Ce tutoriel suppose que vous ayez un peu d’expérience en programmation de microcontrôleurs (sur Arduino par exemple), et en électronique numérique en général (logique combinatoire et séquentielle).
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
module product (
    input a,
    input b,
    input c,
    output out
  ) {

  always {
    out = a & (b | c); // a AND (b OR C)
  }
}
Code d'un module en langage Lucid

Bonne lecture

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de naute
Rédacteur https://www.developpez.com
Le 06/12/2020 à 12:21
Bonjour Fabien .

Merci pour cet excellent tutoriel qui me fait découvrir un domaine dans lequel je n'avais pas encore osé mettre le nez .

Citation Envoyé par Tutoriel

La plateforme est jeune, les choses évolueront peut-être, mais les FPGA peinent encore à séduire le milieu des hobbyistes et des makers.
Tu fais allusion au coût dans ta conclusion : c'est à l'évidence un facteur déterminant.

De plus, les différents microcontrôleurs que l'on trouve dans le commerce, déjà câblés sur des mini cartes à bas prix, comblent la grande majorité des "makers". Si la réalisation nécessite quelques portes logiques supplémentaires, il est facile de les ajouter au montage sans grever le budget.

Je verrais plutôt les FPGA destinés à des montages très élaborés, voire à tester différentes configurations lors de l'élaboration de microcontrôleurs spécialisés, et donc, à priori, réservés aux professionnels. Cela dit, il n'y a pas si longtemps, on n'aurait pas non plus parié sur l'utilisation des microcontrôleurs par les hobbyistes. Il pourrait d'ailleurs être intéressant, et formateur, de simuler une carte Arduino UNO (par exemple), pour démontrer les possibilités de cette architecture.

J'ai bien aimé l'astuce pour transformer un signal "en dents de scie" en un signal triangulaire : simple et de bon goût.

Amicalement,
Hervé
1  0 
Avatar de Vincent PETIT
Modérateur https://www.developpez.com
Le 06/12/2020 à 15:50

Excellent tutoriel en effet !

Le FPGA peut aussi faire un bon coprocesseur pour un Arduino. Ce dernier peut lui déléguer des tâches chronographes.

Une telle configuration dans un projet comme celui-ci https://create.arduino.cc/projecthub...nalyzer-ca2926 augmenterait énormément les performances de cet analyseur de spectres.

Aujourd'hui on trouve beaucoup de bloc fonctionnel tout fait (déjà synthétisés en VHDL ou Verilog et peut-être en Lucid) et qu'on a plus qu'à importer.

A+
1  0 
Avatar de f-leb
Responsable Arduino et Systèmes Embarqués https://www.developpez.com
Le 06/12/2020 à 14:11
Hello Hervé

Citation Envoyé par naute Voir le message
Je verrais plutôt les FPGA destinés à des montages très élaborés, voire à tester différentes configurations lors de l'élaboration de microcontrôleurs spécialisés, et donc, à priori, réservés aux professionnels.
Ou alors on le réserve pour des traitements en parallèle sur de nombreuses entrées-sorties, comme dans cette sculpture animée avec 18 servomoteurs :


Voir Painless FPGA Programming - The Alchitry Au kit can simplify projects that need a lot of input/output

0  0