1 / 18

CSE351 Course Project Tutorial

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.

whitney
Download Presentation

CSE351 Course Project Tutorial

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE351 Course Project Tutorial By Dongyuan Zhan dzhan@cse.unl.edu

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

  3. Overview CSE351 Course Project Tutorial

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

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

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

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

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

  9. USB Blaster Port Altera DE-2 Board Power Button FPGA CSE351 Course Project Tutorial

  10. Altera DE-1 Board USB Blaster Port FPGA Power Button CSE351 Course Project Tutorial

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

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

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

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

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

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

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

  18. Q & A Enjoy Your Course Projects! CSE351 Course Project Tutorial

More Related