DMI – Corso di laurea magistrale in Informatica
Copyleft
2020 Giuseppe Scollo
in questa esercitazione si trattano:
lo sviluppo di un SoC con applicazioni è una tipica attività di codesign HW/SW
lo strumento di Quartus usato in questa esercitazione per l'integrazione di componenti hardware nello sviluppo di SoC è Qsys
un esempio un po' più complesso è oggetto di questa esercitazione:
profiling di un programma: misura del tempo speso in diverse parti del programma, per identificarne quelle critiche per la velocità di esecuzione
tre strumenti considerati nel documento (datato) Profiling Nios II Systems :
in questa esercitazione usiamo il terzo metodo, che dà la precisione migliore, l'uso più semplice nel programma, e poiché il detto limite non è un problema per l'applicazione in gioco
la figura mostra lo schema Qsys del sistema Nios II con Performance Counter Unit
la funzione C in figura è una realizzazione software del calcolo del delay di una traiettoria di Collatz di dato inizio
a differenza delle precedenti esperienze di laboratorio relative a realizzazioni hardware della funzione considerata, qui l'input di utente determina la lunghezza della sequenza di traiettorie da generare nel programma principale, ovvero il numero di invocazioni della funzione
le direttive di preprocessing mostrate prima abilitano l'uso dell'API del performance counter e di altri simboli (SWITCHES_BASE in questo caso) definiti nell'interfaccia software del sistema costruito con Qsys
l'interfaccia è fornita dal BSP, la cui costruzione è qui automatizzata dal Monitor Program, in seguito alla scelta del tipo di programma Program with Device Driver Support
ulteriori aspetti del BSP (e.g. opzioni di compilazione, di linking ecc.) possono essere specificati fornendo uno script Tcl custom
il debugging nel Monitor Program può essere condotto anche al livello del sorgente C (visualizzazione dei valori delle variabili)
rimane comunque accessibile il disassembly del programma, in cui porre breakpoint ed esaminare lo stato dell'esecuzione in punti critici per la verifica della sua correttezza
dopo la rimozione di tutti i breakpoint, reset del sistema e rilancio dell'esecuzione, il modulo di profiling genera il performance report mostrato in figura
si propone di progettare e realizzare un sistema HW/SW con struttura e caratteristiche simili a quelle dell'esempio mostrato in questa esercitazione, adoperando gli stessi strumenti di sviluppo e profiling, ma per un'applicazione diversa; precisamente, il lavoro consiste di:
letture raccomandate:
letture per ulteriori approfondimenti:
materiali utili per l'esperienza di laboratorio proposta: