Contattataci

Struttura del corso

Fondamenti dell’architettura RISC-V e panoramica sull’ecosistema

Architettura ISA di RISC-V e sua adozione nel settore

  • La filosofia delle ISA aperte e il ruolo di RISC-V International nella standardizzazione
  • Il modello concettuale di RISC-V: architettura load-store, file dei registri e ordinamento dei byte
  • Confronto con ARM, x86 e POWER: vantaggi e svantaggi nell’utilizzo in ambienti di calcolo eterogenei
  • Valutazione della maturità dell’ecosistema: ruolo di SiFive, T-Head, Western Digital e delle comunità open source di progettazione hardware
  • Interfacce standardizzate: RISC-V Privileged ISA e Machine Software Abstraction Layer (MSBL)

Modelli di memoria e conformità ABI

  • Specifiche architetturali non privilegiate: mappa dei registri CSR, gestione delle eccezioni e gerarchie di memoria
  • Conformità ABI degli insiemi di istruzioni RV32I/RV64I per garantire la portabilità binaria tra piattaforme diverse
  • Convenzioni di ordinamento della memoria e istruzioni di sincronizzazione per sistemi multiprocessore

Programmazione in Assembly RISC-V e strumenti di compilazione

Programmazione a basso livello con le istruzioni RISC-V

  • Istruzioni aritmetiche base (estensione I), moltiplicazione/divisione (M) e operazioni atomiche (A)
  • Strategie di programmazione adattabili alle piattaforme a 32 o 64 bit RISC-V
  • Gestione delle convenzioni di chiamata e dei frame dello stack per sistemi embedded e in tempo reale

Padroneggiamento degli strumenti di compilazione

  • Utilizzo del toolchain LLVM: Clang, LLVM e Binutils per la cross-compilazione RISC-V
  • Configurazione dei linker script, delle sezioni e dello schema di allocazione della memoria in ambienti bare-metal o con RTOS
  • Ottimizzazione del codice tramite intrinseci compilatore, livelli di ottimizzazione e analisi delle prestazioni
  • Gestione dei flussi di lavoro per lo sviluppo degli strumenti open source: creazione, test e distribuzione personalizzata di GCC/Clang

Sviluppo di sistemi embedded e sistemi operativi in tempo reale

Programmazione bare-metal e con RTOS

  • Sviluppo in Rust su piattaforme RISC-V: astrazioni efficienti, gestione sicura della memoria e programmazione diretta sull’hardware
  • Ambienti No-Std: definizione di linker personalizzati, sviluppo di driver per dispositivi e I/O mappato in memoria
  • Utilizzo del RTOS Zephyr e dello strumento Buildroot per la creazione di BSP specifici per RISC-V
  • Interfacciamento con periferiche: GPIO, I2C, SPI, UART e programmazione dei controller DMA

Ottimizzazione delle prestazioni e del consumo energetico

  • Gestione intelligente del clock, dei domini di alimentazione e ottimizzazione delle modalità a basso consumo
  • Analisi precisa delle prestazioni tramite profilatori di simulazione e contatori hardware dedicati
  • Ritardo minimo nell’elaborazione delle interruzioni in sistemi ad alta sicurezza

Sviluppo del kernel Linux e dei bootloader per RISC-V

Boot firmware e gli ambienti di avvio

  • Sviluppo di firmware bootloader con OpenSBI, conforme alle specifiche SBI
  • Implementazione di stack di avvio UEFI/EDK II su piattaforme RISC-V
  • Migrazione dei sistemi Coreboot e U-Boot su computer single-board basati su RISC-V

Integrazione nel kernel Linux

  • Contributi al kernel principale: definizione di overlay per il device tree, gestione della topologia CPU e sviluppo dei driver per i controller interrupt AIA
  • Creazione di BSP proprietari e configurazione del kernel per piattaforme SoC personalizzate
  • Supporto a file system, stack di rete e containerizzazione (Docker, Kubernetes) su sistemi host RISC-V

Progettazione di SoC RISC-V e prototipazione FPGA

Architettura multinucleo e integrazione dei componenti

  • Metodologie progettuali per i Network-on-Chip (NoC) nei processori RISC-V a più core
  • Gestione della coerenza di cache tramite protocolli Axi4/CHI e comunicazione inter-nucleo
  • Integrazione di IP open source: OpenCores, ChIPS Framework e componenti RTL forniti da produttori terzi
  • Progettazione della matrice di bus e integrazione di controller per memoria (DDR, SRAM, eMMC, PCIe)

Prototipazione hardware tramite FPGA

  • Sintesi e implementazione dei core RISC-V in FPGA (ad esempio BOOM, VexRiscv, PULP)
  • Metodologie di verifica funzionale basate su asserzioni SystemVerilog (SVA) e framework UVM
  • Utilizzo di strumenti di verifica formale per validare il comportamento dei core RISC-V

Estensioni vettoriali di RISC-V e accelerazione applicativa specialistica

Approfondimento sull’estensione RVV (RISC-V Vector)

  • Operazioni di caricamento/scaricamento vettoriale, moltiplicazione-somma combinata (VFMA) e accelerazione dei calcoli matriciali
  • Gestione dinamica della lunghezza dei vettori (VL, VLEN) per ottimizzare le prestazioni SIMD in base alle esigenze operative
  • Controllo avanzato dei mascheri vettoriali, segmentazione e flessibilità tipologica per applicazioni DSP e di machine learning

