oascript & oadebug Kevin Nesmith Lead Engineer, Si2 June 7, 2013

Size: px
Start display at page:

Download "oascript & oadebug Kevin Nesmith Lead Engineer, Si2 June 7, 2013"

Transcription

1 oascript & oadebug Kevin Nesmith Lead Engineer, Si2 June 7,

2 oascript News Chip Designer Centric Python API Tcl API Ruby API Perl API Language-Specific Bindings Type Mapping Type Mapping Type Mapping Type Mapping Common Wrapper Architecture Interface Common EDA Programmer SWIG Framework Centric OpenAccess API C++ Programming Interface Version 2.0 available under the new ESG approved license Allows for custom C++ extensions. 64 bit binaries for each language. Windows version in development under the Silicon Photonics TAB 10 OA labs ported from C++ to support all 4 scripting languages Provides training to design engineers who operate at the scripting interface 2

3 oascript Support oascript is currently supported on OpenAccess Streams oa22.04 gcc bit oa22.41 gcc bit oa22.43 gcc bit Linux RHEL 4.8 RHEL 5 SLES 10 SLES 11 Perl Python Ruby Tcl

4 oaspython Example This simple scripting language demo will show how to use oaspython to open a library and create a simple design with two nets. 4

5 oaspython Example Shell environment variables need by oascript perl: linux> export ruby: linux> export tcl: linux> export python: linux> export =/opt/oascript/perl5 =/opt/oascript/ruby =/opt/oascript/tcl =/opt/oascript/python2 LD_LIBRARY_PATH specifies the path to the OA libraries: linux> export =/opt/oa22.43p004/lib/ linux_rhel50_gxx44_64/opt 5

6 oaspython Example Unsupported Platforms Often times the need arises to run OA/oaScript on an unsupported platform such as Fedora 17. Fedora 17: The user will still need to specify the path to the OA libraries: linux> export =/opt/oa22.43p004/lib/ linux_rhel50_gcc44x_64/opt Important The user will need to tell OA which platform to substitute: linux> export =linux_rhel50_gcc44x 6

7 oaspython Example Using the python interpreter to create a library: linux> export PYTHONPATH=/opt/oaScript/python2 linux> export LD_LIBRARY_PATH=/opt/oa22.43p004/ /opt linux> export OA_UNSUPPORTED_PLAT=linux_rhel50_gcc44x linux> python Python (default, Jul , 10:05:38) >>> import oa >>> oa.oalib.create("designlib", "./designlibondisk") <Swig Object of type 'OpenAccess_4::oaLib *' at 0x7feace8141f0> >>> quit() linux> ls -ld designlibondisk drwxrwxr-x. 2 me user 4096 May 28 12:12 designlibondisk 7

8 oaspython Example Create a lib.defs (library definition) file: The lib.defs file associates logical library names used by tools with physical locations on disks. lib.defs DEFINE designlib./designlibondisk The lib.defs file is a text file. It can be created and managed by OpenAccess functions, OR it can be created and edited in your favorite text editor. For our simple example, it is made in the editor. 8

9 oaspython Example The DEFINE statement specifies the mapping between a logical library name and its physical location on disk. lib.defs DEFINE The library s logical name is designlib. The library s physical location is./designlibondisk. 9

10 oaspython Example The OpenAccess API looks for a lib.defs file in 1. The current directory 2. The home directory 3. <oainstalldir>/data/libraries directory lib.defs DEFINE designlib./designlibondisk 10

11 oaspython Example Creating an example design script: #!/usr/bin/env python makedesign.py Execute as a python script. 11

12 oaspython Example Creating an example design script: #!/usr/bin/env python import sys import oa makedesign.py Import the system uality and oa modules. 12

13 oaspython Example Creating an example design script: #!/usr/bin/env python import sys import oa oa.oadesigninit() makedesign.py import oa calls oadesigninit() automaacally, so this isn t needed 13

14 oaspython Example Creating an example design script: #!/usr/bin/env python import sys import oa oa.oalibdeflist.openlibs() makedesign.py Read the lib.defs file, which maps logical names to physical locaaons. 14

15 oaspython Example Creating an example design script: #!/usr/bin/env python import sys import oa oa.oalibdeflist.openlibs() vt=oa.oaviewtype.get( netlist ) makedesign.py viewtype must be specified to create a design. 15

16 oaspython Example Creating an example design script: import sys import oa oa.oalibdeflist.openlibs() vt=oa.oaviewtype.get( netlist ) des=oa.oadesign.open( designlib, mycell, myview, vt, w ) makedesign.py Open a design with logical, cell, and view names, viewtype, and write mode. 16

17 oaspython Example Creating an example design script: oa.oalibdeflist.openlibs() vt=oa.oaviewtype.get( netlist ) des=oa.oadesign.open( designlib, mycell, myview, vt, w ) block=oa.oablock.create(des) makedesign.py The block holds a physical descripaon of the design. 17

18 oaspython Example Creating an example design script: des=oa.oadesign.open( designlib, mycell, myview, vt, w ) block=oa.oablock.create(des) oa.oascalarnet.create(block, net1 ) makedesign.py This creates the 1st net, net1. 18

19 oaspython Example Creating an example design script: makedesign.py block=oa.oablock.create(des) This creates the 2nd net, net2. oa.oascalarnet.create(block, net1 ) oa.oascalarnet.create(block, net2 ) 19

20 oaspython Example Creating an example design script: block=oa.oablock.create(des) oa.oascalarnet.create(block, net1 ) oa.oascalarnet.create(block, net2 ) for net in (block.getnets()): print net in block: %s % (net.getname()) makedesign.py This iterates over the collecaon of nets in the block. 20

