CSCE 430/830 Course Project Guidelines By Dongyuan Zhan Feb. 4, 2010.

Slides:



Advertisements
Similar presentations
SD1020 Number of Members :3 Vidura Manu Wijayasekara Ridhima Agarwal Bhaskar Kumar Advisor : Dr. Sudarshan Srinivasan.
Advertisements

Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Embedded Systems Programming
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
CSE351 Course Project Tutorial By Dongyuan Zhan
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
Pyxis Aaron Martin April Lewis Steve Sherk. September 5, 2005 Pyxis16002 General-purpose 16-bit RISC microprocessor bit registers 24-bit address.
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.
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
COM181 Computer Hardware Ian McCrumRoom 5B18,
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
Out-of-Order OpenRISC 2 semesters project Semester A: Implementation of OpenRISC on XUPV5 board Final A Presentation By: Vova Menis-Lurie Sonia Gershkovich.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
CSE430/830 Course Project Tutorial Instructor: Dr. Hong Jiang TA: Dongyuan Zhan Project Duration: 01/26/11 – 04/29/11.
COMPUTER ORGANIZATION CSCE 230 Final Project. OVERVIEW  Implemented RISC processor  VHDL  Test program created to demonstrate abilities.
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Out-of-Order OpenRISC 2 semesters project Semester A: Implementation of OpenRISC on XUPV5 board Midterm Presentation By: Vova Menis-Lurie Sonia Gershkovich.
DOP - A CPU CORE FOR TEACHING BASICS OF COMPUTER ARCHITECTURE Miloš Bečvář, Alois Pluháček and Jiří Daněček Department of Computer Science and Engineering.
Computer Architecture Project Team A Sergio Rico, Ertong Zhang, Vlad Chiriacescu, ZhongYin Zhang.
1 4.2 MARIE This is the MARIE architecture shown graphically.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
CS/ECE 3330 Computer Architecture Kim Hazelwood Fall 2009.
What have mr aldred’s dirty clothes got to do with the cpu
SPREE RTL Generator RTL Simulator RTL CAD Flow 3. Area 4. Frequency 5. Power Correctness1. 2. Cycle count SPREE Benchmarks Verilog Results 3. Architecture.
1 Appendix A Pipeline implementation Pipeline hazards, detection and forwarding Multiple-cycle operations MIPS R4000 CDA5155 Spring, 2007, Peir / University.
Computer Organization and Architecture
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Infrastructure design & implementation of MIPS processors for students lab based on Bluespec HDL Students: Danny Hofshi, Shai Shachrur Supervisor: Mony.
Computer Engineering 1502 Advanced Digital Design Professor Donald Chiarulli Computer Science Dept Sennott Square
Lab 2 Parallel processing using NIOS II processors
ECE 353 Lab 2 Pipeline Simulator. Aims Further experience in C programming Handling strings Further experience in the use of assertions Reinforce concepts.
Lecture 7: Overview Microprocessors / microcontrollers.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
Teaching Digital Logic courses with Altera Technology
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
FDR--ECE6276 Class Project 12/06/00 The ChooChoo: Final Design Review Wody-Instruction Set Architecture School of Electrical and Computer Engineering Georgia.
Winter-Spring 2001Codesign of Embedded Systems1 Essential Issues in Codesign: Architectures Part of HW/SW Codesign of Embedded Systems Course (CE )
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Computer Architecture Lecture 7: Microprogrammed Microarchitectures Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/30/2013.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
What’s going on here? Can you think of a generic way to describe both of these?
Introduction to the FPGA and Labs
Lab 1: Using NIOS II processor for code execution on FPGA
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
Chapter 14 Instruction Level Parallelism and Superscalar Processors
ECE 353 Lab 3 Pipeline Simulator
Instruction Level Parallelism and Superscalar Processors
Serial Data Hub (Proj Dec13-13).
Computer Structure S.Abinash 11/29/ _02.
COMPUTER SOFT WARE Software is a set of electronic instructions that tells the computer how to do certain tasks. A set of instructions is often called.
6.375 Final Project.
Introduction to Microprocessor Programming
Overview Prof. Eric Rotenberg
Interactive MIPS Datapath Tutorial
Lecture 4: Instruction Set Design/Pipelining
Guest Lecturer: Justin Hsia
Presentation transcript:

CSCE 430/830 Course Project Guidelines By Dongyuan Zhan Feb. 4, 2010

