Vous êtes sur la page 1sur 6

Traduit de Anglais vers Français - www.onlinedoctranslator.

com

Rôle du FPGA dans les applications de l'Internet des objets


Mohammed Elnawawy, Abid Farhan, Ahmad Al Nabulsi, AR Al-Ali, Assim Sagahyroon
Collège d'ingénierie, Université américaine de Sharjah
Sharjah, Émirats arabes unis

Résumé—Cet article traite du rôle du Field Programmable consomme une quantité d'énergie considérablement faible, en plus
Gate Array (FPGA) dans les applications de l'Internet des objets d'être de faible coût dans des volumes élevés. Malgré les grands
(IoT). Les avantages des FPGA par rapport aux ASIC et aux avantages de l'utilisation des ASIC, ils présentent également un grand
microcontrôleurs sont soulignés pour justifier l'inclinaison de inconvénient car ils ne disposent pas de la fonction de reconfigurabilité.
l'industrie vers davantage d'applications basées sur l'IoT-FPGA. Cela signifie qu'une fois qu'un ASIC a été fabriqué, l'utilisateur ne peut
De plus, cet article met en évidence l'architecture matérielle pas l'utiliser pour effectuer une opération pour laquelle il n'a pas été
interne du FPGA qui est le principal catalyseur de la fonction de conçu. Cela a aidé les scientifiques et les chercheurs à proposer le
reconfigurabilité des FPGA. Cette caractéristique est ce qui
concept d'un FPGA (Field-Programmable Gate Array). Comme son nom
rend les FPGA plus précieux par rapport à l'architecture fixe
l'indique, un FPGA surpasse les ASIC en étant un dispositif
des microcontrôleurs. Ensuite, plusieurs applications basées
reconfigurable qui peut être programmé pour effectuer plusieurs
sur l'IoT sont discutées dans lesquelles les FPGA montrent la
opérations sans avoir besoin de le reconditionner. Ceci est pris en
supériorité. Ces applications incluent l'interfaçage de FPGA
charge par la structure interne d'un FPGA illustré à la Fig. 1 qui se
avec des dispositifs de périphérie basés sur l'IoT et des
dispositifs FPGA de système sur puce (SoC) avec un accent compose de plusieurs blocs logiques programmables qui peuvent être
particulier sur le FPGA SmartFusion2 SoC de Microsemi. reconfigurés pour exécuter plusieurs fonctions, en plus de
Finalement, l'interconnexion programmable qui relie les différents blocs logiques
entre eux. En outre, les FPGA ont un coût de développement très faible
Mots clés—FPGA, IdO, ASIC, Reconfigurabilité, SoC, et un délai de commercialisation court par rapport aux ASIC.
SmartFusion2.

je. jeNTRODUCTION
L'évolution de la technologie numérique a connu de multiples
percées au cours des dernières décennies. La première étincelle a peut-
être été déclenchée par Gordon Moore lorsqu'il a prédit que le nombre
de transistors sur une puce doublerait tous les deux ans. La prédiction
de Moore semble avoir pris de l'ampleur avec le nombre de transistors
passant de 32 en 1965 à 1 milliard en 2007, et elle continue sans
l'ombre d'un doute [1]. L'industrie des circuits numériques s'est
appuyée pendant de nombreuses années sur la technologie des
transistors à jonction bipolaire (BJT). Cela a permis des avancées dans la
conception et le développement de circuits intégrés spécifiques à une
application (ASIC) conçus spécifiquement pour un usage particulier.
Fig. 1. Schéma fonctionnel d'un FPGA [2]
L'utilisation de BJT, bien qu'elle nous offre de nombreux avantages,
comporte de nombreux inconvénients. L'un des inconvénients majeurs Ce document commence par souligner la raison de l'essor des
des BJT est la consommation élevée car il s'agit d'un transistor FPGA, puis aborde l'architecture matérielle du FPGA, suivi d'une
fonctionnant en courant. Ce problème limite l'évolutivité des comparaison entre les capacités des FPGA et des microcontrôleurs
applications qui utilisent des BJT, car l'extension d'un ASIC pour IoT modernes. Ensuite, l'article traite des applications IoT
incorporer des opérations gourmandes en calcul signifie également industrielles dans lesquelles les FPGA se sont avérés d'une grande
plus de puissance. En conséquence, cette préoccupation a donné lieu à utilité. Ceux-ci incluent l'interfaçage des FPGA avec des dispositifs
la naissance de la technologie CMOS. L'introduction des transistors de périphérie basés sur l'IoT et des applications FPGA de système
CMOS dans le monde numérique a permis à la loi de Moore de persister sur puce (SoC). Enfin, l'article propose une nouvelle application qui
et de se poursuivre pendant de plus en plus d'années puisqu'elle peut utiliser la large gamme de capacités au sein du FPGA.
permet aux fabricants de mettre plus de transistors dans la même puce
avec un taux de consommation d'énergie inférieur.
II. FPGA TOPOLOGIE
La reconfigurabilité matérielle est l'une des fonctionnalités les plus
La nature des ASIC leur permet d'effectuer une seule fonction. En
intéressantes qui permet aux FPGA de s'adapter à divers scénarios en
conséquence, la mise en œuvre ASIC d'un circuit numérique possède de
termes de sécurité, d'efficacité énergétique et de fonctionnalités [3]. En
nombreux avantages qui aident à améliorer les performances du
raison de leurs excellentes caractéristiques, les possibilités
circuit. Les avantages de l'utilisation des implémentations ASIC incluent
d'applications basées sur FPGA sont infinies. D'autre part, l'introduction
des capacités très hautes performances puisque la puce a été fabriquée
de l'IoT a complètement révolutionné le domaine de la technologie.
avec une fonction spécifique à l'esprit. Ça aussi
Maintenant que les FPGA peuvent être utilisés dans les domaines IoT, il