21 oaspython Example Creating an example design script: block=oa.oablock.create(des) oa.oascalarnet.create(block, net1 ) oa.oascalarnet.create(block, net2 ) for net in (block.getnets()): print net in block: %s % (net.getname()) makedesign.py This prints each net s name in the collecaon. 21

22 oaspython Example Creating an example design script: oa.oascalarnet.create(block, net1 ) oa.oascalarnet.create(block, net2 ) for net in (block.getnets()): print net in block: %s % (net.getname()) des.save() makedesign.py This saves the design to the disk. 22

23 oaspython Example Creating an example design script: makedesign.py oa.oascalarnet.create(block, net2 ) This closes the design. for net in (block.getnets()): print net in block: %s % (net.getname()) des.save() des.close() 23

24 oaspython Example Running the makedesign.py script: Don t forget your environment variables linux> export PYTHONPATH=/opt/oaScript/python2 linux> export LD_LIBRARY_PATH=/opt/oa22.43p004/ /opt linux> export OA_UNSUPPORTED_PLAT=linux_rhel50_gcc44x Make sure you have the script, library, and lib.defs file in the current directory. linux> ls lib.defs makedesign.py designlibondisk You may need to make your file executable linux> chmod +x makedesign.py 24

25 oaspython Example Running the makedesign.py script: Execute the script linux>./makedesign.py net in block: net1 net in block: net2 NoAce: this is our expected output. 25

26 #include <iostream> #include "oadesigndb.h int main(int argc, char *argv[]) { oa::oadesigninit(); oa::oalibdeflist::openlibs(); oa::oanativens nns; C++ Dump Nets oa::oascalarname slib(nns, argv[1]); oa::oascalarname scell(nns, argv[2]); oa::oascalarname sview(nns, argv[3]); } oa::oadesign *design = oa::oadesign::open(slib, scell, sview, 'r'); oa::oablock *block = design->gettopblock(); oa::oaiter<oanet> iter(block->getnets()); while (oa::oanet *net = iter.getnext()) { oa::oastring str; net->getname(nns,str); std::cout << str << std::endl; } 26

27 Python Dump Nets import sys import oa oa.oalibdeflist.openlibs() design = oa.oadesign.open(sys.argv[1], sys.argv[2], sys.argv[3], r ) block = design.gettopblock() for net in block.getnets(): print net.getname() 27

28 oadebug Example Let s look at our design library with oadebug: Executing oadebug from the same directory will allow it to read the same lib.defs file linux> <path_to_oadebug>/si2oadebug By default, this will start a Firefox browser and show you 28

29 oadebug Example NoAce: this is our library. 29

30 oadebug Example NoAce all the references to where you are in the design. 30

31 oadebug Example To save on memory, designs are not shown unal you BIND. 31

32 oadebug Example Once you BIND, a new browser window opens containing the design. 32

33 oadebug Example NoAce the oablock within the oadesign. Under oablock, you will find your nets. 33

34 oadebug Example Under nets you can see that you have a total count of 2. 34

35 oadebug Example Here you have your net1 and net2. 35

36 oadebug Example Under each net, you will find all of it s properaes and members. 36

37 oadebug Example NoAce that OpenAccess specific classes in blue are right mouse click hyperlinks directed to the OpenAccess Docs. 37

38 Si2 oadebugging Suite Check out Si2 s other debug programs. si2oadebug si2oadiff diff any 2 designs si2oaforensics Checks for GLIBCXX compatibility Release Build Name Internal Build Name Libraries Build Info Data Model Rev API Minor Rev Platform Name Wafer Support Data Compression Support Scratch Design Support 38

39 OpenAccess Recent Progress Recent Releases of OpenAccess oa22.41 Stream p031 Released May 14, 2013 p029 Released January 28, 2013 oa22.43 Stream p014 Released April 24, 2013 p010 Released February 20,

40 OpenAccess News The new ESG v2.0 License has been approved! Sign Once / Use Many model. String/Name Table Capacity Increase Due in END of LIFE coming January 1, 2014: oa22.04 Stream oa22.42 Stream 40

41 oascript 2.0 NOW AVAILABLE TO ALL SI2 MEMBERS! UNDER THE ESG LICENSE v

42 Si2 oadebugging Suite ALWAYS AVAILABLE TO EVERYONE! FREE, AS IN GRATIS! UNDER THE APACHE 2.0 LICENSE. 42

43 For More Information oascript Users Wiki README notes for the oascript releases OpenAccess Documentation and Training Si2 OpenAccess Online Course Si2 OpenAccess Tutorial and Labs OpenAccess Online Docs 43

44 For More Information Si2 oadebugging Suite OpenAccess Documentation and Training Si2 OpenAccess Online Course Si2 OpenAccess Tutorial and Labs OpenAccess Online Docs 44

45 THANK YOU! 45

oascript HowTo Kevin Nesmith Lead Engineer, Si2 June 10, 2013

oascript HowTo Kevin Nesmith Lead Engineer, Si2 June 10, 2013 oascript HowTo Kevin Nesmith Lead Engineer, Si2 June 10, 2013 1 oascript News Chip Designer Centric Python API Tcl API Ruby API Perl API Language-Specific Bindings Type Mapping Type Mapping Type Mapping

More information

An Introduction to OpenAccess Scripting

An Introduction to OpenAccess Scripting An Introduction to OpenAccess Scripting James D. Masters Intel Corp Design Automation Conference June 6, 2011 1 What is it? Standalone direct interface to OpenAccess (OA) No dependencies beyond OA and

More information

