Maison > Problème commun > le corps du texte

qu'est-ce que fpga

青灯夜游
Libérer: 2023-01-29 15:59:43
original
54699 Les gens l'ont consulté

FPGA est une puce intégrée basée sur des circuits numériques, qui est un type de dispositif logique programmable (PLD) ; le FPGA apparaît comme un circuit semi-personnalisé dans le domaine des circuits intégrés spécifiques à une application (ASIC). Il résout non seulement les défauts de circuits personnalisés, mais pallie également les défauts du nombre limité de circuits de porte des dispositifs programmables d'origine.

qu'est-ce que fpga

L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.

Qu'est-ce que FPGA

FPGA (Field Programmable Gate Array) est un produit développé sur la base de dispositifs programmables tels que PAL (Programmable Array Logic) et GAL (General Array Logic). Il apparaît comme un circuit semi-personnalisé dans le domaine des circuits intégrés spécifiques à une application (ASIC), qui non seulement résout les défauts des circuits personnalisés, mais surmonte également les défauts du nombre limité de portes dans les dispositifs programmables d'origine.

FPGA est essentiellement une puce, une puce intégrée composée principalement de circuits numériques.

Le FPGA a été inventé par Ross Freeman, l'un des fondateurs de Xilinx, en 1985. Il s'agit d'un type de dispositif logique programmable (PLD). Cette fois, c'est environ 20 ans plus tard que l'émergence de la célèbre loi de Moore, mais une fois le FPGA inventé, la vitesse de développement ultérieure était plus rapide que la plupart des gens ne l'imaginaient.

La figure 1 montre l'image physique de la puce FPGA :

quest-ce que fpga
Figure 1 L'image physique de la puce FPGA

Historique du développement du FPGA

Avant l'invention du PLD, les ingénieurs utilisaient des puces logiques discrètes contenant plusieurs portes logiques Lors de la construction d’un système de circuits, il est difficile de mettre en œuvre des fonctions logiques complexes.

Afin de résoudre ce problème, dans les années 1970, le réseau logique programmable (PLA) est apparu. Le PLA contient un nombre fixe de portes ET et de portes NON, qui forment respectivement le « plan ET » et le « plan OU ». ", c'est-à-dire "Matrice de connexion ET" et "Matrice de connexion OU", ainsi que la matrice de connexion qui ne peut être programmée qu'une seule fois (car la programmation ici est basée sur le processus de fusion), donc des ET relativement complexes, ou multiples des expressions peuvent être réalisées La structure interne du PLA est illustrée dans la figure 2 :


Figure 2 Structure interne du PLA

En même temps que le PLA, la mémoire morte programmable (PROM) est sortie, et sa structure interne Comme le montre la figure 3. Comme PLA, PROM contient une « matrice de connexion ET » et une « matrice de connexion OU » en interne, mais la matrice de connexion de la porte ET est fixée matériellement, et seule la matrice de connexion de la porte OU est programmable.


Figure 3 Structure interne de la PROM

Si seule la matrice de connexion de la porte ET est programmable et que la matrice de connexion de la porte OU est fixée par le matériel, alors ce type de puce est appelé Programmable Array Logic (PAL) ), selon les différents modes de fonctionnement du circuit de sortie, PAL peut être divisé en sortie à trois états, sortie de registre et sortie complémentaire, mais PAL utilise toujours la technologie des fusibles et ne peut être programmé qu'une seule fois. Le diagramme de structure de PAL est présenté à la figure 4.


Figure 4 Diagramme de structure PAL

Sur la base de PAL, un dispositif logique de tableau général (Generic Array Logic, GAL) a été développé Par rapport à PAL, GAL présente deux améliorations :

  • Adopte l'effaçable électriquement. Le processus CMOS peut être compilé plusieurs fois, ce qui améliore la reconfigurabilité et la flexibilité de l'appareil ;
  • Adopte une macro-cellule logique de sortie programmable (Output Logic Macro Cell, OLMC), qui peut être programmée par programmation OLMC. La sortie du GAL est définie. À différents états. Un seul modèle de GAL peut réaliser les modes de fonctionnement de tous les circuits de sortie de l'appareil PAL, ce qui améliore la polyvalence de l'appareil. Le diagramme de structure de

GAL est présenté dans la figure 5 :


Figure 5 Diagramme de structure de GAL

Les premiers PLD se composaient principalement des quatre types de puces ci-dessus, à savoir PROM, PLA, PAL et GAL. Leur caractéristique commune est qu’ils peuvent mettre en œuvre des fonctions logiques avec de bonnes caractéristiques de vitesse, mais parce que leurs structures sont trop simples, ils ne peuvent mettre en œuvre que des circuits numériques plus petits.

