Behavioural languages - Part 8: Standard SystemC Analog/Mixed-Signal Extensions Language Reference Manual

IEC 61691-8:2021(E) defines the Analog/Mixed-Signal extensions for SystemC®, as an ANSI standard C++ class
library based on SystemC for system and hardware design including analog/mixed-signal elements. The general purpose of the SystemC AMS extensions is to provide a C++ standard for designers and architects, who need to address complex heterogeneous systems that are a hybrid between hardware and software. This standard is built on the IEEE Std 1666™-2011 (SystemC Language Reference Manual) and extends it to create analog/mixed-signal, multi-disciplinary models to simulate continuous-time, discrete-time, and discrete-event behavior simultaneously.
This standard is published as a double logo IEC-IEEE standard.

General Information

Status
Published
Publication Date
25-Jul-2021
Current Stage
PPUB - Publication issued
Completion Date
26-Jul-2021
Ref Project

Buy Standard

Standard
IEC 61691-8:2021 - Behavioural languages - Part 8: Standard SystemC Analog/Mixed-Signal Extensions Language Reference Manual
English language
221 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

IEC 61691-8
Edition 1.0 2021-07
IEEE Std 1666.1
INTERNATIONAL
STANDARD
Behavioural languages –
Part 8: Standard SystemC® Analog/Mixed-Signal Extensions Language
Reference Manual
IEC 61691-8:2021-07(en) IEEE Std 1666.1-2016
---------------------- Page: 1 ----------------------
THIS PUBLICATION IS COPYRIGHT PROTECTED
Copyright © 2016 IEEE

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. Enquiri es 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, NY 10016-5997
Switzerland United States of America
Tel.: +41 22 919 02 11 stds.info@ieee.org
info@iec.ch www.ieee.org
www.iec.ch
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 corrigendum or an amendment might have been published.

IEC publications search - webstore.iec.ch/advsearchform IEC online collection - oc.iec.ch

The advanced search enables to find IEC publications by a
Discover our powerful search engine and read freely all the

variety of criteria (reference number, text, technical publications previews. With a subscription you will always

committee, …). It also gives information on projects, replaced have access to up to date content tailored to your needs.

and withdrawn publications.
Electropedia - www.electropedia.org
IEC Just Published - webstore.iec.ch/justpublished
The world's leading online dictionary on electrotechnology,
Stay up to date on all new IEC publications. Just Published
containing more than 22 000 terminological entries in English
details all new publications released. Available online and
and French, with equivalent terms in 18 additional languages.
once a month by email.
Also known as the International Electrotechnical Vocabulary
(IEV) online.
IEC Customer Service Centre - webstore.iec.ch/csc
If you wish to give us your feedback on this publication or
need further assistance, please contact the Customer Service
Centre: sales@iec.ch.
---------------------- Page: 2 ----------------------
IEC 61691-8
Edition 1.0 2021-07
IEEE Std 1666.1™
INTERNATIONAL
STANDARD
Behavioural languages –
Part 8: Standard SystemC® Analog/Mixed-Signal Extensions Language
Reference Manual
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
ICS 25.040.01; 35.060 ISBN 978-2-8322-9951-7

Warning! Make sure that you obtained this publication from an authorized distributor.

® Registered trademark of the International Electrotechnical Commission
---------------------- Page: 3 ----------------------
IEC 61691-8:2021 © IEC 2021
IEEE Std 1666.1™-2016
Contents

1. Overview................................................................................................................................................. 1

1.1 Scope............................................................................................................................................1

1.2 Purpose.........................................................................................................................................1

1.3 Subsets......................................................................................................................................... 2

1.4 Relationship with C++................................................................................................................ 2

1.5 Relationship with SystemC......................................................................................................... 2

1.6 Guidance for readers................................................................................................................... 2

2. Normative references..............................................................................................................................4

3. Terminology and conventions used in this standard..............................................................................5

3.1 Terminology.................................................................................................................................5

3.1.1 Shall, should, may, can....................................................................................................5

3.1.2 Implementation, application............................................................................................. 5

3.1.3 Call, called from, derived from....................................................................................... 5

3.1.4 Specific technical terms................................................................................................... 5

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

3.3 Typographical conventions..........................................................................................................7

3.4 Semantic conventions.................................................................................................................. 7

3.4.1 Class definitions and the inheritance hierarchy............................................................... 7

3.4.2 Function definitions and side-effects............................................................................... 7

3.4.3 Functions whose return type is a reference or a pointer..................................................8

3.4.4 Namespaces and internal naming.....................................................................................8

3.4.5 Non-compliant applications and errors............................................................................9

3.5 Notes and examples.....................................................................................................................9

4. Core language definitions.....................................................................................................................10

4.1 Class header files.......................................................................................................................10

4.1.1 #include “systemc-ams”................................................................................................. 10

