cse351 course project tutorial n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CSE351 Course Project Tutorial PowerPoint Presentation
Download Presentation
CSE351 Course Project Tutorial

Loading in 2 Seconds...

play fullscreen
1 / 18

CSE351 Course Project Tutorial - PowerPoint PPT Presentation


  • 66 Views
  • Uploaded on

CSE351 Course Project Tutorial. By Dongyuan Zhan dzhan@cse.unl.edu. 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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CSE351 Course Project Tutorial' - whitney


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cse351 course project tutorial

CSE351 Course Project Tutorial

By Dongyuan Zhan

dzhan@cse.unl.edu

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

CSE351 Course Project Tutorial

overview
Overview

CSE351 Course Project Tutorial

tasks
Tasks
  • 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

CSE351 Course Project Tutorial

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

CSE351 Course Project Tutorial

infrastructure
Infrastructure
  • 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%20instructions

CSE351 Course Project Tutorial

infrastructure1
Infrastructure
  • 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

CSE351 Course Project Tutorial

infrastructure2
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: http://cse.unl.edu/~dzhan/wiki/images/DE2_NIOS-II.zip
      • DE1 Version: http://cse.unl.edu/~dzhan/wiki/images/DE1_NIOS-II.zip

CSE351 Course Project Tutorial

altera de 2 board

USB Blaster Port

Altera DE-2 Board

Power Button

FPGA

CSE351 Course Project Tutorial

altera de 1 board
Altera DE-1 Board

USB Blaster Port

FPGA

Power Button

CSE351 Course Project Tutorial

steps
Steps
  • Download the Nios-II Soft CPU to the FPGA Platform
    • http://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
    • http://cse.unl.edu/~dzhan/wiki/index.php5/Cse351:Fall_2011:Pre_Project_Lab#Create_a_Nios-II_C_Project
  • Build the Project
    • http://cse.unl.edu/~dzhan/wiki/index.php5/Cse351:Fall_2011:Pre_Project_Lab#Build_the_Project

CSE351 Course Project Tutorial

steps1
Steps
  • Observe the FPGA Platform Output
    • http://cse.unl.edu/~dzhan/wiki/index.php5/Cse351:Fall_2011:Pre_Project_Lab#Observe_the_FPGA_Platform_Output
  • Debug the Project
    • http://cse.unl.edu/~dzhan/wiki/index.php5/Cse351:Fall_2011:Pre_Project_Lab#Debug_the_Project

CSE351 Course Project Tutorial

milestones
Milestones
  • 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

CSE351 Course Project Tutorial

grading criteria
Grading Criteria
  • 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.

CSE351 Course Project Tutorial

some suggestions for your success
Some Suggestions for Your Success
  • 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

CSE351 Course Project Tutorial

resources
Resources
  • Nios-II Software Developer's Handbook
    • http://cse.unl.edu/~dzhan/wiki/images/Nios-II_Handbook.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

CSE351 Course Project Tutorial

resources1
Resources
  • 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/

CSE351 Course Project Tutorial

slide18
Q & A

Enjoy Your Course Projects!

CSE351 Course Project Tutorial