Avec le développement de la science et de la technologie et les progrès de la société, les gens ont des exigences de plus en plus élevées en matière d'intégration des puces. Les premiers produits PLD ne pouvaient pas répondre aux besoins des utilisateurs, et le dispositif logique programmable complexe (CPLD) était né. Le CPLD peut être considéré comme une continuation de la structure du dispositif PLA, et un dispositif CPLD peut également être considéré comme un ensemble de plusieurs PLA et une matrice de connexion programmable. Le schéma de structure interne du CPLD est présenté à la figure 6.


Figure 6 Schéma de structure du CPLD

Le FPGA est sorti quelques années plus tôt que le CPLD et est appelé dispositif logique programmable haute densité avec le CPLD, mais ils sont fondamentalement différents. L'architecture interne de la puce FPGA ne suit pas une structure similaire à celle du PLA, mais adopte le concept de Logic Cell Array (LCA), qui change l'idée d'utiliser un grand nombre de portes ET et NON dans. Appareils PLD dans le passé et utilise principalement des tables de recherche et des registres.

De plus, les FPGA et CPLD présentent également des différences en termes de type de ressource, de vitesse, etc., comme le montre le tableau ci-dessous.

Stockage du programme 为 Structure SRAM interne , programme de stockage EEPROM ou FLASH enfichable EEPROM ou FLASH interne Types de ressources Ressource riche pour les ressources logiques combinées Intégration ——Chiffrable
Tableau : Comparaison des performances entre FPGA et CPLD
Types/caractéristiques d'appareils FPGA CPLD
Structure interne Tableau de recherche Terme du produit
Haute, DSP, etc
Confidentialité Ne peut généralement pas être gardé secret (un noyau de cryptage peut être utilisé)

En termes de mécanisme de mise en œuvre interne, les types de FPGA peuvent être divisés en basés sur la technologie SRAM, basés sur la technologie antifusible et basés sur la technologie EEPROM/Flash. En termes de structure de circuit, la programmabilité FPGA fait référence à trois aspects de la programmabilité : les blocs logiques programmables, les E/S programmables et les ressources de câblage programmables. Les blocs logiques programmables sont au cœur de la programmabilité des FPGA, et les trois technologies mentionnées ci-dessus sont également des technologies pour les blocs logiques programmables.

Le schéma de structure du FPGA est présenté dans la figure 7.


Figure 7 Schéma de structure du FPGA

Avantages techniques du FPGA

De nombreux lecteurs savent que le FPGA est puissant, mais quelle est sa puissance ?

Prenons l'exemple du microcontrôleur. Nous savons tous que le microcontrôleur est puissant et peut presque tout faire, alors que le FPGA n'est que plus puissant que lui. Car tant que les fonctions que le microcontrôleur peut implémenter, le FPGA peut certainement les implémenter. Bien entendu, cela nécessite une prémisse majeure - lorsque les ressources du FPGA sont suffisantes. Cependant, les fonctions que le FPGA peut réaliser peuvent ne pas être facilement réalisées par un microcontrôleur. C'est un fait incontestable. Si vous n'y croyez pas, cela signifie simplement que vous ne comprenez pas encore le FPGA.

En parlant de cela, les lecteurs ne peuvent s’empêcher de se demander, puisque le FPGA est si puissant, pourquoi les microcontrôleurs sont-ils plus largement utilisés ? En effet, dans le monde des affaires, le prix est souvent l'un des facteurs importants qui affectent les produits.

Le prix du microcontrôleur est bien inférieur à celui du FPGA, et en fonction des performances et des ressources, le prix du FPGA varie également considérablement. Le prix d'une seule puce FPGA varie de dizaines à des centaines de milliers de yuans. En comparaison, le prix d'un micro-ordinateur monopuce est beaucoup moins cher. Si nous pouvons obtenir la même fonction avec un ordinateur monopuce bon marché, nous ne choisirons pas un FPGA relativement cher, à moins que l'ordinateur monopuce ne puisse répondre aux fonctionnalités. exigences. Par conséquent, lorsque l'entreprise mène son propre développement, afin de réduire les coûts, elle peut choisir un microcontrôleur moins cher au lieu d'un FPGA relativement cher. Parce que les microprocesseurs tels que les microcontrôleurs et ARM sont très demandés, le prix est plus avantageux.

Mais qu'il s'agisse d'un microcontrôleur, d'un ARM ou d'un FPGA, ils ne sont qu'un outil pour nous aider à réaliser des fonctions. Comment choisir nécessite une analyse spécifique basée sur des problèmes spécifiques. Bref, il n’existe pas d’outils universels, seulement des outils qui répondent aux besoins de production. Nous ne devrions pas avoir de préjugés contre un certain outil et devrions l’envisager de manière globale. De même, au fur et à mesure que vous en apprendrez davantage, vous constaterez que ces outils doivent tous être maîtrisés.