Objectives The project is designed to help you reinforce your understanding of RISC ISA and pipeline architectures Learn to do HW/SW co-design, which involves the implementation of both the processor and assembler Develop the skill to finish a complex FPGA design with the DE-2 board Practice team work and make your project a splendid one 9/9/2015CSCE430/830 Course Project Guidelines 2

The Project Tasks System design and implementation –system schematic design –component design and functional verification –pipelining design and functional verification –assembler design (c/c++, java, perl, python….) –benchmark program design (in assembly language) Project documentation maintained about –the people in your team –meeting log with substantial details –design documentation –special features of your design –the final result (e.g. correctness, performance, future work) Final project demo, presentation and report 9/9/2015 CSCE430/830 Course Project Guidelines 3

The Project Teams 3-4 members per team It is better to have a team leader for each group (schedule meetings and coordinate collaboration) Each team needs to maintain a website for the project documentation –it might be a good idea to create a project wiki at 9/9/2015 CSCE430/830 Course Project Guidelines 4

Overall Design Flowchart Component Design and Verification Assembler Design (.mif file) System (HW/SW) Schematic Design Pipelining Implementation and Verification Benchmark Program Design On-board Evaluation Compilation and Download Quartus II C/C++/Java/Perl/Python 9/9/ CSCE430/830 Course Project Guidelines

Processor Design App-dependent ISA Pipeline stages, data path, control path Essential Components –PC, register Files, stage latches, decoder, ALU –direct-mapped caches, branch predictor, forwarding unit –clock, instruction/data memory, LED/button control Logic Design and functional verification using Quartus-II –graphically or using an HDL 9/9/ CSCE430/830 Course Project Guidelines

Design Verification Quartus-II Simulation –by checking the simulation waveform Hierarchical Verification –component level –pipelining level –processor level –system level (HW/SW) 9/9/ CSCE430/830 Course Project Guidelines

Benchmark Program Design Refer to MIPS assembly language Design an application for m atrix multiplication –the size of matrix for multiplication is arbitrary within the range of 3-10 on each of the two dimensions –your program should be designed to accept and carry out the multiplication of any matrices with size in the specified range (3-10 on each dimension) –the calculation is done, please show the sum of the main diagonal of the resulting matrix P using the LCD of DE-2 board Fit the program design to your RISC ISA and Pipelined Processor Designs 9/9/ CSCE430/830 Course Project Guidelines

Assembler Design Choose A High-level Language –Java, C, C++, Perl, Python Design Steps –identify and resolve symbols and hazards –convert application program to machine code (according to your ISA design) –follow the Memory Initialization Format (MIF) specified for Altera devices 9/9/ CSCE430/830 Course Project Guidelines

Download, Debugging and Evaluation Experiment Tools –Altera DE-1 with Cyclone-II FPGA –Quartus II Web Edition Pin Assignment –define the connects between the FPGA and external SDRAM/FLASH/LCD/Pushbuttons Design Download –use the USB Blaster cable to connect DE-1 and your computer On Board Debugging and Evaluation –report the correctness, efficiency, overhead and future work 9/9/ CSCE430/830 Course Project Guidelines

DE2 FPGA Board 9/9/2015 CSCE430/830 Course Project Guidelines 11

Extra Credits Special Features Entitling Teams to Extra Credits –Here are some of my suggestions »Upgrade your cache design to a set-associative cache »Upgrade your branch predictor to a 2-bit FSM scheme »Enhance your pipelined processor with out-of-order execution capabilities (very challenging) »Upgrade your processor to have two cores and split your matrix multiplication benchmark into two parallel parts that are calculated by each core respectively (very challenging) –You can propose any ideas to TA that you think can make your project feature special merits during the system schematic design stage. –If your proposal is approved by TA and finally implemented by your team, you will be honored with extra credits 9/9/2015 CSCE430/830 Course Project Guidelines 12

Important Milestones Group Formation (by Feb. 4) System Schematic Design (by Feb. 23) Design & Verification of Major Components (by Oct. 27) Design & Implementation of the Assembler (by Mar. 23) Project Demo (Apr. 27 – May 1) Project Presentation (During the final week) 9/9/ CSCE430/830 Course Project Guidelines

References For more details, please refer to – 010.htmlhttp://cse.unl.edu/~jiang/cse430/Project/Description_S2 010.html 9/9/2015 CSCE430/830 Course Project Guidelines 14