CSE351 Course Project Tutorial By Dongyuan Zhan

Slides:



Advertisements
Similar presentations
CSC 360- Instructor: K. Wu Overview of Operating Systems.
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
CSE 4939 Hito-Shura Project Manager Harlan Broughton Stephen Link.
Operating System Tracing the nachos code in Java
Chapter 13 Embedded Systems
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
Team Lifted: Critical Design Review Andrew Cober Dan Crowe Sujan Gautam Anthony Schubert Ryan Yeash.
Project Plan The Development Plan The project plan is one of the first formal documents produced by the project team. It describes  How the project will.
CSCE 430/830 A Tutorial of Project Tools By Dongyuan Zhan Feb. 4, 2010.
EE496A Senior Design Project I Dr. Jane Dong Electrical and Computer Engineering.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Types of software. Sonam Dema..
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Efficient Hardware dependant Software (HdS) Generation using SW Development Platforms Frédéric ROUSSEAU CASTNESS‘07 Computer Architectures and Software.
USB host for web camera connection
CSE430/830 Course Project Tutorial Instructor: Dr. Hong Jiang TA: Dongyuan Zhan Project Duration: 01/26/11 – 04/29/11.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Spring 2009.
CSCE 430/830 Course Project Guidelines By Dongyuan Zhan Feb. 4, 2010.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Course Overview Sarah Diesburg  Bobby Roy COP 5641 / CIS 4930.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Course Information Sarah Diesburg Operating Systems COP 4610.
E. Sisinni – Progetto di Sistemi Elettronici Digitali 1 PROGETTO DI SISTEMI ELETTRONICI DIGITALI Digital System Design Proposte di progetti.
E. Sisinni – Digital Systems for Signal Processing 1 Digital Systems for Signal Processing Project proposal.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Operating Systems CSE 411 Multi-processor Operating Systems Multi-processor Operating Systems Dec Lecture 30 Instructor: Bhuvan Urgaonkar.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
CSNB334 Advanced Operating Systems Course Introduction Lecturer: Abdul Rahim Ahmad.
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: M Period 3, W Period 4 Subject to change.
OPERATING SYSTEM - program that is loaded into the computer and coordinates all the activities among computer hardware devices. -controls the hardware.
11/21/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Sam King and Andrew.
Operating System Principles And Multitasking
Overview of Operating Systems Introduction to Operating Systems: Module 0.
Concurrency, Processes, and System calls Benefits and issues of concurrency The basic concept of process System calls.
Application Software System Software.
Course Overview Mark Stanovich COP 5641 / CIS 4930.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Dr. Ying Lu ylu at cse.unl.edu Schorr Center Aug 22, CSCE 351 Operating System Kernels.
CS3249 Elements of User Interfaces. Group with your DESIGN GROUP Screen Group 1 Group 2 Group 3 Group 4 Group 6 Group 5 Group 7 Computer Group 8.
Systems Software / The Operating System CSC October 14, 2010.
CSC227: Operating Systems
Mobile Operating System
Course Information Mark Stanovich Principles of Operating Systems
Computer System Laboratory
Threads CSSE 332 Operating Systems Rose-Hulman Institute of Technology
My First Nios II for Altera DE2-115 Board
Teaching Computing to GCSE
Serial Data Hub (Proj Dec13-13).
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Lecture Topics: 11/1 General Operating System Concepts Processes
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Lecture Note 0: Course Introduction
Lab0 : Instructions ECE ECE at UMass.
Andy Wang Operating Systems COP 4610 / CGS 5765
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
IAS0600 DIGITAL SYSTEMS DESIGN
Presentation transcript:

CSE351 Course Project Tutorial By Dongyuan Zhan

Objectives The three projects will lead you to eventually create your own prototype OS on a bare-system FPGA board. Gain genuine understanding of the OS kernel principles from hands-on experience. Practice efficient teamwork and effective project management skills that make your work splendid. 6/22/2015CSE351 Course Project Tutorial 2

6/22/2015 CSE351 Course Project Tutorial 3 Overview

One Lab + Three Projects (on a team basis, accounting for 40% of your final grade) –Pre-project Lab (0%, by 09/21) : to prepare you for the projects –Project I (5%, by 10/05): to design a timer interrupt handler –Project II (20%, by 11/13): to devise multithreading and scheduling mechanisms –Project III (15%, by 12/07): to provide a synchronization mechanism for the coordination among multiple threads 6/22/2015 CSE351 Course Project Tutorial 4 Tasks

18 teams have been formed, with 2-3 members in each group sets/ /detail/ Each group should have a team leader who schedules and coordinates group events and submits your work to the hand-in system. Each team will be provided ≥2 FPGA boards. You can use your personal computer or a Lab machine to manipulate the boards, as long as the required software is installed. 6/22/2015 CSE351 Course Project Tutorial 5 Teams