978-1-7281-5341-4/19/$31,00 ©2019 IEEE


ajouté une nouvelle couche d'innovation d'idées. Des recherches et 700 broches d'E/S [11]. La figure 2 montre la structure interne de l'un
approfondies ont été effectuées sur des applications IoT basées sur des blocs logiques programmables d'un FPGA ordinaire.
FPGA telles que l'accélération des services de centre de données à
grande échelle [4], le traitement d'images pour les appareils IoT [5, 6] et
la sécurité des réseaux [7, 8]. Alors que certaines applications utilisent
les ressources matérielles de l'intérieur d'un FPGA [9], d'autres telles
que [5] peuvent simplement exploiter la vitesse de traitement rapide et
la capacité de reconfigurer les composants matériels afin de compiler
les codes du langage de description matérielle (HDL). Les FPGA sont
également supérieurs aux microcontrôleurs en termes de capacités de
traitement du signal. Ils ont gagné en popularité dans ce domaine en
raison de leur forte puissance de traitement lorsqu'il s'agit d'analyser
des signaux par rapport aux capacités limitées d'un microcontrôleur
ordinaire.

La sous-section suivante met en évidence l'architecture matérielle


d'un FPGA standard en gardant un œil sur l'importance de la structure
interne pour la propriété de reconfigurabilité du FPGA.

A. Architecture matérielle Fig. 2. Structure interne d'un bloc logique programmable [2]
Il existe principalement deux fabricants géants de
B. Avantages des FPGA
puces FPGA qui dominent le marché de nos jours ; Altera
qui a été racheté par Intel en 2015 pour environ 16,7 La comparaison entre les FPGA et les dispositifs de pointe IoT
milliards de dollars US, et Xilinx qui est considéré comme modernes est l'un des sujets les plus discutables dans le monde
le pionnier de l'industrie de fabrication de FPGA [10]. Si technologique. Récemment, des scientifiques ont essayé de peser
elle devait être examinée, l'architecture matérielle des les avantages et les inconvénients des FPGA par rapport aux
FPGA fabriqués par les deux sociétés n'aurait que des microcontrôleurs comme Raspberry Pi et Particle Photon. Malgré le
différences mineures, les deux sociétés s'accordant sur fait que les microcontrôleurs sont des dispositifs de périphérie à
l'implémentation matérielle globale. La structure interne usage général relativement moins chers qui sont capables
d'un FPGA est la principale technologie de pilotage de la d'effectuer beaucoup de calcul de périphérie, les FPGA sont
fonction de programmabilité de la puce. En effet, un toujours un acteur majeur en matière de calcul intensif. Les
FPGA se compose de différents blocs programmables microcontrôleurs compatibles avec le cloud comme Raspberry Pi et
qui permettent à l'utilisateur final de personnaliser la Photon sont connus pour leur efficacité à collecter des données
puce sur le terrain sans avoir à reconcevoir la puce à brutes à partir de capteurs au niveau de la couche physique.
partir de zéro. D'autre part, ils n'ont pas la puissance de traitement requise pour
effectuer des calculs très exigeants comme le traitement d'images
Les blocs logiques se composent principalement d'unités de
et de signaux.
mémoire, de logique et de multiplicateur. Ces unités sont entourées de
plusieurs blocs d'E/S programmables qui sont utilisés pour interfacer Les microcontrôleurs peuvent également être considérés comme
les blocs logiques internes avec le monde externe. En zoomant sur l'une une implémentation ASIC car ils offrent principalement une architecture
des unités logiques d'une architecture FPGA standard, une table de fixe. Cela signifie que les microcontrôleurs souffrent des mêmes
correspondance (LUT) est utilisée pour stocker les sorties d'une fonction inconvénients que les ASIC par rapport aux FPGA. Cela est évident
booléenne spécifique qui correspondent à des entrées spécifiques. d'après le petit nombre de ports d'entrée et de sortie dans Raspberry Pi
L'existence d'une LUT est l'une des principales raisons d'une exécution et Photon. D'un autre côté, le FPGA offre un nombre énorme de ports
rapide dans un FPGA, car la complexité d'exécution de la fonction est d'E/S par rapport à ces microcontrôleurs. Par conséquent, c'est là que le
similaire à celle d'une table de hachage. Si les entrées sont connues, le FPGA offre un avantage sur les microcontrôleurs car il peut être adapté
FPGA peut générer la sortie en un rien de temps puisque les sorties aux besoins exacts d'une application spécifique, contrairement à leurs
sont stockées dans cette LUT. En plus de la LUT, le FPGA dispose homologues qui sont limités par les ports fabriqués et donc on ne peut
également d'un fichier de registre dédié qui doit être utilisé comme ni étendre les entrées ni les sorties si l'application l'exige. plus d'entre
mémoire à accès aléatoire (RAM). De plus, une unité logique contient eux, ni d'économiser certaines ressources si elles sont en excès. Par
également des bascules spécifiques afin de servir d'éléments de conséquent, le principal avantage d'un FPGA par rapport à tout ASIC ou
mémoire pour la sortie de ce bloc. Enfin, le FPGA utilise des MUX afin de microcontrôleur est le fait qu'il permet aux développeurs de concevoir
router différentes entrées vers la sortie en cas d'opérations et d'essayer différentes implémentations et configurations et d'évaluer
conditionnelles. La famille de puces Virtex-7 est considérée comme la leurs performances sur le terrain avant de passer à l'étape de
technologie de pointe sur le marché actuel des FPGA. Il est optimisé fabrication qui coûte énormément de ressources. En conséquence,
pour les performances et l'intégration du système à 28 nm et est utilisé certains fabricants de microcontrôleurs implémentent une architecture
dans une large gamme d'applications, notamment les réseaux 10G à de microcontrôleur nouvellement proposée sur un FPGA afin de
100G, les radars et le prototypage ASIC. pouvoir manipuler la conception presque sans frais. Une fois que le
concepteur est satisfait des performances de son design, celui-ci peut
Par exemple, l'architecture Virtex-7 FPGA contient jusqu'à
ensuite être gravé sur une puce dédiée prête à être vendue aux
485 760 cellules logiques, 2 800 tranches DSP, avec 37 080 Kbits de
consommateurs. En revanche, l'implémentation d'une architecture de
blocs mémoire embarqués, 56 émetteurs-récepteurs GTX 12,5 Go/s,
FPGA sur un microcontrôleur n'est pas possible.
Il y a encore un autre aspect dans lequel les FPGA surpassent les microcontrôleurs, et c'est le traitement parallèle. Le implémenter les filtres d'image sur le FPGA sont déjà flashés dans la
processeur d'un microcontrôleur ordinaire a généralement une routine spécifique à suivre ; récupérer, décoder et exécuter. Il puce. Une sélection déclenche des broches d'entrée-sortie à usage
commence par extraire une instruction de la mémoire d'instructions, puis il essaie de comprendre la signification de cette instruction général (GPIO) associées sur un microcontrôleur Raspberry Pi qui
et exécute ensuite l'instruction en conséquence. Il ne fait qu'une instruction à la fois. Cela signifie qu'un microcontrôleur est communique par conséquent avec le décodeur d'un FPGA. Une fois le
uniquement capable d'exécuter des instructions de manière séquentielle et qu'il a donc une limitation sur le nombre d'instructions traitement de l'image terminé, le FPGA envoie l'image de sortie à un
pouvant être traitées simultanément. D'autre part, les FPGA bénéficient de la possibilité d'exécuter plusieurs instructions écran d'ordinateur via un connecteur de matrice vidéo graphique (VGA).
simultanément. Ceci est pris en charge par la brillante architecture interne qui sépare différentes unités logiques au sein de la même La figure 3 montre le schéma fonctionnel du système. Étant donné
puce de sorte que chaque unité logique puisse fonctionner indépendamment. Par conséquent, deux unités logiques peuvent effectuer qu'un utilisateur doit accéder à l'application du serveur Web via
deux opérations entièrement différentes sans affecter le résultat de l'autre. Cette fonctionnalité FPGA peut être exploitée dans des l'adresse IP du R-Pi, l'application est basée sur l'IoT.
applications qui nécessitent un traitement parallèle des données. Par exemple, le traitement d'images est connu pour être l'une des

