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 de l'ISA RISC-V et adoption industrielle
- Philosophie ISA ouverte et paysage de normalisation de RISC-V International
- Modèle mental de RISC-V : Architecture Load-Store, registre des registres (Register File), ordonnancement des octets
- 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é open-source du silicium en pleine croissance
- Interfaces standardisées : ISA Privilegié RISC-V, Couche d'Abstraction Logicielle Machine (MSBL)
Modèles de mémoire et conformité ABI
- Spécification de l'architecture non privilégée : map des CSR, gestion des exceptions et hiérarchies de mémoire
- Ensembles d'instructions RV32I / RV64I et conformité ABI pour la portabilité binaire multi-plateforme
- Conventions d'ordonnancement de la mémoire et instructions barrière pour les systèmes multiprocesseurs
Programmation assembleur RISC-V et toolchain de compilation
Programmation au niveau des instructions basiques
- Extensions d'instructions entières de base (I), Multiplication/Division (M), Opérations atomiques (A)
- Stratégies de programmation sensibles à la taille des mots (bitness) pour les cibles RISC-V 32-bit et 64-bit
- Conventions d'appel et gestion de la pile pour les systèmes embarqués et temps réel
Maîtrise de la toolchain de compilation
- Toolchain de compilation basée sur LLVM : Clang, LLVM, Binutils pour la cross-compilation RISC-V
- Scripts d'alignement (linker scripts), sections et configuration de la disposition mémoire pour les environnements bare-metal et RTOS
- Intrinsèques du compilateur, niveaux d'optimisation et réglage de code basé sur le profilage
- Flux de développement de toolchains open-source : construction, tests et packaging de toolchains 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 sans coût, gestion non sûre de la mémoire et développement bare-metal
- Environnements No-Std : linkers personnalisés, développement de pilotes de périphériques et E/O mappé en mémoire
- Développement de BSP (Board Support Package) Zephyr RTOS et Buildroot pour les cibles RISC-V
- Interfaçage des périphériques : GPIO, I2C, SPI, UART et programmation du contrôleur DMA
Optimisation de la puissance et des performances
- Closure d'horloge (clock gating), gestion des domaines d'alimentation et optimisation des modes basse consommation
- Analyse des performances au cycle près avec des profilers de simulation et des compteurs de performance matérielle
- Réglage de la latence des interruptions temps réel pour les applications critiques pour la sécurité
Développement du noyau Linux et bootloader pour RISC-V
Firmware de démarrage et écosystème bootloader
- OpenSBI (implémentation de la spécification SBI) : développement du firmware bootloader
- UEFI/EDK II sur RISC-V : développement de la pile de démarrage de firmware moderne
- Portage de Coreboot et U-Boot pour les ordinateurs monocarte (SBC) RISC-V
Intégration du noyau Linux
- Contributions au noyau principal RISC-V : superpositions de device tree, topologie CPU et développement de pilotes de contrôleur d'interruption (AIA)
- Développement de BSP fournisseur et configuration du noyau pour des plateformes SoC personnalisées
- Prise en charge du système de fichiers, pile réseau et prise en charge de la conteneurisation (Docker, Kubernetes) sur les systèmes hôtes RISC-V
Conception de SoC RISC-V et prototypage FPGA
Architecture et intégration de SoC multicœur
- Méthodologies de conception Network-on-Chip (NoC) pour les processeurs multi-cœurs RISC-V
- Cohérence du cache Axi4/CHI et protocoles de communication inter-processeurs
- Intégration d'IP open-source : OpenCores, ChIPS Framework et composants RTL des fournisseurs
- Conception de matrice de bus et intégration de contrôleurs mémoire (DDR, SRAM, eMMC, PCIe)
Prototypage de processeur basé sur FPGA
- Synthèse FPGA et implémentation du cœur RISC-V (par 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 du cœur RISC-V
Extensions vectorielles RISC-V et accélération spécifique au domaine
Plongée approfondie dans l'extension RVV (RISC-V Vector)
- Chargement/stockage vectoriel, multiplication-addition fusionnée vectorielle (VFMA) et accélération des calculs matriciels
- Opérations vectorielles de longueur variable (VL, VLEN) pour l'exécution SIMD optimisée par la charge de travail
- Opérations de masquage vectoriel, contrôle de segment et flexibilité des types de données pour les charges de travail DSP et ML
Conception d'instructions personnalisées DSP et spécifiques au domaine
- Conception d'accélérateurs spécifiques au domaine via des extensions personnalisées et des interfaces d'opérandes basées sur CBAR
- Modifications du frontend du compilateur pour la génération d'instructions personnalisées et l'émission de code
- Stratégies de partitionnement matériel-logiciel pour l'intégration d'accélérateurs dans les SoC de production
Accélération IA et apprentissage automatique en bordure sur RISC-V
Conception et intégration de NPU pour les processeurs RISC-V
- Architecture Neural Processing Unit : 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 en bordure 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 l'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 activations des modèles ML
- Budgeting thermique et énergétique pour les systèmes d'inférence IA en bordure
Sécurité matérielle et calcul confidentiel sur RISC-V
Protection de la mémoire physique et exécution de confiance
- Physical Memory Protection (PMP) et mécanismes de sécurité du marcheur de tables de pages
- Architectures d'Enclave sécurisée/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, démarrage sécurisé et attestation de lancement mesuré
Accélération cryptographique
- Extensions cryptographiques RISC-V (Zk, Zkr, K extensions) : 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 canal auxiliaire : programmation temps constant, masquage et générateurs matériels de nombres aléatoires
Architecture personnalisée avancée et conception d'extensions ISA
Architecture spécifique au domaine et extensions d'instructions personnalisées
- Méthodologie de conception d'extension ISA : codage, tables de codage, analyse d'impact sur l'ABI et processus de soumission à la spécification RISC-V International
- Conception de registre des registres personnalisé avec CBAR (Custom Base Address Registers) pour le dispatch des opérandes
- Pipelining d'instructions, détection des hazards et modifications du pipeline pour les extensions personnalisées
Vérification et validation des modifications architecturales personnalisées
- Conception de bancs d'essai pour les extensions personnalisées : génération d'impulsions dirigées vs aléatoires contraintes
- Cadre de tests de régression et vérification guidée par la couverture pour les modifications architecturales
- Tests d'interopérabilité : garantir que les instructions personnalisées fonctionnent dans les contraintes ABI établies
Applications automobiles et RISC-V critiques pour la sécurité
Sécurité fonctionnelle et conformité aux normes automobiles
- Conformité à la sécurité fonctionnelle ISO 26262 pour les processeurs automobiles RISC-V
- Classification ASIL-Q et développement du manuel de sécurité pour l'IP silicium RISC-V
- Gestion déterministe des interruptions, paires de cœurs en lockstep et protection mémoire pour les systèmes RISC-V critiques pour la sécurité
Applications industrielles temps réel et calcul en bordure
- Conformité SIL IEC 61508 et ordonnancement déterministe sur des plateformes multicœurs RISC-V
- Développement de passerelles IoT industriel avec RISC-V : connectivité, analyse en bordure et systèmes de mise à jour du firmware OTA
Projet final : Développement complet d'un système RISC-V
Projet sur le cycle de vie complet
- Spécification d'architecture : conception des extensions ISA et configuration du cœur pour un cas d'utilisation défini
- Implémentation RTL en SystemVerilog avec bancs d'essai UVM et couverture de vérification formelle
- Prototypage FPGA, développement du firmware de démarrage et intégration de la pile de pilotes bare-metal
- Personnalisation BSP Linux et toolchain pour le cœur RISC-V personnalisé
- Déploiement de charge de travail IA : intégration NPU, quantification de modèle et benchmarking des performances
- Validation de sécurité : application PMP, démarrage sécurisé et benchmarking de l'accélération cryptographique
- Documentation d'architecture technique, analyse de stratégie IP et présentation à une équipe pluridisciplinaire
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