Optimisation des FPGA
Objectifs
|
- Notions de VHDL ou Verilog
- Connaissance du langage C (voir par exemple notre cours L2)
- Familiarité avec les concepts FPGA
- Cours théorique
- Support de cours au format PDF (en anglais)
- Le formateur répond aux questions des stagiaires’ durant la formation et apporte une assistance technique et pédagogique
- Travaux pratiques
- Les travaux pratiques représentent de 40% à 50% de la durée du cours
- Exemples de code, travaux pratiques et corrigés
- Vivado ou Libero pour la conception, la synthèse et l'analyse temporelle ; ModelSim ou Vivado pour la simulation
- Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
- Les prérequis sont vérifiés avant l'entrée en formation, sur la base des prérequis publiés sur cette fiche.
- Pendant la formation, les acquis sont évalués en continu : quiz de fin de séquence et observation directe du formateur.
- À l'issue de la formation, chaque participant reçoit une attestation de fin de formation.
Plan du cours
- Débit élevé
- Faible latence
- Timing
- Ajouter des étages de registres
- Structures parallèles
- Aplatir les structures logiques
- Équilibrage des registres
- Réordonner les chemins
- Replier le pipeline
- Réutilisation de logique pilotée par le contrôle
- Partage de ressources
- Impact du reset sur la surface
- Ressources sans reset
- Ressources sans set
- Ressources sans reset asynchrone
- Remettre à zéro une RAM
- Utiliser les broches Set/Reset des bascules
- Contrôle de l'horloge
- Clock Skew
- Maîtriser le skew
- Contrôle des entrées
- Réduire la tension d'alimentation
- Bascules déclenchées sur les deux fronts
- Modifier les terminaisons
- Architectures AES
- Un étage pour Sub-bytes
- Aucun étage pour Shift Rows
- Deux étages de pipeline pour Mix-Column
- Un étage pour Add Round Key
- Architecture compacte
- Architecture partiellement pipelinée
- Architecture entièrement pipelinée
- Performances contre surface
- Autres optimisations
- Techniques de conception abstraite
- Machines d'état graphiques
- Conception DSP
- Fondamentaux des threads en co-conception logiciel/matériel
- Franchir les domaines d'horloge
- Métastabilité
- Solution 1 : contrôle de phase
- Solution 2 : double bascule
- Solution 3 : structure FIFO
- Partitionner les blocs de synchronisation
- Horloges gatées dans les prototypes ASIC
- Module d'horloges
- Statistiques d'exécution de la suppression du gating
- Division matérielle
- Multiplication et décalage
- Division itérative
- La méthode de Goldschmidt
- Développement en séries de Taylor et Maclaurin
- L'algorithme CORDIC
- Asynchrone ou synchrone
- Problèmes des resets entièrement asynchrones
- Resets entièrement synchronisés
- Assertion asynchrone, désassertion synchrone
- Mélanger les types de reset
- Bascules non remises à zéro
- Resets générés en interne
- Domaines d'horloge multiples
- Architecture du banc de test
- Composants du banc de test
- Déroulement du banc de test
- Thread principal
- Horloges et resets
- Cas de test
- Stimuli système
- MATLAB
- Modèles fonctionnels de bus
- Couverture de code
- Simulations au niveau portes
- Couverture de basculement
- Pièges à l'exécution
- Timescale
- Rejet des glitches
- Modélisation des délais combinatoires
- Partitionnement du design
- Floorplanning du chemin critique
- Dangers du floorplanning
- Floorplanning optimal
- Chemin de données
- Fort fan-out
- Structure du composant
- Réutilisabilité
- Réduire la dissipation de puissance
- Analyse standard
- Verrous
- Circuits asynchrones
- Rebouclage combinatoire
- Alimentation
- Besoins en alimentation
- Régulation
- Condensateurs de découplage
- Principe
- Calcul des valeurs
- Placement des condensateurs
- Architecture SRC
- Optimisations de synthèse
- Vitesse contre surface
- Pipeline
- Synthèse physique
- Optimisations de floorplan
- Floorplan partitionné
- Floorplan du chemin critique
- Types de mémoire dans un FPGA
- Bascules (FF), LUT RAM, Block RAM (BRAM) et UltraRAM
- Quand NE PAS utiliser de bascules
- Explosion des ressources et impact sur le routage
- Mapping mémoire efficace
- Utiliser la BRAM pour les tampons et les FIFO
- Inférer une RAM en HDL
- Stratégies d'utilisation de la RAM distribuée
- Blocs DSP dans un FPGA
- Multiplieurs et unités MAC
- Architectures de FFT
- Bases du Radix-2 / Radix-4
- FFT pipelinée ou itérative
- Compromis virgule fixe et virgule flottante
- Compromis débit et ressources
Plus d'information
Pour vous enregistrer ou pour toute information supplémentaire, contactez nous par email à l'adresse info@ac6-formation.com.
Les inscriptions aux sessions de formation sont acceptées jusqu'à une semaine avant le début de la formation. Pour une inscription plus tardive nous consulter
Vous pouvez aussi remplir et nous envoyer le bulletin d'inscription
Ce cours peut être dispensé dans notre centre de formation près de Paris ou dans vos locaux, en France ou dans le monde entier.
Les sessions inter-entreprises programmées sont ouvertes dès deux inscrits. Sous condition d'un dossier complet, les inscriptions sont acceptées jusqu'à une semaine avant le début de la formation.
Dernière mise à jour du plan de cours : 2 juillet 2026
L'inscription à nos formations est soumise à nos Conditions Générales de Vente
Sur le même sujet :
Yocto ou Buildroot : comment choisir pour votre projet Linux embarqué