A Comparison of OpenAccess Scripting Languages

A Comparison of OpenAccess Scripting Languages A Comparison of OpenAccess Scripting Languages James D. Masters, Intel Corp OpenAccess Conference October 20, 2010 1 Common API to OpenAccess Perl API Python API Ruby API Tcl API Language-Specific Bindings

More information

Itron Riva Dev Software Development Getting Started Guide

Itron Riva Dev Software Development Getting Started Guide Itron Riva Dev Software Development Getting Started Guide Table of Contents Introduction... 2 Busybox Command-line [Edge and Mini]... 2 BASH Scripts [Edge and Mini]... 3 C Programs [Edge and Mini]... 5

More information

But before understanding the Selenium WebDriver concept, we need to know about the Selenium first.

But before understanding the Selenium WebDriver concept, we need to know about the Selenium first. As per the today s scenario, companies not only desire to test software adequately, but they also want to get the work done as quickly and thoroughly as possible. To accomplish this goal, organizations

More information

Introduction to Supercomputing

Introduction to Supercomputing Introduction to Supercomputing TMA4280 Introduction to UNIX environment and tools 0.1 Getting started with the environment and the bash shell interpreter Desktop computers are usually operated from a graphical

More information

Table of Contents EVALUATION COPY

Table of Contents EVALUATION COPY Table of Contents Introduction... 1-2 A Brief History of Python... 1-3 Python Versions... 1-4 Installing Python... 1-5 Environment Variables... 1-6 Executing Python from the Command Line... 1-7 IDLE...

More information

CS354 gdb Tutorial Written by Chris Feilbach

CS354 gdb Tutorial Written by Chris Feilbach CS354 gdb Tutorial Written by Chris Feilbach Purpose This tutorial aims to show you the basics of using gdb to debug C programs. gdb is the GNU debugger, and is provided on systems that

More information

Assignment 1: Communicating with Programs

Assignment 1: Communicating with Programs Assignment 1: Communicating with Programs EC602 Design by Software Fall 2018 Contents 1 Introduction 2 1.1 Assignment Goals........................... 2 1.2 Group Size.............................. 2 1.3

More information

PROGRAMMING IN C++ CVIČENÍ

PROGRAMMING IN C++ CVIČENÍ PROGRAMMING IN C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com REQUIREMENTS FOR COURSE CREDIT Basic requirements

More information

Essential Unix and Linux! Perl for Bioinformatics, ! F. Pineda

Essential Unix and Linux! Perl for Bioinformatics, ! F. Pineda Essential Unix and Linux! Perl for Bioinformatics, 140.636! F. Pineda Generic computer architecture Memory Storage Fig. 1.2 From Designing Embedded Hardware, 2 nd Ed. by John Catsoulis OS concepts Shell

More information

Mar-05 TETware training course 7-48

Mar-05 TETware training course 7-48 7.5 - The Ruby API The Ruby API provides a binding to the TET C API All the functions provided by the API are in a single Ruby module Rbtet This module must be imported at the start of the test code require

More information

Exercise 1: Basic Tools

Exercise 1: Basic Tools Exercise 1: Basic Tools This exercise is created so everybody can learn the basic tools we will use during this course. It is really more like a tutorial than an exercise and, you are not required to submit

More information

McGill University School of Computer Science Sable Research Group. *J Installation. Bruno Dufour. July 5, w w w. s a b l e. m c g i l l.

McGill University School of Computer Science Sable Research Group. *J Installation. Bruno Dufour. July 5, w w w. s a b l e. m c g i l l. McGill University School of Computer Science Sable Research Group *J Installation Bruno Dufour July 5, 2004 w w w. s a b l e. m c g i l l. c a *J is a toolkit which allows to dynamically create event traces

More information

Saleae Device SDK Starting a Device SDK Project on Windows Starting a Device SDK Project on Linux... 7

Saleae Device SDK Starting a Device SDK Project on Windows Starting a Device SDK Project on Linux... 7 Contents Starting a Device SDK Project on Windows... 2 Starting a Device SDK Project on Linux... 7 Debugging your Project with GDB... 9 Starting a Device SDK Project on Mac... 11 Build Script / Command

More information

COMP s1 Lecture 1

COMP s1 Lecture 1 COMP1511 18s1 Lecture 1 1 Numbers In, Numbers Out Andrew Bennett more printf variables scanf 2 Before we begin introduce yourself to the person sitting next to you why did

More information

Red Hat Developer Tools

Red Hat Developer Tools Red Hat Developer Tools 2018.4 Using Clang and LLVM Toolset Installing and Using Clang and LLVM Toolset Last Updated: 2018-11-29 Red Hat Developer Tools 2018.4 Using Clang and LLVM Toolset Installing

More information

Putting Curves in an Orthogonal World

Putting Curves in an Orthogonal World Putting Curves in an Orthogonal World Extending the EDA Flow to Support Integrated Photonics Masahiro Shiina October 2018 Traditional IC Design Designers & tool developers have lived in a orthogonal world

More information

Using Subversion for Source Code Control

Using Subversion for Source Code Control Using Subversion for Source Code Control Derrick Kearney HUBzero Platform for Scientific Collaboration Purdue University Original slides by Michael McLennan This work licensed under Creative Commons See

More information

Project 1: Convex hulls and line segment intersection

Project 1: Convex hulls and line segment intersection MCS 481 / David Dumas / Spring 2014 Project 1: Convex hulls and line segment intersection Due at 10am on Monday, February 10 0. Prerequisites For this project it is expected that you already have CGAL

More information

Lab: Supplying Inputs to Programs

