greenbus extensions for system-on-chip exploration

Post on 05-Jan-2016

225 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GreenBus Extensionsfor System-On-Chip Exploration

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 2

Outline

DUST analysis framework Design analysis services

JAVA viewer

SQL database support

GreenBench GreenSocs Configuration framework

Video processor example

Cell phone example

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 3

Outline

DUST analysis framework Design analysis services

JAVA viewer

SQL database support

GreenBench GreenSocs Configuration framework

Video processor example

Cell phone example

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 4

DUST Overview

Analysis backend,SQL database

SystemCsimulation

Visualization, Monitoring, Debugging

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 5

DUST Overview

SystemC

Java

MonitorServicesMonitorServices

DesignStructureDesign

Structure

TransactionsTransactions

SystemC Kernel

GreenBus

Design-Under-Test

StructureExtractionStructureExtraction

Service M

anagerS

ervice Manager

Network Socket

SQLDatabase

SQLDatabase

SimulationControl

SimulationControl

Structure View Structure View

Bus Analyzer Bus Analyzer

Transaction Analyzer Transaction Analyzer

Transaction Introspection Transaction Introspection

Views

Database

InjectionServicesInjectionServices

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 6

DUST Overview

SystemC

Java

MonitorServicesMonitorServices

DesignStructureDesign

Structure

TransactionsTransactions

SystemC Kernel

GreenBus

Design-Under-Test

StructureExtractionStructureExtraction

Service M

anagerS

ervice Manager

Network Socket

SQLDatabase

SQLDatabase

SimulationControl

SimulationControl

Structure View Structure View

Bus Analyzer Bus Analyzer

Transaction Analyzer Transaction Analyzer

Transaction Introspection Transaction Introspection

Views

Database

InjectionServicesInjectionServices

DUST Backend

DUST Frontend

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 7

DUST Backend

Service Manager TCP/IP server, runs concurrently to SC kernel (POSIX thread)

XML streaming (data and control)

Plug-in interface for services

Services Design Structure Service

Module hierarchy, Processes, Ports, Interfaces, Channels

"GreenBus-aware"

Transaction Monitor Service Record transactions during running simulation

Configurable introspection depth

Port Control Service Configure transaction recording for each port individually

Call control methods in a port: Fault injection

Pause / resume simulation

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 8

Service Manager

DataBaseDUST Backend Server

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 9

XML Communication

Handshake protocol

<dust_control> <service_request>PortControlService</service_request> <initial_services_to_start>1</initial_services_to_start></dust_control>

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 10

DUST Frontend JAVA-based integrated analysis environment

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 11

DUST Frontend Design structure visualization

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 12

DUST Frontend Design structure visualization

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 13

DUST Frontend Design structure visualization

ƒ

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 14

DUST Frontend Design structure visualization

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 15

DUST Frontend Transaction Monitoring

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 16

DUST Frontend Transaction Monitoring

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 17

DUST Frontend Transaction Monitoring

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 18

DUST Frontend Transaction Monitoring

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 19

Structure reflection

DUST macros add context-sensitive information to SystemC objects

class GenericRouter : public sc_module, public GenericRouter_if, ..{ GenericRouter(sc_module_name name_) : sc_module(name_), target_port("tport"), init_port("iport"), protocol_port("protocol_port") { GS_TRACE(name(), "I am a generic router.");

target_port.bind_b_if(*this); SC_METHOD( MasterAccessMonitor ); sensitive << target_port.default_event(); .. } ..}

19

DUST_BUS("GenericRouter");

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 20

Structure reflection

DUST macros used in GreenBus

DUST_MASTER_PORT(name, protocol) DUST_SLAVE_PORT(name, protocol) DUST_PORT(name, protocol) DUST_BUS(name) DUST_MASTER_MODULE(name, protocol) DUST_SLAVE_MODULE(name, protocol) DUST_PROTOCOL(name) DUST_SCHEDULER(name) DUST_BRIDGE(name)

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 21

Transaction Monitoring

gs_dust_port replaces sc_port

Interface method calls on port (operator ->) are recorded with SCV

Generates XML element for each transaction phase (atom)

XML stream is sent to JAVA frontend via network connection

GreenBus TransactionContainer

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 22

Port Control Service

Send control commands to ports

Configure transaction recording

