fpl'2014 - flextiles workshop - 5 - flextiles simulation platform

29
www.flextiles.eu FlexTiles FlexTiles Simulating Environment based on Open Virtual Platforms (OVP) Stephan Werner (KIT)

Upload: flextiles

Post on 05-Dec-2014

87 views

Category:

Engineering


4 download

DESCRIPTION

Slides presented at the FlexTiles Workshop at FPL'2014. Presentation #5:FlexTiles Simulation Platform FlexTiles is a heterogeneous many-core platform reconfigurable at run-time developed within an FP7 project.

TRANSCRIPT

Page 1: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

www.flextiles.eu

FlexTiles

FlexTiles Simulating Environment based on

Open Virtual Platforms (OVP)

Stephan Werner (KIT)

Page 2: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

2 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Outline

Outline

What is OVP?

Why using OVP?

Introduction to FlexTiles Platform

Implementation in OVP

WebGUI

Integration in toolchain

Page 3: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

3 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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

Page 4: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

4 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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

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

5 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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

Page 6: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

6 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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

Page 7: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

7 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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

Page 8: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

8 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Introduction to the FlexTiles Platform: Software

Page 9: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

9 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Introduction to the FlexTiles Platform: Software

Programming Model: CSDF

Page 10: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

10 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Introduction to the FlexTiles Platform: Software

Programming Model: CSDF

Page 11: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

11 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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

Page 12: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

12 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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

Page 13: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

13 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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]);

Page 14: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

14 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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));

Page 15: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

15 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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));

...

}

Page 16: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

16 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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

...

}

Page 17: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

17 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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

CompOSe CompOSe

MonitoringCore

CompOSe

UART(OVP)

(Board)

Page 18: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

18 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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);

}

}

}

...

}

Page 19: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

19 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Implementation in OVP

Implementation in OVP: DMA-support

Page 20: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

20 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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);

Page 21: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

21 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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 w

r

Accelerator

Output Ch. Input Ch.

data

wr

ctrl w

r

Input

Config

DMA

DMA

cfg

req

FIFO

Config.Ch.

co

nfig

wr

co

nfig

wr

co

nfig

rd

ctrl w

r

Work

req

FIFO

ctrl w

r c

trl rd

co

ntro

l write

/ sta

tus re

ad

Synchronization /

Notification

rea

d . w

rite n

otific

atio

n

co

nfig

wr

send

sync

Control / Status Channel

me

m c

trl

me

m c

trl

Debug

Ch.

write

/ rea

d d

eb

ug

no

tifica

tion

rea

d

Page 22: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

22 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Implementation in OVP

Implementation in OVP: Accelerator Interface

EXPLANATION IN COMBINATION WITH LIVE-

PRESENTATION OF CODE

Page 23: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

23 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 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()

Page 24: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

24 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Usability

WebGUI

Generation of Hardware-Architecture

Page 25: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

25 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Usability

WebGUI

Application-Binding

Page 26: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

26 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Usability

WebGUI

Simulation in WebGUI

Page 27: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

27 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Integration in toolchain

Integration in toolchain

Page 28: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

28 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Integration in toolchain

Integration in toolchain

Page 29: FPL'2014 - FlexTiles Workshop - 5 - FlexTiles Simulation Platform

29 /

The info

rmation c

onta

ined in this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f F

lexT

iles c

onsort

ium

. Y

ou a

re h

ere

by n

otified that any r

evie

w, dis

sem

ination, dis

trib

ution,

copyin

g o

r oth

erw

ise u

se o

f th

is d

ocum

ent m

ust be d

one in a

ccord

ance w

ith the C

A o

f th

e p

roje

ct (T

RT

/DJ/6

24412785.2

011).

Tem

pla

te v

ers

ion 1.0

Implementation in OVP

Thank you for your attention

Questions ?