Lab: Supplying Inputs to Programs Steven Zeil May 25, 2013 Contents 1 Running the Program 2 2 Supplying Standard Input 4 3 Command Line Parameters 4 1 In this lab, we will look at some of the different ways that basic I/O information can

More information

MEIN 50010: Python Introduction

MEIN 50010: Python Introduction : Python Fabian Sievers Higgins Lab, Conway Institute University College Dublin Wednesday, 2017-10-04 Outline Goals Teach basic programming concepts Apply these concepts using Python Use Python Packages

More information

LibSerial Documentation

LibSerial Documentation LibSerial Documentation Release 1.0.0rc1 CrayzeeWulf Apr 05, 2018 Contents: 1 Feature Summary 3 2 Description 5 3 Download 7 4 Install 9 5 Tutorial 11 5.1 Opening a Serial Port I/O Stream....................................

More information

Introduction. Overview of 201 Lab and Linux Tutorials. Stef Nychka. September 10, Department of Computing Science University of Alberta

Introduction. Overview of 201 Lab and Linux Tutorials. Stef Nychka. September 10, Department of Computing Science University of Alberta 1 / 12 Introduction Overview of 201 Lab and Linux Tutorials Stef Nychka Department of Computing Science University of Alberta September 10, 2007 2 / 12 Can you Log In? Should be same login and password

More information

02/03/15. Compile, execute, debugging THE ECLIPSE PLATFORM. Blanks'distribu.on' Ques+ons'with'no'answer' 10" 9" 8" No."of"students"vs."no.

02/03/15. Compile, execute, debugging THE ECLIPSE PLATFORM. Blanks'distribu.on' Ques+ons'with'no'answer' 10 9 8 No.ofstudentsvs.no. Compile, execute, debugging THE ECLIPSE PLATFORM 30" Ques+ons'with'no'answer' What"is"the"goal"of"compila5on?" 25" What"is"the"java"command"for" compiling"a"piece"of"code?" What"is"the"output"of"compila5on?"

More information

COL100 Lab 2. I semester Week 2, Open the web-browser and visit the page and visit the COL100 course page.

COL100 Lab 2. I semester Week 2, Open the web-browser and visit the page   and visit the COL100 course page. COL100 Lab 2 I semester 2017-18 Week 2, 2017 Objective More familiarisation with Linux and its standard commands Part 1 1. Login to your system and open a terminal window. 2. Open the web-browser and visit

More information

Operating Systems Lab

Operating Systems Lab Operating Systems Lab Islamic University Gaza Engineering Faculty Department of Computer Engineering Fall 2012 ECOM 4010: Operating Systems Lab Eng: Ahmed M. Ayash Lab # 4 Paths, Links & File Permissions

More information

Working with Shell Scripting. Daniel Balagué

