55
Politecnico di Milano Politecnico di Milano Dynamic Reconfigurability in Embedded System Design - Prima Edizione della 3-Giorni DRESD - 31/07 - 1-2/08, 2006 31/07 - 1-2/08, 2006 Hotel Villa Gina Hotel Villa Gina Goglio Goglio

3DD 1e 31 Luglio Apertura

Embed Size (px)

Citation preview

Page 1: 3DD 1e 31 Luglio Apertura

Politecnico di MilanoPolitecnico di Milano

Dynamic Reconfigurability inEmbedded System Design

- Prima Edizione della 3-Giorni DRESD -

31/07 - 1-2/08, 200631/07 - 1-2/08, 2006Hotel Villa GinaHotel Villa Gina

GoglioGoglio

Page 2: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

OutlineOutline

Something about DRESDDRESD philosophyDRESD teamWhere we are workingSome results

Projects and ThesisConferencesPartnerships

DRESD project: the beginningCaronte

FlowArchitecture

DRESD and Linux: the software architectureICAP kernel moduleThe IP-Core Manager

DRESD project: what we are doingSyCERSSome theoretical aspectsThe complete approach

The Acheronte flowYaRAHow to extend YARA and the Acheronte flow

Page 3: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

OutlineOutline

Something about DRESDDRESD philosophyDRESD teamWhere we are workingSome results

Projects and ThesisConferencesPartnerships

DRESD project: the beginningCaronte

FlowArchitecture

DRESD and Linux: the software architectureICAP kernel moduleThe IP-Core Manager

DRESD project: what we are doingSyCERSSome theoretical aspectsThe complete approach

The Acheronte flowYaRAHow to extend YARA and the Acheronte flow

Page 4: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

DRESD PhilosophyDRESD Philosophy

Do or do not! There’s no try!Do or do not! There’s no try! Master Yoda

I need to believe that something I need to believe that something

extraordinary is possible!extraordinary is possible!Alicia Nash

Page 5: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

DRESD TeamDRESD Team

People30 Undergraduate students12 Graduate students2 PhD3 Researchers4 Professors

MeetingRegular meeting every two weeksDRESD Weekend, August

Page 6: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Where we are working: Where we are working: ReconfigurationReconfiguration

fix

TotalEmbedded

Page 7: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

DRESD in the WORLDDRESD in the WORLD

EuropePaderborn University and HNI

USA:UICNorthwestern

Page 8: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Progetti di RLA 03/04Progetti di RLA 03/04Campione di 30 StudentiCampione di 30 Studenti

55% 45%

Solo Progetto Tesisti

29%

23%

3%

45%

Solo Progetto Luglio Ottobre Marzo

Page 9: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Progetti di RLA 04/05Progetti di RLA 04/05Campione di 75 StudentiCampione di 75 Studenti

53% 47%

Solo Progetto Tesisti

3%29%

21%47%

Solo Progetto Luglio Ottobre Marzo

Page 10: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Progetti di RLA 05/06Progetti di RLA 05/06Campione di 33 StudentiCampione di 33 Studenti

Progetti di RLA 05/06: 33 Studenti

9%

55%

Solo Progetto Tesisti

6%

35%

5%

45%

Solo Progetto Luglio Settembre Marzo

Page 11: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Some results: Some results: ConferencesConferences

Papers: 10

Journal: 1

Conferences Organization:Chair: 1PC: 4Reviewer: 6 + 1 TVLSI

Page 12: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Some results: Some results: PartnershipsPartnerships

Industries:Italian-European:

Siemens Mobile, Contacts: Ferrara GiovannaATMEL, Contact: Ben Altieri, Piergiovanni Bazzana, Pier Stanislao, Chiara NencioniST – Microelectronics, Contact: Davide PandiniDA Sistemi, Contact: Chiara Coppola, Andrea Zucchetti

American:Xilinx Inc., Contact: Jeff Weintraub, Monica MaccanImpulseC, Contacts: David Buechner, David Pellerin

Italian Universities:Collegio Sant’Anna, Contact: prof. Marco Di NataleUniversità degli studi di Milano, Contacts: prof. Roberto Cordone

European Universities:ALaRI, contacts: prof.ssa Mariagiovanna Sami, prof. Umberto BondiPaderborn e Heinz Nixdoerf Institute, contact: prof. Mario PormanUniversitaet Karlsruhe, Contact: prof. Juergen Becker

Noth American Universities:UIC, contacts: prof. John Lillis, prof. Florin Balasa, prof. Shantanu Dutt, Lynn ThomasNorthwestern, contacts: prof. Seda Ogrenci Memik, Pam Mitchell, Rene HallIndiana University Purdue University Indianapolis, Contact: John Lee

