Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> VHDL

Une introduction aux FPGA et à la logique programmable

Cette vidéo est une présentation d'introduction sur les FPGA et la technologie logique programmable. J'ai prononcé cette conférence de 45 minutes lors d'un événement organisé par 7 Peaks Software à Bangkok, en Thaïlande, le 19 novembre 2019.

Les faits saillants de la présentation incluent :

Qui utilise les FPGA ?

Il existe un large éventail d'applications pour la technologie FPGA. Des produits allant des satellites dans l'espace aux robots commerciaux de Wall Street utilisent une logique programmable. Voici quelques industries connues pour être de gros utilisateurs de FPGA.

Défense

L'industrie de la défense est en excellente position pour bénéficier des implémentations FPGA personnalisées. Ils ont beaucoup d'argent et des exigences élevées en matière de qualité. Les listes de spécifications de leurs produits sont souvent extrêmes car l'équipement de qualité militaire est un niveau d'ingénierie fiable bien au-dessus des qualités grand public et industrielle. Leurs budgets sont toujours élevés et parfois pratiquement illimités, provenant d'une source stable comme le soutien du gouvernement.

Toutes ces raisons expliquent pourquoi les FPGA sont beaucoup utilisés pour les applications de défense. Non seulement pour les armes, mais aussi pour des choses comme les appareils de communication radio et les équipements de test. J'ai travaillé dans l'industrie. Vous pouvez en savoir plus sur mon expérience en tant qu'ingénieur FPGA dans l'industrie de la défense ici.

Espace

Les FPGA sont largement utilisés dans l'industrie spatiale. Il existe de nombreuses raisons pour lesquelles ils conviennent parfaitement aux satellites. Ils sont intrinsèquement à faible consommation d'énergie, ils peuvent être rendus résistants aux radiations et il est plus facile de vérifier l'exactitude d'un FPGA que le logiciel exécuté sur un processeur ou un microcontrôleur.

De nombreuses conceptions électroniques dans l'espace sont destinées à des choses comme le contrôle d'interface, la lecture de données de capteurs, le traitement du signal ou les systèmes de contrôle, des tâches qui conviennent bien à un FPGA. De plus, les applications spatiales sont souvent soumises aux mêmes exigences de fiabilité qui sont standard dans l'industrie aérospatiale.

Aéronautique

L'industrie aérospatiale aime les FPGA pour plusieurs des mêmes raisons que l'industrie spatiale, mais surtout, parce qu'il est plus facile de vérifier l'exactitude d'un FPGA que d'un logiciel.

Prouver qu'un programme informatique n'a pas de conséquences involontaires est difficile et prend du temps. Les normes internationales relatives aux systèmes embarqués exigent que l'électronique utilisée dans les aéronefs respecte des exigences de vérification strictes.

Alors que les logiciels doivent respecter la norme aéronautique DO-178C, les FPGA relèvent du guide d'assurance de conception DO-254 pour le matériel électronique embarqué. Dans la plupart des cas, il est plus facile et moins coûteux de satisfaire aux exigences de la norme matérielle que d'implémenter un logiciel correspondant.

Automobile

Les constructeurs automobiles utilisent des FPGA pour des choses comme le contrôle moteur des moteurs diesel dans les camions, ainsi que pour les systèmes de conduite automatisés. Vous pouvez même trouver des systèmes de communication et de divertissement accélérés FPGA dans les voitures modernes.

De plus, les véhicules électriques et hybrides sont susceptibles d'utiliser des FPGA pour les tâches de contrôle moteur. Les moteurs à induction triphasés nécessitent un contrôle strict de la synchronisation des champs magnétiques lorsque le moteur tourne. Toute imprécision se traduira par une perte d'efficacité énergétique.

Télécom

L'infrastructure de télécommunication utilise beaucoup de technologie FPGA. Comme déjà mentionné, les FPGA sont standard dans les applications spatiales comme les satellites de communication. Les autres utilisations des FPGA dans l'industrie des télécommunications incluent les routeurs de réseau et les stations de base sans fil.

Pour les équipements de télécommunications grand public comme les téléphones mobiles, les FPGA ne sont pas si courants. Vous êtes plus susceptible de voir un ASIC qu'un FPGA pour une solution personnalisée dans un téléphone mobile. Même si le coût initial de production d'ASIC est beaucoup plus élevé qu'un FPGA, ils restent économiques en raison des volumes de vente élevés de téléphones mobiles.