Working with Shell Scripting. Daniel Balagué Working with Shell Scripting Daniel Balagué Editing Text Files We offer many text editors in the HPC cluster. Command-Line Interface (CLI) editors: vi / vim nano (very intuitive and easy to use if you

More information

Hierarchical Data Format query language (HDFql)

Hierarchical Data Format query language (HDFql) Hierarchical Data Format query language (HDFql) Reference Manual Version 1.5.0 December 2017 Copyright (C) 2016-2017 This document is part of the Hierarchical Data Format query language (HDFql). For more

More information

Coding Getting Started with Python

Coding Getting Started with Python DEVNET-3602 Coding 1002 - Getting Started with Python Matthew DeNapoli, DevNet Developer Evangelist Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find

More information

Mavrig. a Tcl application construction kit. Jean-Claude Wippler Equi 4 Software, NL. EuroTcl 2008, Strasbourg, FR

Mavrig. a Tcl application construction kit. Jean-Claude Wippler Equi 4 Software, NL. EuroTcl 2008, Strasbourg, FR Mavrig a Tcl application construction kit Jean-Claude Wippler Equi 4 Software, NL EuroTcl 2008, Strasbourg, FR Let s write an app Tons of packages to build with - Tcllib, etc Choose:! file structure, dev

More information

Red Hat Developer Tools

Red Hat Developer Tools Red Hat Developer Tools 2018.2 Using Clang and LLVM Toolset Installing and Using Clang and LLVM Toolset Last Updated: 2018-04-26 Red Hat Developer Tools 2018.2 Using Clang and LLVM Toolset Installing

More information

Mar-05 TETware training course 7-66

Mar-05 TETware training course 7-66 7.6 - The PHP-CLI API The PHP-CLI API provides a binding to the TET C API All the functions provided by the API are referenced from a single PHP module phptet.php This module must be included at the start

More information

Lab 1: First Steps in C++ - Eclipse

Lab 1: First Steps in C++ - Eclipse Lab 1: First Steps in C++ - Eclipse Step Zero: Select workspace 1. Upon launching eclipse, we are ask to chose a workspace: 2. We select a new workspace directory (e.g., C:\Courses ): 3. We accept the

More information

Using echo command in shell script

Using echo command in shell script Lab 4a Shell Script Lab 2 Using echo command in shell script Objective Upon completion of this lab, the student will be able to use echo command in the shell script. Scenario The student is the administrator

More information

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an

More information

Direct Memory Access. Lecture 2 Pointer Revision Command Line Arguments. What happens when we use pointers. Same again with pictures

Direct Memory Access. Lecture 2 Pointer Revision Command Line Arguments. What happens when we use pointers. Same again with pictures Lecture 2 Pointer Revision Command Line Arguments Direct Memory Access C/C++ allows the programmer to obtain the value of the memory address where a variable lives. To do this we need to use a special

More information

Compiling Software on UNIX. System Administration Decal Spring 2009 Lecture #4 George Wu Slides prepared by Joshua Kwan

Compiling Software on UNIX. System Administration Decal Spring 2009 Lecture #4 George Wu Slides prepared by Joshua Kwan Compiling Software on UNIX System Administration Decal Spring 2009 Lecture #4 George Wu Slides prepared by Joshua Kwan Today How to turn source code into programs that run on Linux? What if that software

More information

A framework for BGP data analysis

A framework for BGP data analysis A framework for BGP data analysis Alberto Dainotti, Alistair King, Chiara Orsini, Vasco Asturiano chiara@caida.org BGPSTREAM A software framework for the historical analysis and real-time monitoring BGP

More information

EECS Software Tools. Lab 2 Tutorial: Introduction to UNIX/Linux. Tilemachos Pechlivanoglou

EECS Software Tools. Lab 2 Tutorial: Introduction to UNIX/Linux. Tilemachos Pechlivanoglou EECS 2031 - Software Tools Lab 2 Tutorial: Introduction to UNIX/Linux Tilemachos Pechlivanoglou (tipech@eecs.yorku.ca) Sep 22 & 25, 2017 Material marked with will be in your exams Sep 22 & 25, 2017 Introduction

More information

CMPT 300. Operating Systems. Brief Intro to UNIX and C

CMPT 300. Operating Systems. Brief Intro to UNIX and C CMPT 300 Operating Systems Brief Intro to UNIX and C Outline Welcome Review Questions UNIX basics and Vi editor Using SSH to remote access Lab2(4214) Compiling a C Program Makefile Basic C/C++ programming

More information

Chapter 1 - Introduction. September 8, 2016

Chapter 1 - Introduction. September 8, 2016 Chapter 1 - Introduction September 8, 2016 Introduction Overview of Linux/Unix Shells Commands: built-in, aliases, program invocations, alternation and iteration Finding more information: man, info Help

More information

Creating a Shell or Command Interperter Program CSCI411 Lab

Creating a Shell or Command Interperter Program CSCI411 Lab Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell

More information

microhowto esom/9263, DNP/9265 Creating a C-Program

microhowto esom/9263, DNP/9265 Creating a C-Program esom/9263, DNP/9265 Creating a C-Program microhowto SSV Embedded Systems Dünenweg 5 D-30419 Hannover Phone: +49 (0)511/40 000-0 Fax: +49 (0)511/40 000-40 E-mail: sales@ssv-embedded.de Manual Revision:

More information

CS1600 Lab Assignment 1 Spring 2016 Due: Feb. 2, 2016 POINTS: 10

CS1600 Lab Assignment 1 Spring 2016 Due: Feb. 2, 2016 POINTS: 10 CS1600 Lab Assignment 1 Spring 2016 Due: Feb. 2, 2016 POINTS: 10 PURPOSE: The purpose of this lab is to acquaint you with the C++ programming environment on storm. PROCEDURES: You will use Unix/Linux environment

More information

Hand-on Labs for Chapter 1 and Appendix A CSCE 212 Introduction to Computer Architecture, Spring

Hand-on Labs for Chapter 1 and Appendix A CSCE 212 Introduction to Computer Architecture, Spring Hand-on Labs for Chapter 1 and Appendix A CSCE 212 Introduction to Computer Architecture, Spring 2019 https://passlab.github.io/csce212/ Department of Computer Science and Engineering Yonghong Yan yanyh@cse.sc.edu

More information

ECE 2036 Lab 1: Introduction to Software Objects

ECE 2036 Lab 1: Introduction to Software Objects ECE 2036 Lab 1: Introduction to Software Objects Assigned: Aug 24/25 2015 Due: September 1, 2015 by 11:59 PM Reading: Deitel& Deitel Chapter 2-4 Student Name: Check Off/Score Part 1: Check Off/Score Part

More information

Programming the DMCC in C

Programming the DMCC in C Programming the DMCC in C Task This tutorial will teach you how to write your first program on a dual motor control cape (DMCC) through the BeagleBone microcontroller. The DMCC is a stackable board that

More information

Shell Scripting. Jeremy Sanders. October 2011

Shell Scripting. Jeremy Sanders. October 2011 Shell Scripting Jeremy Sanders October 2011 1 Introduction If you use your computer for repetitive tasks you will find scripting invaluable (one of the advantages of a command-line interface). Basically

More information

Introduction to Linux

Introduction to Linux Introduction to Linux January 2011 Don Bahls User Consultant (Group Leader) bahls@arsc.edu (907) 450-8674 Overview The shell Common Commands File System Organization Permissions Environment Variables I/O

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

CVS Application. William Jiang

CVS Application. William Jiang CVS Application William Jiang CVS Brief CVS (Concurrent Versions System), is an open-source version control system. Using it, we can record the history of our source files, coordinate with team developing,

More information

APPENDIX A : KEYWORDS... 2 APPENDIX B : OPERATORS... 3 APPENDIX C : OPERATOR PRECEDENCE... 4 APPENDIX D : ESCAPE SEQUENCES... 5

APPENDIX A : KEYWORDS... 2 APPENDIX B : OPERATORS... 3 APPENDIX C : OPERATOR PRECEDENCE... 4 APPENDIX D : ESCAPE SEQUENCES... 5 APPENDIX A : KEYWORDS... 2 APPENDIX B : OPERATORS... 3 APPENDIX C : OPERATOR PRECEDENCE... 4 APPENDIX D : ESCAPE SEQUENCES... 5 APPENDIX E : ASCII CHARACTER SET... 6 APPENDIX F : USING THE GCC COMPILER

More information

sbb COIN-OR Simple Branch-and-Cut

sbb COIN-OR Simple Branch-and-Cut sbb COIN-OR Simple Branch-and-Cut Additional Notes for sbb COIN-OR Tutorial CORS/INFORMS Joint Meeting, Banff, May, 2004 Lou Hafer Computing Science Simon Fraser University May 14, 2004 The material on

More information

Linux Command Line Interface. December 27, 2017

Linux Command Line Interface. December 27, 2017 Linux Command Line Interface December 27, 2017 Foreword It is supposed to be a refresher (?!) If you are familiar with UNIX/Linux/MacOS X CLI, this is going to be boring... I will not talk about editors

More information

OpenPDK Production Value and Benchmark Results

OpenPDK Production Value and Benchmark Results OpenPDK Production Value and Benchmark Results Philippe MAGARSHACK Executive Vice-President, Design Enablement and Services June 2 nd, 2014 ST s Strong technology portfolio : Several R&D Partnerships &

More information

Scripting Languages Course 1. Diana Trandabăț

Scripting Languages Course 1. Diana Trandabăț Scripting Languages Course 1 Diana Trandabăț Master in Computational Linguistics - 1 st year 2017-2018 Today s lecture Introduction to scripting languages What is a script? What is a scripting language

More information

Lab 1: Introduction to C++

Lab 1: Introduction to C++ CPSC 221, Jan-Apr 2017 Lab 1 1/5 Lab 1: Introduction to C++ This is an introduction to C++ through some simple activities. You should also read the C++ Primer in your textbook, and practice as much as

More information

1. What statistic did the wc -l command show? (do man wc to get the answer) A. The number of bytes B. The number of lines C. The number of words

1. What statistic did the wc -l command show? (do man wc to get the answer) A. The number of bytes B. The number of lines C. The number of words More Linux Commands 1 wc The Linux command for acquiring size statistics on a file is wc. This command provides the line count, word count and number of bytes in a file. Open up a terminal, make sure you

More information

Introduction to MD++

Introduction to MD++ Manual 01 for MD++ Introduction to MD++ Keonwook Kang and Wei Cai January 10, 2007 1 Overview MD++ is a molecular dynamics simulation package written in C++. It is originally developed by Wei Cai when

More information

Name: Peter Lemieszewski Venue: Education

Name: Peter Lemieszewski Venue: Education z/tpf EE V1.1 z/tpfdf V1.1 TPF Toolkit for WebSphere Studio V3 TPF Operations Server V1.2 IBM Software Group TPF Users Group Fall 2006 LINUX FOR TPFERS Name: Peter Lemieszewski Venue: Education AIM Enterprise

More information

CS 392/681 Lab 6 Experiencing Buffer Overflows and Format String Vulnerabilities

CS 392/681 Lab 6 Experiencing Buffer Overflows and Format String Vulnerabilities CS 392/681 Lab 6 Experiencing Buffer Overflows and Format String Vulnerabilities Given: November 13, 2003 Due: November 20, 2003 1 Motivation Buffer overflows and format string vulnerabilities are widespread

More information

RTXAGENDA v Use Manual. A program, free and easy to use, to modify your RT4 phonebook, on PC.

RTXAGENDA v Use Manual. A program, free and easy to use, to modify your RT4 phonebook, on PC. RTXAGENDA v01.05 Use Manual A program, free and easy to use, to modify your RT4 phonebook, on PC. mira308sw 15/05/2011 Summary Introduction... 3 Installation... 3 What it need, how use it... 3 WARNING...

More information

9.2 Linux Essentials Exam Objectives

9.2 Linux Essentials Exam Objectives 9.2 Linux Essentials Exam Objectives This chapter will cover the topics for the following Linux Essentials exam objectives: Topic 3: The Power of the Command Line (weight: 10) 3.3: Turning Commands into

More information

Open Process Spec Adoption: a Case Study

Open Process Spec Adoption: a Case Study Open Process Spec Adoption: a Case Study June 3 rd, 2014 AGENDA 2 OpenPDK & OPS Introduction What does OPS looks like? Let s do an openpdk with OPS Target of OpenPDK Coalition 3 a set of open standards

More information

Homework 4: (GRADUATE VERSION)

Homework 4: (GRADUATE VERSION) Homework 4: Wavefront Path Planning and Path Smoothing (GRADUATE VERSION) Assigned: Thursday, October 16, 2008 Due: Friday, October 31, 2008 at 23:59:59 In this assignment, you will write a path planner

More information

RTXAGENDA v Use Manual. A program, free and easy to use, to modify your RT4, RT5 or RT6 phonebook, on PC.

RTXAGENDA v Use Manual. A program, free and easy to use, to modify your RT4, RT5 or RT6 phonebook, on PC. RTXAGENDA v01.08 Use Manual A program, free and easy to use, to modify your RT4, RT5 or RT6 phonebook, on PC. mira308sw 18/04/2013 Summary Introduction... 3 Installation... 3 What it need, how use it...

More information

streamio Documentation

streamio Documentation streamio Documentation Release 0.1.0.dev James Mills April 17, 2014 Contents 1 About 3 1.1 Examples................................................. 3 1.2 Requirements...............................................

More information

CS 220: Introduction to Parallel Computing. Beginning C. Lecture 2

CS 220: Introduction to Parallel Computing. Beginning C. Lecture 2 CS 220: Introduction to Parallel Computing Beginning C Lecture 2 Today s Schedule More C Background Differences: C vs Java/Python The C Compiler HW0 8/25/17 CS 220: Parallel Computing 2 Today s Schedule

More information

EECE 285 VLSI Design. Cadence Tutorial EECE 285 VLSI. By: Kevin Dick Co-author: Jeff Kauppila Co-author: Dr. Arthur Witulski

EECE 285 VLSI Design. Cadence Tutorial EECE 285 VLSI. By: Kevin Dick Co-author: Jeff Kauppila Co-author: Dr. Arthur Witulski Cadence Tutorial EECE 285 VLSI By: Kevin Dick Co-author: Jeff Kauppila Co-author: Dr. Arthur Witulski 1 Table of Contents Purpose of Cadence 1) The Purpose of Cadence pg. 4 Linux 1) The Purpose of Linux