opérations les plus gourmandes en calculs. Un microcontrôleur ne peut parcourir que les pixels d'une image les uns après les autres,

alors que l'architecture des FPGA peut être exploitée pour diviser l'image en plusieurs sections indépendantes et affecter chaque

section à un groupe d'unités logiques différentes. De cette façon, le traitement des images sur les FPGA est beaucoup plus rapide par

rapport à l'alternative aux microcontrôleurs. deux unités logiques peuvent effectuer deux opérations entièrement différentes sans

affecter le résultat de l'autre. Cette fonctionnalité FPGA peut être exploitée dans des applications qui nécessitent un traitement

parallèle des données. Par exemple, le traitement d'images est connu pour être l'une des opérations les plus gourmandes en calculs.
Fig. 3. Schéma fonctionnel du système de l'interface R-Pi avec FPGA dans l'IoT
Un microcontrôleur ne peut parcourir que les pixels d'une image les uns après les autres, alors que l'architecture des FPGA peut être
candidature [5]
exploitée pour diviser l'image en plusieurs sections indépendantes et affecter chaque section à un groupe d'unités logiques

différentes. De cette façon, le traitement des images sur les FPGA est beaucoup plus rapide par rapport à l'alternative aux
En raison de la structure matérielle FPGA, [5] a mentionné qu'il y avait un temps d'exécution
microcontrôleurs. deux unités logiques peuvent effectuer deux opérations entièrement différentes sans affecter le résultat de l'autre.
réduit lorsque les opérations de traitement d'image lourdes étaient effectuées sur le FPGA par
Cette fonctionnalité FPGA peut être exploitée dans des applications qui nécessitent un traitement parallèle des données. Par exemple,
rapport au traitement basé sur un serveur Web. L'idée de découpler les capacités de traitement
le traitement d'images est connu pour être l'une des opérations les plus gourmandes en calculs. Un microcontrôleur ne peut parcourir
du FPGA de la couche physique des périphériques IoT et de la couche d'application des services
que les pixels d'une image les uns après les autres, alors que l'architecture des FPGA peut être exploitée pour diviser l'image en
Web constitue un moyen robuste d'effectuer des calculs complexes tout en améliorant le temps
plusieurs sections indépendantes et affecter chaque section à un groupe d'unités logiques différentes. De cette façon, le traitement
d'exécution et l'utilisation des ressources. De plus, un tel modèle permet à tout appareil IoT doté
des images sur les FPGA est beaucoup plus rapide par rapport à l'alternative aux microcontrôleurs. Par exemple, le traitement
de normes de communication, telles que l'USB largement utilisé, abréviation de Universal Serial
d'images est connu pour être l'une des opérations les plus gourmandes en calculs. Un microcontrôleur ne peut parcourir que les pixels d'une image les uns après les autres, alors que l'architecture des FPGA peut être exploitée pour diviser l'image en plusieurs sections indépendantes et affecter cha
Bus, de s'interfacer facilement avec une carte FPGA. De même, un autre avantage réside dans

