ac6-training, un département d'Ac6 SAS
FR
FrançaisEnglish
 
go-up

ac6 ac6-training Programmation FPGA

FPGA

Programmation et mise en oeuvre d'électronique programmable


Un microcontrôleur exécute des instructions les unes après les autres. Un FPGA ne fait pas ça : il devient le circuit qu'on lui décrit. Mille traitements peuvent y avancer en même temps, parce qu'ils occupent mille zones de silicium distinctes.

Toute la difficulté de l'apprentissage tient là. On n'écrit pas un programme, on décrit un matériel. VHDL et SystemVerilog ressemblent à des langages de programmation et n'en sont pas : une boucle n'y est pas une répétition dans le temps mais une réplication dans l'espace, et un signal n'est pas une variable. Les débutants qui abordent le VHDL comme du C produisent des circuits qui simulent correctement et ne tiennent pas en timing.

Quand un FPGA se justifie

Trois cas reviennent : le parallélisme réel, quand des dizaines de canaux doivent être traités simultanément ; la latence déterministe, quand une réponse doit tomber en quelques dizaines de nanosecondes, ce qu'aucune interruption logicielle ne garantit ; et les interfaces que le commerce ne propose pas, un protocole propriétaire ou un capteur au format inhabituel.

Hors de ces cas, un microcontrôleur reste plus simple, moins cher et plus rapide à mettre au point. Le FPGA se paie en temps de conception et en consommation.

Décrire, vérifier, intégrer

La conception se fait en VHDL ou en SystemVerilog. SystemC intervient plus haut, pour explorer une architecture avant de figer le RTL.

La vérification pèse souvent plus lourd que la conception elle-même. UVM est la méthodologie standard de l'industrie pour construire des bancs de test réutilisables : un circuit non vérifié n'est pas un circuit terminé.

Enfin la plupart des FPGA actuels embarquent un processeur, soit gravé dans le silicium comme le Cortex-A9 des Zynq et des Cyclone V, soit synthétisé dans la logique comme MicroBlaze, Nios, Mico32 ou un cœur RISC-V. Concevoir pour ces composants, c'est répartir une fonction entre le logiciel et le matériel, et faire dialoguer les deux.

Nos formations

Les bases du langage VHDL (V1) et VHDL avancé pour les FPGA (V2) forment le parcours principal, de la syntaxe à la méthodologie de conception. SystemVerilog (U1) et UVM (U2) couvrent le versant vérification, SystemC (V3) la modélisation de haut niveau, et FPGA Optimization (V4) le travail sur les performances et la surface.

Côté composants, les formations suivent les principaux fondeurs : AMD Zynq (HX5) et MicroBlaze (HX4), Cyclone V Cortex-A9 (ALT1) et Nios (ALT2), Lattice Mico32 (H1) et Diamond (H2), Microchip SmartFusion2 (MSP). Architecture RISC-V (RV1) traite le jeu d'instructions devenu incontournable pour les cœurs synthétisés.

Les travaux pratiques se font sur cartes réelles en présentiel, et à distance sur du matériel accessible à distance ou sur nos outils de simulation. Un problème de timing ne se comprend qu'en le voyant se produire.

Cours disponibles

A practical, end-to-end Nios on Intel FPGA course: from SoC creation in Platform Designer to firmware bring-up, drivers, interrupts, DMA, and RTOS. We add external memory/boot options, a custom Avalon-MM peripheral, and wrap with performance tuning, SignalTap debug, and production checklists.
Ce cours fournit aux participants un aperçu complet de l'architecture RISC-V et de son jeu d'instructions. Ils apprendront les bases du RISC-V, y compris l'assembleur et le simulateur RISC-V, l'écriture et l'exécution de code d'assemblage et la programmation du RISC-V en C. Le cours couvre des sujets tels que la gestion des interruptions et des exceptions, la gestion de la mémoire, le multitraitement et la concurrence, l'optimisation des performances, la conception du matériel et du système et les développements futurs. Une expérience pratique sera fournie par le biais de séances de travaux pratiques ou de démonstrations.
This training is intended to professional who want to use or maintain programmable components