More information

Creating LEF File. Abstract Generation: Creating LEF Tutorial File Release Date: 01/13/2004. Export GDS:

Creating LEF File. Abstract Generation: Creating LEF Tutorial File Release Date: 01/13/2004. Export GDS: Creating LEF Tutorial 1-1 - Creating LEF File Abstract Generation: Export GDS: Abstract generator comes as a part of the Silicon Ensemble package. As such, it cannot directly read ICFB library databases.

More information

Tutorial on text transformation with pure::variants

Tutorial on text transformation with pure::variants Table of Contents 1. Overview... 1 2. About this tutorial... 1 3. Setting up the project... 2 3.1. Source Files... 4 3.2. Documentation Files... 5 3.3. Build Files... 6 4. Setting up the feature model...

More information

Using WestGrid from the desktop Oct on Access Grid

Using WestGrid from the desktop Oct on Access Grid Using WestGrid from the desktop Oct 11 2007 on Access Grid Introduction Simon Sharpe, UCIT Client Services The best way to contact WestGrid support is to email support@westgrid.ca This seminar gives you

More information

Lecture 1. A. Sahu and S. V. Rao. Indian Institute of Technology Guwahati

Lecture 1. A. Sahu and S. V. Rao. Indian Institute of Technology Guwahati Lecture 1 Introduction to Computing A. Sahu and S. V. Rao Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati 1 Outline Computer System Problem Solving and Flow Chart Linux Command ls, mkdir,