4.1.2 #include “systemc-ams.h”.............................................................................................. 10

4.2 Base class definitions................................................................................................................ 11

4.2.1 sca_core::sca_module..................................................................................................... 11

4.2.2 sca_core::sca_interface................................................................................................... 13

4.2.3 sca_core::sca_prim_channel........................................................................................... 14

viii
Published by IEC under licence from IEEE. © 2016 IEEE. All rights reserved.
Copyright © 2016 IEEE. All rights reserved.
---------------------- Page: 4 ----------------------
IEC 61691-8:2021 © IEC 2021
IEEE Std 1666.1™-2016

4.2.4 sca_core::sca_port...........................................................................................................15

4.2.5 sca_core::sca_time.......................................................................................................... 16

4.2.6 sca_core::sca_max_time................................................................................................. 16

4.2.7 sca_core::sca_parameter_base........................................................................................ 16

4.2.8 sca_core::sca_parameter................................................................................................. 18

4.2.9 sca_core::sca_assign_from_proxy .................................................................................20

4.2.10 sca_core::sca_assign_to_proxy ....................................................................................21

5. Timed data flow model of computation...............................................................................................22

5.1 Class definitions........................................................................................................................ 22

5.1.1 sca_tdf::sca_module........................................................................................................22

5.1.2 sca_tdf::sca_signal_if......................................................................................................29

5.1.3 sca_tdf::sca_signal.......................................................................................................... 30

5.1.4 sca_tdf::sca_default_interpolator....................................................................................31

5.1.5 sca_tdf::sca_in................................................................................................................ 32

5.1.6 sca_tdf::sca_out.............................................................................................................. 37

5.1.7 sca_tdf::sca_out....................................................................................................... 39

5.1.8 sca_tdf::sca_out...............................................44

5.1.9 sca_tdf::sca_out.............................................................. 50

5.1.10 sca_tdf::sca_de::sca_in, sca_tdf::sc_in...........................................................................55

5.1.11 sca_tdf::sca_de::sca_in, sca_tdf::sc_in....................................................62

5.1.12 sca_tdf::sca_de::sca_in, sca_tdf::sc_in.................. 69

5.1.13 sca_tdf::sca_de::sca_out, sca_tdf::sc_out.......................................................................75

5.1.14 sca_tdf::sca_trace_variable.............................................................................................82

5.2 Hierarchical composition and port binding...............................................................................83

5.3 Elaboration and simulation........................................................................................................83

5.3.1 Elaboration......................................................................................................................84

5.3.2 Simulation.......................................................................................................................85

5.4 Embedded linear dynamic equations........................................................................................ 87

5.4.1 sca_tdf::sca_ct_proxy ....................................................................................................88

5.4.2 sca_tdf::sca_ct_vector_proxy ........................................................................................89

5.4.3 sca_tdf::sca_ltf_nd..........................................................................................................91

5.4.4 sca_tdf::sca_ltf_zp.......................................................................................................... 96

5.4.5 sca_tdf::sca_ss.............................................................................................................. 102

6. Linear signal flow model of computation..........................................................................................110

6.1 Class definitions...................................................................................................................... 110

6.1.1 sca_lsf::sca_module...................................................................................................... 110

6.1.2 sca_lsf::sca_signal_if.................................................................................................... 110

6.1.3 sca_lsf::sca_signal........................................................................................................ 111

6.1.4 sca_lsf::sca_in...............................................................................................................111

6.1.5 sca_lsf::sca_out.............................................................................................................112

Published by IEC under licence from IEEE. © 2016 IEEE. All rights reserved.
Copyright © 2016 IEEE. All rights reserved.
---------------------- Page: 5 ----------------------
IEC 61691-8:2021 © IEC 2021
IEEE Std 1666.1™-2016

6.1.6 sca_lsf::sca_add............................................................................................................ 113

6.1.7 sca_lsf::sca_sub............................................................................................................ 114

6.1.8 sca_lsf::sca_gain........................................................................................................... 115

6.1.9 sca_lsf::sca_dot.............................................................................................................115

6.1.10 sca_lsf::sca_integ..........................................................................................................116

6.1.11 sca_lsf::sca_delay......................................................................................................... 117

6.1.12 sca_lsf::sca_source........................................................................................................118

6.1.13 sca_lsf::sca_ltf_nd........................................................................................................ 119

6.1.14 sca_lsf::sca_ltf_zp.........................................................................................................120

6.1.15 sca_lsf::sca_ss...............................................................................................................121

6.1.16 sca_lsf::sca_tdf::sca_gain, sca_lsf::sca_tdf_gain......................................................... 122

6.1.17 sca_lsf::sca_tdf::sca_source, sca_lsf::sca_tdf_source.................................................. 123

6.1.18 sca_lsf::sca_tdf::sca_sink, sca_lsf::sca_tdf_sink..........................................................124

