Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.

Slides:



Advertisements
Similar presentations
6-1 Chapter 6 - Datapath and Control Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of Computer Architecture.
Advertisements

Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
9-6 The Control Word Fig The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse.
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Microprocessor and Microcontroller
Processor System Architecture
MICRO PROCESSER The micro processer is a multipurpose programmable, clock driven, register based, electronic integrated device that has computing and decision.
Computer Organization. This module surveys the physical resources of a computer system. –Basic components CPUMemoryBus I/O devices –CPU structure Registers.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
Processor Technology and Architecture
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
1 TK2633TK Microprocessor Architecture DR MASRI AYOB.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
GCSE Computing - The CPU
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 20 Datapath and Control Datapath - performs data transfer and processing operations.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Computer Organization Computer Organization & Assembly Language: Module 2.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
4-1 Chapter 4 - The Instruction Set Architecture Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
Chapter 14 Introduction to Microprocessors. 2 Microcomputer A self-contained computer system that consists of CPU (central processing unit), memory (RAM.
ITEC 352 Lecture 12 ISA(3). Review Buses Memory ALU Registers Process of compiling.
6-1 Chapter 6 - Datapath and Control Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles of.
Introduction to Computing Systems from bits & gates to C & beyond The Von Neumann Model Basic components Instruction processing.
4-1 Chapter 4 - The Instruction Set Architecture Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
General Concepts of Computer Organization Overview of Microcomputer.
4-1 Chapter 4 - The Instruction Set Architecture Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
Computer Architecture And Organization UNIT-II General System Architecture.
Lecture 14 Today’s topics MARIE Architecture Registers Buses
5-1 Chapter 5 - Datapath and Control Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring Computer Architecture.
8085. Microcomputer Major components of the computer - the processor, the control unit, one or more memory ICs, one or more I/O ICs, and the clock Major.
September 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 2: Implementation of a Simplified Computer Jeremy R. Johnson Wednesday,
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Computer Architecture Lecture 4 by Engineer A. Lecturer Aymen Hasan AlAwady 17/11/2013 University of Kufa - Informatics Center for Research and Rehabilitation.
Teaching Digital Logic courses with Altera Technology
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Capability of processor determine the capability of the computer system. Therefore, processor is the key element or heart of a computer system. Other.
8085 INTERNAL ARCHITECTURE.  Upon completing this topic, you should be able to: State all the register available in the 8085 microprocessor and explain.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Chapter 20 Computer Operations Computer Studies Today Chapter 20.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
CPIT Program Execution. Today, general-purpose computers use a set of instructions called a program to process data. A computer executes the.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
8085 Microprocessor Architecture
Computer Organization and Machine Language Programming CPTG 245
Basic Computer Organization and Design
Today’s Agenda Exam 2 Part 2 (11:15am-12:30pm)
8085 microprocessor.
8085 Microprocessor Architecture
Number Representations and Basic Processor Architecture
Instruction cycle Instruction: A command given to the microprocessor to perform an operation Program : A set of instructions given in a sequential.
8085 Microprocessor Architecture
Vishwani D. Agrawal James J. Danaher Professor
Unit 12 CPU Design & Programming
A Discussion on Assemblers
8-6 The Control Word The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse Fig
8085 Microprocessor Architecture
Computer Systems An Introducton.
Computer Operation 6/22/2019.
Presentation transcript:

Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL

Aug. 24, 2007 ELEC 5200/6200 Project 2 CPU Design Project (Assigned Friday, Aug. 24, 2007) A small RISC CPU is to be designed in the VHDL modeling language, verified via Mentor Graphics "ModelSim EE" simulator and implemented on the DE2 FPGA board from Altera using Quartus II software. Project can be executed individually or in a team of two. The project consists of five parts:  Part 1 - ISA, report due Wednesday, 9/5/07  Part 2 - Datapath, report due Monday, 9/17/07  Part 3 - Datapath Verification, report due Wednesday, 10/17/07  Part 4 - Control Unit, report due Monday, 11/5/07  Part 5 - FPGA Implementation, demo and report due Friday, 11/16/07

Aug. 24, 2007 ELEC 5200/6200 Project 3 CPU Design Project- Part 1 - ISA An instruction set architecture (ISA) for a new microprocessor (μP) is to be designed. ISA is to be designed using RISC design principles, with primary design goals being low cost and a minimal number of clock cycles per instruction. ISA may contain no more than 16 unique instructions. However, you may have multiple formats for a given type of instruction, if necessary.

Aug. 24, 2007 ELEC 5200/6200 Project 4 Of the 16 instructions, one instruction should be HALT instruction. Need not use the pointers like stack pointer, global pointer, etc. The ISA is to support 16-bit data words only. (No byte operands.) All operands are to be 16-bit signed integers (2’s complement). Each instruction must be encoded using one 16-bit word. The ISA is to support linear addressing of 8K, 16-bit words memory. The memory is to be word-addressable only - not byte- addressable.

Aug. 24, 2007 ELEC 5200/6200 Project 5 The ISA should contain appropriate numbers and types of user-programmable registers to support it. The ISA must “support” the following C Programming Language constructs: Assignment operator: variable = expression; Expressions must support only two arithmetic operators: add (+) and subtract (-). Multiply(*) and divide(/) not necessary to implement. Expressions must support Logical operators: And and Or. Data are limited to: a) 16-bit two’s-complement integers (Example: int a;), b) One-dimensional integer arrays (Example: int a[10];) Control flow structures: “if-else” structures, “while” loops, “for” loops These should support the six standard relational operators: ==, !=, >, = Functions (call and return), with parameters able to be passed by value or by reference.

Aug. 24, 2007 ELEC 5200/6200 Project 6 Report: List and description of the user-programmable registers. List and description of the different instruction formats used. For each instruction in your instruction set, list the following: Assembly language for each form of the instruction - mnemonic and operands. Machine language for each form of the instruction - instruction code format, op-code, and operand encoding Justification for including each form of the instruction in your ISA For each C construct listed, provide an example showing how the construct would be “compiled”, i.e. implemented with your instruction set, by writing an example of the C construct and the corresponding assembly language (AL) implementation.

Aug. 24, 2007 ELEC 5200/6200 Project 7 CPU Design Project- Part 2 - Datapath Include the following in your report: A block diagram (register level) of the datapath, with all components and control signals clearly labeled. A description of the function of each component in the datapath. For each instruction of your ISA, list the register transfers, or sequence of register transfers, required to fetch and execute the instruction. Register names should correspond to components in your datapath diagram. For example, add instruction will have following register transfers:-  Fetch : IR <= Memory [PC], PC <= PC + 1;  Decode: A <= Register (IR[11:8]), B <= Register (IR[7:4]), ALUOut <= PC + Sign Extend [IR(3-0)]  Execute: ALUOut <= A + B  Write Register: Register (IR[11:8]) <= ALUOut

Aug. 24, 2007 ELEC 5200/6200 Project 8 Part 2- Datapath Report (cont.) A discussion of the tradeoffs and other design decisions made in developing your datapath. This should include:  Cost vs. speed tradeoffs that you considered.  Why you chose a single-cycle or multi-cycle design.  Decisions related to “shared” and/or “dedicated” components.  Selection of edge-triggered vs. latching registers.  Other decisions that were considered.

Aug. 24, 2007 ELEC 5200/6200 Project 9 CPU Design Project- Part 3 - Datapath Verification Develop and verify a VHDL model of the datapath of your CPU, as described in the block diagram and register transfers defined in Part 2. The CPU must be capable of working with a single memory outside the CPU; the memory for Logic Simulation in ModelSim will be added in Part 4, which will be the RAM block in the Altera Megafunctions Library. This is to be a register-transfer-level (RTL) design (not gate level). The datapath must have following external and internal ports:  External ports: 16-bit bidirectional databus and address bus, various control and status signals, 16-bit port named “outvalue” which is used to display the contents of the particular register of the 16 registers in the final part of the project,  Internal port: 4-bit port named “inr” which is the register number of the particular register you want to select to display its content.

Aug. 24, 2007 ELEC 5200/6200 Project 10 Ports “outvalue” and “inr” along with clock and reset should be the only ports in your top-level of the design which will then be connected to the FPGA board. The datapath should be tested thoroughly by forcing the control inputs to selected values to mimic the operation of a control unit. Major Datapath Components likely to be needed:  ALU: The ALU must provide all arithmetic and logic functions required to support your instruction set. It should not provide unnecessary functions.  Register file: Design as a multi-port “memory array”. DO NOT instantiate individual registers !  Sign/zero extension logic, as appropriate, for ALU inputs.  Program counter (PC).  Instruction register (IR) (if required).  Assorted multiplexers for data paths and register address inputs.

Aug. 24, 2007 ELEC 5200/6200 Project 11 Report: Control Signal Table VHDL codes and List Format of the Simulations of each unique component used in the datapath VHDL code and List format of the Simulation of the top-level design of the datapath. Please annotate and explain your simulations.

Aug. 24, 2007 ELEC 5200/6200 Project 12 CPU Design Project- Part 4 - Control Unit Design and test a VHDL “behavioral” model of the control unit to realize the behavior described in your Control Signal Table from the previous part of the project. The test program will be provided to you. Hand compile the program into binary code and then use this code and modify the given RAM_init.mif file according to your program code. Using this.mif file create a 16 bit memory module from Altera’s Megafunction Library as explained in MegaWizard Plug-In Manager Manual. A.vhd file will be created in your working directory. Include this memory.vhd file in your datapath. Create a CPU component by instantiating and connecting your control unit and datapath components. CPU I/O ports should be limited to a clock, reset, inr as the input ports and outvalue as the output port.

Aug. 24, 2007 ELEC 5200/6200 Project 13 Report: VHDL code and simulation results of the Control Unit. Your assembly language code and binary code of the test program given to you. Final simulation of the test program of the top-level design. Show a sufficient set of control signals to demonstrate correct operation of each instruction (control unit state, address bus, data bus, ALU output, register file outputs, register file input, memory control signals, etc.) On the simulation listing, annotate by writing the corresponding assembly language instruction next to each execute cycle and highlighting the “significant” result register or bus value.

Aug. 24, 2007 ELEC 5200/6200 Project 14 CPU Design Project- Part 5 - Hardware (FPGA) Implementation and Demo Follow the Quartus II and DE2 Manuals given to you for designing and implementing your circuit on the FPGA. Clock may be connected to any of the two free- running clock frequencies available on the board, 27MHz and 50MHz. But for debugging your design using the manual clock by connecting it to one of 4 keys on the board will be an advantage and will make debugging easier. Run the program given to you and verify the results with your simulation in Part 4. You will demonstrate a working implementation of your design on a DE2 Board.

Aug. 24, 2007 ELEC 5200/6200 Project 15 Part 5 Report Write a final report (no longer than one page) on: A.What you learned from the project. B.What would you do differently next time. C.Your advice to others doing such a project.