Disegno di acceleratori specialistici e istruzioni dedicate

  • Progettazione di acceleratori personalizzati tramite estensioni software e interfacce CBAR per il trasferimento dati
  • Modifiche del frontend compilatore per generare codice basato su istruzioni specifiche del sistema
  • Strategie di partizionamento hardware-software finalizzate all’integrazione efficace degli acceleratori nei futuri SoC

Accelerazione AI e intelligenza artificiale su piattaforma RISC-V

Progettazione di unità NPU integrate nei processori RISC-V

  • Architettura delle Neural Processing Unit: array sistolici, core tensoriali e tecniche di compressione dei pesi per un’elaborazione AI ottimizzata
  • Tecniche di quantizzazione (INT8, INT4, FP8) per facilitare l’integrazione su dispositivi edge
  • Compatibilità con framework noti: TensorFlow Lite Micro, ONNX Runtime e PyTorch Edge sulle piattaforme RISC-V

Calcolo eterogeneo per carichi di lavoro AI

  • Sviluppo congiunto di un CPU RISC-V e di una NPU acceleratrice per implementare pipeline di inferenza in tempo reale
  • Ottimizzazione delle risorse di memoria: gestione della larghezza di banda HBM/DDR al fine di memorizzare efficacemente i pesi e le attivazioni dei modelli
  • Bilanciamento termico ed energetico nei sistemi di inferenza AI implementati in ambienti edge

Sicurezza hardware e calcolo confidenziale su RISC-V

Protezione fisica della memoria ed esecuzione affidabile

  • Mecanismi di protezione della memoria tramite Physical Memory Protection (PMP) e controlli sulla tabella delle pagine
  • Architetture Secure Enclave/TEE: integrazione con OP-TEE, ambienti di esecuzione sicura paragonabili a SEV
  • Garanzie di affidabilità durante il boot: gestione della Root of Trust, avvio sicuro e attestazione delle misure di lancio del sistema

Accelerazione crittografica integrata

  • Sfruttamento delle estensioni criptografiche native (Zk, Zkr, K): ottimizzazione per funzioni SHA, AES, RSA e ECC
  • Integrazione di algoritmi post-quantistici adatti alle future generazioni di processori RISC-V
  • Tecniche avanzate contro gli attacchi laterali: programmazione a tempo costante, mascheramento dei dati e utilizzo di generatori hardware casuali

Progettazione avanzata di architetture personalizzate ed estensioni ISA

Disegno di architetture specialistiche ed estensioni software

  • Fasi fondamentali della progettazione delle nuove estensioni: codifica binaria, tabelle di mappatura e analisi dell’impatto sull’ABI, con procedure per la registrazione presso RISC-V International
  • Realizzazione personalizzata dei file dei registri tramite CBAR (Custom Base Address Registers) per lo smistamento efficiente degli operandi
  • Modifiche alla pipeline di esecuzione, rilevamento e gestione degli hazard logici in funzione delle nuove istruzioni introdotte

Verifica sistematica ed approvazione tecnica per le modifiche architetturali

  • Creazione di testbench dedicati: stimoli predefiniti e tecniche casuali vincolate per validare il corretto funzionamento delle estensioni
  • Sviluppo di framework di regression testing e analisi della copertura per verificare ogni modifica introdotta all’architettura complessiva
  • Test di interoperabilità: accertarsi che le nuove istruzioni non violino i vincoli ABI stabiliti dal consorzio RISC-V

Applicazioni critiche per la sicurezza e nel settore automotive con RISC-V

Sicurezza funzionale e conformità alle norme automobilistiche

  • Rispetto degli standard ISO 26262 nella progettazione dei processori RISC-V destinati ai veicoli
  • Classificazione secondo le categoria ASIL-Q e redazione di manuali tecnici per garantire la sicurezza delle implementazioni hardware RISC-V
  • Gestione deterministica degli interrupt, utilizzo di coppie di core lockstep e protezione efficace della memoria nei sistemi automotive ad alta sicurezza

Sistemi industriali in tempo reale e applicazioni edge computing

  • Rispetto degli standard IEC 61508 SIL per la creazione di ambienti deterministi su piattaforme RISC-V a più core
  • Realizzazione di gateway IoT industriali basati su RISC-V: connettività, analisi dei dati in loco e sistemi moderni di aggiornamento firmware OTA

Progetto finale: sviluppo completo di un sistema RISC-V

Sviluppo su tutto il ciclo di vita del prodotto

  • Definizione preliminare dell’architettura e delle estensioni ISA necessarie in base al caso d’uso previsto
  • Implementazione RTL tramite SystemVerilog accompagnata da testbench UVM ed elaborazioni di verifica formale
  • Prototipazione su FPGA, sviluppo del boot firmware e realizzazione di una pila driver bare-metal funzionante
  • Personalizzazione del BSP Linux e creazione di un toolchain adeguato al core RISC-V progettato
  • Integrazione e test di carichi di lavoro AI: collocamento della NPU, ottimizzazione quantitativa dei modelli ed analisi approfondita delle performance ottenute
  • Valutazione degli aspetti di sicurezza: controllo tramite PMP, verifica dell’integrità del boot e benchmarking delle capacità di accelerazione crittografica
  • Documentazione dettagliata dell’architettura, strategia di tutela della proprietà intellettuale e presentazione multidisciplinare davanti a un team eterogeneo di stakeholder

Requisiti

Nessuno.

 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative