CSE430/830 Course Project Tutorial Instructor: Dr. Hong Jiang TA: Dongyuan Zhan Project Duration: 01/26/11 – 04/29/11.

Slides:



Advertisements
Similar presentations
DE2-115 Control Panel - Part I
Advertisements

Computer Organization and Architecture
Lab7: Introduction to Arduino
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
Lab6 – Debug Assembly Language Lab
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Networked HVAC Controller Bradley University Department of Electrical & Computer Engineering By: Ed Siok Advisor: Dr. Malinowski.
EE296 Working with FPGA’s. (Field Programmable gate array) Team name: Altezza Team members: Richard Phomsouvanh (FPGA expert) Jason Leong (VHDL expert)
CSE351 Course Project Tutorial By Dongyuan Zhan
DE1 FPGA board and Quartus
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
7/2/ _23 1 Pipelining ECE-445 Computer Organization Dr. Ron Hayne Electrical and Computer Engineering.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
Altera DE2 Board and Quartus II Software ECE 3450 M. A. Jupina, VU, 2014.
CSCE 430/830 A Tutorial of Project Tools By Dongyuan Zhan Feb. 4, 2010.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
Introduction to FPGA Design Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 –
Part 1 Using the ARM board And start working with C Tutorial 5 and 6
USB host for web camera connection
® ChipScope ILA TM Xilinx and Agilent Technologies.
Advanced Digital Circuits ECET 146 Week 3 Professor Iskandar Hack ET 221B,
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Spring 2009.
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
CSCE 430/830 Course Project Guidelines By Dongyuan Zhan Feb. 4, 2010.
COMPUTER SYSTEM LABORATORY Lab10 - Sensor II. Lab 10 Experimental Goal Learn how to write programs on the PTK development board (STM32F207). 2013/11/19/
Using Analog Devices’ Blackfin for Embedded Processing Diana Franklin and John Seng.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
ECE Department: University of Massachusetts, Amherst Using Altera CAD tools for NIOS Development.
Computer Architecture Project Team A Sergio Rico, Ertong Zhang, Vlad Chiriacescu, ZhongYin Zhang.
Tutorial on using the DE2i-150 development board
Lab 1 Department of Computer Science and Information Engineering National Taiwan University Lab1 - Sensor 2014/9/23/ 13 1.
Spring Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.
COMP3221 lec04--prog-model.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 4: Programmer’s Model of Microprocessors
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
SPREE RTL Generator RTL Simulator RTL CAD Flow 3. Area 4. Frequency 5. Power Correctness1. 2. Cycle count SPREE Benchmarks Verilog Results 3. Architecture.
ASIC 121: Practical VHDL Digital Design for FPGAs Tutorial 1 September 27, 2006.
NIOS II Ethernet Communication Final Presentation
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Development of a microprocessor project with LPC2388 development board.
Infrastructure design & implementation of MIPS processors for students lab based on Bluespec HDL Students: Danny Hofshi, Shai Shachrur Supervisor: Mony.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
Computer Engineering 1502 Advanced Digital Design Professor Donald Chiarulli Computer Science Dept Sennott Square
Lab 2 Parallel processing using NIOS II processors
Sonar Sensor Project Polaroid Sonar Sensor Details of the Project
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
 Seattle Pacific University EE Logic System DesignAlteraBoard-2 Altera Cyclone II (484 Pin BGA) 22 Pins.
Implementation of Embedded OS Lab4 Cortex-M3 Programming.
Teaching Digital Logic courses with Altera Technology
بسم الله الرحمن الرحيم MEMORY AND I/O.
Embedded Systems Design with Qsys and Altera Monitor Program
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
Programming and Debugging with the Dragon and JTAG Many thanks to Dr. James Hawthorne for evaluating the Dragon system and providing the core content for.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Introduction to the FPGA and Labs
DE2-115 Control Panel - Part I
Lab 0: Familiarization with Equipment and Software
Lab 1: Using NIOS II processor for code execution on FPGA
The first change to your project files that is needed is to change the device to the correct FPGA. This is done by going to the Assignments tab on the.
Computer System Laboratory
Implementation of Embedded OS
William Stallings Computer Organization and Architecture 8th Edition
ECE 4110–5110 Digital System Design
CS 286 Computer Organization and Architecture
Chapter 14 Instruction Level Parallelism and Superscalar Processors
Getting Started with Programmable Logic
Ronny Krashinsky and Mike Sung
Lab0 : Instructions ECE ECE at UMass.
Presentation transcript:

CSE430/830 Course Project Tutorial Instructor: Dr. Hong Jiang TA: Dongyuan Zhan Project Duration: 01/26/11 – 04/29/11

Objectives Get familiar with the fundamental ideas of computer architecture Finish a semester-long project: building a pipelined 32-bit RISC processor with –HW-based data hazard resolution mechanisms –a static branch predictor –instruction/data caches –assembler & bubble-sort application Practice efficient teamwork that makes your work splendid. 8/25/2015CSE430/830 Course Project Tutorial 2