Hardware –the Altera DE-2/DE-1 board Software –Quartus-II Web Edition 11.0sp1 »It also includes the Nios-II v11.0 Software Build Tools for Eclipse » -ii-we/11.0sp1 (download registration required) -ii-we/11.0sp1 –Virtualbox (only for Mac users) » %20build%20instructionshttp:// %20build%20instructions 6/22/ CSE351 Course Project Tutorial Infrastructure

Software –USB Blaster Driver »It enables DE-2 to communicate with your computer »How to install it can be found at WINXP: blaster/dri-usb-blaster-xp.html blaster/dri-usb-blaster-xp.html WIN7/VISTA: blaster/dri-usb-blaster-vista.html blaster/dri-usb-blaster-vista.html 6/22/2015 CSE351 Course Project Tutorial 7 Infrastructure

Software –Nios-II Soft-Core CPU »It is essentially a VHDL/Verilog design that configures the FPGA to function as a CPU. »DE2 Version: II.zip II.zip »DE1 Version: II.zip II.zip 6/22/2015 CSE351 Course Project Tutorial 8 Infrastructure

6/22/2015 CSE351 Course Project Tutorial 9 FPGA Power Button USB Blaster Port Altera DE-2 Board

6/22/2015 CSE351 Course Project Tutorial 10 FPGA Power Button USB Blaster Port Altera DE-1 Board

6/22/2015 CSE351 Course Project Tutorial 11 Download the Nios-II Soft CPU to the FPGA Platform – _2011:Pre_Project_Lab#Download_the_Nios- II_Soft_CPU_to_the_FPGA_Platformhttp://cse.unl.edu/~dzhan/wiki/index.php5/Cse351:Fall _2011:Pre_Project_Lab#Download_the_Nios- II_Soft_CPU_to_the_FPGA_Platform Create a Nios-II C Project – _2011:Pre_Project_Lab#Create_a_Nios-II_C_Projecthttp://cse.unl.edu/~dzhan/wiki/index.php5/Cse351:Fall _2011:Pre_Project_Lab#Create_a_Nios-II_C_Project Build the Project – _2011:Pre_Project_Lab#Build_the_Projecthttp://cse.unl.edu/~dzhan/wiki/index.php5/Cse351:Fall _2011:Pre_Project_Lab#Build_the_Project Steps

6/22/2015 CSE351 Course Project Tutorial 12 Observe the FPGA Platform Output – _2011:Pre_Project_Lab#Observe_the_FPGA_Platform _Outputhttp://cse.unl.edu/~dzhan/wiki/index.php5/Cse351:Fall _2011:Pre_Project_Lab#Observe_the_FPGA_Platform _Output Debug the Project – _2011:Pre_Project_Lab#Debug_the_Projecthttp://cse.unl.edu/~dzhan/wiki/index.php5/Cse351:Fall _2011:Pre_Project_Lab#Debug_the_Project Steps

Pre-Lab (by Sep. 21) –No submission is required Project I (by Oct. 5) –The design and report need to be submitted Project II (by Nov. 13) –The design and report need to be submitted Project III (by Dec. 7) –The design and report need to be submitted 6/22/ CSE351 Course Project Tutorial Milestones

Following is the grading criteria with a total of 100 points for any projects. But different projects may carry different weights in your final grade. –Project report: 50% –Correctness of the program: 40% –Detailed source code comments and README: 10% Typically, all members in a team will get the same grade for a project, unless the team leader or other members report to the lab TA that someone contributes little to the project and he/she should get only a certain percentage (e.g., 90%) of the team’s grade. 6/22/2015 CSE351 Course Project Tutorial 14 Grading Criteria

Start as early as you can! Do good project management (e.g., risk anticipation) – Do efficient teamwork Use version control system to manage your source code –SVN/Mecurial/Git (on Windows/Unix) – Be active in discussing with the TAs 6/22/2015 CSE351 Course Project Tutorial 15 Some Suggestions for Your Success

Nios-II Software Developer's Handbook – II_Handbook.pdfhttp://cse.unl.edu/~dzhan/wiki/images/Nios- II_Handbook.pdf Instruction Set Reference for Nios-II Soft CPUs – Reference_for_Nios-II_Soft_CPUs.pdfhttp://cse.unl.edu/~dzhan/wiki/images/Instruction_Set_ Reference_for_Nios-II_Soft_CPUs.pdf Hardware Abstraction Layer API Reference – action_Layer_API_Reference.pdfhttp://cse.unl.edu/~dzhan/wiki/images/Hardware_Abstr action_Layer_API_Reference.pdf 6/22/2015 CSE351 Course Project Tutorial 16 Resources

Using Assembly in the C Source – y_in_the_C_Source.pdfhttp://cse.unl.edu/~dzhan/wiki/images/Using_Assembl y_in_the_C_Source.pdf C & ASM in Nios-II – Nios-II.pdfhttp://cse.unl.edu/~dzhan/wiki/images/C%26ASM_in_ Nios-II.pdf Altera Document Center – Altera Development Forum – 6/22/2015 CSE351 Course Project Tutorial 17 Resources

Enjoy Your Course Projects! 6/22/2015 CSE351 Course Project Tutorial 18 Q & A