Merci d'avoir envoyé votre demande ! Un membre de notre équipe vous contactera sous peu.
Merci d'avoir envoyé votre réservation ! Un membre de notre équipe vous contactera sous peu.
Plan du cours
Fondamentaux de l'architecture RISC-V et aperçu de l'écosystème
Paysage ISA RISC-V et adoption industrielle
- Philosophie de l'ISA open source et paysage de normalisation RISC-V International
- Modèle mental de RISC-V : architecture chargement-stockage (load-store), registre de fichiers, ordre des octets (byte ordering)
- Comparaison avec ARM, x86 et POWER : compromis pour les architectures de calcul hétérogènes
- Évaluation de la maturité de l'écosystème : SiFive, T-Head, Western Digital et la communauté silicium open source en croissance
- Interfaces standardisées : ISA privilégiée RISC-V, couche d'abstraction logicielle machine (MSBL)
Modèles mémoire et conformité ABI
- Spécification de l'architecture non privilégiée : carte CSR, gestion des exceptions et hiérarchies mémoire
- Jeux d'instructions RV32I / RV64I et conformité ABI pour la portabilité binaire interplateformes
- Conventions d'ordonnancement mémoire et instructions de barrière pour les systèmes multiprocesseur
Programmation assembleur RISC-V et chaîne d'outils de compilation
Programmation d'instructions de bas niveau
- Extensions d'instructions entières de base (I), multiplication/division (M) et opérations atomiques (A)
- Stratégies de programmation tenant compte de la profondeur de mot (bitness) pour les cibles RISC-V 32 et 64 bits
- Conventions d'appel et gestion des trames de pile pour les systèmes logiciels embarqués et temps réel
Maîtrise de la chaîne d'outils de compilation
- Chaîne d'outils de compilation basée sur LLVM : Clang, LLVM, Binutils pour la compilation croisée RISC-V
- Scripts de linker, sections et configuration de la mémoire pour les environnements bare-metal et RTOS
- Intrinsics compilateur, niveaux d'optimisation et ajustement du code guidé par le profilage
- Flux de travail de développement de chaînes d'outils open source : construction, test et packaging de chaînes d'outils GCC/Clang personnalisées
Développement de systèmes embarqués et systèmes d'exploitation temps réel
Programmation bare-metal et RTOS
- Programmation système en Rust pour RISC-V : abstractions à coût nul, gestion mémoire unsafe et développement bare-metal
- Environnements No-Std : linkers personnalisés, développement de pilotes de périphériques et E/S mémoire mappée (memory-mapped I/O)
- Développement de Zephyr RTOS et de BSP Buildroot pour les cibles RISC-V
- Interfaçage des périphériques : programmation de GPIO, I2C, SPI, UART et contrôleurs DMA
Optimisation de l'alimentation et des performances
- Portage de horloge (clock gating), gestion des domaines d'alimentation et optimisation des modes basse consommation
- Analyse des performances précise au cycle avec profilages de simulation et compteurs de performances matérielles
- Ajustement de la latence d'interruption temps réel pour les applications critiques
Développement du noyau Linux et du bootloader pour RISC-V
Écosystème de firmware de démarrage et de bootloaders
- OpenSBI (implémentation de la spécification SBI) : développement de firmware de bootloader
- UEFI/EDK II sur RISC-V : développement de piles de démarrage firmware modernes
- Portage de Coreboot et U-Boot pour les ordinateurs monoboards RISC-V
Intégration du noyau Linux
- Contributions au noyau Linux en cours (mainline) : surcouches d'arbre de périphériques (device tree overlays), topologie CPU et développement de pilotes de contrôleurs d'interruption (AIA)
- Développement de BSP vendeur et configuration du noyau pour les plateformes SoC personnalisées
- Support des systèmes de fichiers, de la pile réseau et de la conteneurisation (Docker, Kubernetes) sur les systèmes hôtes RISC-V
Conception SoC RISC-V et prototypage FPGA
Architecture et intégration SoC multi-cœur
- Méthodologies de conception de réseaux sur puce (NoC) pour les processeurs RISC-V multi-cœur
- Cohérence de cache Axi4/CHI et protocoles de communication inter-processeurs
- Intégration d'IP open source : OpenCores, framework ChIPS et composants RTL vendeur
- Conception de matrices bus et intégration de contrôleurs mémoire (DDR, SRAM, eMMC, PCIe)
Prototypage de processeurs basés sur FPGA
- Synthèse et implémentation FPGA de noyaux RISC-V (p. ex. BOOM, VexRiscv, PULP)
- Assertions SystemVerilog (SVA) et méthodologie de vérification fonctionnelle basée sur UVM
- Outils de vérification formelle et tests basés sur les propriétés pour la validation des noyaux RISC-V
Extensions vectorielles RISC-V et accélération spécifique à un domaine
Approfondissement de l'extension vectorielle RVV (RISC-V Vector)
- Chargement/stockage vectoriel, multiplication-addition vectorielle fusionnée (VFMA) et accélération des calculs matriciels
- Opérations vectorielles de longueur variable (VL, VLEN) pour une exécution SIMD optimisée selon la charge de travail
- Opérations de masques vectoriels, contrôle de segment et flexibilité des types de données pour les charges de travail DSP et ML
Conception de DSP personnalisé et d'instructions spécifiques à un domaine
- Conception d'accélérateurs spécifiques à un domaine via des extensions personnalisées et des interfaces d'opérandes basées sur CBAR
- Modifications du front-end du compilateur pour la génération et l'émission de code d'instructions personnalisées
- Stratégies de partitionnement logiciel-matériel pour l'intégration d'accélérateurs dans les SoC de production
Accélération IA et apprentissage automatique de bout en bout (edge) sur RISC-V
Conception et intégration de NPU pour processeurs RISC-V
- Architecture d'unité de traitement neuronal (NPU) : tableaux systoliques, cœurs tensoriels et compression des poids pour l'accélération IA sur puce
- Techniques de quantification de modèles (INT8, INT4, FP8) pour le déploiement de bout en bout (edge) sur RISC-V
- Compatibilité des frameworks : TensorFlow Lite Micro, ONNX Runtime et PyTorch Edge sur les cibles RISC-V
Calcul hétérogène pour les charges de travail IA
- Co-conception du CPU hôte RISC-V avec un accélérateur NPU IA pour des pipelines d'inférence temps réel
- Optimisation du sous-système mémoire : gestion de la bande passante HBM/DDR pour les poids et les activations des modèles ML
- Budget thermique et énergétique pour les systèmes d'inférence IA de bout en bout (edge)
Sécurité matérielle et calcul confidentiel sur RISC-V
Protection de la mémoire physique et exécution de confiance
- Protection de la mémoire physique (PMP) et mécanismes de sécurité du parcours de table de pages
- Architectures d'enclave de confiance/TEE pour RISC-V : intégration OP-TEE, environnements d'exécution de confiance de classe SEV
- Sécurité de la chaîne de démarrage : racine de confiance (root of trust), démarrage sécurisé et attestation de lancement mesurée
Accélération cryptographique
- Extensions cryptographiques RISC-V (Zk, Zkr, K) : accélération SHA, AES, RSA, RSA-PSS et ECC
- Intégration de la cryptographie post-quantique (PQC) pour les processeurs RISC-V de prochaine génération
- Techniques d'atténuation des attaques par canaux auxiliaires : programmation en temps constant, masquage et générateurs de nombres aléatoires matériels
Architecture personnalisée avancée et conception d'extensions ISA
Architecture spécifique à un domaine et extensions d'instructions personnalisées
- Méthodologie de conception d'extensions ISA : encodage, tables d'encodage, analyse de l'impact ABI et processus de soumission de spécification à RISC-V International
- Conception de registres de fichiers personnalisés avec CBAR (registres d'adresse de base personnalisés) pour la distribution des opérandes
- Pipelining d'instructions, détection des conflits (hazards) et modifications du pipeline pour les extensions personnalisées
Vérification et validation des modifications d'architecture personnalisées
- Conception de bancs d'essai (testbenchs) pour les extensions personnalisées : génération de stimuli dirigée vs aléatoire contrainte
- Frameworks de tests de régression et vérification guidée par la couverture pour les modifications architecturales
- Tests d'interopérabilité : garantie que les instructions personnalisées fonctionnent dans les contraintes ABI établies
Applications RISC-V critiques et automobiles
Sécurité fonctionnelle et conformité aux normes automobiles
- Conformité à la sécurité fonctionnelle ISO 26262 pour les processeurs RISC-V automobiles
- Classification ASIL-Q et développement de manuels de sécurité pour les IP silicium RISC-V
- Gestion déterministe des interruptions, paires de cœurs lockstep et protection de la mémoire pour les systèmes RISC-V critiques
Applications industrielles temps réel et de calcul de bout en bout (edge)
- Conformité SIL IEC 61508 et ordonnancement déterministe sur les plateformes RISC-V multi-cœur
- Développement de passerelles IoT industrielles avec RISC-V : connectivité, analytique de bout en bout (edge) et systèmes de mise à jour de firmware OTA
Projet final : développement système RISC-V de bout en bout
Projet de cycle de vie complet
- Spécification architecturale : conception des extensions ISA et de la configuration du noyau pour un cas d'usage défini
- Implémentation RTL en SystemVerilog avec bancs d'essai UVM et couverture de vérification formelle
- Prototypage FPGA, développement de firmware de démarrage et intégration de la pile de pilotes bare-metal
- BSP Linux et personnalisation de la chaîne d'outils pour le noyau RISC-V personnalisé
- Déploiement de charges de travail IA : intégration NPU, quantification de modèles et benchmark de performances
- Validation de la sécurité : application PMP, démarrage sécurisé et benchmark d'accélération cryptographique
- Documentation de l'architecture technique, analyse de la stratégie IP et présentation en équipe pluridisciplinaire
Pré requis
Aucun.
21 Heures
Nos clients témoignent (2)
Les explications et l'interactivité du formateur étaient vraiment excellentes ; même si je n'étais probablement pas assez expérimenté, j'ai beaucoup appris !
Pieter Bruynseels - Spot Buy Center BV
Formation - Design Patterns
Traduction automatique
J'ai aimé la plateforme que nous avons utilisée. Elle était vraiment agréable et facile à utiliser. J'ai particulièrement apprécié la section sur TypeScript, en particulier les parties consacrées aux espaces de noms et aux modules.
Robert - DB Global Technology
Formation - JavaScript - Advanced Programming
Traduction automatique