Comprehensive SystemC
Standard Level - 5 Tage
view dates and locations
In EnglishComprehensive SystemC ist ein 5-tägiges Training zur Einführung in SystemC™, eine C++ Klassenbibliothek zur System-Level-Modellierung. SystemC wird heute typischerweise verwendet, um Systemmodelle zu beschreiben, die sowohl Hardware- als auch Softwarekomponenten enthalten.
Das Kursprogramm umfasst die Grundelemente von SystemC und ihre Anwendung für das Transaction-Level Modelling Der Kurs basiert auf Version 2.2 der SystemC Klassenbibliothek.
Der Kurs besteht aus 2 Modulen. Entwickler haben die Möglichkeit, die Module einzeln oder als kompletten 5-Tages-Kurs zu besuchen. Hardwaredesignern, die nicht auf umfassende Erfahrungen im Einsatz von C und C++ zurückgreifen können, wird die Teilnahme an beiden Modulen empfohlen.
Die praktischen Übungen nehmen ca. 50% der Unterrichtszeit ein und basieren auf sorgfältig ausgearbeiteten Aufgaben, die die Kursteilnehmer in ihren neu erworbenen Kenntnissen herausfordern und das Erlernte untermauern.
Doulos engagiert sich seit 2000 im Bereich SystemC-basierte Methoden und nimmt damit eine weltweit führende Rolle im toolübergreifenden Know-how für SystemC ein. Wir haben in über 170 Unternehmen weltweit Trainingskurse für SystemC abgehalten und Entwickler bei ihrer Projektarbeit unterstützt - bis hin zur aktiven Beteiligung an der Methoden- und Toolentwicklung in Unternehmen wie ARM, Cadence, CoWare, Mentor Graphics und Synopsys.Zielgruppe
Das Kursprogramm umfasst die Grundelemente von SystemC und ihre Anwendung für das Transaction-Level Modelling Der Kurs basiert auf Version 2.2 der SystemC Klassenbibliothek.
Der Kurs besteht aus 2 Modulen. Entwickler haben die Möglichkeit, die Module einzeln oder als kompletten 5-Tages-Kurs zu besuchen. Hardwaredesignern, die nicht auf umfassende Erfahrungen im Einsatz von C und C++ zurückgreifen können, wird die Teilnahme an beiden Modulen empfohlen.
- Essential C++ for SystemC (1.-2. Tag) vermittelt Entwicklern mit Grundkenntnissen in der Programmiersprache C in einer Schnelleinführung eine fundierte Grundlage für C++ sowie die erforderlichen Grundkenntnisse zum Erlernen von SystemC.
- Fundamentals of SystemC (3.-5. Tag) baut auf dieser Grundlage auf und bereitet die Entwickler auf die praktische Anwendung von SystemC für Transaction-Level Modelling vor. Der Kurs beschreibt die Klassenbibliothek v2.2 und ihre Anwendung für Systemmodellierung, Kommunikation, Hardware und Software auf dem Transaction-Level sowie Verfeinerungen in der Hardware-Software-Implementierung.
Die praktischen Übungen nehmen ca. 50% der Unterrichtszeit ein und basieren auf sorgfältig ausgearbeiteten Aufgaben, die die Kursteilnehmer in ihren neu erworbenen Kenntnissen herausfordern und das Erlernte untermauern.
Doulos engagiert sich seit 2000 im Bereich SystemC-basierte Methoden und nimmt damit eine weltweit führende Rolle im toolübergreifenden Know-how für SystemC ein. Wir haben in über 170 Unternehmen weltweit Trainingskurse für SystemC abgehalten und Entwickler bei ihrer Projektarbeit unterstützt - bis hin zur aktiven Beteiligung an der Methoden- und Toolentwicklung in Unternehmen wie ARM, Cadence, CoWare, Mentor Graphics und Synopsys.Zielgruppe
Zielgruppe
- Hardwaredesign-Ingenieure, die praktische Erfahrungen und Kenntnisse von SystemC für digitales Hardwaredesign und Simulation erwerben möchten
- Systemingenieure und -architekten, die Kenntnisse im praktischen Einsatz von SystemC für Systemmodellierung erwerben möchten
- Softwareentwickler, die bereits fundierte Kenntnisse in C/C++ besitzen, die jedoch Praxiserfahrungen mit den SystemC Klassenbibliotheken sammeln möchten
Kursinhalte
- Notwendige C++ Sprachmerkmale, um SystemC zu lernen und verstehen.
- Objektorientierte Programmiertechniken, wie sie in den SystemC Klassenbibliotheken verwendet werden.
- Die SystemC Grundelemente, Datentypen und Kanäle (channels)
- Wie man Systemmodelle am besten simuliert, debugged und validiert.
- Wie man von RTL-Modellierung zur Transaction-Level-Modellierung gelangt
- Verfeinerung von SystemC-Modellen auf verschiedenen Abstraktionsebenen
- Einen Überblick zu OSCI TLM-1.0 und TLM 2.0 Standards (erhalten)
- Überblick über die Hardwaresynthese mit SystemC (optional)
- Überblick über die SystemC Klassenbibliothek SCV (optional)
Voraussetzungen
- Essential C++ for SystemC (Tag 1-2) Die Kursteilnehmer sollten über Grundkenntnisse in der Programmiersprache C verfügen (Funktionen, Variablen, Datentypen, Operatoren, Anweisungen). Dieses Modul eignet sich für Teilnehmer ohne Vorkenntnisse in C++, als Auffrischung für die, die wenig Vorkenntnisse in C++ haben, oder Hardwaredesigner mit Kenntnissen in VHDL oder Verilog®.
- Fundamentals of SystemC (Tag 3-5) Praktische Erfahrungen mit C++ und objektorientierten Programmierkonzepten sind erforderlich und Grundkenntnisse des digitalen Hardwaredesigns werden empfohlen. Die vorherige Teilnahme am Doulos Essential C++ Kurs oder einem vergleichbaren Training ist erforderlich. Kursteilnehmer, die bereits Erfahrung in C++ haben, sollten Ihre Kenntnisse vor der Teilnahme mit den „Voraussetzungen SystemC C++" vergleichen. Eine Liste mit Voraussetzungen ist bei Doulos erhältlich. Der Kurs eignet sich für Hardware-, Software- und Systemingenieure aus dem Bereich der Elektronikentwicklung. Um jedoch den maximalen Nutzen aus dem Kurs zu ziehen, sollten die Teilnehmer aktive Anwender einer Softwarehochsprache (Idealerweise C++) oder einer Hardwarebeschreibungssprache (VHDL oder Verilog®.) sein.
Wenden Sie sich bitte direkt an Doulos, um Ihre Erfahrungen und Kenntnisse in Hinblick auf diese Voraussetzungen zu erörtern und zu bewerten.
Kursunterlagen
Die Doulos Kursunterlagen sind für ihren umfassenden Informationsgehalt und die sehr benutzerfreundliche Präsentation allgemein bekannt. In ihrem Aufbau, Inhalt und ihrer Themenbehandlung sind sie einzigartig im EDA-Trainingsbereich, was sie zu begehrten Nachschlagewerken hat werden lassen. In den Kursgebühren sind enthalten:
- Kursskripte mit vollständigem Stichwortverzeichnis, die ein umfassendes Referenzhandbuch darstellen
- Ein Arbeitsbuch mit vielen praktischen Beispielen und Lösungen als Unterstützung bei der Wissensanwendung
- Doulos SystemC Golden Reference Guide für Sprache, Syntax, Semantik und Tipps
Struktur und Inhalt
Essential C++ for SystemC (2 Tage)
Tag 1
Learn about the differences between C and C++From C to C++
The features added to C by C++ and the ANSI C-1999 standard • const • bool • Header files • Namespaces • The global and standard namespaces • Stream I/OFunctional and Pointers
Learn how functions and dynamic memory allocation have changed in C++ • Pass-by-reference • Function prototypes • Default arguments • Function overloading • Operator overloading • Static, automatic and dynamic storage • new • deleteThe C++ Standard Library
Learn to make the most of the built-in standard classes • Container classes • Examples of using the standard vector class • Examples of using the standard string and stringstream classesClasses and Objects
Learn the principles of object-based design • Information hiding • Abstract data types • Classes and objects • Public and private class members • Member functions • Scope resolutionTag 2
Master the subtleties of object-oriented programming in C++Class Members
Master the C++ mechanisms associated with classes • Constructors • Destructors • Copy constructors • Pointers versus objects • Friends • this • Overloading operators as members • Static members • Constant objects and membersInheritance
Learn to exploit the power of object-oriented programming • Class relationships • Initializing sub-objects • The default constructor • Derived classes • Inheritance • Protected members • Up- and down-casting • Order of initializationVirtual Functions
Delve deeper into object-oriented programming techniques • Overriding methods • Virtual functions • Polymorphism • Run-time type identification • Abstract base classes • Multiple inheritanceFurther C++ Features
Advanced C++ features used in the SystemC class libraries • Function templates • Class templates • Implicit conversions • User-defined conversions • ExceptionsFundamentals of SystemC (3 Tage)
Tag 3
Become proficient in using the features of SystemCIntroduction to SystemC
Learn the background to SystemC and how SystemC fits into the system-level design flow • The architecture of the SystemC release • The benefits and risks of adopting SystemC • The objectives of transaction-level modellingGetting Started
Learn how SystemC source code is structured and how to organise files • SystemC header files and namespaces • Compiling and executing a SystemC modelModules and Hierarchy
How to describe the structural connections between modules • Modules • Ports • Processes • Signals • Methods • Primitive channels • Module instantiation • Port bindingProcesses and Time
Describing concurrency and the passage of time • SC_METHOD • SC_THREAD • Event finders • Static and dynamic sensitivity • Time • Events • Clocks • Dynamic processesThe Scheduler
Gain an insight into how SystemC manages the scheduling of processes and events • Starting and stopping simulation • Elaboration and simulation callbacks • The phases of simulation • Event notification • Event queues • wait and next_triggerTag 4
Learn to apply SystemC to modelling data, communication and busses.Debugging and Tracing
Learn about the facilities provided by SystemC to ease debugging and diagnostics • Debugging techniques • The standard reporting mechanism • Error handling • Writing trace (vcd) files • Tracing buried signals and local variables • Using waveform display toolsSystemC Data Types
Data types for bit-accurate and hardware modelling • Signed and unsigned integers • Limited and finite precision integers • Assignment and truncation • Type conversion • Bit and part selects • Concatenation • Bit and logic vectors • Hexadecimal numbers • Avoiding common pitfalls • Bus resolution • Fixed point typesInterfaces and Channels
Learn how channels are used to abstract communication and create fast simulation models • Hierarchical, primitive and minimal channels • Interface method calls • SystemC interfaces • Port-less channel access • The SystemC object hierarchy • The class sc_port • Registering ports • How to make the most of ports, channels and interfacesTag 5
Exploration of the application of Transaction-Level ModellingBus Modelling
Learn the techniques required to write and use bus models in SystemC • Master and slave interfaces • The execution context of interface method calls • Blocking and non-blocking methods • Using events and dynamic sensitivity within channels • Multi-ports • Port binding policies • sc_exportRefinement
An example of refinement from a C algorithm through untimed and timed SystemC models down to a mixed hardware-software implementation • SystemC wrappers • Timing annotation • Using sc_buffer • Structural refinement, communication refinement, and data refinementAdapters
Channel refinement using adapters • Events versus event finders • Instantiating and binding adaptersTransaction-Level Modeling
The OSI Transaction-Level Modeling Standards • TLM-1.0 method calls • Unidirectional interfaces • TLM-2.0 requirements • Abstraction levels • Use cases • Coding styles • The architecture of TLM-2.0 • The interoperability layer • Utilities • Initiators, targets, and interconnect • Generic payload • ExtensionsSupplementary Subjects
Fixed Point Types
Fixed point word length and integer word length • Quantization modes • Overflow modes • Fixed point context • The type cast switch • Utility methodsOverview of SystemC Synthesis
RTL versus behavioural synthesis technology • The work of the OSCI synthesis working group • Synthesizable data types • Clocked threads and resets • RestrictionsOverview of the SystemC Verification Library
Introduction to and aims of SCV • Constrained random verification methodology • Extended data types to support introspection • Randomization • Transaction RecordingDoulos acknowledges trademarks and registered trademarks are the property of their respective owners
| Course Dates: | ||
|---|---|---|
| August 2nd, 2010 | Munich, DE | Enquire |
| October 18th, 2010 | Cambridge, UK | Enquire |
| October 25th, 2010 | Munich, DE | Enquire |
| October 25th, 2010 | Paris, FR | Enquire |
| November 29th, 2010 | Paris, FR | Enquire |
Please contact Doulos to schedule a public course to suit you, or to discuss onsite training.
Price on request
Back to top



