Prenez contact avec nous

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

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires