Greenbus extensions for system on chip exploration
This presentation is the property of its rightful owner.
Sponsored Links
1 / 44

GreenBus Extensions for System-On-Chip Exploration PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on
  • Presentation posted in: General

GreenBus Extensions for System-On-Chip Exploration. Outline. DUST analysis framework Design analysis services JAVA viewer SQL database support GreenBench GreenSocs Configuration framework Video processor example Cell phone example. Outline. DUST analysis framework

Download Presentation

GreenBus Extensions for System-On-Chip Exploration

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Greenbus extensions for system on chip exploration

GreenBus Extensionsfor System-On-Chip Exploration


Outline

Outline

  • DUST analysis framework

    • Design analysis services

    • JAVA viewer

    • SQL database support

  • GreenBench

    • GreenSocs Configuration framework

    • Video processor example

    • Cell phone example


Outline1

Outline

  • DUST analysis framework

    • Design analysis services

    • JAVA viewer

    • SQL database support

  • GreenBench

    • GreenSocs Configuration framework

    • Video processor example

    • Cell phone example


Dust overview

DUST Overview

SystemCsimulation

Visualization, Monitoring, Debugging

Analysis backend,SQL database


Dust overview1

DUST Overview

SimulationControl

GreenBus

MonitorServices

Service Manager

InjectionServices

Design-Under-Test

StructureExtraction

SystemC Kernel

SystemC

Java

Network Socket

Views

SQL

Database

Structure View

Database

Transaction Analyzer

DesignStructure

Transaction Introspection

Transactions

Bus Analyzer


Dust overview2

DUST Overview

SimulationControl

GreenBus

MonitorServices

Service Manager

InjectionServices

DUST Backend

Design-Under-Test

StructureExtraction

SystemC Kernel

SystemC

Java

Network Socket

Views

DUST Frontend

SQL

Database

Structure View

Database

Transaction Analyzer

DesignStructure

Transaction Introspection

Transactions

Bus Analyzer


Dust backend

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


Service manager

Service Manager

DUST Backend

DataBase

Server


Xml communication

XML Communication

  • Handshake protocol

<dust_control>

<service_request>PortControlService</service_request>

<initial_services_to_start>1</initial_services_to_start>

</dust_control>


Dust frontend

DUST Frontend

  • JAVA-based integrated analysis environment


Dust frontend1

DUST Frontend

  • Design structure visualization


Dust frontend2

DUST Frontend

  • Design structure visualization


Dust frontend3

DUST Frontend

ƒ



  • Design structure visualization


Dust frontend4

DUST Frontend

  • Design structure visualization


Dust frontend5

DUST Frontend

  • Transaction Monitoring


Dust frontend6

DUST Frontend

  • Transaction Monitoring


Dust frontend7

DUST Frontend

  • Transaction Monitoring


Dust frontend8

DUST Frontend

  • Transaction Monitoring


Structure reflection

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

..

}

..

}

DUST_BUS("GenericRouter");

19


Structure reflection1

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)


Transaction monitoring

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


Port control service

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:

virtualbool inject(std::string &xml) =0;

virtual ~dust_injection_if() {}

};


Port control service1

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>


Port control service2

Port Control Service


Port control service3

Port Control Service


Port control service4

Port Control Service


Port control service5

Port Control Service


Database connectivity

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

SQL

Database

Database

DesignStructure

Transactions


Greenbus extensions for system on chip exploration

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 system on chip exploration

GreenBench


Outline2

Outline

  • DUST analysis framework

    • Design analysis services

    • JAVA viewer

    • SQL database support

  • GreenBench

    • GreenSocs Configuration framework

    • Video processor example

    • Cell phone example


Greensocs configuration framework

GreenSocs Configuration Framework

  • GS_PARAM wrapper makes module parameters configurable


Greensocs configuration framework1

GreenSocs Configuration Framework

  • Configure parameters from within your model…


Greensocs configuration framework2

GreenSocs Configuration Framework

  • …or by using a configuration file


Greensocs configuration framework3

GreenSocs Configuration Framework

  • Also create communication architecture by config file


Greensocs configuration framework4

GreenSocs Configuration Framework

  • Also create communication architecture by config file


Greensocs configuration framework5

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


Greenbench

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

  • Visitwww.greensocs.com/GreenBench, download our models,and upload your own models!


Emvid embedded video detection

EmViD – Embedded Video Detection

  • Example EmViD system (face detection)


Emvid embedded video detection1

EmViD – Embedded Video Detection

  • EmViD models are comprised of Video Processors (VIPs)

Channel

Component

(SC_MODULE)

Video

Processing

Video data

Video data

Input port

Output port

(sc_port)

(sc_port)

Process

(SC_THREAD)


Emvid embedded video detection2

EmViD – Embedded Video Detection

Color-

Erosion,

Labeling

Matching

Dilation

GreenBus (PLB)

Video-

Video-

DDR-RAM

Input

Output

  • Configuration framework is used to create different EmViD models


Emvid embedded video detection3

EmViD – Embedded Video Detection

  • Configuration framework is used to create different EmViD models

Color-

Erosion,

BRAM

BRAM

Labeling

Matching

Dilation

GreenBus (PLB)

Video-

Video-

DDR-RAM

Input

Output


Emvid embedded video detection4

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 system on chip exploration

Thank You

Wolfgang Klingauf

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

Technical University of Braunschweig

[email protected]

+49 (531) 391 3105


  • Login