gsysc Visualization of SystemC-Projects (Extended abstract)
|
|
- Scott Johns
- 5 years ago
- Views:
Transcription
1 gsysc Visualization of SystemC-Projects (Extended abstract) Christian J. Eibl Institute for Computer Engineering University of Lübeck February 16, 2005 Abstract SystemC is a C++ library for modeling of hardware architectures within software that supports design tests through cycle-accurate simulation of those models. A graphical front end does not exist in SystemC and textual output is available only. Complex SystemC projects need the possibility to graphically evaluate modeled designs and to visualize the structure, for example to present a design to third persons or to test it with graphical support. In this work a concept for a graphical add-on for SystemC is presented. The concept considers an interface to SystemC that provides a connection without the need of modification of the SystemC source code. Based on this concept the library gsysc was implemented for visualization of SystemC projects. gsysc supports the graphical presentation of the design. Additionally, it realizes a graphical front end for simulation control. 1 Introduction 1.1 Motivation Beside the cost of development the time-to-market is an important factor for the survival of a production company. Obviously the time for the development as well as the cost of such development have to be minimized. Therefore creating a new prototype for every single improvement step is not wanted. Alternatively to this hardware creation in every iteration step, SystemC models can be used. SystemC is a useful class library to model those hardware architectures within software. In this software models one can easily change and optimize the design without the cost of creating a new prototype. Compiling it once more and start a new simulation is sufficient instead of creating new hardware elements for testing purposes. SystemC provides class structures for easily transferring a hardware architecture to software models and to simulate it afterward within the SystemC simulation Quick-and-dirty summary; most likely contains errors and bad english 1
2 kernel. But SystemC does provide textual in- and output only. Information interchange at runtime and interactions with the user are not possible while the simulation is running. Furthermore the SystemC classes don t provide an extension to visualize the design, that is simulated by the given files. A presentation to other persons is in this case very difficult for more complex designs. gsysc is created to close this gap between simulation kernel and model capabilities of SystemC and the graphical simulation preferred by most users. 1.2 Overview After showing which works already discuss the same problem, we distinguish our effort to the otherwise solved problems. In the concept section some structural concepts of gsysc are shown. In the realization section these concepts are described in their realization details. One important task according to our approach, that makes it possible to use SystemC without source code modification on it, is described under the subsection registration more in detail. After this the usage of the whole gsysc library is explained. At the end a conclusion of the current state of gsysc is given with respect to a comparison to the other approaches. 2 Related Work There are several researches in the same direction. For example at the University of Montréal [1, 4] and the University of Bremen [2]. All of these works have a similar idea for completing SystemC with graphical front ends. The idea is to modify the SystemC source code in order to have methods for extracting design information of the underlying design. The work from Montréal differs from that from Bremen in the position where the modifications should take place. gsysc goes another way. The SystemC sources must not be modified, in order to get a version independent class library where the user has to deliver the needed structure information himself. This registration process can be done with scripts that insert the necessary macros with all parameters itself, so this concept is not a restriction to the usability of gsysc. 3 Demands of gsysc Main demand to gsysc is to keep the original SystemC sources unchanged while keeping the full functionality of run time evaluation and visualization of SystemC design projects. gsysc has to provide an interface between the graphical front ends visualizing the design, the authentic SystemC design files and the SystemC functional units. Over this interface, which has to be realized without changing the SystemC sources, it is possible to exchange structure and work information 2
3 between the connected parts. The front end design is not further described in this extended version. For more information about the complete gsysc library see [3]. 3.1 Migration SystemC is available for many different operating systems, so should gsysc be. Attention was payed to the usage of methods, that are not specific to only one operating system or have special requirements to the systems gsysc should run on. It is kept as universal as possible. 4 Concept of gsysc The structure of projects using rare SystemC differs from those using gsysc, too. The structures are compared in Figure 1. Common instances are User, SystemC-Design and SystemC. The User User Input Output gsysc Graphic User Input Output Graphic Library SystemC Design SystemC Design Trace File Interface to SystemC Trace File SystemC SystemC (a) SystemC without graphical expansion (b) SystemC with graphical expansion (gsysc ) Figure 1: Conceptual structure of SystemC in comparison to gsysc is the person starting the program parameterized and evaluates the results afterward. User and developer are not necessarily the same person. With gsysc 3
4 it is also possible for ignorant people to recognize the underlying design structure and to control the simulation appropriately. SystemC-Design stands for the hardware project, that is transferred to a software model based on SystemC. SystemC means the SystemC class library, of which the data types, methods and simulation kernel are used. In the right structure of Figure 1 there are several additional structure elements. First there is the graphic library which is used by the graphical front ends of gsysc. An interaction between the user and the SystemC design happens with graphical front ends from gsysc graphic. The possibility for interaction is shown in the structure by a connecting arrow. Third element is the interface between SystemC and gsysc. A connection between User and SystemC-Design is not given in the left structure, because SystemC does not offer any possibility for interaction at runtime without explicit implementation of communication over standard input/output (stdin/stdout). In gsysc this is possible over gsysc graphic. 4.1 Interface SystemC is a closed class library without an interface for extracting the declared ports, signals and modules of the design. Because gsysc needs to access the ports and signals for the visualization of those elements, there has to be a connection to SystemC. Existing SystemC structures may not be changed in order to keep an independence to the SystemC library version. 4.2 Base Functions With this topic, functionalities are meant, that are available automatically in all projects after the registration process. Registration means in this case, that gsysc has to be informed by the hardware designer about the structure elements of the underlying SystemC design, because gsysc is not able to recognize those structures completely in automatic processes. The base functions are the hierarchy viewer (graphical structure visualization), the simulation control and the port monitoring window. The hierarchy viewer represents the module, that is build for calculating and presenting the modeled structure of the SystemC project. In this window the user is able to extract structural connections and relations between the model components over colored classification of the directly connected structure elements. The simulation control, from now on just called simulator, is the main component of gsysc. Be aware, that gsysc does not provide a new simulation kernel, it still uses the SystemC simulation kernel. Additional to the usage, it provides a graphical front end to control the simulation comfortable with input devices like mouse or keyboard and to run the simulation step by step or, like the raw SystemC does, as complete run to a given maximum step number. For better control 4
5 ability the simulator provides a few options, that could be useful for working with the design. Another approach of gsysc is the port monitoring window, that gives the ability to view the actual values of the design ports at runtime. The contents of such ports are read after each simulation step and refreshed in the observation table. 4.3 Application specific Extensions Additionally to the base functions there is the possibility to add visualization components that are sometimes useful in the SystemC design, but also could be less helpful in other designs. These application specific extensions are for example the fill state visualization of buffer variable with a progress bar widget of Qt. With this graphical element it is possible to show a percentile fill state and additionally a bar whose area is filled according to the percentage value. Since such extensions are application specific, they have to be refreshed manually by the programmer of the SystemC design. For this purpose macros exist as well. 5 Realization 5.1 Software Architecture gsysc is a class library, that consists of many classes with several jobs from different areas. Those areas are shown in the conceptual structure (cf. Figure 1) and further discussed in the following Interface to SystemC Interface structure to SystemC is shown in Figure 2 with all related classes. The interface is divided into two layers. In the lower layer, which is closer to SystemC, the port and signal classes of SystemC were derived in order to catch new values posted to them. In the upper layer there are port and signal representations of gsysc for processing purposes in gsysc. Beside the saved values, these representations contain information about the drawing style of those parts in the graphical structures. Further functions are those for the work with highlighting of those ports and signals in order to visualize their position in the structure. The reason for deriving of those SystemC classes in the lower layer is to get rid of the underlying datatype of the port or signal. In SystemC template classes are used in order to get a datatype independent implementation. This gives theoretically infinite many different possible port and signal objects with different datatype. Therefore bounds are needed for the number of supported datatypes. Alternatively gsysc ports and signals could be implemented as templates, too. The latter one gives further problems with list creation of template ports or signals, since lists only accept elements of same datatype. 5
6 To avoid such problems with template classes, another solution is used. gsysc ports and signals cannot contain type-correct pointers to the real SystemC objects. Therefore SystemC classes were derived in order to be able to save pointers to (uniform) gsysc ports and signals (upper interface layer). At every write access to a port or signal of SystemC a copy of the new value is sent to the corresponding gsysc objects. This is possible without a direct access of gsysc to a SystemC port or signal representation. upper layer gsysport gsyssignal lower layer gsys_in<t> gsys_out<t> gsys_inout<t> gsys_signal<t> SystemC sc_in<t> sc_out<t> sc_inout<t> sc_signal<t> Figure 2: Interface between gsysc and SystemC 5.2 Registration/Structure Information For a graphical visualization of the underlying project structure gsysc has to know the used signals, ports and modules. These have to be given to gsysc manually in the source code of the SystemC design files. For this process, in the following called registration, the class gsysregister is used. It allows only restricted access in order to keep an information hiding of the real implementation. Access to elements of this class have to be done over the (user) interface class gsysmain. Therefore macros are implemented to give short method calls instead of multiple concatenations of pointer references. The macros are discussed in Section After all modules, ports and signals are registered, signals get compounded to so-called connections. That means, all signals, which connect the same two modules, are packed to only one connection. This procedure was implemented to make it easier to implement more complex place&route algorithms. Because of these connection it is possible to give such an algorithm in two steps. First place all connections and then place all signals in each connection. 6
7 5.3 Dependencies gsysc is based on the libraries Qt, SystemC and also relies on the STL of C++. Since these libraries are developed continuously, it is possible, that with using an older library some functions might not be implemented or their usage or functionality is slightly different. gsysc is written that way, that it works with as many as possible systems. But some dependencies are given anyway. For Qt a version greater than 3.0 is required. The C/C++ compiler has to support the class sstream (Stringstream). This class is required for port output in gsysc. For the g++ compiler running under Linux this means a version greater than Usage of gsysc 6.1 Adjustments to SystemC-Designs As already described in Section 2, gsysc works without modification of the SystemC sources. In order to hold this restriction and nevertheless get the information of the inner structure of the underlying SystemC project, some adjustments to the design have to be made. The following sections describe the usage of SystemC when manually changes should be made. All following steps are on principle possible to be made by a script, too. This script has to analyze the syntactical and in an easy form the semantical structure of the design sources and to construct the needed registration calls for giving the information to gsysc. Hence not to modify the SystemC sources means no extra work to the programmer of the design, since these adjustments could be done automatically Files to include To use gsysc it is necessary to include the header file gsysc.h in all project files. Including gsysc.h before, after or instead of systemc.h has the same effect. In this header file all macros for an easy usage of gsysc are implemented. These macros are described in the next section. Beside header files there are also implementation files given, that are compiled to objects. For simplifying the usage, these object files are packed into a single library called libgsysc.a. This has to be linked to the binary file while compilation gsysc -Macros For registration process and all preparing work in order to get full usability of gsysc, macros can be used. They should make it easier to the programmer 7
8 of the SystemC designs to get a visualization by gsysc. The macros that are implemented in the header file gsysc.h, are like the following: REG MODULE(module,name,parent) With this macro a module module with parent module parent (at top-level modules NULL has to be given as parameter). The parameter name sets the name, that is used in the graphical front end for this registered module. The parameters module and parent have to be given as pointers to the corresponding objects. REG PORT(port,module,signal): This macro is for registration of the used ports in the SystemC design. With this macro gsysc gets its information about the existence and connection information between the used ports. In detail this means, the port port of the module module is connected to the signal signal. All parameter have to be given as pointers. REG IN PORT(port,module,signal) Equal to REG PORT(port,module,signal). Provides a more distinguished usage of the direction of the port registration. REG OUT PORT(port,module,signal) (see REG IN PORT(port,module,signal)) REG INOUT PORT(port,module,signal) (see REG IN PORT(port,module,signal)) RENAME SIGNAL(object, name) This macro provides a possibility to rename the already registered signals. The given names will appear in the graphical front end of gsysc. object means a pointer to the signal, that should get another name name. RENAME PORT(object, name) Analogously to REG SIGNAL this macro provides the possibility of renaming registered ports. The meaning of those macros can be turned off (e.g. for debug sessions) over the definition GSYS DO NOT USE at compilation time. In this case the macros are changed to empty statements. Consequently the rare SystemC implementation is used again Application specific Extensions gsysc supports extensions that are not useful in all projects. Therefore these extensions are application specific and have to be integrated manually. An example of those extensions is the visualization of buffer variables like space 8
9 limited memory (e.g. queue, stack,...) as progress bar. Over this widget the fill state can be shown in an easy and clear way. The initialization of this feature is done over the macro gsys addbuffer(id,name) respectively gsys addbuffern(id,name). In both cases a variable-id has to be given as parameter. This ID has to be unique in the whole program. In order to avoid runtime errors it is a good advise to use the pointer to the used buffer variable. The second macro differs to the first one in that way, that the fill degree is not given additionally in percent Starting the Front End Starting the graphical front end is done over the macro gsys open, which is dedicated only to open the main window. An easier way is given through the macro gsys start(number of steps). Alternatively the more frequently used sc start(number of steps) can be used. The latter one is overloaded of the SystemC own macro to start the simulation, so this command has not to be changed in the original SystemC design. This makes it easier to switch to a visualization with gsysc. 6.2 Front End The front end provides the possibility to visualize the underlying structures of the design, to control the simulation interactively and to read out variable values at runtime. Hence the tests of the project can now be done interactively between simulation steps and not only after the simulation is done via the trace files. The trace file capabilities are not touched by the gsysc routines Simulator The simulation controller, called simulator for short, gives a graphical front end for interactive control of the simulation process. The simulation itself is still done in the SystemC simulation kernel. Over the control elements and the possibility of runtime evaluation of variables, gsysc gives a debugger-like look and feel. The controller allows to do single steps, a couple of simulation steps or just simulation run up to a given maximal step number. For visualization of changed signals, the simulator is connected to the visualization window. While the visualize option is checked in the simulator, after every step the changed signals are highlighted in the structure graphic. Hence deterministic patterns can be easily extracted while gsysc automatically steps forward and shows changes. gsysc is primarily written to support the user with graphical tools. For further description of the functionality and usage of those tools (including screen shots) the interested reader is referred to [3] 9
10 7 Conclusion After ascertainment of the fact, that hardware architectures as software models are cheaper in development and simulation, SystemC has shortly been explained. SystemC was specially designed for this modeling and simulation purposes. But it provides textual output only, which makes it more difficult to evaluate the simulation results. Therefore the library gsysc was designed to give graphical front ends for SystemC designs. The starting points for a graphical usage given in [2] are based on a modification of the SystemC sources. gsysc provides extensions without touching the original SystemC sources. Hence all possibilities as given in the referenced work can be achieved, too. Additionally to their approach, we provide a version independent usability with SystemC. gsysc offers debugger-like simulation control and runtime evaluation of ports and signals. The main work for the programmer in order to get a visualization with gsysc is the registration of design elements like modules, ports and signals. This step is error-prone, because for example some signals or other elements could be forgotten or wrong pointer might be given by the programmer. To solve this problem a script for automated registration can be written. All registration processes are based on syntactical and simple semantical analysis. Hence such a script can be created, but does not exist at the moment. There are several visualization elements available. In the current version only the progress bar can be used for buffer variable visualization. Elements like LED widgets for bit states or tabular visualization for longer bit strings are sensible and therefore might be added in later versions. The aim of providing a graphical visualization of SystemC design without the need of modification to the SystemC sources was achieved. gsysc can be extended in many ways and is available for many operating systems for which SystemC and Qt are available, too. Hence gsysc can significantly improve the usage of SystemC for hardware development purposes. Graphical workout of given data is helpful to the user for recognition purposes of the inner structure of a design. References [1] A methodology for Interfacing Open Source SystemC with a Third Party Software, L. Charest, M. Reid, E.M. Aboulhamid, G. Bois, Proceeding of Design Automation and Test in Europe Conference & Exhibition, pages 16-20, München, 2001 [2] Efficient Automatic Visualization of SystemC Designs, D. Große, R. Drechsler, L. Linhard, G. Angst, Forum on Specification & Design Languages, Frankfurt,
11 [3] gsysc Visualisierung von SystemC-Projekten, Christian J. Eibl, Study work (ITI/Universität zu Lübeck), Lübeck, Germany, 2004 [4] Implementing a Graphical User Interface for SystemC, L. Charest, M. Reid, M. Aboulhamid, G. Bois, A. Tsikhanovich, Proceeding of the 10th International HDL Conference, pages , Santa Clara, Californien, 2001 [5] Programming Language C, Final Committee Draft, International Organization of Standardization (ISO) and International Electrotechnical Commission (IEC),
Short Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationNews in RSA-RTE 10.2 updated for sprint Mattias Mohlin, May 2018
News in RSA-RTE 10.2 updated for sprint 2018.18 Mattias Mohlin, May 2018 Overview Now based on Eclipse Oxygen.3 (4.7.3) Contains everything from RSARTE 10.1 and also additional features and bug fixes See
More informationRationale for TR Extension to the programming language C. Decimal Floating-Point Arithmetic
WG14 N1161 Rationale for TR 24732 Extension to the programming language C Decimal Floating-Point Arithmetic Contents 1 Introduction... 1 1.1 Background... 1 1.2 The Arithmetic Model... 3 1.3 The Encodings...
More informationSQL Server. Management Studio. Chapter 3. In This Chapter. Management Studio. c Introduction to SQL Server
Chapter 3 SQL Server Management Studio In This Chapter c Introduction to SQL Server Management Studio c Using SQL Server Management Studio with the Database Engine c Authoring Activities Using SQL Server
More informationContract Programming For C++0x
Contract Programming For C++0x WG21/N1800 and J16/05-0060 Lawrence Crowl and Thorsten Ottosen lawrence.crowl@sun.com and nesotto@cs.aau.dk 2005-04-27 Overview This is an annotated version of the presentation
More informationFormal Verification for safety critical requirements From Unit-Test to HIL
Formal Verification for safety critical requirements From Unit-Test to HIL Markus Gros Director Product Sales Europe & North America BTC Embedded Systems AG Berlin, Germany markus.gros@btc-es.de Hans Jürgen
More informationCIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)
By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable
More information+ C++11. Qt5 with a touch of C++11. Matthew Eshleman covemountainsoftware.com
+ C++11 Qt5 with a touch of C++11 Matthew Eshleman covemountainsoftware.com Background - Matthew Eshleman 15+ years of embedded software development, architecture, management, and project planning Delivered
More informationAbsolute C++ Walter Savitch
Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents
More informationI. Overview. General User Interface Development Flow
I. Overview Intellics DAMDesigner is an end to end solution for designing and implementing HMI middleware. It provides an accomplished set of mechanisms for seamless integration of HMI stacks to underlying
More informationBASICS OF THE RENESAS SYNERGY TM
BASICS OF THE RENESAS SYNERGY TM PLATFORM Richard Oed 2018.11 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues
More informationConcept Manual vteststudio. Version 2.2 English
Concept Manual vteststudio Version 2.2 English Imprint Vector Informatik GmbH Ingersheimer Straße 24 D-70499 Stuttgart The information and data given in this user manual can be changed without prior notice.
More informationUNIT IV -MACROPROCESSOR
CS2304-SYSTEM SOFTWARE 2 MARK QUESTION & ANSWERS. UNIT IV -MACROPROCESSOR 1. Define macro. A macro represents a group of statements in a source language, for performing some function macro can be defined
More informationOpenForms360 Validation User Guide Notable Solutions Inc.
OpenForms360 Validation User Guide 2011 Notable Solutions Inc. 1 T A B L E O F C O N T EN T S Introduction...5 What is OpenForms360 Validation?... 5 Using OpenForms360 Validation... 5 Features at a glance...
More informationSystem Exploration of SystemC Designs
System Exploration of SystemC Designs Christian Genz Rolf Drechsler Institute of Computer Science, University of Bremen, 28359 Bremen, Germany {genz,drechsle}@informatik.uni-bremen.de Abstract Due to increasing
More informationAnalog Mixed Signal Extensions for SystemC
Analog Mixed Signal Extensions for SystemC White paper and proposal for the foundation of an OSCI Working Group (SystemC-AMS working group) Karsten Einwich Fraunhofer IIS/EAS Karsten.Einwich@eas.iis.fhg.de
More informationOperating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group
Operating Systems (2INC0) 20/19 Introduction (01) Dr. Courtesy of Prof. Dr. Johan Lukkien System Architecture and Networking Group Course Overview Introduction to operating systems Processes, threads and
More informationSecure coding practices
Secure coding practices www.infosys.com/finacle Universal Banking Solution Systems Integration Consulting Business Process Outsourcing Secure coding practices Writing good code is an art but equally important
More informationWhy are there so many programming languages? Why do we have programming languages? What is a language for? What makes a language successful?
Chapter 1 :: Introduction Introduction Programming Language Pragmatics Michael L. Scott Why are there so many programming languages? evolution -- we've learned better ways of doing things over time socio-economic
More informationCourse: Operating Systems Instructor: M Umair. M Umair
Course: Operating Systems Instructor: M Umair Process The Process A process is a program in execution. A program is a passive entity, such as a file containing a list of instructions stored on disk (often
More informationEclipse JWT Java Workflow Tooling. Workflow Editor (WE): Installation and Usage Tutorial
Eclipse JWT Java Workflow Tooling Title of this document Workflow Editor (WE): Installation and Usage Tutorial Document information last changes component version 13.02.2008 0.4.0 Document created by Florian
More informationPALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ version Global 8D Report 08/ Content
1 Content 1 Content... 1 2 Introduction... 3 2.1 Basic control... 3 2.2 Access rights to the program... 3 3 Main program tabs... 4 3.1 Tab List... 4 3.1.1 Types of registered Stopcards... 4 3.1.2 Data
More informationOpenGL View Library. Supervised by: Martin Madaras
View Adam Riečický Supervised by: Martin Madaras Faculty of Mathematics, Physics and Informatics Comenius University in Bratislava Bratislava/Slovakia Abstract In the paper, we propose a library for the
More informationPractical C++ Programming
SECOND EDITION Practical C++ Programming Steve Oualline O'REILLY' Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Preface xv Part I. The Basics 1. What Is C++? 3 A Brief History of C++ 3 C++
More informationPIC 10A Objects/Classes
PIC 10A Objects/Classes Ernest Ryu UCLA Mathematics Last edited: November 13, 2017 User-defined types In C++, we can define our own custom types. Object is synonymous to variable, and class is synonymous
More information3.1 Introduction. Computers perform operations concurrently
PROCESS CONCEPTS 1 3.1 Introduction Computers perform operations concurrently For example, compiling a program, sending a file to a printer, rendering a Web page, playing music and receiving e-mail Processes
More informationA Graphical Data Management System for HDL-Based ASIC Design Projects
A Graphical Data Management System for HDL-Based ASIC Design Projects Claus Mayer, Hans Sahm, Jörg Pleickhardt Lucent Technologies Bell Labs Innovations Thurn-und-Taxis-Str.10, D-90411 Nürnberg, Germany
More informationHave examined process Creating program Have developed program Written in C Source code
Preprocessing, Compiling, Assembling, and Linking Introduction In this lesson will examine Architecture of C program Introduce C preprocessor and preprocessor directives How to use preprocessor s directives
More informationBASICS OF THE RENESAS SYNERGY PLATFORM
BASICS OF THE RENESAS SYNERGY PLATFORM TM Richard Oed 2017.12 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues
More informationAccelerated Library Framework for Hybrid-x86
Software Development Kit for Multicore Acceleration Version 3.0 Accelerated Library Framework for Hybrid-x86 Programmer s Guide and API Reference Version 1.0 DRAFT SC33-8406-00 Software Development Kit
More informationThe Automated Analysis of Header Files for Support of the Standardization Process
The Automated Analysis of Header Files for Support of the Standardization Process Eugene Novikov ISP RAS joker@ispras.ru Denis Silakov ISP RAS silakov@ispras.ru Abstract This paper considers the method
More informationChapter 5. Names, Bindings, and Scopes
Chapter 5 Names, Bindings, and Scopes Chapter 5 Topics Introduction Names Variables The Concept of Binding Scope Scope and Lifetime Referencing Environments Named Constants 1-2 Introduction Imperative
More informationJet Data Manager 2014 SR2 Product Enhancements
Jet Data Manager 2014 SR2 Product Enhancements Table of Contents Overview of New Features... 3 New Features in Jet Data Manager 2014 SR2... 3 Improved Features in Jet Data Manager 2014 SR2... 5 New Features
More informationTracking the Virtual World
Tracking the Virtual World Synopsys: For many years the JTAG interface has been used for ARM-based SoC debugging. With this JTAG style debugging, the developer has been granted the ability to debug software
More informationFunctions BCA-105. Few Facts About Functions:
Functions When programs become too large and complex and as a result the task of debugging, testing, and maintaining becomes difficult then C provides a most striking feature known as user defined function
More informationHigh Quality 4D Development. David Adams
David Adams Introduction 1 Chapter 1 - About This Training 3 What To Expect... 3 Course Organization... 3 Course Contents... 3 About The Materials... 5 Conventions Used in This Manual... 7 Phones & Pagers...
More informationISO INTERNATIONAL STANDARD. Information and documentation Managing metadata for records Part 2: Conceptual and implementation issues
INTERNATIONAL STANDARD ISO 23081-2 First edition 2009-07-01 Information and documentation Managing metadata for records Part 2: Conceptual and implementation issues Information et documentation Gestion
More informationContemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.
Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful
More informationPROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led
CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO 2010 Course: 10550A; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This course teaches you
More informationSystemC Modelling of the Embedded Networks
Saint Petersburg State University of Aerospace Instrumentation, Russia; Nokia Research Center and Nokia Devices, Finland. SystemC Modelling of the Embedded Networks Valentin Olenev, Yuriy Sheynin, Elena
More informationLanguage Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program.
Language Translation Compilation vs. interpretation Compilation diagram Step 1: compile program compiler Compiled program Step 2: run input Compiled program output Language Translation compilation is translation
More informationLINDA. The eval operation resembles out, except that it creates an active tuple. For example, if fcn is a function, then
LINDA Linda is different, which is why we've put it into a separate chapter. Linda is not a programming language, but a way of extending ( in principle ) any language to include parallelism IMP13, IMP14.
More informationSDC Design patterns GoF
SDC Design patterns GoF Design Patterns The design pattern concept can be viewed as an abstraction of imitating useful parts of other software products. The design pattern is a description of communicating
More informationControl Abstraction. Hwansoo Han
Control Abstraction Hwansoo Han Review of Static Allocation Static allocation strategies Code Global variables Own variables (live within an encapsulation - static in C) Explicit constants (including strings,
More information2 ABOUT VISUALDSP++ In This Chapter. Figure 2-0. Table 2-0. Listing 2-0.
2 ABOUT VISUALDSP++ Figure 2-0. Table 2-0. Listing 2-0. In This Chapter This chapter contains the following topics: What Is VisualDSP++? on page 2-2 VisualDSP++ Features on page 2-2 Program Development
More informationSimplifying UVM in SystemC
Simplifying UVM in SystemC Thilo Vörtler 1, Thomas Klotz 2, Karsten Einwich 3, Felix Assmann 2 1 Fraunhofer IIS, Design Automation Division, Dresden, Germany Thilo.Voertler@eas.iis.fraunhofer.de 2 Bosch
More informationRationale for TR Extension to the programming language C. Decimal Floating-Point Arithmetic
Rationale for TR 24732 Extension to the programming language C Decimal Floating-Point Arithmetic Contents 1 Introduction... 1 1.1 Background... 1 1.2 The Arithmetic Model...3 1.3 The Encodings... 3 2 General...
More informationIndex. object lifetimes, and ownership, use after change by an alias errors, use after drop errors, BTreeMap, 309
A Arithmetic operation floating-point arithmetic, 11 12 integer numbers, 9 11 Arrays, 97 copying, 59 60 creation, 48 elements, 48 empty arrays and vectors, 57 58 executable program, 49 expressions, 48
More informationSEER AKADEMI LINUX PROGRAMMING AND SCRIPTINGPERL 7
SEER AKADEMI LINUX PROGRAMMING AND SCRIPTINGPERL 7 Hi everyone once again welcome to this lecture we are actually the course is Linux programming and scripting we have been talking about the Perl, Perl
More informationSemantic Analysis. Lecture 9. February 7, 2018
Semantic Analysis Lecture 9 February 7, 2018 Midterm 1 Compiler Stages 12 / 14 COOL Programming 10 / 12 Regular Languages 26 / 30 Context-free Languages 17 / 21 Parsing 20 / 23 Extra Credit 4 / 6 Average
More informationBasic principles 1. Configuring function diagrams based on IEC 2. Administration 3 COMOS. Automation Logical. Operating Manual 04/2015 A5E AD
Basic principles 1 Configuring function diagrams based on IEC 2 COMOS Administration 3 Automation Operating Manual 04/2015 A5E32082870-AD Legal information Warning notice system This manual contains notices
More informationModule 10 Inheritance, Virtual Functions, and Polymorphism
Module 10 Inheritance, Virtual Functions, and Polymorphism Table of Contents CRITICAL SKILL 10.1: Inheritance Fundamentals... 2 CRITICAL SKILL 10.2: Base Class Access Control... 7 CRITICAL SKILL 10.3:
More informationIntroduction to PackAssistant Release 4.0.1
Introduction to PackAssistant Release 4.0.1 Fraunhofer Institute for Algorithms and Scientific Computing SCAI, Department of Optimization Dec 21, 2016 Contents 1 Preamble 2 2 Installation 2 2.1 System
More informationQDA Miner. Addendum v2.0
QDA Miner Addendum v2.0 QDA Miner is an easy-to-use qualitative analysis software for coding, annotating, retrieving and reviewing coded data and documents such as open-ended responses, customer comments,
More informationSAP Engineering Control
SAP Engineering Control Center Interface to CATIA V5 User Documentation 01.02.2016 CENIT AG Software Product / Components: Product Version: 1.1.5 Creation Date: 28.08.2015 16:27 Document Version: 8 Last
More informationSimulator. Chapter 4 Tutorial: The SDL
4 Tutorial: The SDL Simulator The SDL Simulator is the tool that you use for testing the behavior of your SDL systems. In this tutorial, you will practice hands-on on the DemonGame system. To be properly
More informationOPERATING SYSTEMS. Goals of the Course. This lecture will cover: This Lecture will also cover:
OPERATING SYSTEMS This lecture will cover: Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S services This Lecture will
More informationOptimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics
Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics INTRODUCTION Emulators, like Mentor Graphics Veloce, are able to run designs in RTL orders of magnitude faster than logic
More informationprintf( Please enter another number: ); scanf( %d, &num2);
CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful
More informationChapter 10 Working with Graphs and Charts
Chapter 10: Working with Graphs and Charts 163 Chapter 10 Working with Graphs and Charts Most people understand information better when presented as a graph or chart than when they look at the raw data.
More informationEmbedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, Delhi
Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, Delhi Lecture - 34 Compilers for Embedded Systems Today, we shall look at the compilers, which
More informationimos Drawing Output The following document includes the topics borders and viewsets.
imos Drawing Output The following document includes the topics borders and viewsets. We have attempted to keep the content of the document complete, accurate and under permanent review. However, due to
More informationISO/IEC INTERNATIONAL STANDARD. Information technology ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1
INTERNATIONAL STANDARD ISO/IEC 8825-5 Third edition 2015-11-15 Information technology ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1 Technologies de l'information Règles de codage
More informationFrequently Asked Questions about Real-Time
FAQ: RTX64 2013 Frequently Asked Questions about Real-Time What is Real-Time? Real-time describes an application which requires a response to an event within some small upper bounded time frame. Typically,
More informationManual. empower charts 6.4
Manual empower charts 6.4 Contents 1 Introduction... 1 2 Installation, updates and troubleshooting... 1 2.1 System requirements... 1 2.2 Initial installation... 1 2.3 Installation of an update... 1 2.4
More informationTesting Exceptions with Enforcer
Testing Exceptions with Enforcer Cyrille Artho February 23, 2010 National Institute of Advanced Industrial Science and Technology (AIST), Research Center for Information Security (RCIS) Abstract Java library
More informationCHAPTER-1: INTRODUCTION TO OPERATING SYSTEM:
CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM: TOPICS TO BE COVERED 1.1 Need of Operating System 1.2 Evolution of os 1.3 operating system i. Batch ii. iii. iv. Multiprogramming Time sharing Real time v.
More informationCOMOS. Automation Logical. Basic principles 1. Configuring function diagrams based on IEC 2. Code generation based on IEC
Basic principles 1 Configuring function diagrams based on IEC 2 COMOS Automation Code generation based on IEC 61131 3 Administration 4 Operating Manual 04/2014 A5E32082870-AB Legal information Warning
More informationAADL Graphical Editor Design
AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized
More informationCS161 Design and Architecture of Computer Systems. Cache $$$$$
CS161 Design and Architecture of Computer Systems Cache $$$$$ Memory Systems! How can we supply the CPU with enough data to keep it busy?! We will focus on memory issues,! which are frequently bottlenecks
More informationStand: Inhaltsverzeichnis
User Manual Inhaltsverzeichnis Introduction... 3 System requirements... 3 Legend... 4 General... 4 Building topology... 4 Room configuration... 5 Settings... 6 Company logo & watermark... 6 Creating and
More informationA Tour of the Cool Support Code
A Tour of the Cool Support Code 1 Introduction The Cool compiler project provides a number of basic data types to make the task of writing a Cool compiler tractable in the timespan of the course. This
More informationDesign Pattern and Software Architecture: IV. Design Pattern
Design Pattern and Software Architecture: IV. Design Pattern AG Softwaretechnik Raum E 3.165 Tele.. 60-3321 hg@upb.de IV. Design Pattern IV.1 Introduction IV.2 Example: WYSIWYG Editor Lexi IV.3 Creational
More informationDataFinder A Scientific Data Management Solution ABSTRACT
DataFinder A Scientific Data Management Solution Tobias Schlauch (1), Andreas Schreiber (2) (1) German Aerospace Center (DLR) Simulation and Software Technology Lilienthalplatz 7, D-38108 Braunschweig,
More informationProgramming in Visual Basic with Microsoft Visual Studio 2010
Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation
More information11. a b c d e. 12. a b c d e. 13. a b c d e. 14. a b c d e. 15. a b c d e
CS-3160 Concepts of Programming Languages Spring 2015 EXAM #1 (Chapters 1-6) Name: SCORES MC: /75 PROB #1: /15 PROB #2: /10 TOTAL: /100 Multiple Choice Responses Each multiple choice question in the separate
More informationCHAPTER 2. Troubleshooting CGI Scripts
CHAPTER 2 Troubleshooting CGI Scripts OVERVIEW Web servers and their CGI environment can be set up in a variety of ways. Chapter 1 covered the basics of the installation and configuration of scripts. However,
More informationAn Overview of the BLITZ System
An Overview of the BLITZ System Harry H. Porter III Department of Computer Science Portland State University Introduction The BLITZ System is a collection of software designed to support a university-level
More informationMessaging Framework Module Guide
Application Note Renesas Synergy Platform R11AN0096EU0102 Rev.1.02 Introduction This module guide will enable you to effectively use a module in your own design. Upon completion of this guide, you will
More informationUNIT V SYSTEM SOFTWARE TOOLS
5.1 Text editors UNIT V SYSTEM SOFTWARE TOOLS A text editor is a type of program used for editing plain text files. Text editors are often provided with operating systems or software development packages,
More informationProcedures Oracle FLEXCUBE Universal Banking Release 12.0 [May] [2012] Oracle Part Number E
Procedures Oracle FLEXCUBE Universal Banking Release 12.0 [May] [2012] Oracle Part Number E51527-01 Table of Contents Procedures 1. ABOUT THIS MANUAL... 1-1 1.1 INTRODUCTION... 1-1 1.2 AUDIENCE... 1-1
More informationDirect Functions in Dyalog APL
Direct Functions in Dyalog APL John Scholes Dyalog Ltd. john@dyalog.com A Direct Function (dfn) is a new function definition style, which bridges the gap between named function expressions such as and
More informationFunction names can be specified with winidea syntax for qualified names, if multiple download files and file static functions are tested.
_ RELEASE NOTES testidea 9.12.x 9.12.14 (28.3.2012) Qualified function names Function names can be specified with winidea syntax for qualified names, if multiple download files and file static functions
More informationOperating Systems 2010/2011
Operating Systems 2010/2011 Introduction Johan Lukkien 1 Agenda OS: place in the system Some common notions Motivation & OS tasks Extra-functional requirements Course overview Read chapters 1 + 2 2 A computer
More informationProgrammiersprachen (Programming Languages)
2016-05-13 Preface Programmiersprachen (Programming Languages) coordinates: lecturer: web: usable for: requirements: No. 185.208, VU, 3 ECTS Franz Puntigam http://www.complang.tuwien.ac.at/franz/ps.html
More informationINTRODUCTION TO THE COURSE
1 INTRODUCTION TO THE COURSE KOM3191 Object-Oriented Programming 2 Outline Computer Organization Machine Languages, Assembly Languages and High-Level Languages History of C++ C++ Development Environment
More informationVALLIAMMAI ENGINEERING COLLEGE
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK B.E. - Electrical and Electronics Engineering IV SEMESTER CS6456 - OBJECT ORIENTED
More information!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?
Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!
More information1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra
Pattern Recall Analysis of the Hopfield Neural Network with a Genetic Algorithm Susmita Mohapatra Department of Computer Science, Utkal University, India Abstract: This paper is focused on the implementation
More informationOverview of C++ Support in TI Compiler Tools July 2008
Overview of C++ Support in TI Compiler Tools July 2008 1 Table of Contents 1 Table of Contents... 1 2 Introduction... 1 3 Support for the Language... 1 4 Embedded C++... 1 5 Some Comments on Efficiency...
More information3(Paris/Secretariat)18
For IEC use only 3(Paris/Secretariat)18 2007-11-21 INTERNATIONAL ELECTROTECHNICAL COMMISSION Technical No. 3 Information structures, documentation and graphical symbols Preliminary compilation s on 3/859B/NP
More informationQuiz Start Time: 09:34 PM Time Left 82 sec(s)
Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability
More informationCS201 Some Important Definitions
CS201 Some Important Definitions For Viva Preparation 1. What is a program? A program is a precise sequence of steps to solve a particular problem. 2. What is a class? We write a C++ program using data
More informationTxWin 5.xx Programming and User Guide
TxWin 5.xx Programming and User Guide Jan van Wijk Brief programming and user guide for the open-source TxWin text UI library Presentation contents Interfacing, include files, LIBs The message event model
More informationWordPress User Interface Expert Review Gabriel White Version 1.0 DRAFT March, 2005
WordPress User Interface Expert Review Gabriel White Version 1.0 DRAFT March, 2005 WordPress User Interface Expert Review, Gabriel White (v1.0 Draft, March, 2005) 2 Copyright Copyright Gabriel White, 2005.
More informationCS201 Latest Solved MCQs
Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability
More informationThe basic operations defined on a symbol table include: free to remove all entries and free the storage of a symbol table
SYMBOL TABLE: A symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier in a program's source code is associated with information relating
More informationPACE Suite. Release Notes. Version Document version
PACE Suite Release Notes Version 3.4. Document version 05034 Table of Contents PACE SUITE 3.4.... Summary... What s new: MSI Editor 3.4. (PACE Suite v. 3.4.)... Bug fixes... What s new: MSI Generator 3.3.
More informationQUIZ on Ch.5. Why is it sometimes not a good idea to place the private part of the interface in a header file?
QUIZ on Ch.5 Why is it sometimes not a good idea to place the private part of the interface in a header file? Example projects where we don t want the implementation visible to the client programmer: The
More information