Arduino propose une carte architecturée autour d’un FPGA

Extrait d'un article de l'Embarqué :

Un mois après avoir annoncé les cartes de connectivité radio pour applications IoT (Arduino MKR NB 1500 et MKR WiFi 1010), Arduino a dévoilé lors de la Maker Faire Bay Area (qui se tenait à San Francisco du 18 au 20 mai) deux nouvelles cartes : l'Arduino Uno WiFi Rev 2 et la MKR Vidor 4000.
Cette dernière est une innovation dans l’écosystème Arduino puisque cette plate-forme architecturée autour d’un processeur principal, le microcontrôleur 32 bits SAM D21 de Microchip (avec un cœur Cortex-M0+ cadencé à 48 MHz), est flanquée pour la première fois d’un FPGA, le Cyclone 10 d’Intel (d'origine Altera). Sur la carte on trouve également un module pour les communications radio Wi-Fi et Bluetooth LE, le circuit NINA-W102 d'u-blox, et un coprocesseur de chiffrement, l’ATECC508A de Microchip, qui fournit une sécurité matérielle et un moyen de stockage des clés pour sécuriser les connexions vers le cloud.
Sur la carte MKR Vidor 4000, chaque broche du FPGA peut être configurée, à une fréquence de 150 MHz, pour des interfaces UART, SPI, I2C… et pour des fonctions PWM, de codage, de conversion N/A sigma-delta, etc. A noter aussi la présence d'un connecteur Micro-HDMI et une interface Mipi pour la connexion de caméras.
Pour cette plate-forme d’une dimension rectangulaire de 61,5 x 25 mm, Arduino devrait distribuer prochainement des bibliothèques logicielles qui contiennent un flux binaire pour FPGA, précompilé, qui pourra être téléchargé sur le FPGA en même temps que le code du microcontrôleur. A terme, la communauté Arduino prévoit de mettre à disposition des concepteurs un environnement de développement qui permettra de créer des applications sur le FPGA en utilisant un langage reposant sur la manipulation de blocs visuels. De ce fait la programmation en Verilog ou VHDL du FPGA sera cachée pour les programmeurs novices. Et pour ceux qui sont rompus aux arcanes du FPGA, les chaînes d'outils Altera/Intel seront utilisables.
Avec la carte MKR Vidor 4000, disponible à la fin du mois de juin, Arduino ouvre ainsi le champ des utilisateurs potentiels de FPGA et souhaite populariser la mise en œuvre de ce type de circuit programmable.

En septembre chez Ali... :grinning:

Merci lesept pour l'info

le module Nina-W102 d'u-blox habille un ESP32..... ça fait du monde sur la carte

J'avais vu et je reste septique.
Pour commencer ce ne serait pas la première annonce fracassante d'Arduino qui ne sera suivi d'aucun réalisation.
Souvenez vous de la "Tre".

Ensuite ils y en a qui vont être déçus : un FPGA c'est de la pure électronique numérique et même pour certains modèles de l'électronique analogique.

Un FPGA ne se programme pas mais se configure. Le langage de configuration (Verilog ou VHDL) à des points communs avec ceux utilisés dans la vraie programmation mais la ressemblance s’arrête là.

Un FPGA c'est un ensemble d "éléments logiques" qui sont agencés pour former des fonctions électroniques.
A l’allumage les "éléments logiques" ne sont pas reliés entre eux, puis les connections s'établissent pour former le composant final.
Les connections sont enregistrées dans une Eeprom, externe pour les FPGA, interne pour les CPLD.
La "programmation" consiste uniquement à définir les connections électriques.

Là où il va y avoir de la confusion c'est qu'avec un FPGA il est possible de concevoir un microcontrôleur qui lui pourra être programmé, mais c'est d'un niveau très élevé qui je pense dépasse celui des utilisateurs d'Arduino, en tout cas il dépasse largement le mien.
Il existe des modèles de FPGA à plusieurs milliers d'euros le boîtier qui servent pour le maquettage de microcontrôleur.

A priori je ne vois pas l'utilité du micro SAMD21 associé avec le FPGA qui est autonome : exemple l'analyseur logique Saleae est basé sur un FPGA.

Je vais suivre l'affaire mais ma première impression est que cela ressemble à une arnaque avec un produit vendu une fortune alors que l'on peut trouver des CPLD à partir de 6€ et des FPGA à partir de 16€, plus 3€ pour le programmeur (et encore je ne suis pas certain qu'un USBasp pour arduino ne convient pas).

Je dirais si vous êtes intéressés ou curieux faîtes vous la main avec Cyclone 2 ou 4 a ces prix "abordables" avant de lâcher 60 € comme j'ai pu lire pour cette nouvelle carte.

Pour moi, l'intérêt réside dans l'annonce de la fin : un langage e configuration par blocs visuels (j'imagine genre scratch). Je n'ai jamais pu accrocher au VHDL, donc j'ai un nouvel espoir ici.
La carte, FPGA + µC, permettra de faire plusieurs choses en parallèle, de faire du traitement d'image, etc. (j'imagine)

Pour moi ce n'est plus l'esprit Arduino : les utilisateurs ne vont plus "faire" car ce sera trop compliqué pour eux.
La "clientèle Arduino" va se transformer en consommateurs, il est vrai que cela a déjà bien commencé hélas.
On ne réfléchi plus, on ne cherche plus à comprendre : IL FAUT UNE BIBLIOTHÈQUE !

Je n'ai jamais pu accrocher au VHDL,

Perso je n'ai "essayé par curiosité" que le Verilog et ce n'est pas Verilog qui m'a causé le plus de soucis.
Ce qui m'a freiné c'est que je suis un pur analogicien et que mes connaissances en numérique n'étaient pas suffisantes pour développer des équations d'électroniques numériques et ça c'est un vrai métier.

C'est pour cela que je dis qu'il va y avoir de la déception quand les pieds retoucheront le sol.
Copier les équations des autres en n'étant pas capable de les comprendre n'est vraiment pas enthousiasmant.

Il n'y a pas que les équations, il y a les choix à faire dans l'implantation des éléments logiques à l'intérieur de la puce avec le respect des règles pour éviter la diaphonie et l'équilibrage des temps de propagation à l'intérieur de la puce, c'est aussi cela développer un FPGA, il ne suffit pas d'aligner des lignes de "simili" code.
Cette "connaissance" ne s'apprend pas dans les livres mais uniquement sur le tas.
Si on ne fait pas attention un circuit prévu pour fonctionner avec une horloge de 100 MHz ne pourra pas fonctionner à plus de 1 MHz.

un langage de configuration par blocs visuels (j'imagine genre scratch). Je n'ai jamais pu accrocher au VHDL, donc j'ai un nouvel espoir ici.

il se peut aussi que ce soit sous forme de primitives : ALU, additionneurs, compteurs, registres , décalage; mémoire...
ça existait déjà il y a une dizaine d'années chez Altera.......l'outil ressemblant plus à un éditeur de schémas qu'à un système de blocs genre scratch.
L'outil graphique Altera était avant tout destiné à concevoir des CPLD ou FPGA comme des assemblages de circuits TTL avec possibilité d'inclure sous forme graphique des primitives de niveau d'abstraction supérieur.
C'était présenté comme une alternative à la saisie de texte VHDL

Aujourd'hui il y a des choses orientées 'FPGA pour maker' comme l'IDE pour Papillo
ça 'promet' d'éviter l'investissement dans VHDL, Verilog..... et l'investissement dans le placement routage (évoqué dans le message de 68tjs).... ça 'promet' peut être un peu trop !!

Je ne voudrais pas que l'on se méprenne sur le sens de mes propos : les quelques mois que j'ai passé avec un cyclone II Altera et le logiciel Quartus fourni par Altera m'ont laissé un très bon souvenir et je ne peux qu'inciter ceux qui seraient tentés d'essayer par eux même.

Quartus permet effectivement de définir graphiquement des blocs fonctionnels et en faisant cela cela on travaille comme on le faisait avant : c'est à dire à la mimine. Mais on se limite vite à des choses simples.

Pour aller plus loin même, sans aller jusqu'à faire un analyseur logique, il faut passer à l'étape supérieure. Que ce soit avec verilog/vhdl ou avec scratch AMHA cela ne changera pas grand chose.
Je rappelle qu'Ardublock c'est du Scratch et qu'Ardublock n'est pas en odeur de sainteté sur ce forum, pourquoi en serait-il autrement avec une version FGPA de scratch?
Scratch dispense d'aprendre la syntaxe mais ne fait pas un travail optimisé.

Mes propos étaient surtout pour ne pas se laisser berner par les sirènes commerciales qui vont tenter de faire croire que "programmer" un FPGA/CPLD est aussi simple que d'utiliser l'IDE arduino.
Et je perssiste et signe : sans attendre cette carte qui sortira peut-être il y existe actuellement des solutions bon marché : Cyclone II et IV et croyez moi avec ces deux références il y a du grain à moudre.

Bonjour,

Je suis entièrement d'accord avec les propos de 68tjs, Arduino base son commerce sur l'électronique accessible pour tous, mais il y a un moment où sa grince.

Le virage raté du passage d'une architecture 8 bits à 32 bits aurait dû calmer leurs ardeurs. Les microcontrôleurs deviennent de plus en plus complexes car de plus en plus sollicités dans les applications.

Optimisation de la consommation, des boîtiers, de la fréquence d'horloge et j'en passe font que le modèle Arduino a de plus en plus de mal à suivre la tendance.

en terminant mon message par 'en promet un peu trop' je faisais part d'une réaction similaire à celles de 68tjs et Standby.......

En relisant plus attentivement le message initial de lesept je vois 2 temps dans l'offre

Arduino devrait distribuer prochainement des bibliothèques logicielles qui contiennent un flux binaire pour FPGA, précompilé, qui pourra être téléchargé sur le FPGA en même temps que le code du microcontrôleur

Au départ quelques configurations préprogrammées et précompilées
peut être : controleur écran HDMI, qq jeux vidéos simples (casse brique...tetris ....) + peut être également un peu d'audio. A ce niveau d'utilisation le FPGA serait un périphérique avec plusieurs fonctionnalités prédéfines.

Certains développeurs FPGA aguerris et motivés proposeront peut être des configurations supplémentaires que les utlisateurs exploiteront comme les librairies aujourd'hui.

A terme, la communauté Arduino prévoit de mettre à disposition des concepteurs un environnement de développement qui permettra de créer des applications sur le FPGA en utilisant un langage reposant sur la manipulation de blocs visuels. De ce fait la programmation en Verilog ou VHDL du FPGA sera cachée pour les programmeurs novices. Et pour ceux qui sont rompus aux arcanes du FPGA, les chaînes d'outils Altera/Intel seront utilisables.

Ensuite : promesse d'un outil graphique de développement en complément de Quartus (l'outil Altera/Intel).
'en complément ' parce qu'il est difficile d'imaginer une bonne chaîne de développement (synthèse, placement, routage...) autre que Quartus (Altera/Intel)

Certains développeurs FPGA aguerris et motivés proposeront peut être des configurations supplémentaires que les utlisateurs exploiteront comme les librairies aujourd'hui.

On se base encore sur l'effort communautaire, mais les FPGA/CPLD sont peu répandus dans les milieux maker-hobbystes même s'il y a des initiatives par ci par la.

Ensuite : promesse d'un outil graphique de développement en complément de Quartus (l'outil Altera/Intel).
'en complément ' parce qu'il est difficile d'imaginer une bonne chaîne de développement (synthèse, placement, routage...) autre que Quartus (Altera/Intel)

Pourquoi réinventer la roue ?

-Standby:
Pourquoi réinventer la roue ?

Je vais être dur : pour faire du pèze.
Arduino est une entreprise tout ce qu'il y a de capitaliste, ils leur faut gagner de l'argent.
Avec la série de cartes avr ils n'en gagnent plus, on trouve les mêmes produits 10 fois moins cher ailleurs.
Actuellement c'est la série basée sur le SAMD21 qui commence à être touchée. Cela à pris du temps (disponibilité bridée des micros pour la concurrence ?) mais on constate une accélération, on trouve des clones de Zero 4 à 5 fois moins chers et probablement que cela va encore baisser.
Pour gagner de l'argent rien de tel que de lancer de nouvelles cartes bien complexes ou des annonces tonitruantes pour attirer le débutant ou l'amateur.
Et encore quand les annonces tonitruantes sont réellement suivies d'effets, ce n'est pas gagné qu'on voit cette carte un jour.