Systemc Analog/Mixed-Signal User's Guide
Total Page:16
File Type:pdf, Size:1020Kb
SystemC Analog/Mixed-Signal User’s Guide User Perspective on IEEE Std. 1666.1-2016 Accellera SystemC AMS Working Group January 2020 Copyright © 2020 Accellera Systems Initiative. All rights reserved. Accellera Systems Initiative, 8698 Elk Grove Blvd. Suite 1, #114, Elk Grove, CA 95624, USA Notices Accellera Systems Initiative Standards documents are developed within Accellera Systems Initiative (Accellera) and its Technical Committee. Accellera develops its standards through a consensus development process, approved by its members and board of directors, which brings together volunteers representing varied viewpoints and interests to achieve the final product. Volunteers are not necessarily members of Accellera and serve without compensation. While Accellera administers the process and establishes rules to promote fairness in the consensus development process, Accellera does not independently evaluate, test, or verify the accuracy of any of the information contained in its standards. Use of an Accellera Standard is wholly voluntary. Accellera disclaims liability for any personal injury, property or other damage, of any nature whatsoever, whether special, indirect, consequential, or compensatory, directly or indirectly resulting from the publication, use of, or reliance upon this, or any other Accellera Standard document. Accellera does not warrant or represent the accuracy or content of the material contained herein, and expressly disclaims any express or implied warranty, including any implied warranty of merchantability or suitability for a specific purpose, or that the use of the material contained herein is free from patent infringement. Accellera Standards documents are supplied “AS IS.” The existence of an Accellera Standard does not imply that there are no other ways to produce, test, measure, purchase, market, or provide other goods and services related to the scope of an Accellera Standard. Furthermore, the viewpoint expressed at the time a standard is approved and issued is subject to change due to developments in the state of the art and comments received from users of the standard. Every Accellera Standard is subjected to review periodically for revision and update. Users are cautioned to check to determine that they have the latest edition of any Accellera Standard. In publishing and making this document available, Accellera is not suggesting or rendering professional or other services for, or on behalf of, any person or entity. Nor is Accellera undertaking to perform any duty owed by any other person or entity to another. Any person utilizing this, and any other Accellera Standards document, should rely upon the advice of a competent professional in determining the exercise of reasonable care in any given circumstances. Interpretations: Occasionally questions may arise regarding the meaning of portions of standards as they relate to specific applications. When the need for interpretations is brought to the attention of Accellera, Accellera will initiate reasonable action to prepare appropriate responses. Since Accellera Standards represent a consensus of concerned interests, it is important to ensure that any interpretation has also received the concurrence of a balance of interests. For this reason, Accellera and the members of its Technical Committee and Working Groups are not able to provide an instant response to interpretation requests except in those cases where the matter has previously received formal consideration. Comments for revision of Accellera Standards are welcome from any interested party, regardless of membership affiliation with Accellera. Suggestions for changes in documents should be in the form of a proposed change of text, together with appropriate supporting comments. Comments on standards and requests for interpretations should be addressed to: Accellera Systems Initiative 8698 Elk Grove Blvd. Suite 1, #114 Elk Grove, CA 95624 USA Note: Attention is called to the possibility that implementation of this standard may require use of subject matter covered by patent rights. By publication of this standard, no position is taken with respect to the existence or validity of any patent rights in connection therewith. Accellera shall not be responsible for identifying patents ii Copyright © 2020 Accellera Systems Initiative. All rights reserved. for which a license may be required by an Accellera Standard or for conducting inquiries into the legal validity or scope of those patents that are brought to its attention. Accellera is the sole entity that may authorize the use of Accellera-owned certification marks and/or trademarks to indicate compliance with the materials set forth herein. Authorization to photocopy portions of any individual standard for internal or personal use must be granted by Accellera, provided that permission is obtained from and any required fee, if any, is paid to Accellera. Permission to photocopy portions of any individual standard for educational classroom use can also be obtained from Accellera. To arrange for authorization please contact Lynn Garibaldi, Executive Director, Accellera Systems Initiative, 8698 Elk Grove Blvd. Suite 1, #114, Elk Grove, CA 95624, phone (916) 760-1056, e-mail [email protected]. Suggestions for improvements to the SystemC AMS User’s Guide are welcome. They can be sent to the Accellera SystemC AMS forum: https://forums.accellera.org/forum/13-systemc-ams-analogmixed-signal/ The current Accellera SystemC AMS Working Group web page is: https://accellera.org/activities/working-groups/systemc-ams iii Copyright © 2020 Accellera Systems Initiative. All rights reserved. Contributors The following people contributed to the creation of this user’s guide: Sumit Adhikari, NXP Semiconductors Martin Barnasconi, NXP Semiconductors Markus Damm, Fraunhofer IESE Karsten Einwich, COSEDA Technologies Paul Floyd Daniela Genius, Sorbonne Université, CNRS, LIP6 Christoph Grimm, Technische Universität Kaiserslautern Marie-Minerve Louërat, Sorbonne Université, CNRS, LIP6 Torsten Maehne, Bern University of Applied Sciences François Pecheux, Sorbonne Université, CNRS, LIP6 Alain Vachoux, Ecole Polytechnique Fédérale de Lausanne (EPFL) iv Copyright © 2020 Accellera Systems Initiative. All rights reserved. Preface This user’s guide is meant as an introductory guide for electronic system-level engineers and architects who would like to use the SystemC™1 analog/mixed-signal (AMS) extensions for their system-level design and verification tasks. The main aim is to provide a self-learning guide on how to use the SystemC AMS extensions by explaining the modeling fundamentals and giving examples on how to start with AMS system-level design at higher levels of abstraction. It assumes that the user has some prior knowledge on SystemC modeling and simulation and C++ in general and is familiar with analog/mixed-signal design and modeling. After going through this guide, the reader should be in a position to start using the SystemC AMS extensions, and should be able to: — Get insight into the applicable use cases and requirements of the SystemC AMS extensions. — Understand the introduced models of computation and associated execution semantics. — Use the language constructs to create discrete-time and continuous-time models at different levels of abstraction. — Combine SystemC and the AMS extensions to design a mixed-signal system. — Perform time- and frequency-domain analysis and tracing of AMS signals. The AMS design methodology, modeling style, and examples given in this user’s guide are based on IEEE Std. 1666™-20112,3, IEEE Std. 1666.1™-2016 and the C++ programming language defined in ISO/IEC 14882:20034. Any simulator implementation compatible with this standard can be used to build and execute these examples5. This document is an informative guide, intended to clarify the usage and intended behavior of the SystemC AMS extensions. The precise and complete definition of the SystemC AMS extensions is standardized in IEEE Std. 1666.1™-2016. 1 SystemC™ is a registered trademark of the Accellera Systems Initiative. 2 The IEEE standards or products referred to in this user’s guide are trademarks of The Institute of Electrical and Electronics Engineers, Inc. 3 IEEE publications are available from the Institute of Electrical and Electronics Engineers, Inc., 445 Hoes Lane, P.O. Box 1331, Piscataway, NJ 08855-1331, USA (https://standards.ieee.org/). 4 ISO/IEC publications are available from the ISO Central Secretariat, Case Postale 56, 1 rue de Varembé, CH-1211, Genève 20, Switzerland/Suisse (https://www.iso.org/). ISO/IEC publications are also available in the United States from Global Engineering Documents, 15 Inverness Way East, Englewood, Colorado 80112, USA (https://global.ihs.com/). Electronic copies are available in the United States from the American National Standards Institute, 25 West 43rd Street, 4th Floor, New York, NY 10036, USA (https:// www.ansi.org/). 5 More information on simulation environments can be found at https://www.accellera.org/community/systemc/about-systemc-ams/. v Copyright © 2020 Accellera Systems Initiative. All rights reserved. Contents 1. Introduction............................................................................................................................................. 1 1.1 Motivation....................................................................................................................................1 1.2 SystemC AMS extensions...........................................................................................................1