Behavioural languages - Part 7: SystemC R Language Reference Manual

IEC 61691-7:2009(E) defines SystemC®1 as an ANSI standard C++ class library for system and hardware design. The specific purpose is to provide a precise and complete defination of the System C class library so that a System C implementation can be developed.

General Information

Status
Published
Publication Date
13-Dec-2009
Drafting Committee
Current Stage
PPUB - Publication issued
Start Date
15-Jan-2010
Completion Date
14-Dec-2009
Ref Project

Buy Standard

Standard
IEC 61691-7:2009 - Behavioural languages - Part 7: SystemC R Language Reference Manual
English language
425 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


IEC 61691-7
Edition 1.0 2009-12

IEEE Std 1666
INTERNATIONAL
STANDARD
Behavioural languages – ®
Part 7: SystemC Language Reference Manual

All rights reserved. IEEE is a registered trademark in the U.S. Patent & Trademark Office, owned by the Institute of
Electrical and Electronics Engineers, Inc.
Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from the IEC Central Office.
Any questions about IEEE copyright should be addressed to the IEEE. Enquiries about obtaining additional rights
to this publication and other information requests should be addressed to the IEC or your local IEC member National
Committee.
IEC Central Office Institute of Electrical and Electronics Engineers, Inc
3, rue de Varembé 3 Park Avenue
CH-1211 Geneva 20 New York, NY10016-5997
Switzerland USA
Email: inmail@iec.ch Email: stds.ipr@ieee.org
Web: www.iec.ch Web: www.ieee.org

About the IEC
The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
International Standards for all electrical, electronic and related technologies.

About IEC publications
The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
latest edition, a corrigenda or an amendment might have been published.
ƒ Catalogue of IEC publications: www.iec.ch/searchpub
The IEC on-line Catalogue enables you to search by a variety of criteria (reference number, text, technical committee,…).
It also gives information on projects, withdrawn and replaced publications.
ƒ IEC Just Published: www.iec.ch/online_news/justpub
Stay up to date on all new IEC publications. Just Published details twice a month all new publications released. Available
on-line and also by email.
ƒ Electropedia: www.electropedia.org
The world's leading online dictionary of electronic and electrical terms containing more than 20 000 terms and definitions
in English and French, with equivalent terms in additional languages. Also known as the International Electrotechnical
Vocabulary online.
ƒ Customer Service Centre: www.iec.ch/webstore/custserv
If you wish to give us your feedback on this publication or need further assistance, please visit the Customer Service
Centre FAQ or contact us:
Email: csc@iec.ch
Tel.: +41 22 919 02 11
IEC 61691-7
Edition 1.0 2009-12

IEEE Std 1666
INTERNATIONAL
STANDARD
Behavioural languages – ®
Part 7: SystemC Language Reference Manual
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
PRICE CODE
XH
ICS 25.040, 35.060 ISBN 978-0-7381-6284-3

– i – IEC 61691-7:2009(E)
IEEE Std 1666-2005(E)
CONTENTS
Foreword.xi
IEEE Introduction .xvi
1. Overview. 1
1.1 Scope. 1
1.2 Purpose. 1
1.3 Subsets . 1
1.4 Relationship with C++. 1
1.5 Guidance for readers. 2
2. References. 3
3. Terminology and conventions used in this standard. 4
3.1 Terminology. 4
3.1.1 Shall, should, may, can. 4
3.1.2 Implementation, application. 4
3.1.3 Call, called from, derived from . 4
3.1.4 Specific technical terms . 4
3.2 Syntactical conventions . 6
3.2.1 Implementation-defined. 6
3.2.2 Disabled . 6
3.2.3 Ellipsis (.). 6
3.2.4 Class names. 6
3.2.5 Embolded text .7
3.3 Semantic conventions . 7
3.3.1 Class definitions and the inheritance hierarchy . 7
3.3.2 Function definitions and side-effects . 7
3.3.3 Functions whose return type is a reference or a pointer. 7
3.3.4 Namespaces and internal naming. 9
3.3.5 Non-compliant applications and errors . 9
3.4 Notes and examples . 10
4. Elaboration and simulation semantics . 11
4.1 Elaboration. 11
4.1.1 Instantiation . 11
4.1.2 Process macros. 13
4.1.3 Port binding and export binding . 13
4.1.4 Setting the time resolution . 14
4.2 Simulation. 14
4.2.1 The scheduling algorithm . 15
4.2.2 Cycles in the scheduling algorithm. 17
4.3 Running elaboration and simulation . 18
4.3.1 Function declarations. 18
4.3.2 Function sc_elab_and_sim. 18
4.3.3 Functions sc_argc and sc_argv . 19
4.3.4 Running under application control using functions sc_main and sc_start. 19
4.3.5 Running under control of the kernel . 20
4.4 Elaboration and simulation callbacks . 20
4.4.1 before_end_of_elaboration . 21
4.4.2 end_of_elaboration . 22
4.4.3 start_of_simulation . 23
Published by IEC under licence from IEEE. © 2005 IEEE. All rights reserved.

IEEE Std 1666-2005(E)
4.4.4 end_of_simulation . 23
4.5 Other functions related to the scheduler . 24
4.5.1 Function declarations . 24
4.5.2 Function sc_stop, sc_set_stop_mode, and sc_get_stop_mode. 24
4.5.3 Function sc_time_stamp. 25
4.5.4 Function sc_delta_count. 26
4.5.5 Function sc_is_running . 26
5. Core language class definitions . 27
5.1 Class header files . 27
5.1.1 #include "systemc". 27
5.1.2 #include "systemc.h". 27
5.2 sc_module . 29
5.2.1 Description . 29
5.2.2 Class definition.29
5.2.3 Constraints on usage. 31
5.2.4 kind. 31
5.2.5 SC_MODULE. 31
5.2.6 Constructors .32
5.2.7 SC_CTOR . 32
5.2.8 SC_HAS_PROCESS. 33
5.2.9 SC_METHOD, SC_THREAD, SC_CTHREAD. 33
5.2.10 Method process . 34
5.2.11 Thread and clocked thread processes. 35
5.2.12 Clocked thread processes and reset_signal_is. 36
5.2.13 sensitive. 37
5.2.14 dont_initialize. 38
5.2.15 set_stack_size. 39
5.2.16 next_trigger . 39
5.2.17 wait. 41
5.2.18 Positional port binding . 43
5.2.19 before_end_of_elaboration, end_of_elaboration, start_of_simulation,
end_of_simulation. 44
5.2.20 get_child_objects. 45
5.2.21 sc_gen_unique_name . 45
5.2.22 sc_behavior and sc_channel. 46
5.3 sc_module_name . 47
5.3.1 Description. 47
5.3.2 Class definition . 47
5.3.3 Constraints on usage . 47
5.3.4 Module hierarchy . 48
5.3.5 Member functions . 48
5.4 sc_sensitive† . 50
5.4.1 Description.
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.