Generazione e ottimizzazione automatica di SW dedicato per architetture NoC riconfigurabili (PRIN 2009)

Starting date
July 15, 2011
Duration (months)
24
Departments
Computer Science, Department of Engineering for Innovation Medicine
Managers or local contacts
Fummi Franco

linguaggi non correlati. Fino a pochi anni fa, le tecniche classiche di design a livello RTL hanno consentito di supportare interamente la progettazione di sistemi digitali anche complessi. Con l'avvento dei sistemi NoC, la stretta interazione tra blocchi HW e SW e la crescente complessità di questo tipo di sistemi hanno però dimostrato che nessuna delle tecniche classiche è piu' adatta a progettare questo tipo di sistemi. In questo scenario, uno tra i task piu' importanti e problematici è costituito proprio dal partizionamento HW/SW, in cui i progettisti mirano a soddisfare congiuntamente piu' obiettivi di diversa tipologia, quali (i) rispettare i vincoli in termini di prestazioni, costi e consumo di potenza, (ii) il massimo riutilizzo di blocchi esistenti, e (iii) la riduzione dei tempi di immissione sul mercato dei nuovi prodotti.
La ricerca di alte prestazioni con ridotti consumi di potenza portano spesso i progettisti di sistemi NoC a scegliere l'uso di processori per eseguire funzionalità di sistema piuttosto di ricorrere ad HW embedded. Allo stesso tempo, il riuso di blocchi IP, già sviluppati e interamente verificati, consentono di accorciare i tempi di design riducendo la probabilità di inserire errori durante la progettazione. Per questi motivi, diventa conveniente trasformare descrizioni esistenti di blocchi IP, implementati a livello RTL o TLM, in SW (ad esempio, C++) pronto per essere eseguito su uno o più processori dedicati della piattaforma NoC. In aggiunta, integrare un modulo HW ad una piattaforma dedicata implica la generazione di device driver che rispettino sia il protocollo di comunicazione del modulo che i vincoli imposti dalla particolare architettura della CPU (monoprocessore, multiprocessore simmetrico o multiprocessore asimmetrico). Riutilizzare un device driver sviluppato per una CPU con architettura diversa rispetto a quella per cui è stato scritto richiede modifiche manuali per adattare il codice alla nuova CPU. Questa operazione è tuttavia molto costosa in termini di tempo e porta facilmente all'introduzione di errori nel codice. Come risultato, l'esplorazione delle possibili architetture finali viene considerata troppo costosa e quindi fortemente limitata.
L'obiettivo di questa unità di ricerca è sviluppare una metodologia e il corrispondente ambiente di progettazione per generare e verificare SW embedded per
architetture NoC riconfigurabili. La metodologia proposta è composta da cinque attività strettamente correlate:
1. Astrazione di moduli RTL in SW embedded.
2. Generazione automatica di SW embedded partendo da moduli TLM.
3. Ottimizzazione di SW embedded per architetture NoC.
4. Generazione automatica di device driver per moduli HW adattati a diverse configurazioni architetturali.
5. Verifica del SW attraverso tecniche di verifica semi-formale.
Le tecniche di generazione e verifica di SW embedded saranno implementate in tre prototipi: H2C++ (per la generazione di SW embedded a partire da moduli RTL e TLM, con il conseguente adattamento all'architettura finale), D2Gen per la generazione di device driver e MULTICOVER per la verifica semiformale del SW generato.

Sponsors:

PRIN VALUTATO POSITIVAMENTE
Funds: requested
Syllabus: COFIN - Progetti di Ricerca di Interesse Nazionale

Project participants

Nicola Bombieri
Full Professor
Franco Fummi
Full Professor
Graziano Pravadelli
Full Professor
Research areas involved in the project
Sistemi ciberfisici
Embedded and cyber-physical systems

Activities

Research facilities

Share