En général, les FPGA ne nécessitent généralement l'efficacité du codage ; étant donné que toutes sortes de traitements complexes sont effectués sur

pas une horloge aussi rapide que les microcontrôleurs, la structure FPGA en utilisant le codage HDL, le dispositif IoT interfacé peut simplement utiliser un

car les FPGA sont de nature très rapide car ils langage de programmation de haut niveau tel que C, Python ou Java qui sont couramment utilisés

n'entraînent pas la surcharge des microcontrôleurs lors par les programmeurs. Cependant, il peut y avoir des inconvénients avec un tel modèle ; par

de l'exécution du code logiciel [11-14]. Contrairement exemple, l'interfaçage d'un appareil périphérique IoT nécessiterait que le FPGA soit physiquement

aux microcontrôleurs Raspberry Pi 3 et Particle Photon, à proximité, à condition que l'interface utilise une norme de communication filaire telle qu'un

le FPGA Xilinx VC707 peut exécuter des instructions en câble USB. Avec cette possibilité de limitation, la section suivante explore les applications récentes

parallèle, ce qui augmente encore sa vitesse. Si nous qui utilisent la structure FPGA intégrée avec un traitement softcore dans un seul appareil, un

devions comparer le VC707 et le Raspberry Pi 3 et système sur puce (SoC). à condition que l'interface utilise une norme de communication filaire

Particle Photon, nous constaterions que les FPGA offrent telle qu'un câble USB. Avec cette possibilité de limitation, la section suivante explore les

généralement un plus grand nombre de GPIO. Cela offre applications récentes qui utilisent la structure FPGA intégrée avec un traitement softcore dans un

un moyen plus flexible de conception de système du seul appareil, un système sur puce (SoC). à condition que l'interface utilise une norme de

point de vue de l'utilisateur. Les FPGA et les communication filaire telle qu'un câble USB. Avec cette possibilité de limitation, la section suivante

microcontrôleurs offrent à la fois une communication explore les applications récentes qui utilisent la structure FPGA intégrée avec un traitement

filaire et sans fil qui permet à l'utilisateur d'interfacer les softcore dans un seul appareil, un système sur puce (SoC).

appareils avec le monde extérieur. Néanmoins,

B. FPGA SoC compatible IoT


III. FPGA-BASED jeôATAPPLICATIONS
Maintenant que le document a établi des bases solides en discutant L'intégration d'un processeur autonome à l'architecture
des avantages et des inconvénients des FPGA par rapport aux ASIC et FPGA a permis à de nombreux chercheurs d'aller beaucoup
aux microcontrôleurs, en plus de l'architecture matérielle générale d'un plus loin dans leurs travaux dans les domaines d'application
FPGA, cette section présente quelques applications basées sur l'IoT qui des FPGA. La figure 4 montre un aperçu rapide du système
tirent parti de la structure du FPGA. Les applications discutées incluent avant et après l'intégration d'un processeur autonome avec
l'utilisation du FPGA en tant que périphérique de périphérie, le filtre de l'architecture FPGA. À l'heure actuelle, il n'y a que trois
couche réseau compatible FPGA pour les périphériques de périphérie et fournisseurs réputés de FPGA SoC sur le marché, à savoir
le FPGA SoC compatible IoT. Altera, Xilinx et Microsemi. Selon une courte littérature d'Altera,
les trois fabricants ont utilisé un système de processeur basé
A. FPGA en tant que périphérique de traitement de support sur ARM sur la puce [15]. Entre autres spécifications, certains
Une recherche intéressante dans le domaine a proposé une technique
ou tous ont des mémoires cache, de la RAM sur puce, une unité
robuste où le matériel FPGA est utilisé uniquement pour les opérations de
à virgule flottante et un certain nombre de périphériques de
traitement d'images et est interfacé avec un appareil basé sur l'IoT tel que
processeur. Le fait d'avoir le processeur et la structure FPGA
Raspberry Pi [5]. Avec une application de serveur Web exposée à l'utilisateur
sur la même puce de silicium réduit considérablement les coûts
via n'importe quel navigateur, un certain nombre de filtres d'image
de production et économise de l'espace sur la carte de circuit
spécifiques peuvent être sélectionnés par l'utilisateur. Codes pertinents pour
imprimé. Non seulement que,
consommation, diminue la latence de communication et augmente par opérations des algorithmes. Les résultats fournissent la preuve que
conséquent la bande passante. Avec les conceptions d'applications de l'implémentation matérielle utilisant Zynq a dépassé l'implémentation
nouvelle génération et les demandes des utilisateurs, ils auraient besoin de logicielle basée sur C par différents facteurs dans divers aspects de l'analyse.
la flexibilité matérielle et des fonctionnalités de gestion de processeur qu'un Par conséquent, cela montre que les appareils IoT fonctionnent très
FPGA SoC peut réellement fournir. Ensuite, cet article couvrira certaines efficacement lorsqu'ils sont implémentés avec une technologie
applications qui utilisent un dispositif SoC FPGA dans leur modèle reprogrammable comme les appareils SoC FPGA.
d'application proposé.

Fig. 4. Intégration d'un processeur autonome avec FPGA [15]

Selon [16], les appareils basés sur l'IoT communiquent à