Centres de données

Les quatre grandes entreprises technologiques développent des solutions FPGA personnalisées à utiliser dans leurs centres de données. Les FPGA sont essentiels pour qu'ils puissent gérer des volumes de données aussi importants avec une latence aussi faible.

Il est difficile de trouver des détails sur le type de problèmes qu'ils résolvent avec les FPGA. Pourtant, à en juger par des preuves circonstancielles telles que les listes d'emplois, il devient évident qu'ils dépendent fortement des FPGA. Des services comme Amazon AWS, Microsoft Azure, Google et Facebook sont tous rendus possibles en partie par les FPGA.

Trading à haute fréquence

Le trading algorithmique à haute fréquence sur le marché boursier (HFT) consiste à calculer les chiffres plus rapidement que la concurrence. Les entreprises qui se livrent à ces activités font tout ce qui est en leur pouvoir pour réduire la latence de leurs pipelines de traitement.

Leurs serveurs se trouvent physiquement à proximité de la bourse et ils investissent dans le matériel informatique le plus rapide que l'argent puisse acheter. Lorsque la concurrence utilise des CPU et des GPU, vous vous tournez vers les FPGA. Ensuite, ils peuvent exécuter l'analyse statistique sur les données de marché entrantes un peu plus rapidement et gagner plus d'argent.

Exploration de crypto-monnaie

Les FPGA ont connu une renaissance au sein de la communauté informatique grand public au cours des dernières années. En raison du battage médiatique Bitcoin, de nombreuses personnes ordinaires ont maintenant entendu parler des FPGA.

L'économie de l'extraction de crypto-monnaie consiste à gérer la facture d'électricité. La pièce doit valoir plus que ce que vous avez payé pour l'électricité pour l'extraire pour qu'elle soit rentable.

Une solution FPGA personnalisée est généralement plus économe en énergie qu'un algorithme exécuté sur un CPU ou même un GPU. De nombreuses cartes de minage FPGA financées par crowdfunding ont fait leur apparition au cours des dernières années.

Exemples de produits contenant des FPGA

Les FPGA ne sont pas si courants dans l'électronique grand public. Pourtant, il en existe de nombreux exemples. Voici quelques produits dont vous avez peut-être entendu parler et qui contiennent des FPGA.

HTC Vive

Ce casque VR utilise trois FPGA Lattice, comme nous pouvons le voir dans ce démontage. On ne sait pas quel est le but des FPGA dans cette conception.

Cependant, ce sont des appareils de capacité relativement faible, donc une bonne supposition est que c'est pour contrôler une interface ou lire un capteur, plutôt que pour le traitement d'image.

Google Waymo

La voiture autonome de Google fonctionne sur la technologie FPGA. Le projet est encore en phase de développement et les FPGA sont parfaits pour le prototypage.

L'article référencé indique qu'ils utilisent des FPGA pour le "traitement des capteurs", qui peuvent être les systèmes LiDAR dont dispose la voiture.

iPhone 7

Il est rare de trouver un FPGA dans un téléphone mobile. Un ASIC est généralement plus économique en raison des grandes quantités de production de combinés mobiles. Malgré cela, l'iPhone 7 utilise un FPGA.

L'article lié suggère qu'il pourrait s'agir d'une nouvelle fonctionnalité d'intelligence artificielle (IA). Peut-être qu'Apple n'en avait pas fini avec ce matériel particulier et avait besoin de la possibilité de pousser les mises à jour matérielles en direct (OTA) sur cette puce. C'est une utilisation innovante d'un FPGA.

Post-combustion Apple

La carte accélératrice graphique haut de gamme d'Apple peut restituer jusqu'à 3 flux vidéo RAM ProRes 8k simultanément, en temps réel.

Fait intéressant, il utilise un FPGA pour effectuer le gros du travail. Le traitement d'image est quelque chose que les FPGA font très bien. Peut-être qu'ils avaient besoin de créer une solution personnalisée car les GPU ne pouvaient pas gérer la vidéo 8k assez rapidement.

Nvidia G-Sync

