1 / 44

GreenBus Extensions for System-On-Chip Exploration

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

ivan-dudley
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GreenBus Extensionsfor System-On-Chip Exploration

  2. Outline • DUST analysis framework • Design analysis services • JAVA viewer • SQL database support • GreenBench • GreenSocs Configuration framework • Video processor example • Cell phone example

  3. Outline • DUST analysis framework • Design analysis services • JAVA viewer • SQL database support • GreenBench • GreenSocs Configuration framework • Video processor example • Cell phone example

  4. DUST Overview SystemCsimulation Visualization, Monitoring, Debugging Analysis backend,SQL database

  5. 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

  6. 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

  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

  8. Service Manager DUST Backend DataBase Server

  9. XML Communication • Handshake protocol <dust_control> <service_request>PortControlService</service_request> <initial_services_to_start>1</initial_services_to_start> </dust_control>

  10. DUST Frontend • JAVA-based integrated analysis environment

  11. DUST Frontend • Design structure visualization

  12. DUST Frontend • Design structure visualization

  13. DUST Frontend ‚ „ ƒ  … • Design structure visualization

  14. DUST Frontend • Design structure visualization

  15. DUST Frontend • Transaction Monitoring

  16. DUST Frontend • Transaction Monitoring

  17. DUST Frontend • Transaction Monitoring

  18. DUST Frontend • Transaction Monitoring

  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(); .. } .. } DUST_BUS("GenericRouter"); 19

  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)

  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

  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: virtualbool inject(std::string &xml) =0; virtual ~dust_injection_if() {} };

  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>

  24. Port Control Service

  25. Port Control Service

  26. Port Control Service

  27. Port Control Service

  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 SQL Database Database DesignStructure Transactions

  29. 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

  30. GreenBench

  31. Outline • DUST analysis framework • Design analysis services • JAVA viewer • SQL database support • GreenBench • GreenSocs Configuration framework • Video processor example • Cell phone example

  32. GreenSocs Configuration Framework • GS_PARAM wrapper makes module parameters configurable

  33. GreenSocs Configuration Framework • Configure parameters from within your model…

  34. GreenSocs Configuration Framework • …or by using a configuration file

  35. GreenSocs Configuration Framework • Also create communication architecture by config file

  36. GreenSocs Configuration Framework • Also create communication architecture by config file

  37. 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

  38. 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!

  39. EmViD – Embedded Video Detection • Example EmViD system (face detection)

  40. 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)

  41. 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

  42. 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

  43. 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

  44. Thank You Wolfgang Klingauf Integrated Circuit Design Lab (E.I.S.) Technical University of Braunschweig  w.klingauf@tu-bs.de  +49 (531) 391 3105

More Related