l'aide d'une pile de protocoles en couches générique, comme le Fig. 5. Pile de communication IoT [16]
montre la figure 5. Cependant, en fonction des volumes de
données que ces appareils IoT envoient et/ou reçoivent, le L'un des sous-domaines les plus fréquemment discutés des applications
temps de traitement varie, et il incombe à un tel appareil IoT est le système de gestion et de distribution d'énergie du réseau
d'avoir une vitesse adéquate pour traiter toutes les données en intelligent. L'un de ses éléments est le compteur d'énergie intelligent et/ou le
temps réel. En règle générale, ces périphériques de périphérie système de contrôle. Les systèmes de compteurs d'énergie intelligents
ne sont pas équipés d'une grande puissance de traitement. typiques comprennent des interfaces d'équipement pour le contrôle et la
C'est là qu'intervient l'architecture d'un FPGA. SmartFusion2 de mesure de la puissance. Ces interfaces sont connectées à des composants
Microsemi, un dispositif FPGA SoC, fournit la capacité de matériels tels qu'une unité de contrôleur de puissance et une unité de
traitement nécessaire pour essentiellement transmettre des mesure de puissance. Les interfaces et les unités matérielles nécessitent un
données à d'autres dispositifs sur une plate-forme basée sur système et un contrôleur d'interface qui sont en outre connectés à d'autres
l'IoT [16]. L'utilisation des structures FPGA peut réduire composants matériels tels qu'une unité de réseau sans fil pour transmettre
considérablement le temps d'exécution des opérations de et recevoir des données, et une unité d'alimentation. En plus de la
communication impliquées dans la pile de protocoles de configuration de base d'un système de compteur d'énergie intelligent, il
communication IoT. Cette application, contrairement à [5], existe des exigences de sécurité qui doivent être respectées afin de protéger
le système contre les intrusions, le reniflage de paquets et d'autres attaques.
Afin de mettre en œuvre ce modèle de base d'un compteur d'énergie
L'énorme puissance de traitement apportée par le matériel FPGA peut faire bien plus que l'exécution
intelligent, un article de Microsemi, l'un des fournisseurs populaires de FPGA
d'opérations de communication. Par exemple, la sécurisation des appareils IoT nécessite la mise en œuvre
SoC, a proposé une conception utilisant le FPGA SoC SmartFusion2 [18]. La
d'algorithmes cryptographiques très coûteux en calcul. Non seulement cela, pour des raisons de sécurité, ces
figure 6 représente une conception bien illustrée du système proposé.
algorithmes doivent être mis à jour fréquemment. L'utilisation d'une implémentation matérielle personnalisée

nécessite de modifier partiellement ou même complètement les composants matériels, ce qui peut être

économiquement coûteux et prendre du temps. Pour cela, [17] a proposé une conception SoC basée sur FPGA qui peut

répondre aux besoins susmentionnés et résoudre les problèmes. En utilisant le FPGA Zynq de Xilinx, un SoC

programmable, ainsi que deux cœurs ARM, l'article présente une configuration expérimentale ainsi que des résultats

graphiques qui montrent une comparaison entre une implémentation logicielle utilisant la programmation C et

l'implémentation matérielle utilisant le FPGA Zynq. La mise en œuvre consiste en la synthèse de crypto-moteurs pour

les algorithmes suivants ; Advanced Encryption Standard (AES), Data Encryption Standard (DES), Rivest & Shamir &

Adleman (RSA) et Secure Hash Algorithm (SHA). Chacune des fonctions a également sa contrepartie logicielle à des fins

d'évaluation. Les crypto-moteurs sont mappés sur la carte qui abrite le SoC FPGA ou Zynq. Ensuite, Zhou et al. effectuer

des analyses sur le temps de traitement, la consommation d'énergie et des comparaisons d'énergie pour le cryptage et

le décryptage La mise en œuvre consiste en la synthèse de crypto-moteurs pour les algorithmes suivants ; Advanced

Encryption Standard (AES), Data Encryption Standard (DES), Rivest & Shamir & Adleman (RSA) et Secure Hash Algorithm
Fig. 6. Conception proposée du système de compteur d'énergie intelligent [18]
(SHA). Chacune des fonctions a également sa contrepartie logicielle à des fins d'évaluation. Les crypto-moteurs sont