More information

Linux Systems Administration Shell Scripting Basics. Mike Jager Network Startup Resource Center

Linux Systems Administration Shell Scripting Basics. Mike Jager Network Startup Resource Center Linux Systems Administration Shell Scripting Basics Mike Jager Network Startup Resource Center mike.jager@synack.co.nz These materials are licensed under the Creative Commons Attribution-NonCommercial

More information

UI6A. User Environments and Scripting Languages: Embedding vs Extending

UI6A. User Environments and Scripting Languages: Embedding vs Extending UI6A. User Environments and Scripting Languages: Embedding vs Extending Date: 16 Aug 2002 (draft v0) Contributors: J. Chiang (GSFC-UMBC) Purpose Analyzing data interactively generally presupposes the existence

More information

Applied Informatics POCO PRO C++ Frameworks

Applied Informatics POCO PRO C++ Frameworks Applied Informatics POCO PRO C++ Frameworks Getting Started Guide Version 1.10 Purpose of This Document This document guides developers interested in the POCO PRO C++ Frameworks by Applied Informatics

More information

Versioning. Jurriaan Hage homepage: Slides stolen from Eelco Dolstra.

Versioning. Jurriaan Hage   homepage:  Slides stolen from Eelco Dolstra. Versioning Jurriaan Hage e-mail: jur@cs.uu.nl homepage: http://www.cs.uu.nl/people/jur/ Slides stolen from Eelco Dolstra Department of Information and Computing Sciences, Universiteit Utrecht August 24,

More information

Eclipse CDT Tutorial. Eclipse CDT Homepage: Tutorial written by: James D Aniello

Eclipse CDT Tutorial. Eclipse CDT Homepage:  Tutorial written by: James D Aniello Eclipse CDT Tutorial Eclipse CDT Homepage: http://www.eclipse.org/cdt/ Tutorial written by: James D Aniello Hello and welcome to the Eclipse CDT Tutorial. This tutorial will teach you the basics of the

More information

C Compilation Model. Comp-206 : Introduction to Software Systems Lecture 9. Alexandre Denault Computer Science McGill University Fall 2006

C Compilation Model. Comp-206 : Introduction to Software Systems Lecture 9. Alexandre Denault Computer Science McGill University Fall 2006 C Compilation Model Comp-206 : Introduction to Software Systems Lecture 9 Alexandre Denault Computer Science McGill University Fall 2006 Midterm Date: Thursday, October 19th, 2006 Time: from 16h00 to 17h30

More information

PRINCIPLES OF OPERATING SYSTEMS

PRINCIPLES OF OPERATING SYSTEMS PRINCIPLES OF OPERATING SYSTEMS Tutorial-1&2: C Review CPSC 457, Spring 2015 May 20-21, 2015 Department of Computer Science, University of Calgary Connecting to your VM Open a terminal (in your linux machine)

More information

Command-line arguments processing in bash

Command-line arguments processing in bash Command-line arguments processing in bash Matěj Týč, OpenAlt 2017 1 / 24 Outline How people tend to design interface of their bash scripts? What exactly is command-line interface? How is bash diferent

More information

Reviewing gcc, make, gdb, and Linux Editors 1

