a flexible hybrid simulation platform targeting multiple ... › 6fab › 00d53ad172f6... · dcache...

21
A Flexible Hybrid Simulation Platform Targeting Multiple Configurable Processors SoC 1 TIMA Laboratory *Hao Shen Frédéric Pétrot System Level Synthesis Group, TIMA Laboratory, CNRS/Grenoble INP/UJF 43, Avenue Félix Viallet, 38031, Grenoble, France

Upload: others

Post on 23-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

A Flexible Hybrid Simulation Platform Targeting Multiple Configurable Processors SoC

1

TIMA Laboratory

*Hao Shen Frédéric PétrotSystem Level Synthesis Group, TIMA Laboratory,

CNRS/Grenoble INP/UJF43, Avenue Félix Viallet, 38031, Grenoble, France

Page 2: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Outline

2

TIMA Laboratory

Page 3: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Outline

3

TIMA Laboratory

Page 4: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Configurable Processors

4

TIMA Laboratory

GPP DSP Configurable Processor ASIC

Low HighPerformance/Gate and Power Efficiency

High LowFlexibility and Time-to-Market

Page 5: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

AcceleratorConfigurable Processor

MPSoC ArchitectureTIMA Laboratory

5

Communication

DSP RISC

Memory DMA Peripherals

Configurable Processor

Configurable Processor

Page 6: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

CPUCPU

Motivation of the Hybrid SimulationTIMA Laboratory

6

HAL API

CPU

MEM DMA

SIMD

?

TA level

EDMA

Page 7: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Outline

7

TIMA Laboratory

Page 8: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

What Is Hybrid Simulation Platform?

TIMA Laboratory

8

Page 9: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

DCacheInstruction Set SimulatorsInstruction Set Simulators

Hybrid Simulation MPSoC PlatformTIMA Laboratory

9

Applications + OS

HAL APIs

Hardware Abstraction Layer(Target Assembly Codes)

DCacheInstruction Set Simulators

ICache DCache

Memory Periph

Applications + OS

HAL APIs

Hybrid Instruction Set Simulators

ContextSwitch

BootCode

I/OAcces

sLock Interrupt

Handler

Memory Periph

TLM SystemC

Page 10: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Outline

10

TIMA Laboratory

Page 11: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Hybrid Simulation Platform DetailsTIMA Laboratory

11

Page 12: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Hybrid Instruction Set Simulator

HAL APIs RealizationTIMA Laboratory

12

Applications and Operating Systemvoid scheduler_commute(pthread_t self){…HAL_CONTEXT_SWITCH(self->reg, thread->reg);}

HAL APIs Wrapper#define HAL_CONTEXT_SWITCH(store_addr, load_addr) ¥xt_iss_simcall(HOST_HAL_CONTEXT_SWITCH, 0, store, load,0,0)

SystemC HAL APIs RealizationInt host_hal_context_switch(int store_addr, int load_addr){map<string, sc_unsigned> current=core.get_all_registers();saveRegWindow(context_map[store_addr], current);loadRegWindow(context_map[load_addr], current);core.set_all_registers(current);}

1

23

Page 13: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Instruction Set Simulators

ICache DCacheInstruction Set Simulators

ICache DCache

Driver Hybrid SimulationTIMA Laboratory

13

Applications

HAL+DriverReadB(DMA_STATUS …);WriteB(DMA_ADDR …);

Instruction Set Simulators

ICache DCache

Control Registers

Address Registers

Status Registers……

DMA Device with SystemC

0x00

0x08

0x40

Applications

HAL+DriverDMA_Reset();DMA_Copy(from, to…);

DMA_Reset()

DMA_Copy()

DMA_Check_Status()……

DMA Device with TLM

Hybrid Instruction Set Simulators

Page 14: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Outline

14

TIMA Laboratory

Page 15: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Motion-JPEG Decoder Example

15

TIMA Laboratory

Page 16: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Accuracy of Hybrid PlatformTIMA Laboratory

16

Hybrid Platform

Traditional ISS Platform Difference

Extended Instructions Acceleration Ratio 1.71 1.53 10%

Page 17: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

DMA Transfer ExampleTIMA Laboratory

17

int ta_dma::dma_ss_copy ( xtsc_core &core,int from, int to, int size)

{// Copy original data to DMA buffer.core.peek_physical(from, size, buff);// Consume time for this copy operationconsume(size/4*time_per_word);// Copy DMA buffer to Target Memory core.poke_physical(to, size, buff);return size;

}

Page 18: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Development EffortTIMA Laboratory

18

Module Name SLOC of the hybrid platform

SLOC of the traditional platform

DMA 79 267context 202 257 (206 lines of asm code)stack 48 14 (6 lines of asm code)

Page 19: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Outline

19

TIMA Laboratory

Page 20: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

Conclusion and Future Works

20

TIMA Laboratory

Page 21: A Flexible Hybrid Simulation Platform Targeting Multiple ... › 6fab › 00d53ad172f6... · DCache Instruction Set SimulatorsInstruction Set Simulators Hybrid Simulation MPSoC Platform

[email protected]

21

TIMA Laboratory