logo Amblot
Instructeur

Dates

Inscrivez-vous

Contactez-nous

Conception FPGA/ASIC

Conception Système

Vérification FPGA et ASIC

Environnement de Conception

 

Manuels Doulos


Comprehensive SystemC
5 jours






Télécharger le descriptif au format pdf

Présentation

Comprehensive SystemC™ est un cours de formation de 5 jours qui enseigne les bases du langage SystemC, la bibliothèque de classes c++ pour la modélisation au niveau système. SystemC est habituellement utilisé pour modéliser des systèmes qui comprennent des parties matérielles et logicielles à un niveau d'abstraction transactionnel.

Ce cours couvre le cœur du langage SystemC et ses applications à la modélisation au niveau transactionnel. Le cours satisfait au standard IEEE 1666-2005 et à la bibliothèque de classe SystemC 2.2.

Ce cours est divisé en deux parties. Les participants peuvent suivre soit l'intégralité du cours de 5 jours ou n'assister qu'à la partie de description de base du langage SystemC. La participation aux deux parties est recommandée. Les participants ayant une très bonne connaissance de C++ peuvent se dispenser de suivre la première partie.

Essential C++ for SystemC (jours 1-2) permet de faire évoluer les participants de la connaissance de base du langage C à une bonne connaissance en C++ qui est la base du langage SystemC. Ceci est un moyen rapide et efficace pour passer d'une connaissance du langage C au langage C++.

Fundamentals of SystemC (jours 3-5) bâtit à partir de la connaissance acquise dans la première partie les éléments d'utilisation pour l'application pratique de SystemC pour la modélisation transactionnelle. Ce cours décrit l'utilisation de la bibliothèque de classe SystemC V2.2 et son application à la modélisation de systèmes, de communication et de matériel et logiciel au niveau transactionnel ainsi que l'implémentation matériel/logiciel.

Ces deux modules peuvent être suivis ensemble ou séparément après le cours “Comprehensive VHDL”. Les exercices représentent 50% de l'enseignement ce qui permet aux concepteurs d'appliquer les nouvelles méthodologies en utilisant des outils de conception VHDL les plus récents.

Objectifs pédagogiques

• Utiliser SystemC pour la modélisation de circuits logiques
• Utiliser SystemC pour la modélisation au niveau système
• Acquérir une expérience pratique dans l'utilisation des bibliothèques de classe SystemC.

Qu'apprendrez-vous?

• Les caractéristiques du langage C++ pour maîtriser SystemC.
• Les techniques de programmation orientées objet telles qu'elles sont utilisées dans les bibliothèques de classes SystemC.
• Le langage SystemC avec les types de données et "channels".
• Comment utiliser au mieux le simulateur systemC pour déboguer et valider vos modèles.
• Comment aller de la modélisation RTL à la modélisation au niveau transactionnel.
• Comment écrire des modèles au niveau transactionnel de structure de plateforme "System on chip".
• Comment maîtriser les modèles SystemC entre les niveaux d'abstraction.
• Une vue d'ensemble des standards OSCI TLM-1.0 et TLM-2.0
• Une vue d'ensemble de la synthèse à partir de SystemC (option)
• Une vue d'ensemble de la bibliothèque de vérification SystemC SCV (option)

Connaissances requises

Essential C++ for SystemC (jours 1-2) Les participants ont besoin d'une connaissance de base du langage de programmation C en particulier des fonctions C, des variables, des types de données, des opérateurs et des états. Le cours s'applique également aux personnes n'ayant pas de connaissances préalables de C++, ou encore celles qui souhaitent rafraîchir leur connaissance de C++ ou pour les concepteurs de matériel connaissant VHDL ou Verilog.

Fundamentals of SystemC (jours 3-5) Une connaissance pratique de C++ et des concepts de programmation orienté objet est une nécessité. Une connaissance de base de la conception matériel est nécessaire. Il est nécessaire d'avoir suivi le cours Essential C++ ou un équivalent. Les participants avec une expérience C++ doivent vérifier leur connaissance avec le contenu du cours Essential C++. Le cours s'adresse aux ingénieurs de conception matériel, logicielle ou systèmes mais pour avoir le meilleur résultat, les participants devraient être des utilisateurs d'un langage de programmation (de préférence C++) ou d'un langage de programmation matériel (VHDL ou Verilog).