6.1.19 sca_lsf::sca_tdf::sca_mux, sca_lsf::sca_tdf_mux.........................................................125

6.1.20 sca_lsf::sca_tdf::sca_demux, sca_lsf::sca_tdf_demux................................................. 126

6.1.21 sca_lsf::sca_de::sca_gain, sca_lsf::sca_de_gain...........................................................127

6.1.22 sca_lsf::sca_de::sca_source, sca_lsf::sca_de_source....................................................127

6.1.23 sca_lsf::sca_de::sca_sink, sca_lsf::sca_de_sink........................................................... 128

6.1.24 sca_lsf::sca_de::sca_mux, sca_lsf::sca_de_mux.......................................................... 129

6.1.25 sca_lsf::sca_de::sca_demux, sca_lsf::sca_de_demux...................................................130

6.2 Hierarchical composition and port binding.............................................................................131

6.3 Elaboration and simulation......................................................................................................131

6.3.1 Elaboration....................................................................................................................131

6.3.2 Simulation.....................................................................................................................132

7. Electrical linear networks model of computation.............................................................................. 134

7.1 Class definitions...................................................................................................................... 134

7.1.1 sca_eln::sca_module..................................................................................................... 134

7.1.2 sca_eln::sca_node_if.....................................................................................................135

7.1.3 sca_eln::sca_terminal....................................................................................................135

7.1.4 sca_eln::sca_node......................................................................................................... 136

7.1.5 sca_eln::sca_node_ref...................................................................................................137

7.1.6 sca_eln::sca_r................................................................................................................138

7.1.7 sca_eln::sca_c............................................................................................................... 138

7.1.8 sca_eln::sca_l................................................................................................................139

7.1.9 sca_eln::sca_vcvs..........................................................................................................140

7.1.10 sca_eln::sca_vccs.......................................................................................................... 141

7.1.11 sca_eln::sca_ccvs.......................................................................................................... 142

7.1.12 sca_eln::sca_cccs.......................................................................................................... 142

7.1.13 sca_eln::sca_nullor........................................................................................................143

7.1.14 sca_eln::sca_gyrator......................................................................................................144

7.1.15 sca_eln::sca_ideal_transformer.....................................................................................145

Published by IEC under licence from IEEE. © 2016 IEEE. All rights reserved.
Copyright © 2016 IEEE. All rights reserved.
---------------------- Page: 6 ----------------------
IEC 61691-8:2021 © IEC 2021
IEEE Std 1666.1™-2016

7.1.16 sca_eln::sca_transmission_line.....................................................................................146

7.1.17 sca_eln::sca_vsource.....................................................................................................147

7.1.18 sca_eln::sca_isource......................................................................................................148

7.1.19 sca_eln::sca_tdf::sca_r, sca_eln::sca_tdf_r...................................................................149

7.1.20 sca_eln::sca_tdf::sca_c, sca_eln::sca_tdf_c..................................................................150

7.1.21 sca_eln::sca_tdf::sca_l, sca_eln::sca_tdf_l................................................................... 151

7.1.22 sca_eln::sca_tdf::sca_rswitch, sca_eln::sca_tdf_rswitch..............................................152

7.1.23 sca_eln::sca_tdf::sca_vsource, sca_eln::sca_tdf_vsource.............................................153

7.1.24 sca_eln::sca_tdf::sca_isource, sca_eln::sca_tdf_isource.............................................. 154

7.1.25 sca_eln::sca_tdf::sca_vsink, sca_eln::sca_tdf_vsink.................................................... 155

7.1.26 sca_eln::sca_tdf::sca_isink, sca_eln::sca_tdf_isink......................................................156

7.1.27 sca_eln::sca_de::sca_r, sca_eln::sca_de_r.................................................................... 157

7.1.28 sca_eln::sca_de::sca_c, sca_eln::sca_de_c................................................................... 158

7.1.29 sca_eln::sca_de::sca_l, sca_eln::sca_de_l.................................................................... 159

7.1.30 sca_eln::sca_de::sca_rswitch, sca_eln::sca_de_rswitch............................................... 160

7.1.31 sca_eln::sca_de::sca_vsource, sca_eln::sca_de_vsource..............................................161

7.1.32 sca_eln::sca_de::sca_isource, sca_eln::sca_de_isource................................................162

7.1.33 sca_eln::sca_de::sca_vsink, sca_eln::sca_de_vsink..................................................... 162

7.1.34 sca_eln::sca_de::sca_isink, sca_eln::sca_de_isink....................................................... 163

7.2 Hierarchical composition and port binding.............................................................................164

7.3 Elaboration and simulation......................................................................................................164

7.3.1 Elaboration....................................................................................................................165

7.3.2 Simulation.....................................................................................................................165

8. Predefined analyses.............................................................................................................................167