Inject communication faults drop / delay / duplicate / modify packets

Implement custom port control functions

class dust_injection_if

{

public:

virtual bool inject(std::string &xml) =0;

virtual ~dust_injection_if() {}

};

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 23

Port Control Service

Port control message example

<xml_injection xmlns=\"http://www.eis.cs.tu-bs.de/DUST/TR\">

<chosen_injection_point>id0xbfff95e8</chosen_injection_point>

<delay>

<percent_packets>25</percent_packets>

<consecutive>true</consecutive>

<specific_delay>

<value>0.003</value>

</specific_delay>

<period_of_time>

<start_time>0.5</start_time>

<end_time>0.75</end_time>

</period_of_time>

</delay>

</xml_injection>

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 24

Port Control Service

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 25

Port Control Service

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 26

Port Control Service

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 27

Port Control Service

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 28

Database Connectivity

Database client connects to DUST backend

Stores simulation data in SQL database MySQL / PostgreSQL

JAVA API enables easy database access Get transactions for a given time interval

Inspect transaction payload

"Live" forwarding of transaction data during running simulation

Compare results of different simulations

DesignStructureDesign

Structure

TransactionsTransactions

SQLDatabase

SQLDatabase

Database

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 30

DUST

Summary Non-intrusive analysis and debugging of SystemC designs

Easy to use (#include "utils/dust.h")

Full GreenBus support

Growing number of visualization frontends

Extensible architecture (add your own debug services, views, …)

Download & contribute: www.greensocs.com/Dust

Ongoing work SystemC Debugger:

pause / resume simulation, run for n delta cycles, etc.

Bus protocol analyzer

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 31

GreenBench

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 32

Outline

DUST analysis framework Design analysis services

JAVA viewer

SQL database support

GreenBench GreenSocs Configuration framework

Video processor example

Cell phone example

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 33

GreenSocs Configuration Framework

GS_PARAM wrapper makes module parameters configurable

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 34

GreenSocs Configuration Framework

Configure parameters from within your model…

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 35

GreenSocs Configuration Framework

…or by using a configuration file

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 36

GreenSocs Configuration Framework

Also create communication architecture by config file

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 37

GreenSocs Configuration Framework

Also create communication architecture by config file

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 38

GreenSocs Configuration Framework

Summary Easily add configurable parameters to your model

Use configuration files

Explore different communication architectureswithout re-compiling your sources

Ongoing work System-wide address range management

Global memory configuration and introspection

Configure parameters with DUST debugger

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 39

GreenBench

GreenBench Build benchmark suits for SystemC and GreenBus

Test new SystemC extensions (e.g., DUST)

Identify missing SystemC features (e.g., synthesis)

Re-use GreenBench components in your own models

Two models are donated by TU Braunschweig, E.I.S. Video Processor (EmViD)

Cellphone Example

Visit www.greensocs.com/GreenBench, download our models, and upload your own models!

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 40

EmViD – Embedded Video Detection

Example EmViD system (face detection)

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 41

EmViD – Embedded Video Detection

EmViD models are comprised of Video Processors (VIPs)

VideoProcessing

Output port(sc_port)

Channel

Input port(sc_port)

Process(SC_THREAD)

Component(SC_MODULE)

Video data Video data

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 42

EmViD – Embedded Video Detection

Configuration framework is used to create different EmViD models

Color-Matching

Erosion,Dilation Labeling

GreenBus (PLB)

Video-Input DDR-RAM

Video-Output

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 43

EmViD – Embedded Video Detection

Configuration framework is used to create different EmViD models

Color-Matching

Erosion,Dilation Labeling

GreenBus (PLB)

Video-Input DDR-RAM

Video-Output

BRAM BRAM

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 44

EmViD – Embedded Video Detection

Components use different TLM APIs SHIP, TAC, OCP

Create mixed-mode designs PV BA CC

Numerous config files available

Test communication architecture exploration with GreenBus

Create new video processors

Add your own video processing cores

GreenBus Extensions for SoC Exploration Wolfgang Klingauf, TU Braunschweig, E.I.S. 45

Thank You

Wolfgang Klingauf

Integrated Circuit Design Lab (E.I.S.)

Technical University of Braunschweig

w.klingauf@tu-bs.de

+49 (531) 391 3105

top related