Ah, le VHDL... tout un poème. Ceux qui s'y sont déjà frottés ou qui ont côtoyé son ami Verilog (même combat), savent qu'il rend justice à son nom : Vivid Headache and Dizziness Language. Prise de tête garantie. Et pourtant, il reste le passage quasi-obligé pour tirer parti des FPGA modernes.

 

Vous êtes rebuté par le VHDL, déçu par les outils de conception graphiques, ne désespérez pas. Il y a de l'espoir, puisque je vous présente ici deux outils qui permettent de programmer nos FPGA directement en Python. Pour ceux qui ne connaissent pas encore Python, il s'agit d'un langage de programmation très concis, puissant et expressif*.

 

Le premier outil, certainement le plus abouti, est MyHDL. Vous commencez par écrire une description de votre circuit directement en Python, puis vous la donnez à MyHDL qui se chargera de distiller pour vous le VHDL ou le Verilog. Enfin, le code produit devra être fourni à la chaîne d'outils correspondant à votre FPGA afin d'obtenir les données de configuration que vous pourrez charger sur votre carte.

 

Le deuxième outil, encore balbutiant, est un processeur écrit en MyHDL capable d'exécuter directement du bytecode Python sur un FPGA. Ici votre programme Python est directement interprété par un processeur implanté dans le FPGA. Seule une petite sous-partie du langage est (pour l'instant ?) prise en charge. La page du projet vous présentera une comparaison au moins aussi exhaustive qu'objective avec un AVR.

 

Pour approfondir le Python ou les FPGA, n'oubliez pas que, comme toujours, il y a ce qu'il faut chez Elektor.

 

se dit d'un langage de programmation qui exprime bien la pensée. Par exemple, en Python, on peut vérifier la présence d'un élément dans une liste avec des tests du genre "if element in list: do_stuff()", là ou en C par exemple, il faudrait écrire une fonction ou faire une boucle... C'est très proche de la pensée humaine, concis et agréable.