Contactez AMBLOT directement pour vous aider à évaluer votre expérience par rapport aux connaissances requises.

Support de cours

Les manuels de formation Doulos sont réputés pour être les plus détaillés et les plus facile d'utilisation. leur style, leur contenu et leur exhaustivité sont uniques dans le monde de la formation. Ils sont souvent utilisés comme référence après avoir suivi les cours de formation; Sont compris dans la formation :

• Les notes de cours indexées constituant un manuel de référence complet.
• Le cahier d'applications rempli d'exemples et d'applications pratiques pour vous aider à mettre en oeuvre vos connaissances.
• Le "Doulos Golden Reference Guide SystemC" aide mémoire complet et pratique (syntaxe, sémantique et astuces)

Structure et contenu

Essential C++ for SystemC (2 days)

Day 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/O

Functional and Pointers

Learn how functions and dynamic memoty allocation have changed in C++ • Pass-by-reference • Functional prototypes • Default arguments • Function overloading • Operator overloading • static, automatic and dynamic storage • new • delete

The 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 classes

Classes and Objects

Learn the principles of object-based design • Information hiding • Abstracts data types • Classes and objects • Public and private class members • Member functions • Scope resolution

Day 2

Master the subtleties of object-oriented programming in C++

Class Members

Master in C++ machanisms associated with classes • Constructors • Destructors • Copy constructors • Pointers versus objects • Friends • This • Overloading operators as members • Static members • Constant objects and members

Inheritance

Learn to exploit the power of object-oriented programming • Class relationships • Initializing sub-objects • The default constructors • Derived classes • Inheritance • Protected members • Up-and-down-casting • Order of initialization

Virtual Functions

Delve deeper into object-oriented programming techniques • Overriding methods • Virtual functions • Polymorphism • Run-time Type Identification • Abstract base classes • Multiple inheritance

Further C++ Features

Advanced C++ features used in the SystemC class libraries • Function templates • Class templates • Implicit conversions • User-defined conversions • Exceptions

Fundamentals of SystemC (3 days)

Day 3

Become proficient in using the features of SystemC

Introduction 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 modelling

Getting started

Learn how SystemC source code is structured and how to organise files • SystemC header files and namespaces • Compiling and executing a SystemC model

Modules and hierarchy

How to describe the structural connections between • Modules • Ports • Processes • Signals • Methods • Primitive channels • Module instantiation • Port binding

Processes and Time

Describing concurrency and the passage of time • SC_METHOD • SC_THREAD • Event finders • Static and dynamic sensitivity • Time • Events • Clocks • Dynamic processes

The scheduler

Gain an insight into how SystemC manages the scheduling of processes and events • Starting and stopping simulation • Elaboration and simulation callback • The phases of simulation • Event notification • Event queues • wait and next trigger

Day 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 mechanisms • Error handling • Writing trace (vcd) files • Tracing buried signals and local variables • Using waveform display tools

SystemC 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 types

Interfaces 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 interfaces

Day 5

Exploration of the application of Transaction-Level Modelling

Bus modelling

Learn the techniques required to write and use bus models in SystemC • Master and slave interfaces • The execution context of interface methods calls • Blocking and non-blocking methods • Using events and dynamic sentivity within channels • Multi-ports • Port binding policies • sc_export

Refinement

An example of refinement from a C algorythm 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 refinement

Adapters

Channels refinement using adapters • Event versus event finders • Instantiating and binding adapters

Transaction-Level Modelling

The OSCI Transaction-Level Modelling 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 • Extensions

Supplementary subjects

Fixed-point Types

Fixed-point word length and integer word lenght • Quantization modes • Overflow modes • Fixed point context • The type cast switch • Utility methods

Overview of SystemC Synthesis

RTL versus behavioural synthesis technology • The work of the OSCI synthesis working group • Synthesizable data types • Clocked threads and resets • Restrictions

Overview of the SystemC Verification Library

Introduction to and aims of SCV • Constrained random verification methodology • Extended data types to support introspection • Randomization • Transaction Recording

Haut de Page

Pour tout renseignement, contactez-nous :
Amblot SARL
166 boulevard du Montparnasse, 75014 Paris
Tél : +33(0)1 42 79 57 48 Fax :+33(0)1 42 79 57 47
email : info@amblot.com

Pour recevoir nos offres de formations,
ainsi que les nouveautés :

Email