Teams Since there are exactly 30 students, each team is required to have 3 (or 4) members A team would better have a member who has taken CSE230 and its Lab Each team is required to have a team leader who coordinates the group’s project events Each team needs to maintain a project wiki to update the group’s progress 8/25/2015CSE430/830 Course Project Tutorial 3

Tasks Task 1: determine the ISA –tailor the ISA that is targeted at the bubble-sort application –write the bubble-sort program and compile it with your own designed assembler Task 2: pipeline the processor –add pipeline stage registers –add HW-based data hazard resolution mechanisms Task 3: add a static branch predictor –move the branch decision and branch address calculation to the “instruction decode” stage –“always-not-taken ” is the easiest –performance counters are required to monitor the prediction accuracy 8/25/2015CSE430/830 Course Project Tutorial 4

Tasks Task 1: determine the ISA –tailor the ISA that is targeted at the bubble-sort application –write the bubble-sort program and compile it with your own designed assembler Task 2: pipeline the processor –add pipeline stage registers –add HW-based data hazard resolution mechanisms Task 3: add a static branch predictor –move the branch decision and branch address calculation to the “instruction decode” stage –“always-not-taken ” is the easiest –performance counters are required to monitor the prediction accuracy 8/25/2015CSE430/830 Course Project Tutorial 5

Tasks Task 4: incorporate instruction/data caches –both are directly mapped –#(sets), block size, write policy are critical design parameters –performance counters are required to monitor the hit rates of the caches Project Wiki –a log of weekly meeting –the high-level/architectural view of your design –the verification of the correctness & efficiency of individual components and the entire system –a summary of the work that you have done and that lags behind 8/25/2015CSE430/830 Course Project Tutorial 6

Expected Demonstration Results 8/25/2015CSE430/830 Course Project Tutorial 7

Milestones Milestone 1:team formed —Jan. 28, 2011 Milestone 2: Task 1 finished — Feb. 23, 2011 Milestone 3: Task 2 finished — Mar. 16, 2011 Milestone 4: Task 3 finished — Mar. 30, 2011 Milestone 5: Task 4 finished — Apr. 20, 2011 Milestone 6: project designs & report submitted —Apr. 27, 2011 Milestone 7: project demonstration — Apr , /25/ CSE430/830 Course Project Tutorial

Grading Criteria completeness and correctness of the implementation –60 points for all of the 4 specific tasks well-designed and informative project wiki –15 points project demonstration –5 points project report –20 points 8/25/2015CSE430/830 Course Project Tutorial 9

Tools Hardware –Altera DE-2 board with a Cyclone-II FPGA Software –Quartus-II Web Edition 10.1 »synthesize your FPGA design –USB Blaster Driver »enable DE-2 to communicate with Quartus-II. –USB-to-Serial Driver »Virtualize a USB port as a RS232 port –Putty »a free implementation of Telnet, SSH and Hyperterminal 8/25/ CSE430/830 Course Project Tutorial

Altera DE-2 Development Board 8/25/2015CSE430/830 Course Project Tutorial 11 FPGA Power Button USB Blaster Port RS232 LCD Panel Slide Switches Press Buttons 50MHz Clock Generator

Software How to use Quartus-II IDE –very detailed tutorials are in “$PATH\Project Documents\DE2_System_v1.6\DE2_tutorials\” –some important memos: »open an existing project by double clicking a “*.qpf” file »specify the FPGA when creating a project Cyclone-II EP2C35F672C6 »connect the inputs and outputs of your design to FPGA’s pins in Quartus-II  Assignment  Pins »download an “*.sof” file to DE2 via Quartus- II  Tools  Programmer 8/25/2015CSE430/830 Course Project Tutorial 12

Software 8/25/2015CSE430/830 Course Project Tutorial 13 »differentiate functional and timing simulations in Quartus-II  Assigment  Settings  Simulation Settings  Simulation Mode How to utilize the USB-to-Serial communication –Prerequisites »install Putty & the USB-to-Serial driver »download “uart_example.sof” to DE2 –Steps »connect DE2 to a laptop with a USB-to-Serial cable »in “Device Manager  Port(COM & LPT)”, check out the COM number, which may change when you connect to a different USB port on your laptop

Software 8/25/2015CSE430/830 Course Project Tutorial 14

Software 8/25/2015CSE430/830 Course Project Tutorial 15 check the “serial” box specify the “serial line” with the COM # specify the “Speed” to be specify the “flow control” to be “None” click “Open”

Software 8/25/2015CSE430/830 Course Project Tutorial 16 The Hyperterminal used to demonstrate the uart-to-usb communication content

Suggestions for a Good Project Carry out efficient teamwork Plan well and make steady progress Keep project wiki well-organized Use version control system, such as SVN, to manage your source code Deploy effective and efficient debugging strategy Be active in discussing with the TA 8/25/2015CSE430/830 Course Project Tutorial 17

Resources IDE – Project Documents –containing almost everything you need for the project – Project Discussion Board – Altera Documents & Forum – – 8/25/2015CSE430/830 Course Project Tutorial 18