Nouveau joujou: La plateforme FPGA papilio 250K


J'ai enfin reçu ma platine d'essai Papilio 250K commandé chez GadgetFactory, même si j'ai pas toujours le temps j'ai quand même envie de jeter un petit coup à cette platine.
Le site papilio.cc prend comme modèle le site arduino.cc ce qui rend l’accessibilité facilitée mais
manque a mon goût des exemples et librairies en rab. Ceci dit je doute qu'il y ai une communauté aussi grande que arduino sous FPGA ;) .

En terme de spécification pour faire en gros cette carte comporte:
(Je vous invite à visiter le récapitulatif du site en question et de jeter un coup d'oeil au datasheet du core Spartan XC3S250E si vous vous en sentez l'envie)

  • 48 E/S alimentées en 1.2, 2.5, 3.3V au choix suivant la sélection d'un jumper.
  • Des rails d'alimentions avec les mêmes tensions et un 5V additionnel
  • Un port USB connecté sur un FTDI à deux voies pouvant faire à la fois du JTAG et une connection serie
  • Le core principal est un Spartan 3E 250K (XC3S250E)
  • Une horloge cadencée à 32MHz pour générer des multiples de cette horloge dans le chip
  • Des ports SPI
  • Design complètement open-source
Bon et on peut faire quoi avec ce machin?
- Ben je serais vous, si vous connaissez vraiment pas, j'irai sur wikipedia pour comprendre l'idée globale de la bête (je suis trop flemmard pour réexpliquer ce qui est l'est déjà bien, en faisant surement des flopées d'erreurs).
- Une caractéristique sympa, qui démontre la puissance des FPGA, c'est que l'on peu programmer ce que l'on appelle un Soft core, c'est un processeur (ou microcontroleur) que l'on "émule" à base de portes logique. Vous pouvez regarder le tuto... 
Donc cela permet finalement d'enlever les caractéristiques du microcontroleur en trop, ou même d'en rajouter, rajouter des timers, E/S PWM, UART, etc... Donc de configurer son microcontroleur comme on l'entend.
Ils ont récupéré l'IDE Arduino pour envoyer du code C avec les pas mal d'exemples d'arduino dans le soft-core .
Ceci dit toutes les modifications seront faite en VHDL, qui est un langage approprié au matos en question.

Bon et sinon cela ouvre quel genre de porte de maîtriser ce matos?
Simplement d'être libre de gérer son électronique numérique à la vitesse des portes internes et donc permet de faire des traitements à base de porte logique très rapidement. Ce matos, par exemple comme les soft-core, permet une flexibilité qui n'y a absolument pas sur les microcontroleurs comme les ajouts de features, E/S, etc...


En terme de développement, il faut savoir que ce matos est en pleine expansion dans le domaine du traitement de l'image qui permet des parallélisations, prétraitements, opérations qui nécessiteraient des périphériques trop puissant ou gros pour des applications embarquées.
La structure même du matos permet aussi toute sorte de parallélisation sympa qui peuvent être profitable notamment en IA par exemple vis-à-vis des traitements à base de réseaux de neurones.
Je pense que vous verrez de plus en plus de projets en vision+FGPA comme celui ci sur ce forum
concernant des applis embarquées et pré-traitement vision par la suite.
Tiens...c'est fou... j'ai reçu une caméra OV7670 en même temps... :p


Commentaires

Posts les plus consultés de ce blog

L'art de la récup

[Tuto] : ISP d'un atmega 644 avec un UNO

Huxley Techzone: la fin et l'enterrement du projet...