Page 13: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

DRESD and HNIDRESD and HNI

Partitioning and SchedulingStatic Scheduling for Reconfigurable ArchitecturePlacement and SchedulingLinux on Raptor2000Dynamic Driver Generation for Custom IPsDistributed reconfigurable scenarios

Cluster Based and Network Based

Page 14: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

DRESD and UICDRESD and UIC

Memory

JHDL

Page 15: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

AC2SWA - Adaptive Computing to SW acceleration:

AC4C - Adaptive Computing for Codesign:

DRESD and NorthwesternDRESD and Northwestern

Page 16: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

OutlineOutline

Something about DRESDDRESD philosophyDRESD teamWhere we are workingSome results

Projects and ThesisConferencesPartnerships

DRESD project: the beginningCaronte

FlowArchitecture

DRESD and Linux: the software architectureICAP kernel moduleThe IP-Core Manager

DRESD project: what we are doingSyCERSSome theoretical aspectsThe complete approach

The Acheronte flowYaRAHow to extend YARA and the Acheronte flow

Page 17: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

CaronteCaronte

WhoMarco D. SantambrogioDonatella SciutoFabrizio Ferrandi

ObjectivesPropose a novel embedded partial reconfigurable architecture (RSoC)Define a complete methodology to port a generic application on the proposed architecture

Page 18: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

DRESD: The Caronte FlowDRESD: The Caronte Flow

Page 19: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

HW-SSP SequencingHW-SSP Sequencing

Page 20: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

DRESD: The Caronte DRESD: The Caronte ArchitectureArchitecture

Page 21: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

DRESD and LinuxDRESD and Linux

WhoAlberto DonatoVincenzo FrascinoPaolo MartinoVincezo RanaMarco SantambrogioGuido Serra

ObjectivesProvide software support for dynamic partial reconfiguration on Systems-on-Chip running the LINUX operating system.Issues:

Partial reconfiguration process management from the OSAddition and removal of hardware reconfigurable componentsAutomatic loading and unloading of specific drivers for the IP-Cores upon components configuration/deconfigurationEasier programming interface for specific drivers

Page 22: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Software ArchitectureSoftware Architecture

Composed of two main elements:Driver to support partial reconfigurationManager for the IP-Cores devices

The software architecture provides:

Access to ICAP component from userspaceInterface between IP-Cores low-level drivers and kernelAccess to reconfigurable devices from userspace processes

Page 23: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

The ICAP Kernel ModuleThe ICAP Kernel Module

Implements a device driver, adds kernel support for the Xilinx ICAP component.

Access from userspace via standard device node mechanism (i.e. /dev/icap)Masks hardware detailsReconfiguration data provided in the form of partial bitstream files

Page 24: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

The IP-Core ManagerThe IP-Core Manager

A LINUX kernel module which implements a unified infrastructure for the management of the IP-Cores.IP-Cores Plug-and-Play

Runtime loading of specific IP-Cores driversManagement of operations common to all driversAccess to reconfigurable components from userspaceStandardize and simplify writing of specific drivers

Page 25: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

The IP-Core Manager: The IP-Core Manager: HierarchyHierarchy

The IP-Core Manager acts as a layer between the operating system kernel and the low-level device drivers.

The low-level drivers contain:system calls implementationdevices initialization and shutdown functions

The drivers also contain a stub:provides standard kernel module interfaceprovides module initialization and shutdown functions

Page 26: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Caronte: Standalone Vs LinuxCaronte: Standalone Vs Linux

Table 2 - Original Caronte vs. Caronte with Linux on the XC2VP7 FPGA

Resource

Orignal Caronte Caronte LinuxTotal Available

Elem. Perc.(%)

Elem. Perc.(%)

Slice Flip Flops 1843 18 2369 24 9856

4-input LUTs 1727 17 2173 22 9856

Occupied Slices 1818 36 2262 45 4928

Bonded IOBs 107 27 168 42 396

Block RAM 32 72 32 72 44

DCMs 2 50 2 50 4

Page 27: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Distributed scenariosDistributed scenarios

Page 28: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

OutlineOutline

Something about DRESDDRESD philosophyDRESD teamWhere we are workingSome results

Projects and ThesisConferencesPartnerships

DRESD project: the beginningCaronte

FlowArchitecture

DRESD and Linux: the software architectureICAP kernel moduleThe IP-Core Manager

DRESD project: what we are doingSyCERSSome theoretical aspectsThe complete approach