Reviewing gcc, make, gdb, and Linux Editors 1 Reviewing gcc, make, gdb, and Linux Editors 1 Colin Gordon csgordon@cs.washington.edu University of Washington CSE333 Section 1, 3/31/11 1 Lots of material borrowed from 351/303 slides Colin Gordon (University

More information

CS240: Programming in C

CS240: Programming in C CS240: Programming in C Lecture 1: Class overview. Cristina Nita-Rotaru Lecture 1/ Fall 2013 1 WELCOME to CS240 Cristina Nita-Rotaru Lecture 1/ Fall 2013 2 240 Team Instructor: Cristina Nita-Rotaru Special

More information

EL2310 Scientific Programming

EL2310 Scientific Programming (yaseminb@kth.se) Overview Overview Roots of C Getting started with C Closer look at Hello World Programming Environment Discussion Basic Datatypes and printf Schedule Introduction to C - main part of

More information

R in Linguistic Analysis. Week 2 Wassink Autumn 2012

R in Linguistic Analysis. Week 2 Wassink Autumn 2012 R in Linguistic Analysis Week 2 Wassink Autumn 2012 Today R fundamentals The anatomy of an R help file but first... How did you go about learning the R functions in the reading? More help learning functions

More information

How Emacs Evolves to Suit Your Needs p. 1 How Emacs Differs from Other Software p. 3 Software and the User p. 4 Emacs Vocabulary and Conventions p.

How Emacs Evolves to Suit Your Needs p. 1 How Emacs Differs from Other Software p. 3 Software and the User p. 4 Emacs Vocabulary and Conventions p. Introduction p. xxix How Emacs Evolves to Suit Your Needs p. 1 How Emacs Differs from Other Software p. 3 Software and the User p. 4 Emacs Vocabulary and Conventions p. 7 Key Conventions p. 9 Emacs and

More information

Channel Archiver Update. Thomas Birke / Kay Kasemir LANL November 2001

Channel Archiver Update. Thomas Birke / Kay Kasemir LANL November 2001 Channel Archiver Update Thomas Birke / Kay Kasemir LANL November 2001 Overall Structure Config CA CGIExport Online Access ArchiveExport to Spreadsheet/GNUplot CAManager ArchiveEngine WinBrowser StripTool

More information

PROJECT INFRASTRUCTURE AND BASH INTRODUCTION MARKUS PILMAN<

PROJECT INFRASTRUCTURE AND BASH INTRODUCTION MARKUS PILMAN< PROJECT INFRASTRUCTURE AND BASH INTRODUCTION MARKUS PILMAN< MPILMAN@INF.ETHZ.CH> ORGANIZATION Tutorials on Tuesdays - Sometimes, will be announced In General: no exercise sessions (unless you get an email

More information

CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup

CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup Purpose: The purpose of this lab is to setup software that you will be using throughout the term for learning about Python

More information

Table of Contents. Table of Contents Coupling QuantumATK with Synopsys tools

Table of Contents. Table of Contents Coupling QuantumATK with Synopsys tools Table of Contents Table of Contents Coupling QuantumATK with Synopsys tools Preparations Installing the addon New project Silicon crystal DFT model setup Running the calculation Visualizing the band structure

More information

CS 3813/718 Fall Python Programming. Professor Liang Huang.

CS 3813/718 Fall Python Programming. Professor Liang Huang. CS 3813/718 Fall 2012 Python Programming Professor Liang Huang huang@cs.qc.cuny.edu http://vision.cs.qc.cuny.edu/huang/python-2012f/ Logistics Lectures: TTh 9:25-10:40 am SB B-141 Personnel Instructor

More information

CS 300 Leftovers. CS460 Pacific University 1

CS 300 Leftovers. CS460 Pacific University 1 CS 300 Leftovers Pacific University 1 argc/argv The C Programming Language section 5.10, page 114 int main(int argc, char** argv) argc - number of entries in argv argv - array of character pointers containing

More information

C++ For Science and Engineering Lecture 2

C++ For Science and Engineering Lecture 2 C++ For Science and Engineering Lecture 2 John Chrispell Tulane University Wednesday August 25, 2010 Basic Linux Commands Command ls pwd cd What it does. lists the files in the current directory prints

More information

Welcome to Python! Ilhoe Jung. Graphics & Media Lab

Welcome to Python! Ilhoe Jung. Graphics & Media Lab Welcome to Python! 2013. 07. 23 Ilhoe Jung Graphics & Media Lab Course schedule [Lecture 1] Introduction & Basic Grammar [Lecture 2] Data type & Class [Lecture 3] External libraries for python Introducing

More information

Introduction to Linux for BlueBEAR. January

Introduction to Linux for BlueBEAR. January Introduction to Linux for BlueBEAR January 2019 http://intranet.birmingham.ac.uk/bear Overview Understanding of the BlueBEAR workflow Logging in to BlueBEAR Introduction to basic Linux commands Basic file

More information

Linux at the Command Line Don Johnson of BU IS&T

Linux at the Command Line Don Johnson of BU IS&T Linux at the Command Line Don Johnson of BU IS&T We ll start with a sign in sheet. We ll end with a class evaluation. We ll cover as much as we can in the time allowed; if we don t cover everything, you

More information

Setting up PostgreSQL

Setting up PostgreSQL Setting up PostgreSQL 1 Introduction to PostgreSQL PostgreSQL is an object-relational database management system based on POSTGRES, which was developed at the University of California at Berkeley. PostgreSQL

More information

SE420 Software Quality Assurance

SE420 Software Quality Assurance SE420 Software Quality Assurance http://dilbert.com/strips/comic/2007-07-30/ Lecture 11 Testing Automation and Process Improvement October 28, 2014 Sam Siewert Assignment #5 Due 11/9 Reminders Remaining

More information

Communication With the Outside World

Communication With the Outside World Communication With the Outside World Program Return Code Arguments From the Program Call Aborting Program Calling Other Programs Data Processing Course, I. Hrivnacova, IPN Orsay I. Hrivnacova @ Data Processing

More information