Hardware Data Value Tracing in Multicores

Total Page:16

File Type:pdf, Size:1020Kb

Hardware Data Value Tracing in Multicores HARDWARE DATA VALUE TRACING IN MULTICORES by MOUNIKA PONUGOTI A DISSERTATION Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in The Department of Electrical & Computer Engineering to The School of Graduate Studies of The University of Alabama in Huntsville HUNTSVILLE, ALABAMA 2019 i In presenting this dissertation in partial fulfillment of the requirements for a Doctor of Philosophy degree from The University of Alabama in Huntsville, I agree that the Library of this University shall make it freely available for inspection. I further agree that permission for extensive copying for scholarly purposes may be granted by my advisor or, in his/her absence, by the Chair of the Department or the Dean of the School of Graduate Studies. It is also understood that due recognition shall be given to me and to The University of Alabama in Huntsville in any scholarly use which may be made of any material in this dissertation. (student signature) (date) ii DISSERTATION APPROVAL FORM Submitted by Mounika Ponugoti in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Engineering and accepted on behalf of the Faculty of the School of Graduate Studies by the dissertation committee. We, the undersigned members of the Graduate Faculty of The University of Ala- bama in Huntsville, certify that we have advised and/or supervised the candidate on the work described in this dissertation. We further certify that we have reviewed the dissertation manuscript and approve it in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Engineering. Committee Chair (Dr. Aleksandar Milenkovic) (date) Committee Member (Dr. Rhonda Gaede) (date) Committee Member (Dr. Mohammad Haider) (date) Committee Member (Dr. Tauhidur Rahman) (date) Committee Member (Dr. Earl Wells) (date) Department Chair (Dr. Ravi Gorur) (date) College Dean (Dr. Shankar Mahalingam) (date) Graduate Dean (Dr. David Berkowitz) (date) iii ABSTRACT The School of Graduate Studies The University of Alabama in Huntsville Degree Doctor of Philosophy College/Dept. Engineering/Electrical & Computer Engineering Name of Candidate Mounika Ponugoti Title Hardware Data Value Tracing in Multicores Embedded computing systems powered by modern systems-on-a-chip (SoCs) running sophisticated software applications are indispensable in modern communi- cation, transportation, infrastructure, medicine, military, and entertainment. Semi- conductor technology trends have enabled the design of SoCs that often combine multiple processor cores, hardware accelerators, direct memory controllers, and pe- ripheral interfaces, all connected through an on-chip interconnect. Faster, cheaper, and smaller SoCs have in turn enabled new applications that may have tens of mil- lions of lines of code. These trends have led to rising software engineering costs in modern embedded systems that currently account for over 80% of the total engineer- ing costs. Recent studies found that software developers spend over 50% of their time finding and fixing software bugs. Thus, software debugging is one of the most challenging aspects of embedded system development due to growing hardware and software complexity, limited visibility of system components, and tightening time-to- market. Providing powerful debugging tools to software developers is thus critical to expedite software development and improve software reliability. To find software bugs faster, developers often rely on on-chip trace modules with large buffers to capture program execution traces with minimum interference with program execution. However, high volumes of trace data and the high cost of iv trace modules limit visibility into the system operation to only short program seg- ments that are often insufficient to locate software bugs. This dissertation introduc- es a new hardware/software technique for capturing and filtering read data value traces in multicores that enables a complete reconstruction of parallel program exe- cution. The proposed technique called mcFiltrate (multicore cache filtered read data trace) utilizes tracking of data reads in data caches and cache coherence protocol states to minimize the number of trace messages that needs to be streamed out of the target platform to the software debugger. The effectiveness of the proposed tech- nique is determined by analyzing the required trace port bandwidth and trace buffer sizes as a function of the data cache size and the number of processor cores. The ex- perimental environment utilizes architectural execution-driven simulator running benchmarks from two suites, Splash2 and Parsec. The results of the experimental evaluation show that the proposed technique significantly reduces the required trace port bandwidth, from 12.2 to 59.6 for a single core processor and from 13.4 to 73.9 times for an octa core processor, when compared to the state-of-the-art Nexus-like read data value tracing. The proposed technique reduces the requirements for the on-chip trace buffers by several orders of magnitude and the number of required trace port pins by up to 16 times when compared to the state-of-the-art Nexus-like tracing. Consequently, mcFiltrate enables continuous on-the-fly data tracing while requiring modest changes on the hardware platform and the software debugger. Abstract Approval: Committee Chair (Dr. Aleksandar Milenkovic) Department Chair (Dr. Ravi Gorur) Graduate Dean (Dr. David Berkowitz) v This dissertation is dedicated to the love and energy that made it possible vi ACKNOWLEDGMENTS First and foremost, I would like to express my deepest gratitude to my advi- sor, Dr. Aleksandar Milenkovic. I would not be in this position without his continu- ous support, guidance, and encouragement. He always inspired me with his patience even in the very odd times. He has shared profound knowledge with me since I started working with him. I feel lucky to work with a professor like him who can un- derstand the educational background and personality of the student from different countries and guide them accordingly. I sincerely hope to be like him professionally and personally in my future and continue to collaborate with him. I would like to thank Dr. Rhonda Gaede, Dr. Mohammad Haider, Dr. Tau- hidur Rahman, and Dr. Earl Wells for serving on my committee. I would like to thank Dr. Ravi Gorur, Chair of the Electrical and Computer Engineering Depart- ment, for supporting me financially with a teaching assistantship. I would like to thank teaching and non-teaching staff members for teaching me valuable skills and helping whenever required during my time at the University of Alabama in Hunts- ville. Also, I would like to thank Mr. Igor Semenov, Mr. Prawar Poudel, and Mr. Ranjan Hebbar for sharing their knowledge and answering questions whenever I ask them without judging the level of the question. I would like to thank Mr. Amrish K. Tewar who always inspires and teaches me new things whenever I approach him. Finally, I would like to thank Mr. Srinivas R. Mynampally and his family for taking care of me since my arrival to the USA. I would like to express my deepest gratitude to my parents, Bhagavanth R. Ponugoti and Vimala Ponugoti, and my husband, Vamshi K. Vanapally, for their unconditional love and support. vii TABLE OF CONTENTS Page LIST OF FIGURES ...................................................................................................... ix LIST OF TABLES ........................................................................................................ xv INTRODUCTION ...................................................................................16 Motivation ......................................................................................................19 mcFiltrate: Multicore Cache-Filtered Read Data Trace ...............................20 Main Contributions ........................................................................................21 Dissertation Outline ......................................................................................23 BACKGROUND AND MOTIVATION ...................................................24 Software Tracing ............................................................................................25 Software Tracing Frameworks ...............................................................27 Hardware Tracing ..........................................................................................32 Types of Hardware Tracing ....................................................................32 Trace and Debug Infrastructure.............................................................34 State-of-the-art Commercial Hardware Trace Solutions ..............................37 Motivation ......................................................................................................43 Memory Read Data Value Tracing to Detect Race Conditions ..............43 Memory Read Data Value Tracing Challenges ......................................46 RELATED WORK ..................................................................................51 Record and Replay .........................................................................................52 viii Trace Compression.........................................................................................53 Software Trace Compression ..................................................................53 Hardware Trace Compression ................................................................56
Recommended publications
  • MIPI Alliance Test and Debug - Nidnt-Port White Paper
    MIPI Alliance Test and Debug - NIDnT-Port White paper Approved Version: 1.0 – 10 January 2007 MIPI Board Approved for Public Distribution NOTE and DISCLAIMER: This is an informative document, not a MIPI Specification. Various rights and obligations which apply solely to MIPI Specifications (as defined in the MIPI Membership Agreement and MIPI Bylaws) including, but not limited to, patent license rights and obligations, do not apply to this document. The material contained herein is not a license, either expressly or impliedly, to any IPR owned or controlled by any of the authors or developers of this material or MIPI. The material contained herein is provided on an “AS IS” basis and to the maximum extent permitted by applicable law, this material is provided AS IS AND WITH ALL FAULTS, and the authors and developers of this material and MIPI hereby disclaim all other warranties and conditions, either express, implied or statutory, including, but not limited to, any (if any) implied warranties, duties or conditions of merchantability, of fitness for a particular purpose, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THIS MATERIAL. IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR MIPI BE LIABLE TO ANY OTHER PARTY FOR THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS MATERIAL, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.
    [Show full text]
  • Freescale In-Circuit Emulator Base User Manual
    Freescale In-Circuit Emulator Base User Manual Rev. 1.1 1/2005 FSICEBASEUM How to Reach Us: Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses USA/Europe/Locations Not Listed: granted hereunder to design or fabricate any integrated circuits or integrated circuits based on Freescale Semiconductor Literature Distribution Center the information in this document. P.O. Box 5405 Freescale Semiconductor reserves the right to make changes without further notice to any Denver, Colorado 80217 products herein. Freescale Semiconductor makes no warranty, representation or guarantee 1-800-521-6274 or 480-768-2130 regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or Japan: circuit, and specifically disclaims any and all liability, including without limitation Freescale Semiconductor Japan Ltd. consequential or incidental damages. “Typical” parameters that may be provided in Freescale Technical Information Center Semiconductor data sheets and/or specifications can and do vary in different applications and 3-20-1, Minami-Azabu, Minato-ku actual performance may vary over time. All operating parameters, including “Typicals”, must Tokyo 106-8573, Japan be validated for each customer application by customer’s technical experts. Freescale 81-3-3440-3569 Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as Asia/Pacific: components in systems intended for surgical implant into the body, or other applications Freescale Semiconductor Hong Kong Ltd.
    [Show full text]
  • Renesas RX62N RDK User's Manual
    Renesas Demonstration Kit (RDK) for RX62N User’s Manual: Hardware RENESAS MCU 32 RX Family / RX600 Series / RX62N Group R20UT2531EU0100 All information contained in these materials, including products and product specifications, represents information on the product at the time of publication and is subject to change by Renesas Electronics Corp. without notice. Please review the latest information published by Renesas Electronics Corp. through various means, including the Renesas Electronics Corp. website (http://www.renesas.com). i Disclaimer By using this Renesas Demonstration Kit (RDK), the user accepts the following terms. The RDK is not guaranteed to be error free, and the User assumes the entire risk as to the results and performance of the RDK. The RDK is provided by Renesas on an “as is” basis without warranty of any kind whether express or implied, including but not limited to the implied warranties of satisfactory quality, fitness for a particular purpose, title and non-infringement of intellectual property rights with regard to the RDK. Renesas expressly disclaims all such warranties. Renesas or its affiliates shall in no event be liable for any loss of profit, loss of data, loss of contract, loss of business, damage to reputation or goodwill, any economic loss, any reprogramming or recall costs (whether the foregoing losses are direct or indirect) nor shall Renesas or its affiliates be liable for any other direct or indirect special, incidental or consequential damages arising out of or in relation to the use of this RDK, even if Renesas or its affiliates have been advised of the possibility of such damages.
    [Show full text]
  • ARM Debugger
    ARM Debugger TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents ...................................................................................................................... ICD In-Circuit Debugger ................................................................................................................ Processor Architecture Manuals .............................................................................................. ARM/CORTEX/XSCALE ........................................................................................................... ARM Debugger ..................................................................................................................... 1 History ................................................................................................................................ 7 Warning .............................................................................................................................. 8 Introduction ....................................................................................................................... 9 Brief Overview of Documents for New Users 9 Demo and Start-up Scripts 10 Quick Start of the JTAG Debugger .................................................................................. 12 FAQ ..................................................................................................................................... 13 Troubleshooting ...............................................................................................................
    [Show full text]
  • The ZEN of BDM
    The ZEN of BDM Craig A. Haller Macraigor Systems Inc. This document may be freely disseminated, electronically or in print, provided its total content is maintained, including the original copyright notice. Introduction You may wonder, why The ZEN of BDM? Easy, BDM (Background Debug Mode) is different from other types of debugging in both implementation and in approach. Once you have a full understanding of how this type of debugging works, the spirit behind it if you will, you can make the most of it. Before we go any further, a note on terminology. “BDM” is Motorola’s term for a method of debugging. It also refers to a hardware port on their microcontroller chips, the “BDM port”. Other chips and other manufacturers use a JTAG port (IBM), a OnCE port (Motorola), an MPSD port (Texas Instruments), etc. (more on these later). The type of debugging we will be discussing is sometimes known as “BDM debugging” even though it may use a JTAG port! For clarity, I will refer to it as “on-chip debugging” or OCD. This will include all the various methods of using resources on the chip that are put there to enable complete software debug and aid in hardware debug. This includes processors from IBM, TI, Analog Devices, Motorola, and others. This paper is an overview of OCD debugging, what it is, and how to use it most effectively. A certain familiarity with debugging is assumed, but novice through expert in microprocessor/microcontroller design and debug will gain much from its reading. Throughout this paper I will try to be as specific as possible when it relates to how different chips implement this type of debugging.
    [Show full text]
  • Attiny1607 Curiosity Nano Hardware User Guide
    ATtiny1607 Curiosity Nano ATtiny1607 Curiosity Nano Hardware User Guide Preface The ATtiny1607 Curiosity Nano Evaluation Kit is a hardware platform to evaluate the ATtiny1607 microcontroller (MCU). Supported by Atmel Studio/Microchip MPLAB® X Integrated Development Environment (IDE), the kit provides easy access to the features of the ATtiny1607 to explore how to integrate the device into a custom design. The Curiosity Nano series of evaluation kits include an on-board debugger. No external tools are necessary to program and debug the ATtiny1607. © 2019 Microchip Technology Inc. User Guide DS50002897B-page 1 ATtiny1607 Curiosity Nano Table of Contents Preface...........................................................................................................................................................1 1. Introduction............................................................................................................................................. 3 1.1. Features....................................................................................................................................... 3 1.2. Kit Overview................................................................................................................................. 3 2. Getting Started........................................................................................................................................ 4 2.1. Curiosity Nano Quick Start...........................................................................................................4
    [Show full text]
  • The Design of a Debugger Unit for a RISC Processor Core
    Rochester Institute of Technology RIT Scholar Works Theses 3-2018 The Design of a Debugger Unit for a RISC Processor Core Nikhil Velguenkar [email protected] Follow this and additional works at: https://scholarworks.rit.edu/theses Recommended Citation Velguenkar, Nikhil, "The Design of a Debugger Unit for a RISC Processor Core" (2018). Thesis. Rochester Institute of Technology. Accessed from This Master's Project is brought to you for free and open access by RIT Scholar Works. It has been accepted for inclusion in Theses by an authorized administrator of RIT Scholar Works. For more information, please contact [email protected]. The Design of a Debugger Unit for a RISC Processor Core by Nikhil Velguenkar Graduate Paper Submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering Approved by: Mr. Mark A. Indovina, Lecturer Graduate Research Advisor, Department of Electrical and Microelectronic Engineering Dr. Sohail A. Dianat, Professor Department Head, Department of Electrical and Microelectronic Engineering Department of Electrical and Microelectronic Engineering Kate Gleason College of Engineering Rochester Institute of Technology Rochester, New York March 2018 To my family and friends, for all of their endless love, support, and encouragement throughout my career at Rochester Institute of Technology Abstract Recently, there has been a significant increase in design complexity for Embedded Sys- tems often referred to as Hardware Software Co-Design. Complexity in design is due to both hardware and firmware closely coupled together in-order to achieve features forlow power, high performance and low area. Due to these demands, embedded systems consist of multiple interconnected hardware IPs with complex firmware algorithms running on the device.
    [Show full text]
  • USB3 Debug Class Specification
    USB 3.1 Debug Class 7/14/2015 USB 3.1 Device Class Specification for Debug Devices Revision 1.0 – July 14, 2015 - 1 - USB 3.1 Debug Class 7/14/2015 INTELLECTUAL PROPERTY DISCLAIMER THIS SPECIFICATION IS PROVIDED TO YOU “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE. THE AUTHORS OF THIS SPECIFICATION DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PROPRIETARY RIGHTS, RELATING TO USE OR IMPLEMENTATION OF INFORMATION IN THIS SPECIFICATION. THE PROVISION OF THIS SPECIFICATION TO YOU DOES NOT PROVIDE YOU WITH ANY LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS. Please send comments via electronic mail to [email protected]. For industry information, refer to the USB Implementers Forum web page at http://www.usb.org. All product names are trademarks, registered trademarks, or service marks of their respective owners. Copyright © 2010-2015 Hewlett-Packard Company, Intel Corporation, Microsoft Corporation, Renesas, STMicroelectronics, and Texas Instruments All rights reserved. - 2 - USB 3.1 Debug Class 7/14/2015 Contributors Intel (chair) Rolf Kühnis Intel Sri Ranganathan Intel Sankaran Menon Intel (chair) John Zurawski ST-Ericsson Andrew Ellis ST-Ericsson Tomi Junnila ST-Ericsson Rowan Naylor ST-Ericsson Graham Wells ST Microelectronics Jean-Francis Duret Texas Instruments Gary Cooper Texas Instruments Jason Peck Texas Instruments Gary Swoboda AMD Will Harris Lauterbach Stephan Lauterbach Lauterbach Ingo Rohloff Nokia Henning Carlsen Nokia Eugene Gryazin Nokia Leon Jørgensen Qualcomm Miguel Barasch Qualcomm Terry Remple Qualcomm Yoram Rimoni - 3 - USB 3.1 Debug Class 7/14/2015 TABLE OF CONTENTS 1 TERMS AND ABBREVIATIONS .......................................................................................................
    [Show full text]
  • Iot Security-Part 14 (Introduction to and Identification of Hardware Debug Ports)
    ⌂ Home › ☷ All Blogs › ✍ Shakir › IoT Security-Part 14 (Introduction To And Identification Of Hardware Debug Ports) Shakir 26-September-2020 IoT Security-Part 14 (Introduction to and Identification of Hardware Debug Ports) This blog is part of the IoT Security series where we discuss the basic concepts pertaining to the IoT/IIoT eco-system and its security. If you have not gone through the previous blogs in the series, I would urge you to go through those first. In case you are only interested in the Hardware debug ports, feel free to continue. IoT Security - Part 1 (101 - IoT Introduction And Architecture) IoT Security - Part 13 (Introduction To Hardware Recon) In the previous blog, we discussed how to perform reconnaissance on hardware. In this blog, we will discuss Hardware debug ports, what are the different debug ports, and how to find debug ports using different methods. Finding the hardware debug port process consists of several steps like looking at the various test pads, pinouts, headers. Rarely these pins are labeled on PCB so we have to identify pins manually. Information from the microcontroller datasheet about pins and simple continuity check using a multimeter is good enough for IC packages like DIP/TSOP, TQFP (for more information about IC packages refer this blog IoT Security-Part 13 (Introduction To Hardware Recon) but for packages like QFN, BGA, etc. where pins are not accessible on PCB it is difficult to identify manually. For such cases where continuity check is not possible, tools like Bus Auditor or Jtagulator come very handy. Once JTAG/SWD, UART, I2C pins are identified on PCB, access to the microcontroller, firmware extraction, root shell access is possible.
    [Show full text]
  • C166S on Chip Debug Support
    User’s Manual, V 1.1, August 2001 C166S On Chip Debug Support Microcontrollers Never stop thinking. Edition 2001-08 Published by Infineon Technologies AG, St.-Martin-Strasse 53, D-81541 München, Germany © Infineon Technologies AG 2001. All Rights Reserved. Attention please! The information herein is given to describe certain components and shall not be considered as warranted characteristics. Terms of delivery and rights to technical change reserved. We hereby disclaim any and all warranties, including but not limited to warranties of non-infringement, regarding circuits, descriptions and charts stated herein. Infineon Technologies is an approved CECC manufacturer. Information For further information on technology, delivery terms and conditions and prices please contact your nearest Infineon Technologies Office in Germany or our Infineon Technologies Representatives worldwide (see address list). Warnings Due to technical requirements components may contain dangerous substances. For information on the types in question please contact your nearest Infineon Technologies Office. Infineon Technologies Components may only be used in life-support devices or systems with the express written approval of Infineon Technologies, if a failure of such components can reasonably be expected to cause the failure of that life-support device or system, or to affect the safety or effectiveness of that device or system. Life support devices or systems are intended to be implanted in the human body, or to support and/or maintain and sustain and/or protect human life. If they fail, it is reasonable to assume that the health of the user or other persons may be endangered. User’s Manual, V 1.1, August 2001 C166S On Chip Debug Support Microcontrollers Never stop thinking.
    [Show full text]
  • Stm32h7x5/X7 Dual-Core Microcontroller Debugging
    AN5286 Application note STM32H7x5/x7 dual-core microcontroller debugging Introduction The STM32H7x5/x7 dual-core microcontroller lines as described in Table 1. Applicable products (named STM32H7x5/x7 microcontrollers in this document) are based on the high-performance Arm® Cortex®-M7 and Cortex®-M4 32-bit RISC cores. The STM32H7x5/x7 microcontrollers require a specific development approach so the application can take maximum advantage dual core architecture. This application note provides guidelines for the debug of custom applications which run on the STM32H7x5/x7 microcontrollers using the software Toolchains: EWARM, MDK-ARM and SW4STM32. The following subjects are addressed; • An overview of the new IDE features which supports the dual core products. • How to use EWARM, MDK-ARM and SW4STM32 with a dual-core device using the ST-LINK debug. For more information on the STM32H7x5/x7 microcontrollers, refer to the following documents on www.st.com: • STM32H745xI/G datasheet (DS12923) • STM32H755xI datasheet (DS12919) • STM32F7 Series and STM32H7 Series Cortex®-M7 processor programming manual (PM0253) Table 1. Applicable products Generic part numbers Applicable product lines STM32H7x5/x7 STM32H745/755, STM32H747/757 AN5286 - Rev 1 - July 2019 www.st.com For further information contact your local STMicroelectronics sales office. AN5286 General information 1 General information This document applies to the STM32H7x5/x7 dual-core Arm®-based microcontroller lines. Note: Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere. AN5286 - Rev 1 page 2/45 AN5286 Dual debug main features 2 Dual debug main features A multicore processor is composed of either heterogeneous cores (which means different cores) or homogenous cores (identical cores).
    [Show full text]
  • Quick Start Guide Sr S Manual User’
    Guide Start Quick User’Manual s RA2L1 Group Evaluation Kit for RA2L1 Microcontroller Group EK-RA2L1 Quick Start Guide Renesas RA Family RA2 Series All information contained in these materials, including products and product specifications, represents information on the product at the time of publication and is subject to change by Renesas Electronics Corp. without notice. Please review the latest information published by Renesas Electronics Corp. through various means, including the Renesas Electronics Corp. website (http://www.renesas.com). www.renesas.com Rev.1.00 Oct.22.20 Notice 1. Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits, software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses and damages incurred by you or third parties arising from the use of these circuits, software, or information. 2. Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other claims involving patents, copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical information described in this document, including but not limited to, the product data, drawings, charts, programs, algorithms, and application examples. 3. No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas Electronics or others. 4. You shall not alter, modify, copy, or reverse engineer any Renesas Electronics product, whether in whole or in part.
    [Show full text]