Upload
usrdresd
View
832
Download
2
Tags:
Embed Size (px)
Citation preview
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
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
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
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
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
1° 3-Giorni DRESD1° 3-Giorni DRESD
Where we are working: Where we are working: ReconfigurationReconfiguration
fix
TotalEmbedded
1° 3-Giorni DRESD1° 3-Giorni DRESD
DRESD in the WORLDDRESD in the WORLD
EuropePaderborn University and HNI
USA:UICNorthwestern
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
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
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
1° 3-Giorni DRESD1° 3-Giorni DRESD
Some results: Some results: ConferencesConferences
Papers: 10
Journal: 1
Conferences Organization:Chair: 1PC: 4Reviewer: 6 + 1 TVLSI
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
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
1° 3-Giorni DRESD1° 3-Giorni DRESD
DRESD and UICDRESD and UIC
Memory
JHDL
1° 3-Giorni DRESD1° 3-Giorni DRESD
AC2SWA - Adaptive Computing to SW acceleration:
AC4C - Adaptive Computing for Codesign:
DRESD and NorthwesternDRESD and Northwestern
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
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
1° 3-Giorni DRESD1° 3-Giorni DRESD
DRESD: The Caronte FlowDRESD: The Caronte Flow
1° 3-Giorni DRESD1° 3-Giorni DRESD
HW-SSP SequencingHW-SSP Sequencing
1° 3-Giorni DRESD1° 3-Giorni DRESD
DRESD: The Caronte DRESD: The Caronte ArchitectureArchitecture
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
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
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
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
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
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
1° 3-Giorni DRESD1° 3-Giorni DRESD
Distributed scenariosDistributed scenarios
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
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
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
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
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
1° 3-Giorni DRESD1° 3-Giorni DRESD
Reconfigurable component Reconfigurable component behaviourbehaviour
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++)
1° 3-Giorni DRESD1° 3-Giorni DRESD
Theoretical AspectsTheoretical Aspects
WhoGianpaolo AgostaFrancesco BruschiRoberto CordoneFabrizio FerrandiChiara FornoniMatteo GianiFrancesco RedaelliMassimo RedaelliMarco SantambrogioPaola Spoletini
ObjectivesPartitioningSchedulingHLS MetricsFloorplanning
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
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
1° 3-Giorni DRESD1° 3-Giorni DRESD
Partitioning problemPartitioning problem
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
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
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
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
1° 3-Giorni DRESD1° 3-Giorni DRESD
YaRA: parte fissaYaRA: parte fissa
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
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
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
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
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
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
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
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
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
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
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
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