Upload
usrdresd
View
565
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
POLITECNICO DI MILANO
Luca Rocchini ([email protected])
Giovanni Saba ([email protected])
RABANRABAN
Reconfiguration for Atmel devices Based on Reconfiguration for Atmel devices Based on AT94K core AT94K core
N-module versionN-module version
SommarioSommario
ObiettiviPanoramica su FPSLIC
FPGA CoreAVR CoreCache Logic
RABANImpostazioneImplementazioneFlusso
PerformanceConclusioniDomande
SommarioSommario
ObiettiviPanoramica su FPSLIC
FPGA CoreAVR CoreCache Logic
RABANImpostazioneImplementazioneFlusso
PerformanceConclusioniDomande
ObiettiviObiettivi
Presentare un flusso sistemi riconfigurabili alternativo a flusso Xilinx
Un'architettura capace di sfruttare il flusso presentato
SommarioSommario
ObiettiviPanoramica su FPSLIC
FPGA CoreAVR CoreCache Logic
RABANImpostazioneImplementazioneFlusso
PerformanceConclusioniDomande
FPSLICFPSLIC
Field Programmable System Level Integrated Circuits (FPSLIC) è un SoC prodotto da AtmelNasce dall'unione di due progetti avanzati:
Microcontrollore AVR (AVR Core)AT40K (FPGA Core)
*
•* Copyright Atmel Corp. All rights reserved
SommarioSommario
ObiettiviPanoramica su FPSLIC
FPGA CoreAVR CoreCache Logic
RABANImpostazioneImplementazioneFlusso
PerformanceConclusioniDomande
8
FPSLIC: FPGA Core - IFPSLIC: FPGA Core - I
Il FPGA Core è formata da l'unione di 3 tipi di componenti:
Le celle di logica (figura a lato)I blocchi FreeRAMGli I/O pad
•* Copyright Atmel Corp. All rights reserved
*
9
FPSLIC: FPGA Core - IIFPSLIC: FPGA Core - II
Le celle di logica sono aggregate in settori quadrati di 16 celleAgli angoli di ogni settori è posto un blocco di FreeRAMPer comunicare le celle dispongono di:
Di una reti di busConnessione diretta tra celle
10
FPSLIC: FPGA Core - IIIFPSLIC: FPGA Core - III
Sono disponibile 5 piani di busEsistono due tipi di bus
ExpressLocal
Tutti i bus sono divisi in segmenti terminati da repeater che rigenera il segnale nel segmento successivo di Bus
•* Copyright Atmel Corp. All rights reserved
*
11
FPSLIC: FPGA Core - IVFPSLIC: FPGA Core - IV
Ogni cella è connessione con le sue 8 vicineSi risparmiano risorse di routingIl routing è indipendente dalla posizione sulla griglia
•* Copyright Atmel Corp. All rights reserved
*
SommarioSommario
ObiettiviPanoramica su FPSLIC
FPGA CoreAVR CoreCache Logic
RABANImpostazioneImplementazioneFlusso
PerformanceConclusioniDomande
13
FPSLIC: AVR CoreFPSLIC: AVR Core
È microcontrollore su architettura Harvard a 8 bitOffre un throughput di 1 MIPS per MhzDispone Di:
32 registri16 Linee di I/O16 Linee di I/O verso la FPGA CoreTimersinterfacce di comunicazione
•* Copyright Atmel Corp. All rights reserved
*
SommarioSommario
ObiettiviPanoramica su FPSLIC
FPGA CoreAVR CoreCache Logic
RABANImpostazioneImplementazioneFlusso
PerformanceConclusioniDomande
15
FPSLIC: Cache LogicFPSLIC: Cache Logic
É possibile riconfigurare dinamicamente la FPGA Core attraverso 4 porte hardware:
FPGAX: posizione orizzontale della cellaFPGAY: posizione verticale della cellaFPGAZ: indirizza la funzionalità da riconfigurareFPGAD: carica la nuova configurazione
La porte sono direttamente accessibili dall'AVR core
SommarioSommario
ObiettiviPanoramica su FPSLIC
FPGA CoreAVR CoreCache Logic
RABANImpostazioneImplementazioneFlusso
PerformanceConclusioniDomande
17
RABAN: Impostazione - IRABAN: Impostazione - I
L'elemento atomico riconfigurabile è un moduloOgni modulo contiene la logica per gestire la comunicazioneL'insieme delle n tuple <Modulo, Attach> attivi in un istante formano un contestoAd ogni contesto possono essere associate più implementazioniLa riconfigurazione avviene attraverso il passaggio tra due implementazioni di contesti diversi
18
RABAN: Impostazione - IIRABAN: Impostazione - II
Perchè la riconfigurazione possa venire in modo dinamico bisogna rispettare questo vincolo:
I moduli in comune tra i due contesti non devono avere place & route diversi
Ne deriva la necessità di diverse implementazioni per lo stesso constesti
SommarioSommario
ObiettiviPanoramica su FPSLIC
FPGA CoreAVR CoreCache Logic
RABANImpostazioneImplementazioneFlusso
PerformanceConclusioniDomande
20
RABAN: Implementazione - IRABAN: Implementazione - I
3 Componenti:I ModuliGli AttachLa Raban Control Interface
Descritta, a parte per gli attach, in VHDLSupporta riconfigurabilità 2D
*Basata su immagine di proprieta di Atmel Corp. All rights reserved*
21
RABAN: Implementazione - IIRABAN: Implementazione - II
La Raban Control Interface:Fare da bridge tra gli attach e il bus con AvrControllare la connessione dei Moduli con al Bus durante la riconfigurazione
Gli Attach:Sono ottenuti da macro HW nativeOffrono comunicazione punto – punto tra modulo e parte staticaÉ molto simile all'interfaccia AVR-FPGA
I Moduli:Sono considerati come black box
SommarioSommario
ObiettiviPanoramica su FPSLIC
FPGA CoreAVR CoreCache Logic
RABANImpostazioneImplementazioneFlusso
PerformanceConclusioniDomande
23
RABAN: Il Flusso - IRABAN: Il Flusso - I
Caratteristiche del flusso Atmel:
Supporto alla co-verificazioneNessun supporto alla progettazione di sistemi riconfigurabili
•* Copyright Atmel Corp. All rights reserved
•*
24
RABAN: Il Flusso - IIRABAN: Il Flusso - II
25
RABAN: Il Flusso - IIIRABAN: Il Flusso - III
Il flusso proposto offre:
Co-verificazione
È utilizzabile su architetture diverse da quella presentata
Sintesi unica dei moduli indipendente dalla posizione
Utilizzo completo degli strumenti di trasformazione geometrica di IDS
Utilizza gli strumenti standard di AtmelIDS: place & route, generazione dei bitstream differenza
System Designer: concatenazione tra bistream e codice AVR, programmazione del dispositivo
26
RABAN: Il Flusso - IVRABAN: Il Flusso - IV
Un Esempio dell'Architettura in IDS
SommarioSommario
ObiettiviPanoramica su FPSLIC
FPGA CoreAVR CoreCache Logic
RABANImpostazioneImplementazioneFlusso
PerformanceConclusioniDomande
28
PerformancePerformance
Per il calcolo delle performance di riconfigurazione è stato condotto su un sistema a singolo moduloIl throughput reale ottenuto è pari 0,76MB/sIl throughput massimo ottenibile pari 1,27MB/sTutti i risultati sono riferiti a una frequenza di 4Mhz
ConclusioniConclusioni
Risultati ottenuti:Un flusso generale per riconfigurazione parziale su FPSLICUn'architettura di riconfigurabilità:
InternaDinamica2D
Una libreria C per la gestione di quest'ultima ( in fase di testing)
Sviluppi futuri:Introdurre supporto alla rilocazione dei moduliTestare l'architettura su sistemi reali
Domande ?Domande ?