cse351 course project tutorial

18
CSE351 Course Project Tutorial By Dongyuan Zhan [email protected]

Upload: whitney

Post on 13-Jan-2016

31 views

Category:

Documents


2 download

DESCRIPTION

CSE351 Course Project Tutorial. By Dongyuan Zhan [email protected]. 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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CSE351 Course Project Tutorial

CSE351 Course Project Tutorial

By Dongyuan Zhan

[email protected]

Page 2: CSE351 Course Project Tutorial

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.

04/21/23 CSE351 Course Project Tutorial 2

Page 3: CSE351 Course Project Tutorial

04/21/23 CSE351 Course Project Tutorial 3

Overview

Page 4: CSE351 Course Project Tutorial

• 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

04/21/23 CSE351 Course Project Tutorial 4

Tasks

Page 5: CSE351 Course Project Tutorial

• 18 teams have been formed, with 2-3 members in each group– http://www.flickr.com/photos/66755201@N04/

sets/72157627524789258/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.

04/21/23 CSE351 Course Project Tutorial 5

Teams

Page 6: CSE351 Course Project Tutorial

• 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

» https://www.altera.com/download/software/quartus-ii-we/11.0sp1 (download registration required)

– Virtualbox (only for Mac users)» http://www.virtualbox.org/wiki/Mac%20OS%20X

%20build%20instructions04/21/23 6CSE351 Course Project Tutorial

Infrastructure

Page 7: CSE351 Course Project Tutorial

• Software– USB Blaster Driver

» It enables DE-2 to communicate with your computer

» How to install it can be found at

• WINXP: http://www.altera.com/download/drivers/usb-blaster/dri-usb-blaster-xp.html

• WIN7/VISTA: http://www.altera.com/download/drivers/usb-blaster/dri-usb-blaster-vista.html

04/21/23 CSE351 Course Project Tutorial 7

Infrastructure

Page 8: CSE351 Course Project Tutorial

• Software– Nios-II Soft-Core CPU

» It is essentially a VHDL/Verilog design that configures the FPGA to function as a CPU.

» DE2 Version: http://cse.unl.edu/~dzhan/wiki/images/DE2_NIOS-II.zip

» DE1 Version: http://cse.unl.edu/~dzhan/wiki/images/DE1_NIOS-II.zip

04/21/23 CSE351 Course Project Tutorial 8

Infrastructure

Page 9: CSE351 Course Project Tutorial

04/21/23 CSE351 Course Project Tutorial 9

FPGA

Power Button

USB Blaster Port Altera DE-2 Board

Page 10: CSE351 Course Project Tutorial

04/21/23 CSE351 Course Project Tutorial 10

FPGA

Power Button

USB Blaster Port

Altera DE-1 Board

Page 13: CSE351 Course Project Tutorial

• 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

04/21/23 13CSE351 Course Project Tutorial

Milestones

Page 14: CSE351 Course Project Tutorial

• 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.

04/21/23 CSE351 Course Project Tutorial 14

Grading Criteria

Page 15: CSE351 Course Project Tutorial

• Start as early as you can!

• Do good project management (e.g., risk anticipation)

– http://en.wikipedia.org/wiki/Project_management

• Do efficient teamwork

• Use version control system to manage your source code

– SVN/Mecurial/Git (on Windows/Unix)

– http://code.google.com/hosting/createProject

• Be active in discussing with the TAs

04/21/23 CSE351 Course Project Tutorial 15

Some Suggestions for Your Success

Page 16: CSE351 Course Project Tutorial

• Nios-II Software Developer's Handbook– http://cse.unl.edu/~dzhan/wiki/images/Nios-II_Handbo

ok.pdf

• Instruction Set Reference for Nios-II Soft CPUs– http://cse.unl.edu/~dzhan/wiki/images/Instruction_Set_

Reference_for_Nios-II_Soft_CPUs.pdf

• Hardware Abstraction Layer API Reference– http://cse.unl.edu/~dzhan/wiki/images/

Hardware_Abstraction_Layer_API_Reference.pdf

04/21/23 CSE351 Course Project Tutorial 16

Resources

Page 17: CSE351 Course Project Tutorial

• Using Assembly in the C Source– http://cse.unl.edu/~dzhan/wiki/images/

Using_Assembly_in_the_C_Source.pdf

• C & ASM in Nios-II– http://cse.unl.edu/~dzhan/wiki/images/C

%26ASM_in_Nios-II.pdf

• Altera Document Center– http://www.altera.com/literature/lit-index.html

• Altera Development Forum– http://www.alteraforum.com/

04/21/23 CSE351 Course Project Tutorial 17

Resources

Page 18: CSE351 Course Project Tutorial

Enjoy Your Course Projects!

04/21/23 CSE351 Course Project Tutorial 18

Q & A