mappés sur la carte qui abrite le SoC FPGA ou Zynq. Ensuite, Zhou et al. effectuer des analyses sur le temps de L'utilisation de la conception proposée sur la figure 6 présente de
traitement, la consommation d'énergie et des comparaisons d'énergie pour le cryptage et le décryptage La mise en nombreux avantages et l'un d'entre eux est la mise en œuvre du
œuvre consiste en la synthèse de crypto-moteurs pour les algorithmes suivants ; Advanced Encryption Standard (AES), contrôleur de puissance et du compteur de puissance avec la structure
Data Encryption Standard (DES), Rivest & Shamir & Adleman (RSA) et Secure Hash Algorithm (SHA). Chacune des FPGA en utilisant seulement quelques machines à états [18]. Bien que
fonctions a également sa contrepartie logicielle à des fins d'évaluation. Les crypto-moteurs sont mappés sur la carte qui l'intégration de ces deux composants dans la structure permet des
abrite le SoC FPGA ou Zynq. Ensuite, Zhou et al. effectuer des analyses sur le temps de traitement, la consommation calculs et des opérations plus rapides, ils simplifient également la
d'énergie et des comparaisons d'énergie pour le cryptage et le décryptage production en étant intégrés sur une seule puce.
Le principal avantage réside peut-être dans les aspects de sécurité du système. En utilisant un seul appareil pour les fonctions IV. PROPOSÉ CONCEPTUEL MODEL POUR FPGA COMME UN
de mesure et de contrôle du système de compteur d'énergie intelligent, les protections physiques et cybernétiques deviennent plus EDGE réEVICE
simples à réaliser. En termes de sécurité physique, la protection devient plus facile car un seul appareil peut être concentré pour la
L'une des formes de divertissement les plus consommées à notre
protection contre le clonage par ingénierie inverse et les attaques [18]. La maintenance serait plus compliquée si le système se
époque est le streaming vidéo. Des millions de personnes diffusent des
composait de plusieurs composants matériels au lieu d'un seul périphérique SoC. En ce qui concerne la cybersécurité, l'appareil ne
vidéos chaque jour à partir de services de streaming. Il existe un grand
nécessite qu'un seul jeu de clés et les algorithmes nécessaires pour que l'unité SoC unique protège les données stockées dans la
nombre de fournisseurs de services en ligne qui fournissent ces services de
mémoire du système et les données transmises et reçues. Par ailleurs, SmartFusion2 SoC FPGA dispose d'une technologie de stockage
streaming aux utilisateurs finaux. Cependant, une vidéo typique peut exister
spéciale pour la configuration des éléments de structure qui met tout attaquant dans une situation très difficile et incapable de rétro-
dans plusieurs formats vidéo. De plus, tous les appareils de streaming ne
concevoir un point de départ pour les algorithmes de sécurité utilisés. De plus, le dispositif SoC FPGA utilise des flux de bits cryptés et
prennent pas en charge tous les formats ; par exemple, certains
d'autres algorithmes de chargement de clés robustes basés sur la cryptographie qui garantissent l'immunité contre le reniflage de
smartphones ne prennent pas en charge la norme vidéo H.265 ou HEVC [20].
données et d'autres attaques de ce type. L'article va plus loin pour mettre en évidence la sécurité de l'appareil en mentionnant que les
Avec la possibilité d'avoir différents formats vidéo, une vidéo source d'entrée
FPGA SoC SmartFusion2 peuvent agir comme la racine de confiance matérielle (RoT). Un RoT matériel est considéré comme le
peut différer d'une vidéo de sortie, un scénario qui se produit généralement
composant le plus sécurisé d'un système qui détient des clés de sécurité et des algorithmes critiques pour la protection. Un autre
lorsque la vidéo brute est capturée et codée dans un format et que le
avantage important est la capacité de mises à jour autonomes à distance de l'appareil. Étant donné que la puce prend en charge la
fournisseur de services de streaming convertit la vidéo codée dans un autre
communication sans fil, les mises à jour à distance peuvent être envoyées en toute sécurité sur le réseau via le flux binaire crypté pour
format pour son consommateurs. Cette conversion est connue sous le nom
configurer la structure FPGA. Enfin, la structure FPGA peut être utilisée pour mettre en œuvre des circuits de détection d'effraction. Les
de transcodage. Le transcodage vidéo implique la modification dynamique
circuits de détection d'effraction possèdent la capacité de déterminer si la conception ou la puce fait l'objet d'attaques matérielles.
des paramètres de codage de telle sorte qu'il fournisse une hétérogénéité
Dans le cas d'une telle attaque, une action appelée mise à zéro se produit qui est essentiellement l'effacement des paramètres
des systèmes d'extrémité et que le format vidéo devienne portable parmi de
sensibles dans l'appareil pour empêcher l'accès non autorisé et la divulgation de données secrètes. En garantissant un niveau de
nombreux autres avantages. Heureusement, il existe de nombreuses
sécurité avancé contre une variété de menaces physiques et cybernétiques, et en se combinant avec les autres avantages, un FPGA
entreprises basées sur le cloud qui peuvent fournir des services de
SoC devient un choix idéal pour les applications intelligentes basées sur l'IoT. la structure FPGA peut être utilisée pour mettre en
transcodage en temps réel tels que Wowza [21].
œuvre des circuits de détection d'effraction. Les circuits de détection d'effraction possèdent la capacité de déterminer si la conception

ou la puce fait l'objet d'attaques matérielles. Dans le cas d'une telle attaque, une action appelée mise à zéro se produit qui est Par souci de simplicité, considérons un exemple où un
essentiellement l'effacement des paramètres sensibles dans l'appareil pour empêcher l'accès non autorisé et la divulgation de Raspberry Pi, un appareil périphérique IoT, est en fonctionnement
données secrètes. En garantissant un niveau de sécurité avancé contre une variété de menaces physiques et cybernétiques, et en se pour capturer une vidéo en direct dans un système de maison
combinant avec les autres avantages, un FPGA SoC devient un choix idéal pour les applications intelligentes basées sur l'IoT. la intelligente à des fins de sécurité. Les données brutes de sa
structure FPGA peut être utilisée pour mettre en œuvre des circuits de détection d'effraction. Les circuits de détection d'effraction capture sont encodées dans une vidéo au format H.264 avant de
possèdent la capacité de déterminer si la conception ou la puce fait l'objet d'attaques matérielles. Dans le cas d'une telle attaque, une les transmettre au courtier en nuage de transcodage vidéo comme
action appelée mise à zéro se produit qui est essentiellement l'effacement des paramètres sensibles dans l'appareil pour empêcher Wowza et aux fournisseurs de services. Cette vidéo est ensuite
l'accès non autorisé et la divulgation de données secrètes. En garantissant un niveau de sécurité avancé contre une variété de transcodée en plusieurs autres formats, dont l'un peut être
menaces physiques et cybernétiques, et en se combinant avec les autres avantages, un FPGA SoC devient un choix idéal pour les MPEG-4. La vidéo transcodée est mise à disposition sur Internet
applications intelligentes basées sur l'IoT. une action appelée mise à zéro se produit et consiste essentiellement en l'effacement de pour être diffusée par le propriétaire de la maison. Supposons
paramètres sensibles dans l'appareil pour empêcher l'accès non autorisé et la divulgation de données secrètes. En garantissant un qu'un utilisateur final tente de diffuser cette vidéo à partir d'un
niveau de sécurité avancé contre une variété de menaces physiques et cybernétiques, et en se combinant avec les autres avantages, smartphone doté du codec vidéo pour les médias MPEG-4.
un FPGA SoC devient un choix idéal pour les applications intelligentes basées sur l'IoT. une action appelée mise à zéro se produit et L'utilisateur doit simplement connecter le téléphone à Internet et
consiste essentiellement en l'effacement de paramètres sensibles dans l'appareil pour empêcher l'accès non autorisé et la divulgation diffuser à partir de l'adresse IP qui peut être hébergée directement
de données secrètes. En garantissant un niveau de sécurité avancé contre une variété de menaces physiques et cybernétiques, et en par le courtier de transcodage ou un service de streaming vidéo.
se combinant avec les autres avantages, un FPGA SoC devient un choix idéal pour les applications intelligentes basées sur l'IoT. Figure.