FPGA a beaucoup moins de scénarios d'application que MCU et ARM, et cible principalement les problèmes que MCU et ARM ne peuvent pas résoudre. Par exemple, si des performances flexibles et efficaces, un débit élevé, une faible latence par lots, un calcul parallèle rapide, des performances reconfigurables, reprogrammables et personnalisées et une consommation d'énergie personnalisée sont nécessaires, ces tâches ne peuvent être entreprises que par FPGA.

Par rapport aux circuits intégrés spécifiques à une application (ASIC) conçus à des fins spéciales, le FPGA présente 3 avantages :

1) Flexibilité

En programmant le FPGA, le FPGA peut exécuter ce que l'ASIC peut faire pour exécuter n'importe quelle fonction logique. L'avantage unique du FPGA réside dans sa flexibilité, c'est-à-dire que la fonction de la puce peut être modifiée à tout moment. Cette fonctionnalité peut réduire le coût et les risques du produit lorsque la technologie n'est pas encore mature. Cette fonctionnalité est particulièrement importante au début. jours de vulgarisation de la technologie 5G.

2) Délai de commercialisation réduit

Le FPGA peut être utilisé directement après la programmation. La solution FPGA n'a pas besoin de passer par le cycle d'extraction des puces de trois mois à un an, ce qui permet aux entreprises de gagner du temps de commercialisation. leurs produits.

3) Il y a un certain avantage en termes de coût

La principale différence entre FPGA et ASIC est que la solution ASIC a des coûts fixes alors que la solution FPGA n'en a presque pas. Lorsque l'utilisation est faible, la solution FPGA ne nécessite pas de coût. Paiement unique de plusieurs millions de dollars. À l'heure actuelle, le coût de la solution FPGA est inférieur à celui de l'ASIC. À mesure que l'utilisation augmente, l'avantage en termes de coût de la solution FPGA diminue progressivement. En raison du grand nombre de bandes, l'avantage en termes de coût de la solution FPGA diminue progressivement. Les puces génèrent des économies d'échelle, de sorte que la solution ASIC présente davantage d'avantages en termes de coût, comme le montre la figure ci-dessous :


Figure 8 Coût. comparaison entre la solution FPGA et la solution ASIC

Par conséquent, le FPGA est généralement utilisé dans le traitement du signal numérique, le traitement vidéo. Il joue un rôle irremplaçable dans le traitement de l'image, les communications 5G, le contrôle médical, industriel, les services cloud, l'informatique accélérée, l'intelligence artificielle, les données. centres, conduite autonome, vérification des puces et autres domaines. Ce n'est qu'en maîtrisant la méthode générale de conception des FPGA que vous pourrez réaliser de grandes réalisations dans les domaines où les FPGA sont uniques.

La direction d'application du FPGA

Le FPGA se situe entre le logiciel et le matériel. Si vous l'utilisez pour l'interface et la communication, il sera orienté vers le matériel. Si vous l'utilisez pour l'algorithme et le contrôle, il sera orienté vers le logiciel. . Avec l’essor de l’intelligence artificielle et de la vision industrielle, les FPGA sont davantage orientés vers des algorithmes logiciels hétérogènes et ont le potentiel de concurrencer les GPU.

Le tableau de comparaison des performances entre FPGA et GPU est présenté dans la figure 9 :


Figure 9 Le tableau de comparaison des performances entre FPGA et GPU

Orientation logicielle FPGA : se concentrer sur le développement de logiciels, développer les capacités d'application accélérées du FPGA dans les domaines de l'analyse de données, de l'intelligence artificielle, de la vision industrielle et d'autres domaines, en utilisant principalement les technologies OpenCL et HLS pour réaliser un développement collaboratif de logiciels et de matériel.

Orientation matérielle FPGA : se concentrer sur la conception logique, se concentrer sur la conception d'applications, la conception de circuits intégrés et les capacités de vérification des puces dans des domaines spécifiques des FPGA.

Le domaine d'application initial du FPGA était le domaine de la communication. Cependant, avec le développement de l'industrie de l'information et de la technologie microélectronique, la technologie FPGA est devenue l'une des technologies les plus populaires dans l'industrie de l'information. Son champ d'application s'est élargi pour inclure l'aérospatiale, automobile, médical, radiodiffusion, tests et mesures, électronique grand public, contrôle industriel et autres domaines populaires, et avec le développement et l'avancement de la technologie, il a commencé à pénétrer dans la vie sous tous les angles.

Pour plus de connaissances connexes, veuillez visiter la rubrique FAQ !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!