Thesis Amicucci Slides IT - Presentation Transcript
SyCERS: Un framework basato su SystemC per la progettazione e simulazione di sistemi embedded dinamicamente riconfigurabili Carlo AMICUCCI Matr. 642360 Relatore prof. Donatella SCIUTO Correlatore ing. Marco Domenico SANTAMBROGIO
Sommario
Obiettivi
Sistemi embedded dinamicamente riconfigurabili
Transaction Level Modeling (TLM) e SystemC
Riconfigurabilità dinamica e SystemC
Modelli SystemC per Caronte
Risultati sperimentali
Sviluppi futuri
Obiettivi
Definizione di un modello per descrivere sistemi dinamicamente riconfigurabili
Basata su uno dei linguaggi di descrizione hardware esistenti
Utilizzabile già nelle prime fasi di progetto (permette di considerare la riconfigurabilità a livello di sistema)
Fornire un framework per la simulazione e la progettazione di sistemi dinamicamente riconfigurabili
Specifiche simulabili
Possibilità di variare velocemente parametri quali: num. delle unità di riconf., tempo di riconfigurazione, ecc…
Possibilità di considerare la componente software
Sistemi embedded dinamicamente riconfigurabili
Generalmente basati su FPGA
Comunicazione
BUS (Tecnologie standard quali AMBA o IBM CoreConnect)
Connessione punto-punto
Presenza di un controllore della riconfigurabilità (generalmente nella parte statica o esterno al dispositivo) che può essere controllato:
Hardware
Software (maggiore flessibilità)
Esempi: Caronte ADRIATIC e RECONF2
TLM e SystemC
Separare la definizione delle funzionalità del sistema dalla definizione dei dettagli di comunicazione
Attraverso la definizione di un Canale di comunicazione
DEF.: un canale implementa una serie di interfacce che sono esposte ai componenti funzionali connessi attraverso di esso.
DEF.: un’ interfaccia espone i metodi che possono essere invocati dal componente funzionale per comunicare.
SystemC, dalla versione 2.0, permette di utilizzare la TLM:
write() read() modulo A pA->write(v) modulo B v=pB->read() canale pA pB sc_interface sc_port
La metodologia proposta Specification Model Component Assembly Model Bus Functional Model
Definire la funzionalità del sistema
Non contiene dettagli sull’implementazione
Esplorazione dello spazio delle soluzioni
Dettagli implementativi sulle funzionalità
Non contiene dettagli sulla comunicazione
Validazione della soluzione attraverso la simulazione
Componente dinamicamente riconfigurabile in SystemC
Non è possibili istanziare in fase di simulazione un sc_module
Posso modificare SC_THREAD e SC_METHOD utilizzando:
puntatore a funzione
sc_mutex
Configurazione
Associabile un tempo di ric.
Elaborazione
Associabile un tempo di elab.
*g() Componente Riconfigurabile (sc_module) Configurazione (puntatore a funzione) mutex
Evoluzione di un componente riconfigurabile nel tempo *f() *g() *g() *g() Mem. delle Conf. f() g() k() Unlocked Locked Riconfig. Elab.
Comunicazione
rec_ctrl_if utilizzata dal controllore delle riconfigurazioni per gestire i componenti riconfigurabili
comm_if utilizzata da una configurazione per accedere alle risorse messe a disposizione dal componente riconfigurabile
Modelli per Caronte Codice di Controllo (SystemC) Compilatore GCC Configurazioni BlackBox (SystemC) Configurazioni Processo di controllo Scheduler e Controller Modello Memoria Cross compilatore GCC Codice di Controllo (C/C++) Component assembly model Bus arbitration model Modello Memoria BlackBoxes Modello CoreConnect PowerPC ISS Open SystemC PowerPC core models
Risultati sperimentali
Filtro Adattativo (5 configurazioni)
Elaborazione pipeline
Acceleratore hw
MD5 (4 configurazioni)
Ver. 1 – elaborazione monolitica
Ver. 2 – elaborazione pipeline
DES (2 configurazioni)
Riconfigurabilità e Sistemi di calcolo parallelo
Filtro Adattativo
Component assembly model di Caronte
Permette di vedere come variano le prestazioni del sistema in funzione
Del numero BlackBox
Tempo di riconfigurazione
Politica di scheduling
Prestazioni del simulatore
Il tempo di esecuzione reale dipende da:
Risoluzione del tempo di simulazione
Ottimizzazione in fase di compilazione (il tempo di elab. < 30 %)
La memoria occupata dal modello è di circa
150 KB per ogni BlackBox
Aumentando il num. Di BlackBox aumenta il numero di thread, ma le prestazioni non degradano
Risultati e sviluppi futuri
Generazione automatica di specifiche riconfigurabili da specifiche statiche.
Introduzione di metriche per la stima dell’occupazione
Estensione del simulatore al modello DORM (Data Oriented Reconfigurable Model). In questo modello la funzionalità necessaria a manipolare i dati è definita nel dato stesso.
Utilizzo dei risultati di simulazione per la stima automatica del numero di iterazioni necessarie al mascheramento delle operazioni di riconfigurazione.
C. Amicucci, F. Ferrandi, M.Santambrogio, D. Sciuto. SyCERS: a SystemC design exploration framework for SoC reconfigurable architecture, In Engineering of Reconfigurable System and Algorithms Conference ( ERSA ‘06 ), Las Vegas, Nevada, USA, Giugno 26-29 2006
0 comments
Post a comment