les FPGA et Arduino

Bonjour,

Pour du pilotage d'une machine cnc, j'ai acheté une carte qui comprend un FPGA "xilinx spartan".

D'après mes recherches, sur les FPGA :

Un circuit logique programmable, ou réseau logique programmable, est un circuit intégré logique qui peut être reprogrammé après sa fabrication

Mais l'Arduino est bien un circuit intégré programmable, alors c'est quoi la différence avec un FPGA ???

Merci

Pierre

Un arduino micro-contrôleur s'utilise en lui injectant un programme.

Un FPGA c'est totalement différent. Un FPGA c'est de l'électronique pure.
Le plus souvant c'est de l'électronique numérique, il en existe (cher) où on peut aussi faire de l'électronique analogique.

Ce n'est pas parce que les langages de description ont une syntaxe proche de celles des langage de programmation qu'ils traitent de la même chose.

Un FPGA est constitué des centaines de milliers d'éléments logiques élémentaires, la pseudo programmation consiste à établir des liaisons physiques entre ces différents éléments logiques élémentaires pour faire ce que l'on souhaite : porte OU, ET, OU exclusif, registre à décalage, compteur, mémoire, interfaces UART, I2C, SPI etc.....

Dans un FPGA des centaines de portes peuvent basculer simultanément en 1 seul cycle d'horloge car c'est de l'électronique. Avec un micro-contrôleur il faudrait des centaines des cycles horloges.

Dans un FPGA il faut aussi "placer" et "router" à l'intérieur de la puce, donc si tu n'as pas une bonne expérience en circuit imprimé "rapides" c'est à dire dans lesquels circulent des signaux à 100 MHz, 200 MHz, 400 MHz tu ne sera capable de faire que des choses basiques car il faut maîtriser les temps de propagation du signal sur la puce et les temps de traversée des éléments logiques élémentaires.
Avec un FPGA il faut commencer par apprendre l'électronique.

Bonsoir,

Merci pour vos explications. Je comprends à présent. :slight_smile:

Je pilote mes machines avec Linuxcnc.
J'ai acheté ici une carte FPGA commandée par le port // .
J'ai vraiment une grande souplesse dans mes mouvements et sans perte de pas comparé à une commande directe par le port //.

Je suis tombé sur une vidéo sur youtube qui utilise un arduino et linuxcnc.

Un script en python fait la liaison entre l'arduino (port série usb) et linuxcnc.

Pour mon application, que vaut l'Arduino comparé à une à une carte FPGA comme j'ai acheté ?

Ca vaut ce que le gus qui a fait le programme ou la conception vaut.

A noté que les FPGA ne sont pas trop destiné aux grand public, des bases solides en électronique sont nécessaires.

Merci pour votre question. Un FPGA est différent des µC, c'est un circuit qui permet de générer un circuit MATÉRIEL (ASIC) à partir d'un programme VHDL. Il existe deux grands constructeur FPGA : Xilinx et Altera. Vous trouverai dans ce lien exemples des projets à base du FPGA et Arduino: voir le lien FPGA & ARDUINO. Vous pouvez également accéder dans la rubrique formation à des cours d'initiation au langage VHDL et FPGA. :slight_smile: :slight_smile: :slight_smile:

SystemC est plus de la simulation "haut niveau" que de la programmation "bas niveau"

déterrage 'promotionnel' ??

ABEL est , de fait, limité à des petits intégrés précurseurs des CPLD : les PAL et les GAL
(il n'offre pas la modularité indispensable pour développer des systèmes relativement complexes)

AHDL aussi si mes souvenirs sont bons

.....restent pratiquement deux langages deréférence : VHDL et Verilog, pour développer ds solutions à base de CPLD et FPGA, voire ASICS.

(CPLD, FPGA et ASICS ont une 'parenté', des similitudes , mais sont bien différenciés)

Oui mais.... c'est un ou une FPGA ? .... :grin: >>> []

Tout dépend du F de FPGA, est-il l'initiale de Féminin ?

J'adore ce Forum.... :smiley:

Cette forum !