8.1 Time-domain analysis..............................................................................................................167

8.1.1 Elaboration and simulation.......................................................................................... 167

8.1.2 Running elaboration and simulation............................................................................ 167

8.2 Small-signal frequency-domain analyses................................................................................ 167

8.2.1 Elaboration and simulation.......................................................................................... 168

8.2.2 Running elaboration and simulation............................................................................ 168

8.2.3 Small-signal frequency-domain analysis of TDF descriptions.................................... 169

8.2.4 Small-signal frequency-domain analysis of LSF descriptions.....................................173

8.2.5 Small-signal frequency-domain analysis of ELN descriptions.................................... 173

9. Utility definitions................................................................................................................................174

9.1 Trace files................................................................................................................................ 174

9.1.1 Class definitions........................................................................................................... 174

9.1.2 Function declarations....................................................................................................177

9.2 Data types and constants.........................................................................................................180

9.2.1 Class definition and function declarations...................................................................180

9.2.2 Definition of constants................................................................................................. 188

Published by IEC under licence from IEEE. © 2016 IEEE. All rights reserved.
Copyright © 2016 IEEE. All rights reserved.
---------------------- Page: 7 ----------------------
IEC 61691-8:2021 © IEC 2021
IEEE Std 1666.1™-2016

9.3 Reporting information............................................................................................................. 189

9.3.1 Class definition and function declarations...................................................................189

9.3.2 Mask definitions........................................................................................................... 190

9.4 Version and copyright............................................................................................................. 191

9.4.1 Macro definitions......................................................................................................... 191

9.4.2 Constants.......................................................................................................................193

9.4.3 Function declarations....................................................................................................193

Annex A (informative) Introduction to the SystemC Analog/Mixed-Signal extensions...............................195

Annex B (informative) Glossary................................................................................................................... 208

Annex C (informative) Participants ............................................................................................................. 210

Index...............................................................................................................................................................211

xii
Published by IEC under licence from IEEE. © 2016 IEEE. All rights reserved.
Copyright © 2016 IEEE. All rights reserved.
---------------------- Page: 8 ----------------------
IEC 61691-8:2021 © IEC 2021
IEEE Std 1666.1™-2016
Behavioural languages –
Part 8: Standard SystemC® Analog/Mixed-Signal
Extensions Language Reference Manual
FOREWORD

1) The International Electrotechnical Commission (IEC) is a worldwide organization for standardization comprising

all national electrotechnical committees (IEC National Committees). The object of IEC is to promote international

co-operation on all questions concerning standardization in the electrical and electronic fields. To this end and

in addition to other activities, IEC publishes International Standards, Technical Specifications, Technical Reports,

Publicly Available Specifications (PAS) and Guides (hereafter referred to as "IEC document(s)"). Their

preparation is entrusted to technical committees; any IEC National Committee interested in the subject dealt with

may participate in this preparatory work. International, governmental and non-governmental organizations liaising

with the IEC also participate in this preparation.

IEEE Standards documents are developed within IEEE Societies and Standards Coordinating Committees of the

IEEE Standards Association (IEEE SA) Standards Board. IEEE develops its standards through a consensus

development process, approved by the American National Standards Institute, which brings together volunteers

representing varied viewpoints and interests to achieve the final product. Volunteers are not necessarily members

of IEEE and serve without compensation. While IEEE administers the process and establishes rules to promote

fairness in the consensus development process, IEEE does not independently evaluate, test, or verify the

accuracy of any of the information contained in its standards. Use of IEEE Standards documents is wholly

voluntary. IEEE documents are made available for use subject to important notices and legal disclaimers (see

http://standards.ieee.org/ipr/disclaimers.html for more information).

IEC collaborates closely with IEEE in accordance with conditions determined by agreement between the two

organizations. This Dual Logo International Standard was jointly developed by the IEC and IEEE under the terms

of that agreement.

2) The formal decisions of IEC on technical matters express, as nearly as possible, an international consensus of

opinion on the relevant subjects since each technical committee has representation from all interested IEC

National Committees. The formal decisions of IEEE on technical matters, once consensus within IEEE Societies

and Standards Coordinating Committees has been reached, is determined by a balanced ballot of materially

interested parties who indicate interest in reviewing the proposed standard. Final approval of the IEEE standards

document is given by the IEEE Standards Association (IEEE SA) Standards Board.

3) IEC/IEEE Publications have the form of recommendations for international use and are accepted by IEC National

Committees/IEEE Societies in that sense. While all reasonable efforts are made to ensure that the technical

content of IEC/IEEE Publications is accurate, IEC or IEEE cannot be held responsible for the way in which they

are used or for any misinterpretation by any end user.

4) In order to promote international uniformity, IEC National Committees undertake to apply IEC Publica

...

Questions, Comments and Discussion

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