La carte Nvidia G-Sync synchronise la sortie de la carte graphique avec le taux de rafraîchissement de l'écran. Si vous êtes un joueur sur PC, vous avez peut-être entendu parler de V-Sync, qui est la solution logicielle de Nvidia à ce problème.

La synchronisation de la fréquence d'images est un exemple de tâche facile à réaliser dans le matériel mais qui consomme beaucoup de CPU lorsqu'elle est effectuée avec un logiciel.

Oscilloscope silencieux

Le Sigilent SDS 1202X-E est un oscilloscope 200 MHz, 2 + 1 canaux. Un démontage par EEVblog révèle ce qui l'alimente, un CPU/FPGA hybride Xilinx Zynq-7000.

La puce Zynq-7000 possède deux processeurs ARM durs et une partie FPGA programmable sur puce. L'avantage d'utiliser le Zynq est que vous pouvez exécuter Linux sur la partie système de traitement (PS). Avec Linux, vous pouvez utiliser toutes les bibliothèques d'interface graphique de haut niveau pour créer une belle interface utilisateur.

Dans le même temps, vous pouvez échantillonner les données du capteur à grande vitesse en utilisant une logique personnalisée dans la partie logique programmable (PL) de la puce. L'interconnexion entre la partie PS et PL a une bande passante très élevée car elle se trouve dans la même puce en silicium. Dans l'ensemble, une excellente puce pour créer des applications Internet des objets (IoT) hautes performances.

FPGA UltraMiner

L'UltraMiner est l'un des nombreux mineurs FPGA financés par crowdfunding qui sont apparus au fil des ans. La campagne de financement est toujours en cours au moment de la rédaction.

Selon les arguments de vente sur la page du projet, il a quatre fois l'efficacité énergétique d'un mineur GPU.

Le temps des cailloux

La Pebble est une des premières montres connectées qui a été financée par le biais d'une campagne Kickstarter en 2012. Elle utilise un minuscule FPGA pour contrôler l'écran LCD.

Si vous possédez un Pebble, vous vous promenez tout le temps avec un FPGA au poignet. Le micrologiciel permettant de contrôler le Pebble est open source, le code permettant d'interfacer le FPGA se trouve dans leur référentiel sur GitHub.

Vous voulez apprendre à programmer un FPGA ?

Pour créer une logique pour un FPGA, vous devez utiliser un langage de description de matériel (HDL). Ce blog est spécialisé dans le VHDL, qui est l'un des deux HDL les plus populaires.

Vous pouvez essayer gratuitement la programmation VHDL sur votre ordinateur dans le confort de votre maison. Chaque développement VHDL commence dans un simulateur, et les tutoriels VHDL de base gratuits vous apprennent à simuler à l'aide de l'édition étudiante du simulateur VHDL le plus populaire :ModelSim.

Ressources d'apprentissage VHDLwhiz

GRATUIT : Tutoriels VHDL de base

PREMIUM : Formation Dot Matrix FPGA et VHDL

FPGA et VHDL Fast-Track : pratiques pour les débutants absolus

Êtes-vous familier avec la programmation mais novice en VHDL ?

Avez-vous besoin d'une courte introduction à ce sujet peu familier ?

Votre emploi du temps est plein et il ne vous reste plus de temps pour étudier ?

Comprendre les bases du développement FPGA en VHDL en quelques soirées ! Ce cours est destiné aux professionnels de l'informatique et aux étudiants qui ont besoin d'un aperçu rapide du sujet. Avec ce cours et la carte de développement Lattice iCEstick à faible coût, vous développerez du matériel réel en quelques heures.

Cliquez ici pour en savoir plus et vous inscrire :
Fast-Track FPGA et VHDL :cours pratiques pour les débutants absolus


VHDL

  1. Tutoriel - Introduction au VHDL
  2. Une introduction à la stéréolithographie (SLA)
  3. Une introduction à l'alliage de titane
  4. Introduction aux circuits CC
  5. Introduction aux circuits CA
  6. Introduction à SPICE
  7. Introduction à l'algèbre booléenne
  8. Ce que vous devez savoir sur les contrôleurs logiques programmables
  9. Field Programmable Gate Array (FPGA) vs microcontrôleur - Quelle est la différence ?