Bien que cette recherche n'ait couvert qu'une fraction des applications
proposées dans la littérature, il existe d'innombrables travaux de recherche
effectués et en cours sur les FPGA SoC et l'étendue de leurs capacités. Le site
Web officiel de Microsemi propose une large gamme d'applications et leurs
conceptions suggérées pour aider à accélérer les recherches dans le
domaine [19]. Les domaines d'application comprennent, sans s'y limiter, les
réseaux d'accès qui doivent être évolutifs, gérables et nécessitent des
systèmes de synchronisation, des solutions d'enregistrement vidéo de
diffusion qui nécessitent un traitement en temps réel lourd, des réseaux de
communication qui doivent fournir une meilleure couverture pour le cloud
computing et le streaming multimédia pour un grand nombre de
Fig. 7. Transcodage vidéo à l'aide d'un courtier cloud
consommateurs, la protection des données et la sécurité des réseaux
sensibles dans les grandes entreprises, la défense militaire qui impose un
Il faut noter que le transcodage vidéo est une opération de calcul
système capable de traitement du signal élevé et d'opérations de
complexe et lourde et, pour cette raison, il n'est généralement effectué
chronométrage précises, le diagnostic et la surveillance médicaux qui
sur aucun périphérique périphérique. Dans notre exemple, le
nécessitent la précision des données, des solutions de système de stockage
transcodage est effectué par un courtier cloud tiers où il utilise des
et, enfin et surtout, des applications intelligentes qui nécessitent une
ressources cloud pour faire le travail. Bien que les plateformes cloud
puissance de traitement énorme, entre autres fonctionnalités. Toutes ces
incluent des techniques d'optimisation pour accélérer les différents
exigences peuvent être satisfaites par l'utilisation d'un FPGA en raison de son
processus qu'elles exécutent, elles seront très certainement plus lentes
architecture matérielle, ce qui lui confère la puissance ultime de
par rapport à une implémentation matérielle des mêmes processus. De
reprogrammabilité matérielle.
plus, la vidéo encodée du R-Pi nécessite une quantité considérable de
bande passante réseau pour
envoyer la vidéo au courtier cloud. La sécurité des données encodées [3] R. Karam, T. Hoque, S. Ray, M. Tehranipoor et S. Bhunia, « Protection robuste du flux
de bits dans les systèmes basés sur FPGA par le biais de l'obscurcissement à faible
entre R-Pi et le courtier cloud peut être un autre problème puisque le
surcharge » Conférence internationale sur l'informatique ReConFigurable et les
courtier peut, au mieux, assurer la sécurité des données uniquement FPGA (ReConFig), Cancun, 2016, p. 1-8.
entre lui-même et le fournisseur de services de streaming. Afin
[4] A. Putnam, J. Gray, M. Haselman, S. Hauck, S. Heil, A. Hormati, J. Kim,
d'atténuer voire d'éliminer ces problèmes, nous suggérons une S. Lanka, J. Larus, E. Peterson, S. Pope, AM Caulfield, A. Smith, J.
implémentation matérielle du transcodage vidéo à l'aide d'un FPGA Thong, PY Xiao, D. Burger, ES Chung, D. Chiou, K. Constantir, J.
SoC. En d'autres termes, le R-Pi enverrait la vidéo codée à un appareil Demme, H. Esmaeilzadeh, J. Fowers et GP Gopal, « A
SoC FPGA au lieu d'un courtier en nuage et SmartFusion2 de Microsemi Reconfigurable Fabric for Accelerating Large-Scale Services de
centre de données. Communication de l'ACM, vol. 59, non. 11,
est une sélection idéale comme appareil SoC FPGA. L'utilisation de cette 2016, p. 114-122.
conception améliore non seulement le temps d'exécution du processus
[5] A. Rupani, P. Whig, G. Sujediya et P. Vyas, "Une technique robuste pour le
de transcodage vidéo, mais augmente également l'aspect de la sécurité traitement d'images basée sur l'interfaçage de Raspberry-Pi et FPGA utilisant
des données, grâce aux flux binaires cryptés de SmartFusion2 qui l'IoT," Conférence internationale sur l'informatique, les communications et
peuvent être facilement mis en œuvre. Avoir le SoC FPGA connecté à un l'électronique (Comptelix), Jaipur, 2017, p. 350-353.
module de communication sans fil, il peut transmettre la vidéo [6] S. Dhote, P. Charjan, A. Phansekar, A. Hegde, S. Joshi et J. Joshi, "Utilisation de
transcodée à un fournisseur de services de streaming vidéo en l'interface FPGA-SoC pour le traitement d'images à faible coût basé sur l'IoT,"
Conférence internationale sur les progrès de l'informatique, des communications
douceur. De plus, étant donné que le SoC FPGA prend en charge les
et de l'informatique (ICACCI), Jaipur, 2016, p. 1963-1968.
normes de communication filaire, il peut être attaché et connecté
[7] M. Rao, J. Coleman et T. Newe, "Un noyau ESP IPSec reconfigurable basé
localement et en toute sécurité au R-Pi lui-même afin que les données sur FPGA adapté aux applications IoT," 10e Conférence internationale
codées puissent être transcodées en temps réel sans mettre en sur la technologie de détection (STIC), Nankin, 2016, p. 1-5.
mémoire tampon une grande partie des données. La figure 8 montre la [8] M. Rao, T. Newe, I. Grout, E. Lewis et A. Mathur, « Core IPSec
conception proposée de notre discussion utilisant un FPGA SoC au lieu reconfigurable basé sur FPGA adapté aux applications IoT » Conférence
d'un courtier en nuage pour le transcodage vidéo. internationale IEEE sur l'informatique et les technologies de
l'information ; Informatique et communications omniprésentes ;
Informatique fiable, autonome et sécurisée ; Intelligence omniprésente
et informatique, Liverpool, 2015, p. 2212-2216.
[9] T. Gomes, S. Pinto, T. Gomes, A. Tavares et J. Cabral, "Vers un périphérique de
périphérie basé sur FPGA pour l'Internet des objets," 20e conférence de
l'IEEE sur les technologies émergentes et l'automatisation d'usine (ETFA),
Luxembourg, 2015, p. 1-4.
[10] "Intel rachète Altera pour 16,7 milliards de dollars alors que les fabricants de puces
se consolident", CNET, 2018. [En ligne]. Disponible : https://www.cnet.com/news/
intel-to-buyaltera-for-16-7b. [Consulté : 01 mai 2018].
[11] Xilinx.com, 2019. [En ligne]. Disponible : https://www.xilinx.com/support/
documentation/boards_and_kits/vc707/ug885_VC707_Eval_Bd.pdf.

