Related classes: SystemC Fundamentals
Duration | Requirements | Agenda
| Scheduled Classes... | |||||||||||||||||||||||||
Contact Esperan for more information or to request an on-site class. |
Testimonials
"Nicely focussed ... covers the essentials of C++ [for verification] without any unnecessary extras"
Introduction
Why use C++ for Verification?
C++ is ubiquitous in software engineering. It is used from driver development all the way to the creation of operating systems. With the recent advances in EDA verification methods, there has been a increasing need for a programming language that supports high level advanced design and analysis paradigms.
C++ natively promotes design maintainability as well a design reuse. In addition, C++ benefits from a wealth of available resources for efficient data manipulation and generation, encryption/decryption algorithms, file processing and more.
Overview
Esperan´s C++ for Verification covers all of the C++ language features essential for the creation of advanced programs, including templated classes, inheritance, virtual functions, late binding and the Standard Template Library (STL). This training minimises learning time and confusion by giving students concise, focused guide to specific topics.
This course can be used to as a precursor to the Fundamentals of SystemC class for engineers without C++ experience.
Objectives
- To explain the concepts of object-oriented programming.
- To provide a solid background in C++ and an understanding of the language features essential for writing advanced applications.
- To describe the use of data processing, file processing and STL through worked examples and hands on laboratories.
- To give you hands-on practical experience in applying C++ to verification tasks.
Duration
2 days. This course can also be combined with the Fundamentals of SystemC class to create a 5 day SystemC class for engineers without C++ experience.
Requirements
Delegates must have a good working knowledge of a sequential programming language - ideally C, but alternatively VHDL, Verilog or Perl are all useful. Familiarity with hardware design is helpful, but not essential.
Description
This course contains an overview of essential C++ features, such as concepts, constructs, organization, pitfalls, and standard libraries. which are required to become a profiicient C++ coder.
The course covers:-
C++ language basics
Syntax, constructors and operators for C++, including file access and essential library resources. Also compiling, linking and debugging programs.
Object-Oriented Overview
The basics of object declaration and instantiation, including encapsulation, inheritance, composition and polymorphism.
Practicalities of C++ Object-Orientation
Including in-depth examinations of single and multiple inheritance; binding, abstract classes and virtual functions in polymorphism and template classes.
Agenda
