Table of Contents
Les réseaux de portes programmables sur le terrain (FPGA) ont dépassé les rôles de prototypage et de datacenter pour devenir des plateformes de calcul essentielles dans les appareils mobiles à commande électrique, y compris les smartphones, tablettes, wearables et drones. Leur matériel reconfigurable permet une accélération efficace de la fusion des capteurs, de l'inférence du réseau neuronal convolutionnel et du traitement en temps réel de l'image, souvent surperformant les processeurs à usage général. Cependant, la flexibilité qui rend les FPGA attrayants crée également un défi important de gestion de la puissance.
Le paysage de puissance des FPGA mobiles
La compréhension des origines physiques de la dissipation de puissance dans un FPGA est essentielle avant l'optimisation. Puissance totale P[total se compose de deux composants principaux: puissance dynamique et puissance statique[.La puissance dynamique est consommée lorsque l'interrupteur de transistors se met en position, approximative par Pdynamique = α · C · V2 · f, où α est l'activité de commutation, C est la capacité de charge, V est la tension d'alimentation et f est la fréquence.
La puissance statique résulte de courants de fuites qui coulent même lorsque les transistors ne changent pas. À mesure que la technologie de fabrication passe à 28 nm, 16 nm et moins, les fuites sous-seuils, les fuites de barrière et les fuites de jonction deviennent importantes. Contrairement à la puissance dynamique, la puissance statique est fortement affectée par la variation de la température et du processus.
Les applications mobiles ajoutent d'autres contraintes : la tension d'alimentation est généralement fixée par le système PMIC, l'espace pour les composants de distribution d'énergie est limité, et le FPGA partage souvent une interface thermique avec d'autres puces à haute densité. Une stratégie d'optimisation efficace doit s'appliquer à la fois au comportement intrinsèque du silicium et à l'environnement du système environnant.
Techniques d'optimisation de la puissance de conception-temps
Des économies de puissance importantes peuvent être réalisées avant que le FPGA ne soit programmé sur un plateau. Ces techniques se concentrent sur le RTL, la liste nette, le flux d'implémentation et la mise en page physique.
Synthèse et outils de mise en oeuvre de logiciels de puissance
Les outils tels que Xilinx Vivados power opt directives Intel Quartus Prime="PowerPlay Power Analyzer et Lattice Radiant="s peuvent identifier les points chauds, insérer automatiquement des grilles d'horloge et appliquer une optimisation multi-Vt. Par exemple, le Xilinx Power Analyzer[ décrit comment générer des vecteurs d'activité à partir de la simulation et donne des instructions au placeur pour minimiser la puissance dynamique des réseaux à haut débit. Intels PowerPlay Power Analyzer[ permet d'importer des données de taux de bascule basées sur la simulation et d'optimiser la puissance en négociant le moment de l'entraînement en ralentissant la puissance de l'entraînement ou en resynthèse la logique avec des bibliothèques à faible puissance.
Optimisation de la logique et de l'acheminement au niveau RTL
Les choix RTL apparemment petits peuvent avoir une incidence considérable sur la puissance dynamique. Clock gating reste la technique la plus efficace : la mise en réseau de l'horloge pour enregistrer les horloges non utilisées activement empêche l'arbre d'horloge en aval de basculer, éliminant la puissance dynamique dans les deux tondeuses et le grand réseau de distribution d'horloge capacitive. La plupart des outils de synthèse permettent l'insertion automatique de l'horloge ginging, mais le codage manuel permet de créer des conditions pour les grandes banques de registres.
Par exemple, un bloc multi-accumulateur utilisé uniquement pendant certaines étapes de traitement devrait avoir ses entrées forcées à zéro au ralenti, arrêtant les toggles internes. Le partage des ressources[ réduit le nombre d'unités fonctionnelles instantanées, coupant la zone et la capacité associée. Le partage d'un seul multiplicateur matériel sur plusieurs opérations de façon à réduire la puissance dynamique jusqu'à 50 % dans les conceptions à prédominance d'une voie donnée.
Le routage dense augmente à la fois la capacité et le crosstalk, ce qui augmente la puissance dynamique et parasitaire. Les modules de planification des glior pour minimiser la longueur du fil entre les blocs de communication fréquente, en utilisant l'équilibrage de la ligne[ pour éviter les longues combinaisons de chemins de glissade et les machines d'état structurantes avec code gris ou codage à chaud (selon le tissu) peuvent réduire à la fois α et C. La puissance Glitch se produit lorsque les entrées logiques arrivent à différents moments, provoquant de multiples transitions fallacieuses.
Voltage multi-seuil et sélection de cellules
La plupart des familles FPGA fournissent des cellules primitives avec différentes tensions seuil (Vt). Les cellules haute tension fuient moins de courant statique mais sont plus lentes; les cellules basse tension sont rapides mais fuites. Les outils de mise en œuvre dans Quartus Prime (flux d'optimisation de faible puissance) ou Vivado (synthèse entraînée par la puissance) peuvent automatiquement échanger des cellules à voie critique vers des cellules basse tension tout en conservant des voies non critiques dans des voies haute tension, réduisant les fuites statiques sans sacrifier les performances.
Réduction de la puissance des données et de la mémoire
Les blocs de mémoire (BRAMs) et les tranches DSP sont souvent les plus gros contributeurs d'alimentation dans les accélérateurs mobiles. Lorsqu'un algorithme accède fréquemment à la RAM, les circuits de précharge et d'amplificateur de sens peuvent brûler rapidement la puissance dynamique. L'activation du mode de faible puissance sur les BRAMs (lorsqu'ils sont pris en charge) réduit le courant statique au détriment d'une latence d'accès légèrement accrue, un compromis qui vaut la peine d'être réalisé dans des applications comme le cache.
Du côté de la voie de données, l'inversion de bus et les schémas de codage de données[ réduisent les transitions sur les bus lourdement chargés. Les adresses de codage gris sur un bus mémoire à grande vitesse peuvent couper la distance moyenne de réglage entre les accès successifs en deux, diminuant ainsi l'activité de basculement sur l'interconnexion. De nombreux outils de synthèse peuvent automatiquement appliquer le codage d'inversion de bus aux bus à forte vitesse.
Directives de synthèse et contraintes en matière de puissance
Dans Xilinx Vivado, la stratégie à -Explore peut déclencher une restructuration logique qui réduit l'activité de commutation. Intel Quartus Prime offre le paramètre qui insère automatiquement le gingage d'horloge et réduit la puissance de routage. Pour les FPGA de Lattice, l'option supprime la logique redondante. Fournir des contraintes de vitesse précises (commandes SDC comme ) est critique afin que l'optimiseur sache quels nœuds sont réellement actifs.
Stratégies de gestion dynamique de la puissance
Les mesures de temps de conception établissent une base de référence de faible puissance, mais les appareils mobiles exigent une adaptabilité au temps d'exécution pour correspondre à une charge de travail et un budget d'énergie variables.
Gate de puissance et reconfiguration partielle
Dans les accélérateurs mobiles d'IA, lorsqu'un moteur de détection d'objets est au ralenti, le bloc d'accélérateur entier peut être fermé, ce qui réduit les fuites à près de zéro. Pour les FPGA qui n'ont pas d'îles de puissance dédiées, la reconfiguration partielle permet d'obtenir un effet similaire en chargeant une configuration vide ou minimale de fonctionnalité dans une région, en plaçant toute la logique à un état connu de faible fuite. Même sans la gâcher matérielle, permettre l'entrée d'horloge et forcer des niveaux statiques à des niveaux statiques dans une logique inutilisée peut couper considérablement les toggles dynamiques. Dans la famille Lattice iCE40, une broche de puissance peut immédiatement arrêter toute activité interne, en faisant tomber la consommation de milliwatts aux microamps.
Voltage dynamique et calibrage de fréquence (DVFS)
En ajustant dynamiquement la tension du cœur et la fréquence des horloges en réponse aux demandes de débit, DVFS exploite la relation quadratique P -. Une réduction de 10 % de la tension, si les marges de timing le permettent, permet des économies de puissance d'environ 19 %. La mise en œuvre de DVFS nécessite un régulateur de tension commandé par le FPGA ou un MCU compagnon, des moniteurs de tension sur puce et une génération d'horloges sans décrochage. Les familles modernes de FPGA comme la Lattice CertusPro-NX et certains membres d'Efinix Titanium comprennent des régulateurs de tension intégrés et des contrôleurs DVFS durcis permettant des transitions en mode sans soudure.
Gestion active de l'alimentation par l'optimisation de l'arbre d'horloge
Le réseau de distribution d'horloges dans un FPGA peut consommer 20 à 40 % de la puissance dynamique totale même si aucune logique ne s'active. La segmentation de domaine de verrouillage permet aux concepteurs de désactiver complètement les arbres d'horloges pour les régions inutilisées. L'utilisation d'une PLL qui commute dynamiquement les fréquences de sortie et éteint les sorties secondaires permet d'économiser la puissance. L'utilisation de ]clock permet d'activer les signaux[ qui se propagent à travers l'arbre d'horloge (vs. gatting à la feuille) réduit le nombre de tampons d'horloge qui s'interrupteur.
Clock Domain Crossing et réduction de Glitch à l'heure d'exécution
Tous les modèles mobiles FPGA devraient utiliser des synchroniseurs robustes (à deux tons ou à base de FIFO) et regrouper une logique non liée dans des domaines d'horloge séparés qui peuvent être bloqués ou éparpillés indépendamment. Cela réduit les problèmes et facilite le ginginging de l'horloge à grain fin et le DVFS par domaine. Pour les fonctions de hub de capteur toujours sur, un domaine d'horloge à basse fréquence dédié à partir d'un oscillateur interne peut consommer seulement des microwatts tandis que le domaine à haute performance reste alimenté.
Approches d'intégration des systèmes et du matériel
Même efficace FPGA en silicium gaspille la puissance si la conception de la carte est mauvaise. Les stratégies de niveau matériel comprennent la sélection des appareils, la distribution d'énergie et la conception thermique, formant la base de toutes les optimisations de niveau logiciel.
Sélection de la famille FPGA à faible puissance
Les familles Efinix Trion et Titanium utilisent une architecture de routage quantique qui réduit la capacité d'interconnexion et la puissance dynamique. Pour les besoins de plus hautes performances, les appareils Xilinx Zynq-7000 et UltraScale+ MPSoC combinent un système de traitement de l'énergie avec un tissu FPGA qui supporte plusieurs domaines de puissance. Les ingénieurs devraient examiner les fiches de données du fournisseur pour le courant de réserve (ICCSB, ], ] la puissance sur le réset (POR) le courant de réserve les appareils CCSB[, ] la configuration de la pile TXFLT est toujours la plus grande durée de vie de la pile.
Conception et efficacité de l'alimentation électrique
Le réseau d'alimentation électrique a une incidence directe sur l'efficacité énergétique et l'intégrité du signal. Les régulateurs de commutation offrent des rendements de conversion supérieurs à 90 %, mais les ondulations de sortie peuvent se coupler en blocs analogiques sensibles. Une technique mobile courante utilise un convertisseur de gaine à haute efficacité pour l'alimentation du noyau, suivi d'un régulateur linéaire à faible écoulement (LDO) pour fournir une tension propre et à faible bruit pour les alimentations de PLL et de transceiver. L'optimisation du séquençage de puissance et de la réduction de puissance évite les courants de verrouillage et d'inversion.
Mise en page et gestion thermique des PCB
Dans les appareils mobiles compacts, les dissipateurs de chaleur spécialisés sont rarement possibles, de sorte que l'expansion thermique à base de PCB[ en utilisant de gros vers de cuivre reliés au bloc thermique FPGA, en passant par la chaleur en direction d'un plan intérieur et en contact intime avec le châssis de l'appareil peut maintenir les températures de jonction 10 à 20 °C plus bas. Certains fréquences CPU/GPU à gaz dynamiquement élevées en température de certains SoC mobiles peuvent être mises en œuvre pour les FPGA à l'aide d'une diode de température sur puce. Les moniteurs FPGA meurent de température et, lorsqu'ils dépassent un seuil, réduisent la fréquence de l'horloge ou les barrières des blocs non critiques jusqu'à ce que les températures baissent.
Meilleures pratiques pour l'intégration mobile FPGA
L'optimisation efficace de l'énergie n'est pas une activité ponctuelle; elle doit être intégrée dans l'ensemble du développement, depuis l'architecture jusqu'au réglage post-déploiement.
Profilage de puissance et débit d'estimation
L'analyse de puissance ne peut pas se fonder sur des hypothèses. Les ingénieurs devraient générer des données réalistes de simulation de niveau de portage à l'aide de charges de travail mobiles représentatives, par exemple, une explosion typique de 30 secondes de traitement de l'image-caméra suivie par le ralenti. Exporter un fichier SAIF ou VCD et le transmettre à l'analyseur de puissance du fournisseur donne des pannes de puissance par module, type (dynamique ou statique) et rail d'alimentation. Le rapport Xilinx Vivado Power affiche un arbre de puissance détaillé montrant exactement quels blocs tirent le plus de courant. Ce profil devient la base de l'optimisation itérative : après avoir modifié RTL, re-synthèse avec des directives de puissance, et ré-exécution du flux, le concepteur peut quantifier l'amélioration.
Co-conception logiciel-Hardware pour la puissance
Dans un système mobile, le FPGA fonctionne rarement isolément. Un processeur d'application ou le MCU peut orchestrer des états de puissance à travers une interface SPI/I2C simple. Les développeurs doivent définir des modes de puissance – Active, Idle, Sleep, Hibernate – et les exposer à la pile logicielle. Lorsque le système entre en veille, le processeur envoie une commande pour entrer dans l'île de puissance de FPGA ou affirmer une broche d'arrêt externe. Pour une reconfiguration partielle, les flux de bits peuvent être stockés dans un flash système et chargés en dizaines de microsecondes, ce qui permet au FPGA de basculer rapidement entre un reconnuur de geste toujours en marche (qui prend moins de 1 mW) et un pipeline vidéo plein écran (qui prend des centaines de milliwatts) dans un seul temps d'encadrement.
Surveillance continue et optimisation adaptative
De nombreux appareils mobiles déployés connaissent une grande variété de conditions environnementales et d'utilisation. De nombreux FPGA modernes comprennent la tension sur puce, la température et les moniteurs de courant accessibles par JTAG interne ou ADC dédiés. Un démon logiciel léger sur le processeur d'application peut lire périodiquement des capteurs et ajuster les niveaux DVFS ou déclencher une gâchette en temps réel. Au cours d'une utilisation étendue sur le terrain, l'impédance de la batterie augmente et les tensions d'alimentation peuvent s'écouler sous charge; un algorithme adaptatif qui surveille la tension d'alimentation du cœur et réduit la fréquence maximale autorisée d'horloge lorsque nécessaire empêche les défaillances de synchronisation et évite les bandes de garde inefficaces.
Conclusion
L'optimisation de la consommation d'énergie des appareils mobiles FPGA est un défi multidimensionnel qui exige une attention particulière de l'architecture par l'intégration du système et le fonctionnement sur le terrain. En combinant des techniques de conception-temps – synthèse de l'alimentation, optimisation de l'horloge, optimisation de l'alimentation multi Vt et codage de données – avec des stratégies de fonctionnement telles que DVFS, équilibrage de l'alimentation et reconfiguration partielle, les ingénieurs peuvent éliminer des milliwatts inutiles. La sélection de gammes FPGA ultra-faible puissance, la conception efficace de l'alimentation et la gestion thermique proactive constituent la base physique.