SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
www.flextiles.eu 
FlexTiles 
FlexTiles Simulating Environment based on Open Virtual Platforms (OVP) 
Stephan Werner (KIT)
2 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Outline 
Outline 
What is OVP? 
Why using OVP? 
Introduction to FlexTiles Platform 
Implementation in OVP 
WebGUI 
Integration in toolchain
3 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
What is OVP 
High-level simulation 
Trend towards higher levels of abstraction 
Early Software Evaluation 
Better Debugging options 
SystemC TLM 
SystemC exploring faster simulations 
Open Virtual Platforms (OVP) 
Completely new framework 
Yet designed for good interaction with SystemC 
Based on binary translation through „morphing“ functions 
Platform access API and GDB support 
Peripheral generation
4 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Why using OVP 
Why using OVP: 
Very complex software in the project 
OS 
Management services 
Resource Managers 
User applications in Virtual Platforms 
Hardware not fully integrated 
Making a cycle-accurate model is not possible 
Possible: modeling the expected behavior (register set, protocols, etc. 
Our focus: Rapid Prototyping of complex software 
Simulation should run as fast as possible 
Cycle accuracy is not needed 
 OVP is right choice for our application
5 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Introduction to the FlexTiles Platform 
Introduction to the FlexTiles Platform: Hardware 
GPPs 
MicroBlazes executing CompOSe 
One Monitoring Core 
DSP 
Icyflex 4 
eFPGA 
Accelerator Interface 
Virtualizing DSPs and accelerators 
Network Interfaces 
Abstraction for different NoCs 
NoC 
View in HW: DMAs 
View in SW: FIFOs
6 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Introduction to the FlexTiles Platform: Hardware 
Homogeneous GPP nodes 
Heterogeneous accelerators 
nodes 
GPP Node 
AI 
DSP 
Node 
NI 
GPP Node 
NI 
NoC 
NI 
NI 
NI 
AI 
AI 
NI 
Config. Ctrl. 
DDR Ctrl. 
NI 
GPP Node 
NI 
I/O 
NI 
Generic Interfaces 
eFPGA Domain (Reconfigurable HW acc.) 
Dedicated Accelerator 
Node 
Dedicated Accelerator 
Node
7 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Introduction to the FlexTiles Platform 
Introduction to the FlexTiles Platform: Software 
CompOSe 
Real-time OS 
Guaranteed real-time 
FIFOs 
Software view to NoC 
Cyclo-static dataflow 
Programming model 
ELF-bundles 
Contains information about the different configurations of the CSDF model 
Contains all executables 
Virtualization Layer 
Manages task migration and (re-)distribution 
Runs as priviledged service
8 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Introduction to the FlexTiles Platform: Software
9 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Introduction to the FlexTiles Platform: Software 
Programming Model: CSDF
10 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Introduction to the FlexTiles Platform: Software 
Programming Model: CSDF
11 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: Outline 
GPPs running the OS 
The Monitoring Core 
DMA-support as used for FIFOs 
Accelerator Interface 
After implementation: 
WebGUI 
Integration in toolflow
12 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: GPP 
 MicroBlaze-model in OVP available 
Same (cross-compiled) code is executed 
Timer has to be adapted 
CompOSe executed 
Virtualization layer 
Test environment 
Can be debugged 
with GDB 
NI 
NoC 
GPP Core 
Instruction Cache 
Local Data Memory 
Peripherals 
IT / event 
iNoC 
Control 
Sync 
Instruction 
DMA 
Supervisor
13 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: GPP // FOR ALL CORES for (index=0; index<CORES; index++){ ... //////////////////// // BUSES //////////////////// bus[index] = icmNewBus( busName, 32); //////////////////// // PROCESSORS //////////////////// cpu[index] = icmNewProcessor( cpuName, // CPU name "microblaze", // CPU type 0, // CPU cpuId 0, // CPU model flags 32, // address bits microblazeModel, // model file "modelAttrs", // morpher attributes SIM_ATTRS, // attributes cpu_attr, // user-defined attributes microblazeSemihost, // semi-hosting file "modelAttrs" // semi-hosting attributes ); icmConnectProcessorBusses(cpu[index], bus[index], bus[index]); …
14 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: GPP // FOR ALL CORES for (index=0; index<CORES; index++){ ... //////////////////// // MEMORY //////////////////// localMem[index] = icmNewMemory(memName, 0x7, MICRO_SIZE); icmConnectMemoryToBus( bus[index], "mp1", localMem[index], MICRO_BASE); icmConnectMemoryToBus( bus[index], memportName, shared, SHARE_BASE); if(!icmLoadProcessorMemory(cpu[index], application[index], False, False, True)) return -1; //////////////////// // TIMERS AND INTS //////////////////// timer[index] = icmNewPSE( timerName, // name //timer_path, // model "../Peripherals/Timer/pse.pse", timer_attr, // attrlist 0, // semihost file 0 // semihost symbol ); icmConnectPSEBus( timer[index], bus[index], "plb", 0, TIMER_BASE, (TIMER_BASE+TIMER_SIZE-1)); …
15 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: GPP // FOR ALL CORES for (index=0; index<CORES; index++){ ... irq[index] = icmNewNet(irqName); icmConnectProcessorNet( cpu[index], irq[index], "Interrupt", ICM_INPUT); icmConnectPSENet( timer[index], irq[index], "Interrupt", ICM_OUTPUT); //////////////////// // UART //////////////////// uartAttr[index] = icmNewAttrList(); icmAddStringAttr(uartAttr[index], "outfile", uartAttrName); uart[index] = icmNewPSE( uartName, // name uart_path, // model uartAttr[index], // attrlist NULL, // semihost file NULL // semihost symbol ); icmConnectPSEBus(uart[index], bus[index], "plb", 0, UART_BASE, (UART_BASE+UART_SIZE-1)); ... }
16 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: GPP // FOR ALL CORES for (index=0; index<CORES; index++){ ... #ifdef DEBUG if(index==DEBUG_CORE){ cpu[index] = icmNewProcessor( cpuName, // CPU name "microblaze", // CPU type 0, // CPU cpuId 0, // CPU model flags 32, // address bits microblazeModel, // model file "modelAttrs", // morpher attributes ICM_ATTR_DEBUG, // attributes cpu_attr, // user-defined attributes microblazeSemihost, // semi-hosting file "modelAttrs" // semi-hosting attributes ); }else{ #endif ... }
17 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: Monitoring Core 
Not every GPP can have an UART 
Hardware limited 
Monitoring Core gathers the output 
Only GPP with I/O 
Connected via FSL to other GPPs 
On OVP: UART 
On board: Ethernet to PC 
Same operations run in OVP and on board 
getfsl, putfsl 
CompOSeCompOSeMonitoringCoreCompOSeUART(OVP) (Board)
18 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: Monitoring Core // FOR ALL CORES for (index=0; index<CORES; index++){ ... //connections to central monitoring core; limitation: 16FSL links //Monitor core is last core created, its link is defined by FSL_MONITOR, tile fsl connect to this id and putfsl sends to it //FSL_MONITOR needs to be set to the # of the last core, which equals CORES if(index!=FSL_MONITOR){ char monitorPort[64]; tfsl[index] = icmNewFifo(fsl_ToMonitor_Name, 64, 128); sprintf(monitorPort, "MFSL%d", FSL_MONITOR); icmConnectProcessorConn(cpu[index], tfsl[index], monitorPort, ICM_OUTPUT); ffsl[index] = icmNewFifo(fsl_FromMonitor_Name, 64, 128); sprintf(monitorPort, "SFSL%d", FSL_MONITOR); icmConnectProcessorConn(cpu[index], ffsl[index], monitorPort, ICM_INPUT); } if(CORES==index+1){ char tilePort[64]; for(i=0;i<CORES;i++){ if(i!=FSL_MONITOR){ sprintf(tilePort, "SFSL%d", i); icmConnectProcessorConn(cpu[FSL_MONITOR], tfsl[i], tilePort, ICM_INPUT); sprintf(tilePort, "MFSL%d", i); icmConnectProcessorConn(cpu[FSL_MONITOR], ffsl[i], tilePort, ICM_OUTPUT); } } } ... }
19 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: DMA-support
20 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: DMA-support 
Per DMA this is needed: 
One CMI: input memory 
One CMO: output memory 
Adress table: 
Local addresses 
Remote addresses 
GPP 
local memory 
CMI 
CMO 
DMA /////////////////////////////// // DMA Peripheral /////////////////////////////// // instantiate the peripheral icmAttrListP config = icmNewAttrList(); icmAddUns64Attr(config, "id", 1); icmPseP dma = icmNewPSE("dma", "../Peripherals/DMA/dma.pse", config, 0, 0); icmConnectPSEBus(dma, bus[2], "slave1", False, mb0_dma0_BASEADDR, mb0_dma0_BASEADDR+7); icmConnectPSEBus(dma, bus[2], "master1", True, 0x00000000, 0xFFFFFFFF); icmConnectPSEBus(dma, bus[0], "slave0", False, mb1_dma0_BASEADDR, mb1_dma0_BASEADDR+7); icmConnectPSEBus(dma, bus[0], "master0", True, 0x00000000, 0xFFFFFFFF);
21 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: Accelerator Interface 
NI 
NoC 
Output Data DMA 
DMA data out req 
FIFO 
Input Data DMA 
DMA data in req 
FIFO 
data rd 
ctrl wr 
Accelerator 
Output Ch. 
Input Ch. 
data wr 
ctrl wr 
Input Config DMA 
DMA cfg req 
FIFO 
Config.Ch. 
config wr 
config wr 
config rd 
ctrl wr 
Work req 
FIFO 
ctrl wr 
ctrl rd 
control write / status read 
Synchronization / Notification 
read . write notification 
config wr 
send sync 
Control / Status Channel 
mem ctrl 
mem ctrl 
Debug Ch. 
write / read debug 
notification read
22 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: Accelerator Interface EXPLANATION IN COMBINATION WITH LIVE- PRESENTATION OF CODE
23 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Implementation in OVP: Accelerator Interface 
AI implemented as peripheral in OVP 
Runs seperately from GPP simulation 
Algorithm of accelerator is executed on host natively 
Fast simulation 
Can be used as template for accelerators 
Insert algorithm in function start_calc()
24 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Usability 
WebGUI 
Generation of Hardware-Architecture
25 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Usability 
WebGUI 
Application-Binding
26 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Usability 
WebGUI 
Simulation in WebGUI
27 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Integration in toolchain 
Integration in toolchain
28 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Integration in toolchain 
Integration in toolchain
29 / 
The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 
Implementation in OVP 
Thank you for your attention Questions ?

Contenu connexe

Tendances

Project report of ustos
Project report of ustosProject report of ustos
Project report of ustos
Murali Mc
 

Tendances (13)

RTOS CASE STUDY OF CODING FOR SENDING APPLIC...
                                RTOS  CASE STUDY OF CODING FOR SENDING APPLIC...                                RTOS  CASE STUDY OF CODING FOR SENDING APPLIC...
RTOS CASE STUDY OF CODING FOR SENDING APPLIC...
 
Linaro Connect 2016 (BKK16) - Introduction to LISA
Linaro Connect 2016 (BKK16) - Introduction to LISALinaro Connect 2016 (BKK16) - Introduction to LISA
Linaro Connect 2016 (BKK16) - Introduction to LISA
 
Project report of ustos
Project report of ustosProject report of ustos
Project report of ustos
 
Conditional branches
Conditional branchesConditional branches
Conditional branches
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016
 
CPU Scheduling - Part1
CPU Scheduling - Part1CPU Scheduling - Part1
CPU Scheduling - Part1
 
Operating Systems Part II-Process Scheduling, Synchronisation & Deadlock
Operating Systems Part II-Process Scheduling, Synchronisation & DeadlockOperating Systems Part II-Process Scheduling, Synchronisation & Deadlock
Operating Systems Part II-Process Scheduling, Synchronisation & Deadlock
 
Ch5 cpu-scheduling
Ch5 cpu-schedulingCh5 cpu-scheduling
Ch5 cpu-scheduling
 
Rtos
RtosRtos
Rtos
 
Exploiting Linux Control Groups for Effective Run-time Resource Management
Exploiting Linux Control Groups for Effective Run-time Resource ManagementExploiting Linux Control Groups for Effective Run-time Resource Management
Exploiting Linux Control Groups for Effective Run-time Resource Management
 
Jython for Embedded Software Validation
Jython for Embedded Software ValidationJython for Embedded Software Validation
Jython for Embedded Software Validation
 
PART-3 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-3 : Mastering RTOS FreeRTOS and STM32Fx with DebuggingPART-3 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-3 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
 
Yocto - 7 masters
Yocto - 7 mastersYocto - 7 masters
Yocto - 7 masters
 

En vedette

The FlexTiles Development Platform offers Dual FPGA for 3D SoC Prototyping
The FlexTiles Development Platform offers Dual FPGA for 3D SoC PrototypingThe FlexTiles Development Platform offers Dual FPGA for 3D SoC Prototyping
The FlexTiles Development Platform offers Dual FPGA for 3D SoC Prototyping
FlexTiles Team
 
Esquema relsemánticas1ºabac.
Esquema relsemánticas1ºabac.Esquema relsemánticas1ºabac.
Esquema relsemánticas1ºabac.
cfernandezvp
 
Why do you need a LinkedIn Profile?
Why do you need a LinkedIn Profile?Why do you need a LinkedIn Profile?
Why do you need a LinkedIn Profile?
David Schnabl
 
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc19849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
Theduyet Pham
 
Fall School on Programming Paradigms for Multi-core Embedded Systems 2012
Fall School on Programming Paradigms for Multi-core Embedded Systems 2012Fall School on Programming Paradigms for Multi-core Embedded Systems 2012
Fall School on Programming Paradigms for Multi-core Embedded Systems 2012
FlexTiles Team
 

En vedette (20)

FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platformFPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
 
The FlexTiles Development Platform offers Dual FPGA for 3D SoC Prototyping
The FlexTiles Development Platform offers Dual FPGA for 3D SoC PrototypingThe FlexTiles Development Platform offers Dual FPGA for 3D SoC Prototyping
The FlexTiles Development Platform offers Dual FPGA for 3D SoC Prototyping
 
LE GUIDE CULINAIRE
LE GUIDE CULINAIRELE GUIDE CULINAIRE
LE GUIDE CULINAIRE
 
FPL'2014 - FlexTiles Workshop - 1 - FlexTiles Overview
FPL'2014 - FlexTiles Workshop - 1 - FlexTiles OverviewFPL'2014 - FlexTiles Workshop - 1 - FlexTiles Overview
FPL'2014 - FlexTiles Workshop - 1 - FlexTiles Overview
 
DATE 2012
DATE 2012DATE 2012
DATE 2012
 
FPL'2014 - FlexTiles Workshop - 4 - FlexTiles Virtual Platform
FPL'2014 - FlexTiles Workshop - 4 - FlexTiles Virtual PlatformFPL'2014 - FlexTiles Workshop - 4 - FlexTiles Virtual Platform
FPL'2014 - FlexTiles Workshop - 4 - FlexTiles Virtual Platform
 
Esquema relsemánticas1ºabac.
Esquema relsemánticas1ºabac.Esquema relsemánticas1ºabac.
Esquema relsemánticas1ºabac.
 
Adaptive Hardware and Systems (AHS'14) - FlexTiles OVP Demo
Adaptive Hardware and Systems (AHS'14) - FlexTiles OVP DemoAdaptive Hardware and Systems (AHS'14) - FlexTiles OVP Demo
Adaptive Hardware and Systems (AHS'14) - FlexTiles OVP Demo
 
Moishe House West Hartford Info Session presentation
Moishe House West Hartford Info Session presentationMoishe House West Hartford Info Session presentation
Moishe House West Hartford Info Session presentation
 
SAMOS 2012
SAMOS 2012SAMOS 2012
SAMOS 2012
 
HiPEAC 2012
HiPEAC 2012HiPEAC 2012
HiPEAC 2012
 
Why do you need a LinkedIn Profile?
Why do you need a LinkedIn Profile?Why do you need a LinkedIn Profile?
Why do you need a LinkedIn Profile?
 
Las leyes de Newton y los tipos de fuerza
Las leyes de Newton y los tipos de fuerzaLas leyes de Newton y los tipos de fuerza
Las leyes de Newton y los tipos de fuerza
 
RAW 2012
RAW 2012RAW 2012
RAW 2012
 
My Year IN Review
My Year IN ReviewMy Year IN Review
My Year IN Review
 
AWS Support
AWS SupportAWS Support
AWS Support
 
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc19849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
 
Kalray MPPA® A New Era of Processing
Kalray MPPA® A New Era of ProcessingKalray MPPA® A New Era of Processing
Kalray MPPA® A New Era of Processing
 
Kalray TURBOCARD2 @ ISC'14
Kalray TURBOCARD2 @ ISC'14Kalray TURBOCARD2 @ ISC'14
Kalray TURBOCARD2 @ ISC'14
 
Fall School on Programming Paradigms for Multi-core Embedded Systems 2012
Fall School on Programming Paradigms for Multi-core Embedded Systems 2012Fall School on Programming Paradigms for Multi-core Embedded Systems 2012
Fall School on Programming Paradigms for Multi-core Embedded Systems 2012
 

Similaire à FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
inside-BigData.com
 
Track A-Compilation guiding and adjusting - IBM
Track A-Compilation guiding and adjusting - IBMTrack A-Compilation guiding and adjusting - IBM
Track A-Compilation guiding and adjusting - IBM
chiportal
 
Accelerating system verilog uvm based vip to improve methodology for verifica...
Accelerating system verilog uvm based vip to improve methodology for verifica...Accelerating system verilog uvm based vip to improve methodology for verifica...
Accelerating system verilog uvm based vip to improve methodology for verifica...
VLSICS Design
 

Similaire à FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform (20)

Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP...
Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP...Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP...
Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP...
 
FPL'2014 - FlexTiles Workshop - 6 - FlexTiles Embedded FPGA Accelerators
FPL'2014 - FlexTiles Workshop - 6 - FlexTiles Embedded FPGA AcceleratorsFPL'2014 - FlexTiles Workshop - 6 - FlexTiles Embedded FPGA Accelerators
FPL'2014 - FlexTiles Workshop - 6 - FlexTiles Embedded FPGA Accelerators
 
FPL'2014 - FlexTiles Workshop - 8 - FlexTiles Demo
FPL'2014 - FlexTiles Workshop - 8 - FlexTiles DemoFPL'2014 - FlexTiles Workshop - 8 - FlexTiles Demo
FPL'2014 - FlexTiles Workshop - 8 - FlexTiles Demo
 
Conference on Adaptive Hardware and Systems (AHS'14) - What is FlexTiles?
Conference on Adaptive Hardware and Systems (AHS'14) - What is FlexTiles?Conference on Adaptive Hardware and Systems (AHS'14) - What is FlexTiles?
Conference on Adaptive Hardware and Systems (AHS'14) - What is FlexTiles?
 
Pivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics Workbench
Pivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics WorkbenchPivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics Workbench
Pivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics Workbench
 
Basic concepts for_clustered_data_ontap_8.3_v1.1-lab_guide
Basic concepts for_clustered_data_ontap_8.3_v1.1-lab_guideBasic concepts for_clustered_data_ontap_8.3_v1.1-lab_guide
Basic concepts for_clustered_data_ontap_8.3_v1.1-lab_guide
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
 
Icin2012
Icin2012Icin2012
Icin2012
 
Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]
 
Track A-Compilation guiding and adjusting - IBM
Track A-Compilation guiding and adjusting - IBMTrack A-Compilation guiding and adjusting - IBM
Track A-Compilation guiding and adjusting - IBM
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerLinux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop Computer
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerLinux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop Computer
 
Accelerating system verilog uvm based vip to improve methodology for verifica...
Accelerating system verilog uvm based vip to improve methodology for verifica...Accelerating system verilog uvm based vip to improve methodology for verifica...
Accelerating system verilog uvm based vip to improve methodology for verifica...
 
OpenStack with OpenDaylight
OpenStack with OpenDaylightOpenStack with OpenDaylight
OpenStack with OpenDaylight
 
Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles FPGA Emulation
Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles FPGA EmulationConference on Adaptive Hardware and Systems (AHS'14) - FlexTiles FPGA Emulation
Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles FPGA Emulation
 
2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update
 
Open Cloud Computing Interface Presentation
Open Cloud Computing Interface PresentationOpen Cloud Computing Interface Presentation
Open Cloud Computing Interface Presentation
 
Programmable I/O Controllers as Data Center Sensor Networks
Programmable I/O Controllers as Data Center Sensor NetworksProgrammable I/O Controllers as Data Center Sensor Networks
Programmable I/O Controllers as Data Center Sensor Networks
 
DPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. MeltonDPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. Melton
 
LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1
 

Plus de FlexTiles Team

FlexTiles Development Platform
FlexTiles Development Platform FlexTiles Development Platform
FlexTiles Development Platform
FlexTiles Team
 
FlexTiles Platform - Xilinx Virtex-6 DUO
FlexTiles Platform - Xilinx Virtex-6 DUOFlexTiles Platform - Xilinx Virtex-6 DUO
FlexTiles Platform - Xilinx Virtex-6 DUO
FlexTiles Team
 

Plus de FlexTiles Team (11)

FlexTiles Platform integrated in 19" Rack Enclosure
FlexTiles Platform integrated in 19" Rack EnclosureFlexTiles Platform integrated in 19" Rack Enclosure
FlexTiles Platform integrated in 19" Rack Enclosure
 
Conference on Adaptive Hardware and Systems (AHS'14) - The FlexTiles Embedded...
Conference on Adaptive Hardware and Systems (AHS'14) - The FlexTiles Embedded...Conference on Adaptive Hardware and Systems (AHS'14) - The FlexTiles Embedded...
Conference on Adaptive Hardware and Systems (AHS'14) - The FlexTiles Embedded...
 
Conference on Adaptive Hardware and Systems (AHS'14) - The 3D FlexTiles Concept
Conference on Adaptive Hardware and Systems (AHS'14) - The 3D FlexTiles ConceptConference on Adaptive Hardware and Systems (AHS'14) - The 3D FlexTiles Concept
Conference on Adaptive Hardware and Systems (AHS'14) - The 3D FlexTiles Concept
 
Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles Introductions
Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles IntroductionsConference on Adaptive Hardware and Systems (AHS'14) - FlexTiles Introductions
Conference on Adaptive Hardware and Systems (AHS'14) - FlexTiles Introductions
 
Reconfigurable 3D MultiCore Concept by Prof. Michael Hübner @ ARC 2013
Reconfigurable 3D MultiCore Concept by Prof. Michael Hübner @ ARC 2013Reconfigurable 3D MultiCore Concept by Prof. Michael Hübner @ ARC 2013
Reconfigurable 3D MultiCore Concept by Prof. Michael Hübner @ ARC 2013
 
FlexTiles Platform
FlexTiles Platform FlexTiles Platform
FlexTiles Platform
 
FlexTiles Development Platform
FlexTiles Development Platform FlexTiles Development Platform
FlexTiles Development Platform
 
FlexTiles Platform - Xilinx Virtex-6 DUO
FlexTiles Platform - Xilinx Virtex-6 DUOFlexTiles Platform - Xilinx Virtex-6 DUO
FlexTiles Platform - Xilinx Virtex-6 DUO
 
INA OCMC 2012
INA OCMC 2012INA OCMC 2012
INA OCMC 2012
 
DAC 2012
DAC 2012DAC 2012
DAC 2012
 
ISVLSI 2012
ISVLSI 2012ISVLSI 2012
ISVLSI 2012
 

Dernier

Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 

Dernier (20)

High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 

FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

  • 1. www.flextiles.eu FlexTiles FlexTiles Simulating Environment based on Open Virtual Platforms (OVP) Stephan Werner (KIT)
  • 2. 2 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Outline Outline What is OVP? Why using OVP? Introduction to FlexTiles Platform Implementation in OVP WebGUI Integration in toolchain
  • 3. 3 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 What is OVP High-level simulation Trend towards higher levels of abstraction Early Software Evaluation Better Debugging options SystemC TLM SystemC exploring faster simulations Open Virtual Platforms (OVP) Completely new framework Yet designed for good interaction with SystemC Based on binary translation through „morphing“ functions Platform access API and GDB support Peripheral generation
  • 4. 4 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Why using OVP Why using OVP: Very complex software in the project OS Management services Resource Managers User applications in Virtual Platforms Hardware not fully integrated Making a cycle-accurate model is not possible Possible: modeling the expected behavior (register set, protocols, etc. Our focus: Rapid Prototyping of complex software Simulation should run as fast as possible Cycle accuracy is not needed  OVP is right choice for our application
  • 5. 5 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Introduction to the FlexTiles Platform Introduction to the FlexTiles Platform: Hardware GPPs MicroBlazes executing CompOSe One Monitoring Core DSP Icyflex 4 eFPGA Accelerator Interface Virtualizing DSPs and accelerators Network Interfaces Abstraction for different NoCs NoC View in HW: DMAs View in SW: FIFOs
  • 6. 6 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Introduction to the FlexTiles Platform: Hardware Homogeneous GPP nodes Heterogeneous accelerators nodes GPP Node AI DSP Node NI GPP Node NI NoC NI NI NI AI AI NI Config. Ctrl. DDR Ctrl. NI GPP Node NI I/O NI Generic Interfaces eFPGA Domain (Reconfigurable HW acc.) Dedicated Accelerator Node Dedicated Accelerator Node
  • 7. 7 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Introduction to the FlexTiles Platform Introduction to the FlexTiles Platform: Software CompOSe Real-time OS Guaranteed real-time FIFOs Software view to NoC Cyclo-static dataflow Programming model ELF-bundles Contains information about the different configurations of the CSDF model Contains all executables Virtualization Layer Manages task migration and (re-)distribution Runs as priviledged service
  • 8. 8 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Introduction to the FlexTiles Platform: Software
  • 9. 9 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Introduction to the FlexTiles Platform: Software Programming Model: CSDF
  • 10. 10 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Introduction to the FlexTiles Platform: Software Programming Model: CSDF
  • 11. 11 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: Outline GPPs running the OS The Monitoring Core DMA-support as used for FIFOs Accelerator Interface After implementation: WebGUI Integration in toolflow
  • 12. 12 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: GPP  MicroBlaze-model in OVP available Same (cross-compiled) code is executed Timer has to be adapted CompOSe executed Virtualization layer Test environment Can be debugged with GDB NI NoC GPP Core Instruction Cache Local Data Memory Peripherals IT / event iNoC Control Sync Instruction DMA Supervisor
  • 13. 13 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: GPP // FOR ALL CORES for (index=0; index<CORES; index++){ ... //////////////////// // BUSES //////////////////// bus[index] = icmNewBus( busName, 32); //////////////////// // PROCESSORS //////////////////// cpu[index] = icmNewProcessor( cpuName, // CPU name "microblaze", // CPU type 0, // CPU cpuId 0, // CPU model flags 32, // address bits microblazeModel, // model file "modelAttrs", // morpher attributes SIM_ATTRS, // attributes cpu_attr, // user-defined attributes microblazeSemihost, // semi-hosting file "modelAttrs" // semi-hosting attributes ); icmConnectProcessorBusses(cpu[index], bus[index], bus[index]); …
  • 14. 14 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: GPP // FOR ALL CORES for (index=0; index<CORES; index++){ ... //////////////////// // MEMORY //////////////////// localMem[index] = icmNewMemory(memName, 0x7, MICRO_SIZE); icmConnectMemoryToBus( bus[index], "mp1", localMem[index], MICRO_BASE); icmConnectMemoryToBus( bus[index], memportName, shared, SHARE_BASE); if(!icmLoadProcessorMemory(cpu[index], application[index], False, False, True)) return -1; //////////////////// // TIMERS AND INTS //////////////////// timer[index] = icmNewPSE( timerName, // name //timer_path, // model "../Peripherals/Timer/pse.pse", timer_attr, // attrlist 0, // semihost file 0 // semihost symbol ); icmConnectPSEBus( timer[index], bus[index], "plb", 0, TIMER_BASE, (TIMER_BASE+TIMER_SIZE-1)); …
  • 15. 15 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: GPP // FOR ALL CORES for (index=0; index<CORES; index++){ ... irq[index] = icmNewNet(irqName); icmConnectProcessorNet( cpu[index], irq[index], "Interrupt", ICM_INPUT); icmConnectPSENet( timer[index], irq[index], "Interrupt", ICM_OUTPUT); //////////////////// // UART //////////////////// uartAttr[index] = icmNewAttrList(); icmAddStringAttr(uartAttr[index], "outfile", uartAttrName); uart[index] = icmNewPSE( uartName, // name uart_path, // model uartAttr[index], // attrlist NULL, // semihost file NULL // semihost symbol ); icmConnectPSEBus(uart[index], bus[index], "plb", 0, UART_BASE, (UART_BASE+UART_SIZE-1)); ... }
  • 16. 16 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: GPP // FOR ALL CORES for (index=0; index<CORES; index++){ ... #ifdef DEBUG if(index==DEBUG_CORE){ cpu[index] = icmNewProcessor( cpuName, // CPU name "microblaze", // CPU type 0, // CPU cpuId 0, // CPU model flags 32, // address bits microblazeModel, // model file "modelAttrs", // morpher attributes ICM_ATTR_DEBUG, // attributes cpu_attr, // user-defined attributes microblazeSemihost, // semi-hosting file "modelAttrs" // semi-hosting attributes ); }else{ #endif ... }
  • 17. 17 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: Monitoring Core Not every GPP can have an UART Hardware limited Monitoring Core gathers the output Only GPP with I/O Connected via FSL to other GPPs On OVP: UART On board: Ethernet to PC Same operations run in OVP and on board getfsl, putfsl CompOSeCompOSeMonitoringCoreCompOSeUART(OVP) (Board)
  • 18. 18 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: Monitoring Core // FOR ALL CORES for (index=0; index<CORES; index++){ ... //connections to central monitoring core; limitation: 16FSL links //Monitor core is last core created, its link is defined by FSL_MONITOR, tile fsl connect to this id and putfsl sends to it //FSL_MONITOR needs to be set to the # of the last core, which equals CORES if(index!=FSL_MONITOR){ char monitorPort[64]; tfsl[index] = icmNewFifo(fsl_ToMonitor_Name, 64, 128); sprintf(monitorPort, "MFSL%d", FSL_MONITOR); icmConnectProcessorConn(cpu[index], tfsl[index], monitorPort, ICM_OUTPUT); ffsl[index] = icmNewFifo(fsl_FromMonitor_Name, 64, 128); sprintf(monitorPort, "SFSL%d", FSL_MONITOR); icmConnectProcessorConn(cpu[index], ffsl[index], monitorPort, ICM_INPUT); } if(CORES==index+1){ char tilePort[64]; for(i=0;i<CORES;i++){ if(i!=FSL_MONITOR){ sprintf(tilePort, "SFSL%d", i); icmConnectProcessorConn(cpu[FSL_MONITOR], tfsl[i], tilePort, ICM_INPUT); sprintf(tilePort, "MFSL%d", i); icmConnectProcessorConn(cpu[FSL_MONITOR], ffsl[i], tilePort, ICM_OUTPUT); } } } ... }
  • 19. 19 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: DMA-support
  • 20. 20 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: DMA-support Per DMA this is needed: One CMI: input memory One CMO: output memory Adress table: Local addresses Remote addresses GPP local memory CMI CMO DMA /////////////////////////////// // DMA Peripheral /////////////////////////////// // instantiate the peripheral icmAttrListP config = icmNewAttrList(); icmAddUns64Attr(config, "id", 1); icmPseP dma = icmNewPSE("dma", "../Peripherals/DMA/dma.pse", config, 0, 0); icmConnectPSEBus(dma, bus[2], "slave1", False, mb0_dma0_BASEADDR, mb0_dma0_BASEADDR+7); icmConnectPSEBus(dma, bus[2], "master1", True, 0x00000000, 0xFFFFFFFF); icmConnectPSEBus(dma, bus[0], "slave0", False, mb1_dma0_BASEADDR, mb1_dma0_BASEADDR+7); icmConnectPSEBus(dma, bus[0], "master0", True, 0x00000000, 0xFFFFFFFF);
  • 21. 21 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: Accelerator Interface NI NoC Output Data DMA DMA data out req FIFO Input Data DMA DMA data in req FIFO data rd ctrl wr Accelerator Output Ch. Input Ch. data wr ctrl wr Input Config DMA DMA cfg req FIFO Config.Ch. config wr config wr config rd ctrl wr Work req FIFO ctrl wr ctrl rd control write / status read Synchronization / Notification read . write notification config wr send sync Control / Status Channel mem ctrl mem ctrl Debug Ch. write / read debug notification read
  • 22. 22 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: Accelerator Interface EXPLANATION IN COMBINATION WITH LIVE- PRESENTATION OF CODE
  • 23. 23 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Implementation in OVP: Accelerator Interface AI implemented as peripheral in OVP Runs seperately from GPP simulation Algorithm of accelerator is executed on host natively Fast simulation Can be used as template for accelerators Insert algorithm in function start_calc()
  • 24. 24 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Usability WebGUI Generation of Hardware-Architecture
  • 25. 25 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Usability WebGUI Application-Binding
  • 26. 26 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Usability WebGUI Simulation in WebGUI
  • 27. 27 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Integration in toolchain Integration in toolchain
  • 28. 28 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Integration in toolchain Integration in toolchain
  • 29. 29 / The information contained in this document and any attachments are the property of FlexTiles consortium. You are hereby notified that any review, dissemination, distribution, copying or otherwise use of this document must be done in accordance with the CA of the project (TRT/DJ/624412785.2011). Template version 1.0 Implementation in OVP Thank you for your attention Questions ?