Top Banner
www.flextiles.eu FlexTiles D a t e / R e f e r e n c e FlexTiles Simulating Environment based on Open Virtual Platforms (OVP) Stephan Werner (KIT) D a t e / R e f e r e n c e
28

Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

Nov 22, 2014

Download

Engineering

FlexTiles

The FlexTiles concept is going to integrate DSPs, GPPs/CPUs and a Embedded FPGA and OVP - http://www.ovpworld.org/ - tools makes it easier to simulate and these Slides will explain how
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

www.flextiles.eu

FlexTiles

Da

te /R

efe

renc

e

FlexTiles Simulating Environment based on Open Virtual Platforms

(OVP)Stephan Werner (KIT)

Date

/R

efe

r en

ce

Page 2: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

2 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Outline

Outline Why using OVP? Introduction to FlexTiles Platform Implementation in OVP WebGUI Integration in toolchain

Page 3: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

3 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Why using OVP

Why using OVP: Very complex software

OS Management services Ressource 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

OVP: binary translation of cross-compiled code by morphing

Cycle accuracy is not needed

OVP is right choice for our application

Page 4: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

4 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 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 5: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

5 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Introduction to the FlexTiles Platform: Hardware

Homogeneous GPP nodes

Heterogeneous acceleratorsnodes

GPP Node

AI

DSPNode

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 6: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

6 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 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 7: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

7 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Introduction to the FlexTiles Platform: Software

Page 8: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

8 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Introduction to the FlexTiles Platform: Software

Programming Model: CSDF

Page 9: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

9 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Introduction to the FlexTiles Platform: Software

Programming Model: CSDF

Page 10: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

10 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 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 11: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

11 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 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 connected to GDB

NI

NoC

GPP CoreInstruction

CacheLocal

Data Memory

Peripherals

IT / event

iNoC

Control Sync

Instruction

DMA

Supervisor

Page 12: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

12 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Implementation in OVP

Implementation in OVP: GPP// FOR ALL CORESfor (index=0; index<CORES; index++){

...

////////////////////// BUSES////////////////////

bus[index] = icmNewBus( busName, 32);

////////////////////// PROCESSORS////////////////////cpu[index] = icmNewProcessor(

cpuName, // CPU name"microblaze", // CPU type0, // CPU cpuId0, // CPU model flags32, // address bitsmicroblazeModel, // model file"modelAttrs", // morpher attributesSIM_ATTRS, // attributescpu_attr, // user-defined attributesmicroblazeSemihost, // semi-hosting file"modelAttrs" // semi-hosting attributes

);

icmConnectProcessorBusses(cpu[index], bus[index], bus[index]);

Page 13: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

13 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Implementation in OVP

Implementation in OVP: GPP// FOR ALL CORESfor (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 14: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

14 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Implementation in OVP

Implementation in OVP: GPP// FOR ALL CORESfor (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, // nameuart_path, // modeluartAttr[index], // attrlistNULL, // semihost fileNULL // semihost symbol

);

icmConnectPSEBus(uart[index], bus[index], "plb", 0, UART_BASE, (UART_BASE+UART_SIZE-1));

...}

Page 15: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

15 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Implementation in OVP

Implementation in OVP: GPP// FOR ALL CORESfor (index=0; index<CORES; index++){

...#ifdef DEBUG

if(index==DEBUG_CORE){cpu[index] = icmNewProcessor(

cpuName, // CPU name"microblaze", // CPU type0, // CPU cpuId0, // CPU model flags32, // address bitsmicroblazeModel, // model file"modelAttrs", // morpher attributesICM_ATTR_DEBUG, // attributescpu_attr, // user-defined attributesmicroblazeSemihost, // semi-hosting file"modelAttrs" // semi-hosting attributes

);}else{

#endif...

}

Page 16: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

16 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 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 17: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

17 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Implementation in OVP

Implementation in OVP: Monitoring Core// FOR ALL CORESfor (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 CORESif(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 18: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

18 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Implementation in OVP

Implementation in OVP: DMA-support

Page 19: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

19 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 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 20: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

20 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Implementation in OVP

Implementation in OVP: Accelerator Interface

NINoC

OutputData

DMA

DMAdataoutreq

FIFO

InputData

DMA

DMAdata

inreq

FIFO

da

ta rd

ctrl w

r

AcceleratorOutput Ch.Input Ch.

da

ta w

r

ctrl w

r

InputConfig

DMA

DMAcfgreq

FIFO

Config.Ch.

co

nfig

wr

co

nfig

wr

co

nfig

rd

ctrl w

r

Workreq

FIFO

ctrl w

rc

trl rd

co

ntro

l write

/ sta

tus

rea

d

Synchronization /Notification

rea

d . w

rite n

otific

atio

n

co

nfig

wr

sendsync

Control / Status Channel

me

m c

trl

me

m c

trl

DebugCh.

write

/ rea

d d

eb

ug

no

tifica

tion

rea

d

Page 21: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

21 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Implementation in OVP

Implementation in OVP: Accelerator Interface

EXPLANATION IN COMBINATION WITH LIVE-PRESENTATION OF CODE

Page 22: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

22 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 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 23: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

23 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Usability

WebGUI Generation of Hardware-Architecture

Page 24: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

24 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Usability

WebGUI Application-Binding

Page 25: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

25 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Usability

WebGUI Simulation in WebGUI

Page 26: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

26 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Integration in toolchain

Integration in toolchain

Page 27: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

27 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Integration in toolchain

Integration in toolchain

Page 28: Conference on Adaptive Hardware and Systems (AHS'14) - Why FlexTiles uses OVP for Simulation

28 /

Da

te /R

efe

renc

e

The

info

rmat

ion

cont

aine

d in

thi

s do

cum

ent

and

any

atta

chm

ents

are

the

pro

pert

y of

Fle

xTile

s co

nsor

tium

. Y

ou a

re h

ereb

y no

tifie

d th

at a

ny r

evie

w,

diss

emin

atio

n, d

istr

ibut

ion,

co

pyin

g or

oth

erw

ise

use

of t

his

docu

men

t m

ust

be d

one

in a

ccor

danc

e w

ith t

he C

A o

f th

e pr

ojec

t (T

RT

/DJ/

6244

1278

5.20

11).

Tem

plat

e ve

rsio

n 1

.0

Implementation in OVP

Thank you for your attention

Questions ?