[12] "Raspberry Pi peut désormais se connecter à Particle IoT Cloud - Raspberry Pi


Forums", Raspberrypi.org, 2018. [En ligne]. Disponible : https://
Fig. 8. Transcodage vidéo à l'aide d'un FPGA SoC www.raspberrypi.org/forums/viewtopic.php?t=164739.
[13] "Particule", Docs.particle.io, 2018. [En ligne]. Disponible : https://
V. CINCLUSION docs.particle.io/datasheets/photon-(wifi)/photon-datasheet/.
[14] Raspberrypi.org, 2018. [En ligne]. Disponible : https://
Même si les FPGA sont insuffisants dans un certain
static.raspberrypi.org/files/product-briefs/Raspberry-Pi-Model-Bplus-
nombre d'aspects par rapport aux microcontrôleurs, leur Product-Brief.pdf.
capacité de traitement parallèle leur donne toujours un [15] "Qu'est-ce qu'un SoC FPGA", Altera, 2018. [En ligne]. Disponible : https://
avantage sur les microcontrôleurs, ce qui les rend plus www.altera.com/en_US/pdfs/literature/ab/ab1_soc_fpga.pdf.
rapides et plus efficaces dans l'exécution de processus [16] H. Qi, O. Ayorinde et BH Calhoun, "Un FPGA ultra-basse consommation pour
lourds tels que le traitement d'images. En raison de leurs les applications IoT," IEEE SOI-3D-Subthreshold Microelectronics Technology
caractéristiques remarquables, ils sont fortement explorés Unified Conference (S3S), Burlingame, Californie, 2017, p. 1-3.
dans les domaines d'application IoT tels que la sécurité IoT, [17] B. Zhou, M. Egele et A. Joshi, "Implémentation haute performance basse
l'interfaçage avec d'autres appareils IoT pour le traitement énergie d'algorithmes cryptographiques sur un SoC programmable pour
appareils IoT", Conférence IEEE High Performance Extreme Computing
d'images, etc. De plus, la fusion de la structure FPGA avec (HPEC), Waltham, MA, 2017, p. 1-6.
des processeurs autonomes sur un seul appareil SoC a
[18] "Conception d'un système de comptage et de contrôle d'énergie intelligent sécurisé",
incité les experts du domaine à modifier les conceptions Microsemi, 2018. [En ligne]. Disponible : https://www.microsemai.com/document-
existantes avec les SoC en tant que tels. Outre leur petite portal/doc_view/132839-design-of-a-secure-smart-energy-metering-and-control-
taille et leur très faible poids, les FPGA SoC sont hautement system.

sécurisés. Explorer les fonctionnalités du dispositif FPGA [19] "Applications en vedette pour FPGA et SoC", Microsemi, 2018. [En ligne].
SmartFusion2 SoC de Microsemi, Disponible : https://www.microsemi.com/product-directory/1636-
fpgasoc#applications.
RÉFÉRENCES [20] T. Schiesser, "Guide d'encodage et de lecture HEVC/H.265",TechSpot,
2018. [En ligne]. Disponible : https://www.techspot.com/article/1131-
[1] P. Alfke, "20 ans d'évolution du FPGA de la logique de la colle au composant
hevc-h256-enconding-playback/.
principal du système," Symposium IEEE Hot Chips 19 (HCS), Stanford,
Californie, 2007, p. 1-19. [21] "Transcoder les flux en direct",Wowza, [En ligne]. Disponible:
https://www.wowza.com/docs/wowza-transcoder. [Consulté :
[2] Maxfield, Clive. Le guide Design Warriors des FPGA : appareils, outils 5 mai-2018].
et flux. Newnes, 2011.

Vous aimerez peut-être aussi