L'objectif de ce cours est d'acquérir des compétences avec les Field Programmable Gate Arrays (FPGA) dans le but de créer des prototypes ou des produits pour une variété d'applications. Bien que la conception de FPGA puisse être un sujet complexe, nous l'introduirons de manière à ce que, avec un peu d'effort, les concepts de base soient facilement assimilés, tout en fournissant un défi pour les concepteurs plus expérimentés. Nous explorerons les complexités, les capacités et les tendances des réseaux de portes programmables (FPGA) et des dispositifs logiques programmables complexes (CPLD). Les compétences en matière de conception, de design, d'implémentation et de débogage seront mises en pratique. Nous apprendrons les spécificités de la propriété intellectuelle intégrée et des cœurs de processeur, y compris les compromis entre l'implémentation et l'acquisition de la propriété intellectuelle. Les projets impliqueront les derniers outils de développement logiciel et FPGA et les plates-formes matérielles pour aider à développer une large perspective des capacités des différentes solutions SoC programmables. Les sujets abordés sont les suivants :
Verilog, VHDL, et conception RTL pour les architectures FPGA et CPLD
Flux d'outils de développement FPGA : spécifier, synthétiser, simuler, compiler, programmer et déboguer
Processeurs embarqués configurables et logiciels embarqués
Utilisation de processeurs soft-core et hard-core et options OS
Ingénierie des systèmes FPGA, intégration logiciel-matériel et tests
Développement de la propriété intellectuelle et intégration de la propriété intellectuelle de tiers
Le cours de synthèse donnera à l'apprenant l'occasion de pratiquer et de mettre en œuvre les concepts couverts en construisant des systèmes FPGA basés sur des cartes d'évaluation à faible coût.
Projet d'apprentissage appliqué
Les apprenants s'entraîneront à construire et à tester plusieurs projets FPGA en utilisant les outils de développement de matériel FPGA standard de l'industrie et en appliquant des compétences telles que le codage VHDL et Verilog, la synthèse et la simulation de logique programmable, l'analyse statique de la synchronisation et la programmation de dispositifs FPGA. Le point culminant de ces efforts sera la construction d'un système de processeur softcore configurable sur une puce en utilisant la carte d'évaluation DE10-Lite.