The Acheronte flowYaRAHow to extend YARA and the Acheronte flow

Page 29: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

SyCERSSyCERS

WhoFrancesco BruschiCarlo AmicucciFabrizio FerrandiChiara SandionigiMarco SantambrogioDonatella SciutoStefano Viazzi

ObjectivesDefine a novel model to describe reconfigurable systems

Based on know HDL (no new languages)To be used in the early first stage of the project; to consider the reconfiguration at the system level

Propose a complete framework for the simulation and the design of reconfigurable systems

Providing system specification that can be simulatedAllowing fast parameters setting, e.g. number of reconfigurable blocks, reconfigurable time Taking into account the software side of the final system

Page 30: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

TLM e SystemCTLM e SystemC

Separare la definizione delle funzionalità del sistema dalla definizione dei dettagli di comunicazioneAttraverso 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 per mezzo dei costrutti:

write()read()

write()read()

module Amodule A

pA->write(v)pA->write(v)

module Bmodule B

v=pB->read()v=pB->read()

channel

pA pB

sc_interface

sc_port

Page 31: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

The SyCERS methodologyThe SyCERS methodology

SpecificationModel

SpecificationModel

ComponentAssembly

Model

ComponentAssembly

Model

BusFunctional

Model

BusFunctional

Model

Define the system functionalityNo information regarding the final implementation

Solution space explorationProvides the functionalities implementation detailsNo information regarding the communication

Computed solution validation via the simulation

Page 32: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

A reconfigurable component A reconfigurable component using SystemCusing SystemC

It’s not possible to instantiate an sc_module during the simulation phaseIt’s possible to modify the SC_THREAD and the SC_METHOD via:

function pointersc_mutex

ConfigurationCombined with the reconfiguration time

ElaborationProvided with the elaboration time

*g()

Reconfigurable Component(sc_module)

Configuration(function pointer)

mutex

Page 33: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Reconfigurable component Reconfigurable component behaviourbehaviour

Page 34: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Caronte ModelsCaronte Models

Control Code(SystemC)

Control Code(SystemC)

CompilerGCC

CompilerGCC

ConfigurationsBlackBox(SystemC)

ConfigurationConfiguration

Control Process

Control Process

Schedulerand Controller

Schedulerand Controller

MemoryModel

MemoryModel

ModelloMemoria

BlackBoxes

ModelCoreConnect

ModelCoreConnect

PowerPCISS

PowerPCISS

Open SystemC PowerPC core models

Cross Compiler GCC

Cross Compiler GCC

Control Code(C/C++)

Control Code(C/C++)

Page 35: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Theoretical AspectsTheoretical Aspects

WhoGianpaolo AgostaFrancesco BruschiRoberto CordoneFabrizio FerrandiChiara FornoniMatteo GianiFrancesco RedaelliMassimo RedaelliMarco SantambrogioPaola Spoletini

ObjectivesPartitioningSchedulingHLS MetricsFloorplanning

Page 36: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Reconfigurable Hardware: Reconfigurable Hardware: why?why?

Time

Area

Aw

Shw

Sw

Ao

Sho So

Feasible Solution Space

Shde

Ade

Problem:Ad < Ade

Page 37: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Reconfigurable Hardware: Reconfigurable Hardware: why?why?

Time

Area

Aw

Shw

Sw

Ao

Sho So

Feasible Solution Space

Shde

AdeAd Avd

Shvd

Svd

Page 38: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Partitioning problemPartitioning problem

Page 39: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

The Acheronte FlowThe Acheronte Flow

WhoElisa MalviciniAlessio MontoneAntonio PiazziMarco Santambrogio

ObjectivesExtend the Caronte flow to support different FPGAs Define a complete automated version of the FlowExtend the Caronte flow to support different architectural solution, e.g YARA, Raptor2000

Page 40: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Acheronte: il flusso per la creazione di YaRAAcheronte: il flusso per la creazione di YaRA

.:: Obiettivi

.:: Caronte

.:: YaRA> Parte fissa> Moduli riconf.> Infrastruttura di comunicaz.

.:: Acheronte

.:: Test

.:: Conclusioni

.:: Sviluppi futuri

.::Domande

Page 41: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

YaRAYaRA

WhoFabio CancarèAlessio MontoneAntonio PiazziMarco Santambrogio

ObjectivesExtend the Caronte architecture to support the linear placement solutionSolve the communication constraints of the previous architecturePresent an architecture that can be easily portend on different board, e.g Raptor2000

Page 42: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

YaRA: the embedded 1D YaRA: the embedded 1D approachapproach

