Ce cours s'adresse à toute personne désireuse d'apprendre comment un composant matériel peut être adapté en cours d'exécution pour mieux répondre aux besoins de l'utilisateur ou de l'environnement. Cette adaptation peut être fournie par les concepteurs, ou peut être une caractéristique intégrée du système lui-même. Ces systèmes adaptables en cours d'exécution seront mis en œuvre en utilisant les technologies FPGA. Dans ce cours, nous allons fournir une compréhension de base du fonctionnement des FPGA et du raisonnement derrière le choix de ces derniers pour mettre en œuvre un système désiré. Ce cours vise à enseigner à tout le monde les bases des systèmes informatiques reconfigurables basés sur les FPGA. Nous couvrons les bases de la décision d'utiliser ou non un FPGA et, si cette technologie s'avère être le bon choix, comment la programmer. Il s'agit d'un cours d'introduction destiné à vous guider dans le monde des FPGA afin de vous rendre plus conscient des raisons pour lesquelles vous pourriez vouloir travailler avec eux et en essayant de vous donner le sens du travail que vous devez faire pour être en mesure d'obtenir les avantages que vous recherchez en utilisant ces technologies. Nous nous appuyons sur quelques lectures supplémentaires pour fournir plus d'informations sur le sujet couvert dans ce cours.
Systèmes informatiques FPGA : Connaissances de base et matériel d'introduction
Instructeur : Marco Domenico Santambrogio
16 589 déjà inscrits
Inclus avec
(243 avis)
Ce que vous apprendrez
Comment un composant matériel peut être adapté en cours d'exécution pour mieux répondre aux besoins des utilisateurs/de l'environnement à l'aide de FPGA
Détails à connaître
Ajouter à votre profil LinkedIn
19 devoirs
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées
Obtenez un certificat professionnel
Ajoutez cette qualification à votre profil LinkedIn ou à votre CV
Partagez-le sur les réseaux sociaux et dans votre évaluation de performance
Il y a 8 modules dans ce cours
De nos jours, la complexité des systèmes informatiques monte en flèche. Les programmeurs doivent faire face à des systèmes informatiques extrêmement puissants qui nécessitent du temps et des compétences considérables pour être configurés de manière à fonctionner au mieux. Il est clair qu'il n'est pas possible de compter sur l'intervention humaine pour régler un système : les conditions changent fréquemment, rapidement et de manière imprévisible. Il serait souhaitable que le système s'adapte automatiquement à l'environnement en mutation. Ce module analyse le problème énoncé, adopte une approche radicalement nouvelle et présente la manière dont les systèmes logiciels et matériels peuvent être ajustés pendant l'exécution. Pour ce faire, nous allons présenter les technologies FPGA (Field Programmable Gate Arrays) et la manière dont elles peuvent être (re)configurées.
Inclus
7 vidéos5 lectures5 devoirs
Traditionnellement, l'informatique a été classée en deux catégories : l'informatique à usage général, réalisée par un processeur à usage général (GPP), et l'informatique spécifique à une application, réalisée par un circuit intégré spécifique à une application (ASIC). En tant que compromis entre les deux caractéristiques extrêmes du GPP et de l'ASIC, l'informatique reconfigurable a combiné les avantages des deux. D'une part, l'informatique reconfigurable peut être plus performante qu'une implémentation logicielle, mais cela se paie en termes de temps de mise en œuvre. D'autre part, un dispositif reconfigurable peut être utilisé pour concevoir un système sans nécessiter le même temps de conception et la même complexité qu'une solution entièrement personnalisée, mais en étant moins performant. Le principal avantage d'un système reconfigurable est sa grande flexibilité, tandis que son principal inconvénient est l'absence d'un modèle informatique standard. Dans ce module, nous présentons une première définition de l'informatique reconfigurable, nous décrivons la logique qui la sous-tend et nous introduisons la manière dont ce domaine a été influencé par l'introduction des FPGA.
Inclus
5 vidéos4 lectures2 devoirs
Depuis le milieu des années 1980, l'informatique reconfigurable est devenue un domaine populaire grâce aux progrès de la technologie FPGA. Un FPGA est un dispositif semi-conducteur contenant des composants logiques programmables et des interconnexions programmables, mais pas de récupération d'instructions au moment de l'exécution, c'est-à-dire que les FPGA n'ont pas de compteur de programme. Dans la plupart des FPGA, les composants logiques peuvent être programmés pour reproduire la fonctionnalité des portes logiques de base ou des propriétés intellectuelles (IP) fonctionnelles. Les FPGA comprennent également des éléments de mémoire composés de simples bascules ou de blocs de mémoire plus complexes. Ainsi, les FPGA ont rendu possible l'exécution et la configuration dynamiques du matériel et du logiciel sur une seule puce. Ce module fournit une description détaillée des technologies FPGA, depuis une description générale jusqu'à la discussion sur les détails de configuration de bas niveau de ces dispositifs, en passant par la composition du flux binaire et la description des registres de configuration.
Inclus
8 vidéos3 lectures2 devoirs
Les outils de conception FPGA doivent fournir un environnement de conception basé sur des concepts et des composants numériques (portes, bascules, MUX, etc.). Ils doivent cacher à l'utilisateur les complexités du placement, du routage et de la génération de flux binaires. Ce module n'aborde pas ces étapes en détail, un cours entier sera nécessaire pour cela, mais il est important d'avoir au moins une idée de ce qui se passe derrière la scène pour mieux comprendre la complexité des processus réalisés par les outils que vous allez utiliser. Dans ce contexte, ce module vous guide à travers un exemple simple, qui abstrait la complexité du FPGA sous-jacent, en commençant par la description du circuit que vous souhaitez implémenter jusqu'au flux binaire utilisé pour configurer le FPGA.
Inclus
6 vidéos2 devoirs
Avant de poursuivre ce formidable voyage dans le domaine de l'informatique reconfigurable, il peut être utile de définir un langage commun. De toute évidence, certains de ces termes ont déjà été utilisés, mais il est temps de mieux les comprendre et d'y mettre un peu d'ordre avant d'aborder des concepts plus avancés. En outre, comme nous le savons, les capacités de configuration des FPGA permettent une grande flexibilité dans la conception du matériel et, par conséquent, elles rendent possible la création d'un grand nombre de systèmes reconfigurables différents. Il peut s'agir de systèmes composés de cartes personnalisées avec FPGA, souvent connectées à un PC ou à une station de travail standard, de systèmes autonomes comprenant une logique reconfigurable et des processeurs généraux, ou encore de systèmes sur puce, entièrement mis en œuvre dans un seul FPGA monté sur une carte, avec seulement quelques composants physiques pour l'interface E/S. Il existe différents modèles de reconfiguration, qui peuvent être mis en œuvre dans des environnements différents. Il existe différents modèles de reconfiguration, et un schéma de classification est présenté dans ce module. Nous pouvons considérer ce module comme un module de transition. Nous avons été exposés à une certaine terminologie et à certains concepts et nous sommes maintenant prêts à aller de l'avant. Pour ce faire, nous devons combiner toutes les pièces du puzzle et nous investir un peu dans l'examen de l'image globale, et c'est exactement ce pour quoi ce module a été conçu.
Inclus
5 vidéos2 lectures2 devoirs
Les capacités de reconfiguration des FPGA offrent aux concepteurs une grande souplesse en termes de maintenabilité du matériel. Les FPGA peuvent modifier les fonctionnalités matérielles qui leur sont attribuées en mettant l'application hors ligne, en téléchargeant une nouvelle configuration sur le FPGA (et éventuellement un nouveau logiciel pour le processeur, le cas échéant) et en redémarrant le système. Dans ce cas, la reconfiguration est un processus indépendant de l'exécution de l'application. Une approche différente est celle qui considère la reconfiguration du FPGA comme faisant partie de l'application elle-même, lui donnant la capacité d'adapter le matériel configuré sur les ressources de la puce en fonction des besoins d'une situation particulière pendant le temps d'exécution. Dans ce cas, nous parlons de reconfiguration dynamique et le processus de reconfiguration est considéré comme faisant partie de l'exécution de l'application, et non comme une étape préalable. Ce module illustre une technique particulière, qui prolonge les deux précédentes et qui est viable pour la plupart des dispositifs FPGA récents, la reconfiguration dynamique partielle. Pour bien comprendre cette technique, il faut analyser les concepts de l'informatique reconfigurable, de la reconfiguration statique et dynamique, ainsi que la taxonomie de la reconfiguration dynamique elle-même. De cette manière, la reconfiguration dynamique partielle peut être correctement placée dans l'ensemble des techniques de développement de systèmes qu'il est possible de mettre en œuvre sur une puce FPGA moderne.
Inclus
8 vidéos4 lectures2 devoirs
Après avoir présenté les différentes solutions proposées pour concevoir et mettre en œuvre des systèmes reconfigurables dynamiques, ce module décrira une méthodologie de conception générale et complète qui peut être suivie comme ligne directrice pour la conception de systèmes informatiques reconfigurables. Pour concevoir et mettre en œuvre un système informatique reconfigurable, les concepteurs ont besoin d'outils de conception assistée par ordinateur (CAO) pour la conception et la mise en œuvre du système, tels qu'un outil d'analyse de la conception pour la conception de l'architecture, un outil de synthèse pour la construction du matériel, un simulateur pour la simulation du comportement du matériel et un outil de placement et de routage pour la disposition des circuits. Nous pouvons construire ces outils nous-mêmes ou utiliser des outils et des plateformes commerciales pour la conception de systèmes reconfigurables. Le premier choix implique un investissement considérable en termes de temps et d'efforts pour construire une solution spécifique et optimisée pour le problème donné, tandis que le second permet de réutiliser les connaissances, les noyaux et les logiciels pour parvenir plus rapidement à une bonne solution au même problème. Ce module guide les étudiants à travers une vue historique de la façon dont les cadres de CAO ont évolué au fil des ans. Ceci est fait pour montrer la rapidité avec laquelle la technologie évolue et le raisonnement derrière le choix fait pour améliorer l'expérience de l'utilisateur lorsqu'il travaille avec un système basé sur un FPGA. Ce ne sont pas seulement les outils commerciaux qui sont décrits, mais aussi le parcours personnel de l'instructeur du cours et de son équipe de recherche, depuis ses débuts en tant que doctorant jusqu'aux défis de recherche sur lesquels ils travaillent aujourd'hui.
Inclus
9 vidéos7 lectures3 devoirs
Nous travaillons à la pointe de la recherche dans le domaine de l'informatique reconfigurable. Les technologies FPGA ne sont pas seulement utilisées comme des solutions/plateformes autonomes, mais sont désormais incluses dans les infrastructures en nuage. Elles sont désormais utilisées à la fois pour accélérer les calculs de l'infrastructure/du backend et exposées en tant que service pouvant être utilisé par n'importe qui. Dans ce contexte, nous sommes confrontés à la définition de nouvelles opportunités de recherche et d'amélioration des technologies, et le moment ne peut être mieux choisi dans cette perspective. Ce dont nous avons besoin aujourd'hui, c'est de nouveaux outils de création de plateformes, d'infrastructures de surveillance et de profilage, de meilleurs systèmes de gestion de l'exécution, de partitionnement statique et dynamique de la charge de travail, pour ne citer que quelques domaines de recherche possibles. Ce module conclut ce cours mais pose des questions intéressantes vers des directions de recherche futures possibles qui peuvent également orienter les étudiants vers d'autres cours Coursera sur les FPGA.
Inclus
1 vidéo3 lectures1 devoir
Instructeur
Offert par
Recommandé si vous êtes intéressé(e) par Conception et produit
University of California, Santa Cruz
Princeton University
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Avis des étudiants
243 avis
- 5 stars
72,83 %
- 4 stars
21,39 %
- 3 stars
2,46 %
- 2 stars
1,23 %
- 1 star
2,05 %
Affichage de 3 sur 243
Révisé le 2 janv. 2019
Perfect course for anyone interested in knowing more about FPGA internals and heterogeneous computing. Thanks for this clear and perfect course and for all the staff efforts.
Révisé le 24 mai 2020
Very interesting course, will definitely look into follow-up courses
Révisé le 12 févr. 2021
Perfect course for any one intersted in knowing more about FPGA internals and computing, SOC and ASIC concepts in FPGA. Thanks for this clear and perfect course. Thanks a lot to the professor.
Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.
Faites progresser votre carrière avec un diplôme en ligne
Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne
Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires
Améliorez les compétences de vos employés pour exceller dans l’économie numérique
Foire Aux Questions
L'accès aux cours et aux devoirs dépend de votre type d'inscription. Si vous suivez un cours en mode audit, vous pourrez consulter gratuitement la plupart des supports de cours. Pour accéder aux devoirs notés et obtenir un certificat, vous devrez acheter l'expérience de certificat, pendant ou après votre audit. Si vous ne voyez pas l'option d'audit :
Il se peut que le cours ne propose pas d'option d'audit. Vous pouvez essayer un essai gratuit ou demander une aide financière.
Le cours peut proposer l'option "Cours complet, pas de certificat" à la place. Cette option vous permet de consulter tous les supports de cours, de soumettre les évaluations requises et d'obtenir une note finale. Cela signifie également que vous ne pourrez pas acheter un certificat d'expérience.
Lorsque vous vous inscrivez au cours, vous avez accès à tous les cours de la Specializations, et vous obtenez un certificat lorsque vous terminez le travail. Votre certificat électronique sera ajouté à votre page de réalisations - de là, vous pouvez imprimer votre certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez uniquement lire et visualiser le contenu du cours, vous pouvez auditer le cours gratuitement.
Si vous vous êtes abonné, vous bénéficiez d'une période d'essai gratuite de 7 jours pendant laquelle vous pouvez annuler votre abonnement sans pénalité. Après cette période, nous ne remboursons pas, mais vous pouvez résilier votre abonnement à tout moment. Consultez notre politique de remboursement complète.