IP-CoreF1

IP-CoreF2

IP-Core

F3

Fix side:PPCICAP

FPGA

Page 43: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

YaRA: parte fissaYaRA: parte fissa

Page 44: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

YaRA: FPGA LayersYaRA: FPGA Layers

Clock

Modulo Riconf.

Macro HW

PPC-405

BRAM e Moltiplicatori 18x18

Parte Fissa

.:: Obiettivi

.:: Caronte

.:: YaRA> Parte fissa> Moduli riconf.> Infrastruttura di comunicaz.

.:: Acheronte

.:: Test

.:: Conclusioni

.:: Sviluppi futuri

.::Domande

CLB x

CLB y

Layer

Page 45: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

Caronte Vs YaRACaronte Vs YaRA

Caronte YaRARiconfigurabilità Parziale e Dinamica

Riconfigurabilità Interna

N° di moduli 2 Anche diverse decine

Continuazione della comunicazione durante la riconfigurazione

Intercambiabilità dei moduli

Utilizzo tecnologie standard

Page 46: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

How to extend YaRA and AcheronteHow to extend YaRA and Acheronte

The “YaRA” side:D-ICAPD-WBMBiRFIP-Core Generator ToolEDK System Creator

The “Acheronte” side:RCPCGADGBAnMaTRecOnDemand

Page 47: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

D-ICAP: DRESD - ICAPD-ICAP: DRESD - ICAP

WhoChiara SandionigiMarco SantambrogioRiccardo SomagliaPaolo Tornese

ObjectivesDefine the DRESD – ICAP core, characterized by:

Support DMA communicationHW-IPCM integration

Page 48: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

D-WBM: DRESD - Wishbone D-WBM: DRESD - Wishbone BUSMacroBUSMacro

WhoDanieleValentinaFabio CancarèMarco Santambrogio

ObjectivesCreate the communication infrastructure for a given instance of the YARA architectureAutomatic XDL description manipulation to define the correct MacroHW for the bus infrastructure

Page 49: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

BiRF: Bitstream Relocation BiRF: Bitstream Relocation FilterFilter

WhoSimone CorbettaMassimo MorandiMarco NovatiMarco Santambrogio

ObjectivesAutomatic replacement of a reconfiguration bitstreamHW implementation of such a filter to speed-up its execution

Page 50: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

WhoMatteo MurgidaAlessandro PanellaVincenzo RanaMarco SantambrogioDonatella Sciuto

ObjectivesCreate an EDK compatible IPCore given the VHDL description of the coreSupport the PLB, OPB and the Wishbone BUS infrastructureFully support the YARA architecture

IP-Core Generator ToolIP-Core Generator Tool

Page 51: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

EDK System CreatorEDK System Creator

WhoRoberto PalazzoMarco Santambrogio

ObjectivesGiven a known EDK system architecture and a generic IPCore description

Automatic binding of the two inputs into a downloadable and executable bitstream

Fully support the YARA architecture

Page 52: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

RCPCG: Reconfigurable Core Placer RCPCG: Reconfigurable Core Placer Constraints GeneratorConstraints Generator

WhoCristiana BolchiniStefanoGilulia Marco Santambrogio

ObjectivesAssign the placement constraints for a reconfigurable core to be used with the YARA architectureFind the best floorplanning constraints according with different optimization function, e.g. #AssignedCLBs/#UsedCLBs

Page 53: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

ADG: Automatic Driver ADG: Automatic Driver GenaratorGenarator

WhoMaurizio SalaVincenzo RanaMarco SantambrogioNicolas Tagliani

ObjectivesComplete the IP-Core Generator tool work with the creation of the correct driver for a given IP-CoreCreate the basic infrastructure for both the standalone and the OS version of the driver

Page 54: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

BAnMaT: BAnMaT: Bitstream Analizer Manipulator ToolBitstream Analizer Manipulator Tool

WhoSimone CorbettaMarco Santambrogio

ObjectivesBitstream analyzerEasy API to manage the bistream fileDifference bitstream file checkerReconfiguration bitstream debugger

Page 55: 3DD 1e 31 Luglio Apertura

1° 3-Giorni DRESD1° 3-Giorni DRESD

RecOnDemandRecOnDemand

WhoFabrizio FerrandiAlessandro MeleVincenzo RanaMarco Santambrogio

ObjectivesClient-Server application for remote FPGA control:Serial Mode:

It downloads a bitstream, the client, that can dialogue with a second entity, the server, to request partial or complete reconfiguration

Download Mode:It allows the download of a sequence of bitstreams for a fixed number of time