LAB 7: G-CPU: Assembly Programming and Hand Assembly
|
|
- Agatha Merritt
- 5 years ago
- Views:
Transcription
1 Page 1/5 OBJECTIVE The objectives of this lab are to understand the structure of a functioning simple computer (the G-CPU), to learn how to write assembly code, and to understand the correspondence of the assembly language with the timing simulation. MATERIALS G-CPU documentation (on the web site) Assembly_List.xlsx (on the website) INTRODUCTION With the knowledge gained in earlier labs, you now have a detailed understanding of the internal structure of a simple Central Processing Unit (CPU). Instead of continuing with your previous existing hardware designs, you are now given a more complete CPU, which is denoted as the General CPU (or G-CPU). In Part A of this lab you will dissect and simulate the assembly code that is given with the G-CPU. In Part B, you will write a G-CPU assembly code program. You will then simulate this new code in Quartus in order to observe the G-CPU bus and register changes during program execution. MATERIALS The website has several files that describe the G-CPU. These files are available in both zipped and un-zipped formats. You may want to print out each of the documents in the zip file found under the heading Zipped G-CPU Documentation and Simulation files or these same files in the folder called Documentation and Simulation files. Printable Quartus bdf and mif can be downloaded and printed from the website under the heading Documentation and Simulation files. Printing is NOT necessary. I distributed these printouts in class. SPECIFICATIONS 1. Since the G-CPU is too large to fit into our CPLD device, we will need to do a functional compilation/simulation for the G-CPU. Change the device to a Cyclone V, use the last device in the Cyclone V list of devices, and use a functional qlation/simulation. If you have not already added the Cyclone V to your installation of Quartus, see the ROM Creation Tutorial for Quartus Prime Lite Edition 17.1 to learn how to do so. 2. Download GCPU archive file: gcpu-u18.qar. 3. Double click on the file gcpu-u18.qar (or Open Quartus and select Project Restore Archived Project ). a. Specify a Destination folder:. I suggest c:/3701/gcpu. b. In Quartus, open the file computer.vwf. This will open the MultiSim Simulator Waveform Editor. Select Simulation, then Simulation Settings, then the Restore Defaults button on the bottom of this screen, and then select Save. This will fix the path information for the destination you used for the GCPU files. 4. The project has many folders, all under the destination folder you selected above. The main (top level) file, computer.bdf, is in this folder. The mif files and the simulation (.vwf) files are also in this folder. MIF FILE CREATION INFORMATION Note: When opening a MIF file in Quartus, be sure to select Open as: Text (not Auto). If you use auto, all the comments described below will disappear! When you write new code, you will hand assemble your code and put it into the eprom.mif file. As observed in Part I., this file already has a sample program, which you can use as a template. Key points related to this file are: 1. The comments are surrounded by % signs. The left most number (or numbers) represents the address (or range of addresses) followed by the hex value to the right. For example: 37 :7C % Address=$37, Data=$7C% [37..42] :A3 % Address=$37-$42, Data=$A3% 2. The last line of code in the eprom.mif, file (after your program) should insert zeroes for all the remaining data in the ROM. This is accomplished as shown below: [XX..FFF] :00 %zero remaining memory% where XX represents the next address after the last address of your code. For example, if the last byte of your assembly program resides in memory location $25, then replace XX by $26 as shown below: [26..FFF] :00 %zero remaining memory% This will initialize all your remaining unused memory to a known value of zero. (A zero happens to represent the TAB instruction.) Note: When opening a MIF file in Quartus, be sure to select Open as: Text (not Auto). If you use auto, all the comment described below will disappear! PART A. SIMULATING EXISTING CODE (Prelab) 1. Open the file called eprom.mif in the main folder. IMPORTANT: Open this file after setting Open as to Text from the default Auto. If you already opened the file with Auto, do not save any changes you make. Close it and open it with Open as: set to Text. The file eprom.mif is the code that is run out of reset (Address = 0) at start. 2. Describe the purpose of this program. 3. The data for the program in eprom.mif can be found in the file sram.mif. This is just a sample data file; later you will modify this file to create different data to test the program. Create a small table (see Table 1) that describes how the registers change as the program is executed. For each row in the table, enter the value
2 Page 2/5 in columns labeled A through PC, assuming that the instruction has already been completed. 4. Compile the computer.bdf file (functionally) with the give program file eprom.mif and data file sram.mif. Before simulating the first time (after restoring the archive), in the Simulation Waveform Editor, select Simulation Simulation Settings; then select Restore Defaults at the bottom. Functionally simulate this design. The simulation should include MCLK, CLOCK, RESET, STATE, ADDR, DATA, R_/W, IR, A, B, X, Y, ALU, N_FLG, and Z_FLG. 5. I suggest that you use the file computer.vwf already available after you open the gcpu_f12.qar file. Perform a functional simulation with the computer.vwf file. 6. Compare the hand simulation results in your table with the Quartus simulation results in computer.vwf. 7. Use your table to identify when the flags (i.e., status bits Z and N) change and specify why they are set at a particular time. Annotate your table and the Quartus-generated simulation to indicate what is going on during each step of the simulation. You do not have to include the entire simulation in your submitted lab document, just enough to prove that you understand what is happening. 8. Use your table and the simulation to identify where data is being written into memory or read from memory. Pay close attention to the address bus. Annotate your table and the Quartus-generated simulation with this information. 9. Modify the data in sram.mif and repeat steps 4-7 above. Note: When you change data in either the eprom.mif file or the sram.mif file, you must recompile the computer.bdf file. Include the simulation results in your submitted lab document. 10. Compile all the documents described above into your lab document. PART B. NEW PROGRAM CREATION (Prelab) 1. Write a program to get the higher of Input Data Table two numbers. The input table is OutAddrLow arranged as following: OutAddr, OutAddrHigh TabSize, Num1a, Num1b, Num2a, TabSize Num2b, The input table is Num1a arranged as following: OutAddr, Num1b TabSize, Num1a, Num1b, Num2a, Num2a Num2b Num2b, Your task is to write a Num3a program that creates an output table Num3b that starts with max(num1a, Num4a Num1b), then has max(num2a, Num4b Num2b), etc. OutAddr is the starting address of the output table. TabSize is the number of number pairs for NumTabSizea which the maximum will be NumTabSizeb determined. When you have completed the data processing, execute an endless loop (like a dog chasing its tail). 2. Assume that the input table is in ROM starting at $037E. It could just as well be in SRAM at address $137E, for example. (Note that the output table must be in SRAM, since you don t write to ROM.) To test your program, you will have to create the program and some data in the ROM (eprom.mif) file as well as setup the SRAM (sram.mif) file for storing your results. (If the data was instead in the sram.mif file, your program should still work, as long as you knew the starting location.) 3. Use the X register to point to the data that is read from the input table and use the Y register to point to the output table. 4. REG A should be used as a loop counter. REG B should be used for calculations. (Hint: You may need to temporarily store the loop counter in memory, i.e., SRAM, while REG A is used for other purposes.) 5. Hand assemble your program and write a list file that has addresses, opcodes (machine codes), assembly language instructions, and comments. To create the list file, use Table 2 or one of the following two documents on our website: Assembly_List.docx or Assembly_List.xlsx. Copy the completed table into your lab document. 6. Verify the program works by creating a eprom.mif. For this verification, use OutAdd = $1F00, TabSize = 3, and use three sets of data. Predict the simulation result with a table like that described in Part 1. Annotate this table as in Part 1. The simulation results and annotations with the instructions should be submitted in your lab document. Your program must work (with no changes) for a completely different sram.mif file, i.e., do not embed the number $1F00 for the output or 3 (the table size) in your program. 7. Copy the list file into your lab document. Also include the annotated table from Part A in your lab document. Submit (through Canvas) this file along with your design archives, and summary document. Also as usual, bring a printout of your Summary document to lab. Finally, bring a copy of the GCPU documents to your lab. Note: If you wish to use variables or store values in your code, you must reference the RAM area of you memory space. RAM is located in $ $1FFF. ROM is read only. Note: When you change data in either the eprom.mif file or the sram.mif file, you must recompile the computer.bdf file before trying to simulate. IN-LAB REQUIREMENTS 1. Show your TA the pre-lab work associated with Part A results. Your TA will ask you general questions on the operation of the code in simulation. 2. Show your TA the pre-lab work associated with Part B results. Your TA will again ask you general questions on the operation of the code in simulation.
3 Page 3/5 3. Your TA will give you another input table with which to test your algorithm from Part B. Your TA will then ask you to make another table. You might want to make a blank table for this purpose and bring it to your lab. 4. The TA will now ask you to write a short program (very simple task). Create and simulate the desired program (by making another table). You might want to make another blank table for this purpose and bring it to your lab. Table 1: Sample table for Prelab Part A, #3 (and elsewhere). Notes: All values in hexadecimal except Z & N. The first row past the header row is an example row. Address(es) Opcodes Instruction A B X Y Z N PC LDX #$
4 Page 4/5
5 Page 5/5 Table 2: Sample table for Prelab Part B, #5. This table is also available on our website in Assembly_List.docx and Assembly_List.xlsx. Address (hex) Opcodes (hex) Assembly Language Instructions Comments
University of Florida EEL 3701 Drs. Eric M. Schwartz & Karl Gugel. Quartus ROM Creation Instructions (in Quartus Prime Lite 17.1)
Page 1/5 Problem: You have an ASM or CPU that you would like to control/test from a ROM (EEPROM or Flash). How can you simulate the ROM under Quartus? Solution: Pick a device that has memory, e.g., Cyclone
More informationUniversity of Florida EEL 3701 Dr. Eric M. Schwartz Madison Emas, TA Department of Electrical & Computer Engineering Revision 1 5-Jun-17
Page 1/14 Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate and two inverters under the Quartus environment. Upon completion
More informationECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008
1 ECSE-323 Digital System Design Lab #1 Using the Altera Quartus II Software Fall 2008 2 Introduction. In this lab you will learn the basics of the Altera Quartus II FPGA design software through following
More informationUniversity of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16
Page 1/14 Quartus Tutorial with Basic Graphical Gate Entry and Simulation Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate
More informationEE 231 Fall EE 231 Lab 2
EE 231 Lab 2 Introduction to Verilog HDL and Quartus In the previous lab you designed simple circuits using discrete chips. In this lab you will do the same but by programming the CPLD. At the end of the
More informationUniversity of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual
University of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual Lab 1: Using NIOS II processor for code execution on FPGA Objectives: 1. Understand the typical design flow in
More informationCPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND:
CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF NEVADA, LAS VEGAS GOALS: Getting familiar with DE2 board installation, properties, usage.
More informationEE 231 Fall Lab 1: Introduction to Verilog HDL and Altera IDE
Lab 1: Introduction to Verilog HDL and Altera IDE Introduction In this lab you will design simple circuits by programming the Field-Programmable Gate Array (FPGA). At the end of the lab you should be able
More informationMark II Aiken Relay Calculator
Introduction to Embedded Microcomputer Systems Lecture 6.1 Mark II Aiken Relay Calculator 2.12. Tutorial 2. Arithmetic and logical operations format descriptions examples h 8-bit unsigned hexadecimal $00
More informationLaboratory Exercise 5
Laboratory Exercise 5 Bus Communication The purpose of this exercise is to learn how to communicate using a bus. In the designs generated by using Altera s SOPC Builder, the Nios II processor connects
More informationCSE 141L Computer Architecture Lab Fall Lecture 3
CSE 141L Computer Architecture Lab Fall 2005 Lecture 3 Pramod V. Argade November 1, 2005 Fall 2005 CSE 141L Course Schedule Lecture # Date Day Lecture Topic Lab Due 1 9/27 Tuesday No Class 2 10/4 Tuesday
More informationLaboratory Exercise 8
Laboratory Exercise 8 Memory Blocks In computer systems it is necessary to provide a substantial amount of memory. If a system is implemented using FPGA technology it is possible to provide some amount
More informationLab3: I/O Port Expansion
Page 1/5 Revision 2 6-Oct-15 OBJECTIVES Explore and understand the implementation of memory-mapped I/O. Add an 8-bit input port and an 8-bit output port. REQUIRED MATERIALS EEL 3744 (upad and upad Proto
More informationLab 6: Integrated the Decoder with Muti-bit Counter and Programming a FPGA
Lab 6: Integrated the Decoder with Muti-bit Counter and Programming a FPGA For your report: The problem written in English The flowchart or function table to solve the problem if it is necessary The design
More informationEMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 6: Quartus II Tutorial and Practice. Name: Date:
EXPERIMENT # 6: Quartus II Tutorial and Practice Name: Date: Equipment/Parts Needed: Quartus II R Web Edition V9.1 SP2 software by Altera Corporation USB drive to save your files Objective: Learn how to
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based
More informationLaboratory 4 Design a Muti-bit Counter
Laboratory 4 Design a Muti-bit Counter Background A. Approach I: Design 3-bit counter with and clear T-type flip-flop is shown in Figure 1. A T flip-flop is obtained from a JK flip-flop by tying the J
More informationLab3: I/O Port Expansion
Page 1/6 Revision 0 26-Jan-16 OBJECTIVES Explore and understand the implementation of memory-mapped I/O. Add an 8-bit input port and an 8-bit output port. REQUIRED MATERIALS EEL 3744 (upad and upad Proto
More informationTotal: EEL 3701 Digital Logic & Computer Systems Final Exam Fall Semester 2007 COVER SHEET: Re-Grade Information: 1 (10) 2 (10) 3 (10) 4 (14) 5 (14)
COVER SHEET: Prob. Points: Re-Grade Information: Total: 1 (10) 2 (10) 3 (10) 4 (14) 5 (14) 6 (15) 7 (15) 8 (12) (100) 1 Remember to show ALL work here and in EVERY problem on this exam. [10%] 1. Circuit
More informationComputer Systems and -architecture
Computer Systems and -architecture Project 5: Datapath 1 Ba INF 2018-2019 Brent van Bladel brent.vanbladel@uantwerpen.be Don t hesitate to contact the teaching assistant of this course. M.G.305 or by e-mail.
More informationIf the display shift operation is used on a 20 x 4 display, the addressing is shifted as follows:
If the display shift operation is used on a 2 x 4 display, the addressing is shifted as follows: Left Shift Column 2 3... 8 9 2 line 2 3 2 3 4 line 2 4 42 43 52 53 54 line 3 5 6 7 26 27 28 line 4 55 56
More informationENGR 2031 Digital Design Laboratory Lab 7 Background
ENGR 2031 Digital Design Laboratory Lab 7 Background What we will cover Overview of the Simple Computer (scomp) Architecture Register Flow Diagrams VHDL Implementation of scomp Lab 7 scomp Architecture
More informationLab 2: Introduction to Verilog HDL and Quartus
Lab 2: Introduction to Verilog HDL and Quartus September 16, 2008 In the previous lab you designed simple circuits using discrete chips. In this lab you will do the same but by programming the CPLD. At
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
NIOS CPU Based Embedded Computer System on Programmable Chip 1 Lab Objectives EE8205: Embedded Computer Systems NIOS-II SoPC: PART-I This lab has been constructed to introduce the development of dedicated
More informationUniversity of California, Davis Department of Electrical and Computer Engineering. Lab 1: Implementing Combinational Logic in the MAX10 FPGA
1 University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS II Winter Quarter 2018 Lab 1: Implementing Combinational Logic in the MAX10 FPGA Objective: This
More information7 8 9 C. PRELAB REQUIREMENTS You must adhere to the Lab Rules and Policies document for every lab.
Page 1/ Revision 1 OBJECTIVES To understand how a keypad functions as a raster scan input device and to learn how to interface a keypad to a microprocessor. Further explore and understand the implementation
More informationSCHEMATIC DESIGN IN QUARTUS
SCHEMATIC DESIGN IN QUARTUS Consider the design of a three-bit prime number detector. Figure 1 shows the block diagram and truth table. The inputs are binary signals A, B, and C while the output is binary
More informationFinal Project: MIPS-like Microprocessor
Final Project: MIPS-like Microprocessor Objective: The objective of this project is to design, simulate, and implement a simple 32-bit microprocessor with an instruction set that is similar to a MIPS.
More informationLaboratory 4 Design a Muti-bit Counter and Programming a FPGA
Laboratory 4 Design a Muti-bit Counter and Programming a FPGA For your report: The problem written in English The flowchart or function table to solve the problem if it is necessary The design entry included
More informationQuartus II Prime Foundation
Quartus II Prime Foundation Course Description This course provides all theoretical and practical know-how to design programmable devices of ALTERA with Quartus Prime design software. The course combines
More informationECE 437 Computer Architecture and Organization Lab 6: Programming RAM and ROM Due: Thursday, November 3
Objectives: ECE 437 Computer Architecture and Organization Lab 6: Programming RAM and ROM Due: Thursday, November 3 Build Instruction Memory and Data Memory What to hand in: Your implementation source
More informationCET4805 Component and Subsystem Design II. EXPERIMENT # 5: Adders. Name: Date:
EXPERIMENT # 5: Adders Name: Date: Equipment/Parts Needed: Quartus II R Web Edition V9.1 SP2 software by Altera Corporation USB drive to save your files Objective: Design a half adder by extracting the
More informationUNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015
UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180A DIGITAL SYSTEMS I Winter 2015 LAB 1: Introduction to Quartus II Schematic Capture and ModelSim Simulation This
More informationSynaptic Labs (S/Labs) HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices
Benjamin Gittins Chief Technical Officer Mbl: +995 551 026 588 b.gittins@synaptic-labs.com Synaptic Laboratories Ltd. Company ID 41272593 www.synaptic-labs.com info@synaptic-labs.com Monday, July 16, 2018
More informationPRELAB! Read the entire lab, and complete the prelab questions (Q1-Q3) on the answer sheet before coming to the laboratory.
PRELAB! Read the entire lab, and complete the prelab questions (Q1-Q3) on the answer sheet before coming to the laboratory. 1.0 Objectives In the last lab we learned that Verilog is a fast and easy way
More informationEE 469 Project 5 Designing a Pipelined CPU. Bring it Together Phase 2. University of Washington - Department of Electrical Engineering
EE 469 Project 5 Designing a Pipelined CPU Bring it Together Phase 2. University of Washington - Department of Electrical Engineering Matt Staniszewski, Hoon Kwon, Andrew Lawrence, and James K. Peckol
More informationLaboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication
Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.
More informationUNIVERSITI MALAYSIA PERLIS
UNIVERSITI MALAYSIA PERLIS SCHOOL OF COMPUTER & COMMUNICATIONS ENGINEERING EKT 124 LABORATORY MODULE INTRODUCTION TO QUARTUS II DESIGN SOFTWARE : INTRODUCTION TO QUARTUS II DESIGN SOFTWARE OBJECTIVES To
More informationFor questions please contact: Lei-Ann Arceneaux, 4/13/2011
TMALab TMALab is a web-based function in Spectrum Plus, working for Tissue Microarrays (TMAs). TMAs allow researchers to validate new biomarkers or discover and dissect molecular pathways in hundreds of
More informationHyperBus Memory Controller (HBMC) Tutorial
Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T001A: A Qsys based Nios II Reference design with a simple self test of the HyperFlash and HyperRAM device using S/Labs' HBMC IP This tutorial
More informationE3940 Microprocessor Systems Laboratory. Introduction to the Z80
E3940 Microprocessor Systems Laboratory Introduction to the Z80 Andrew T. Campbell comet.columbia.edu/~campbell campbell@comet.columbia.edu E3940 Microprocessor Systems Laboratory Page 1 Z80 Laboratory
More informationSFWR ENG 2DA4 Lab 1. Announcements: Marking Scheme: Lab Safety Manual:
SFWR ENG 2DA4 Lab 1 First lab Week of: Sept. 17, 2018 Prep Due week of: (8:40/14:40), Sept. 24, 2018 Demo Due Week of: (11:20/17:20), Sept. 24, 2018 Assignment due in class: 13:40, Sept. 28, 2018 Announcements:
More informationThe 8051 Microcontroller and Embedded Systems
The 8051 Microcontroller and Embedded Systems CHAPTER 2 8051 ASSEMBLY LANGUAGE PROGRAMMING OBJECTIVES List the registers of the 8051 microcontroller Manipulate data using the registers and MOV instructions
More informationEXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER
OBJECT: EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER To understand the structure and operating instruction of the microprocessor trainer. INTRODUCTION: The MKT 8085 is a single-board microcomputer,
More informationSOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003
SOPC LAB1 I. Introduction The purpose of this lab is to familiarize you with all the items in the kit. This tutorial tells you how to develop FPGA system in Quartus II. You are ready to begin using the
More informationCOMP 303 MIPS Processor Design Project 3: Simple Execution Loop
COMP 303 MIPS Processor Design Project 3: Simple Execution Loop Due date: November 20, 23:59 Overview: In the first three projects for COMP 303, you will design and implement a subset of the MIPS32 architecture
More informationCPU. Fall 2003 CSE 207 Digital Design Project #4 R0 R1 R2 R3 R4 R5 R6 R7 PC STATUS IR. Control Logic RAM MAR MDR. Internal Processor Bus
http://www.engr.uconn.edu/~barry/cse207/fa03/project4.pdf Page 1 of 16 Fall 2003 CSE 207 Digital Design Project #4 Background Microprocessors are increasingly common in every day devices. Desktop computers
More informationECE/CS 3710 Computer Design Lab Lab 2 Mini-MIPS processor Controller modification, memory mapping, assembly code
ECE/CS 3710 Computer Design Lab Lab 2 Mini-MIPS processor Controller modification, memory mapping, assembly code Due Tuesday, September 22nd, 2009 Laboratory Objectives Understand and extend a very very
More informationComputer Architecture 2/26/01 Lecture #
Computer Architecture 2/26/01 Lecture #9 16.070 On a previous lecture, we discussed the software development process and in particular, the development of a software architecture Recall the output of the
More informationAltera Quartus II Tutorial
Altera Quartus II Tutorial Part II (For ECE 465 Students at UIC) Sajjad Rahaman TA for ECE 465, Spring 2009 Department of Electrical and Computer Engineering University of Illinois at Chicago mrahaman@ece.uic.edu
More informationLab 8: Debugging Embedded Devices and Software
Lab 8: Debugging Embedded Devices and Software Summary: Given pre-written code, isolate code and functional errors to create a working memory interfacing program. Learning Objectives: Debug and fix pre-written
More informationEECE.2160: ECE Application Programming
Spring 2018 Programming Assignment #10: Instruction Decoding and File I/O Due Wednesday, 5/9/18, 11:59:59 PM (Extra credit ( 4 pts on final average), no late submissions or resubmissions) 1. Introduction
More informationProblem Set 1 Solutions
CSE 260 Digital Computers: Organization and Logical Design Jon Turner Problem Set 1 Solutions 1. Give a brief definition of each of the following parts of a computer system: CPU, main memory, floating
More informationLab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week
Objectives: Lab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week Build Register File Build Instruction Memory and Data Memory 1. Overview A combinational circuit neither contains
More informationNEW CEIBO DEBUGGER. Menus and Commands
NEW CEIBO DEBUGGER Menus and Commands Ceibo Debugger Menus and Commands D.1. Introduction CEIBO DEBUGGER is the latest software available from Ceibo and can be used with most of Ceibo emulators. You will
More informationMPLAB X IDE PROJECTS Microchip Technology Incorporated. All Rights Reserved DEV Slide 68
MPLAB X IDE PROJECTS 2013 Microchip Technology Incorporated. All Rights Reserved. 17002 DEV Slide 68 MPLAB X IDE Projects What is a project? Definition A Project is defined by a collection of files within
More informationBoard Update Portal based on Nios II Processor with EPCQ (Arria 10 GX FPGA Development Kit)
Board Update Portal based on Nios II Processor with EPCQ (Arria 10 GX FPGA Development Kit) Date: 1 December 2016 Revision:1.0 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY,
More informationEMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 7: VHDL and DE2 Board. Name: Date:
EXPERIMENT # 7: VHDL and DE2 Board Name: Date: Equipment/Parts Needed: Quartus II R Web Edition V9.1 SP2 software by Altera Corporation USB drive to save your files Objective: Learn how to create and modify
More informationUniversity of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA
University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring 2007 Lab 1: Using Nios 2 processor for code execution on FPGA Objectives: After the completion of this lab: 1. You will understand
More informationEXPERIMENT 1. INTRODUCTION TO ALTERA
EXPERIMENT 1. INTRODUCTION TO ALTERA I. Introduction I.I Objectives In this experiment, you will learn computer aided digital design and verification of it using Field Programmable Gate Arrays (FPGA).
More informationASSIGNMENT ECE514 (COMPUTER ORGANIZATION) ASSIGNMENT NO. 3
ASSIGNMENT ECE514 (COMPUTER ORGANIZATION) ASSIGNMENT NO. 3 This is an individual assignment for ECE514. It carries a mark of 10%. The rubric of marks is given in Appendix 3. This assignment is about designing
More informationSynaptic Labs HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices
Benjamin Gittins Chief Technical Officer Mbl: +995 551 026 588 b.gittins@synaptic-labs.com Synaptic Laboratories Ltd. Company ID 41272593 www.synaptic-labs.com info@synaptic-labs.com Monday, July 16, 2018
More informationThe assignments will help you learn Verilog as a Hardware Description Language and how hardware circuits can be developed using Verilog and FPGA.
General Instructions The assignments will help you learn Verilog as a Hardware Description Language and how hardware circuits can be developed using Verilog and FPGA. You have to come to the lab during
More informationBasic Concepts. Task One: The Basic Latch. Laboratory Nine Latches, RAM & Android Architecture
Laboratory Nine Latches, RAM & Android Architecture Basic Concepts 1. The most basic element of binary storage is the latch, consisting of 2 cross-coupled NAND (or NOR) gates. 2. The D-latch with Enable
More informationCSEE W4840 Embedded System Design Lab 1
CSEE W4840 Embedded System Design Lab 1 Stephen A. Edwards Due January 31, 2008 Abstract Learn to use the Altera Quartus development envrionment and the DE2 boards by implementing a small hardware design
More informationTutorial for Altera DE1 and Quartus II
Tutorial for Altera DE1 and Quartus II Qin-Zhong Ye December, 2013 This tutorial teaches you the basic steps to use Quartus II version 13.0 to program Altera s FPGA, Cyclone II EP2C20 on the Development
More informationHomework #4 Processor Core Design
Homework #4 Processor Core Design Last updated 2016-10-21, changes highlighted in yellow. For this homework, you will be building a single-cycle processor in Quartus II using Structural VHDL, downloading
More informationEE431 April 6, 2009 Midterm Material on Assignments 6 to 10
EE431 April 6, 2009 midterm 1 EE431 April 6, 2009 Midterm Material on Assignments 6 to 10 Date: Monday April 6, 2009 Time = 2 hours Text Books, Notes and Computer Files Only NO CELL PHONES or LAPTOPS Preamble
More informationHyperBus Memory Controller (HBMC) Tutorial
Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T002A: A Qsys based Nios II reference design using Intel s MSGDMA to benchmark memory copy operations on the HyperRAM device using S/Labs' HBMC
More informationHyperBus Memory Controller (HBMC) Tutorial
Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T002A: A Qsys based Nios II reference design using Intel s MSGDMA to benchmark memory copy operations on the HyperRAM device using S/Labs' HBMC
More informationLab #12: ArithmeticLogic Unit
Lab #12: ArithmeticLogic Unit Zack Mattis Lab: 3/27/17 Report: 4/8/17 Partner: Brendan Schuster Purpose In this lab, a fully functioning 4-bit Arithmetic Logic Unit (ALU) was designed and fully implemented
More informationPRELAB! Read the entire lab, and complete the prelab questions (Q1- Q3) on the answer sheet before coming to the laboratory.
PRELAB! Read the entire lab, and complete the prelab questions (Q1- Q3) on the answer sheet before coming to the laboratory. 1.0 Objectives In this lab you will get familiar with the concept of using the
More informationTutorial on Quartus II Introduction Using Schematic Designs
Tutorial on Quartus II Introduction Using Schematic Designs (Version 15) 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD
More informationGeneric Serial Flash Interface Intel FPGA IP Core User Guide
Generic Serial Flash Interface Intel FPGA IP Core User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Generic
More informationECE 3210 Laboratory 1: Develop an Assembly Program
ECE 3210 Laboratory 1: Develop an Assembly Program Spring 2018 1 Objective To become familiar with the development system s software: screen editor, assembler, linker, and debugger. After finishing this
More informationThe Itanium Bit Microprocessor Report
The Itanium - 1986 8 Bit Microprocessor Report By PRIYANK JAIN (02010123) Group # 11 Under guidance of Dr. J. K. Deka & Dr. S. B. Nair Department of Computer Science & Engineering Indian Institute of Technology,
More informationDigital Systems Design
Digital Systems Design Memory Implementation on Altera CYCLONE V Devices Electrical & Computer Engineering Dr. D. J. Jackson Lecture 6-1 Embedded Memory 10 Kb M10K blocks blocks of dedicated memory resources
More informationChapter 2 Getting Hands on Altera Quartus II Software
Chapter 2 Getting Hands on Altera Quartus II Software Contents 2.1 Installation of Software... 20 2.2 Setting Up of License... 21 2.3 Creation of First Embedded System Project... 22 2.4 Project Building
More informationIntel Stratix 10 Low Latency 40G Ethernet Design Example User Guide
Intel Stratix 10 Low Latency 40G Ethernet Design Example User Guide Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Quick Start Guide...
More informationComputer Organization II CMSC 3833 Lecture 33
Term MARIE Definition Machine Architecture that is Really Intuitive and Easy 4.8.1 The Architecture Figure s Architecture Characteristics: Binary, two s complement Stored program, fixed word length Word
More informationTutorial 2 Implementing Circuits in Altera Devices
Appendix C Tutorial 2 Implementing Circuits in Altera Devices In this tutorial we describe how to use the physical design tools in Quartus II. In addition to the modules used in Tutorial 1, the following
More informationUNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING
UNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING Experiment PCO: Principles of Computer Operation Location: Part I Lab., CYC 102. Objective: The objective is to learn the basic
More informationLab 2: Introduction to LabVIEW 8.5
Lab 2: Introduction to LabVIEW 8.5 INTRODUCTION: This lab is designed as an introduction to using LabVIEW. In this lab you will run through some tutorials to get a basic understanding of some of the LabVIEW
More informationUniversity Program 3 Kit
University Program 3 Kit VLSI Tutorial : LEDs & Push Buttons Version 02.00 System Level Solutions Inc. (USA) 14702 White Cloud Ct. Morgan Hill, CA 95037 2 System Level Solutions Copyright 2003-2005 System
More informationTUTORIALS FOR MAX3000A CPLD DEVICES
TUTORIALS FOR MAX3000A CPLD DEVICES WEL LAB 6-BIT-UP-DOWN-COUNTER CONTENTS: INTRODUCTION.. GETTING STARTED. DESIGN ENTRY. PIN ASSIGNMENT. PROGRAMMING CPLD DEVICE. REFERENCES. WEL LAB, IIT BOMBAY Page 2
More informationDesigning with Nios II Processor for Hardware Engineers
Designing with Nios II Processor for Hardware Engineers Course Description This course provides all theoretical and practical know-how to design ALTERA SoC FPGAs based on the Nios II soft processor under
More informationMenu Computer Organization Programming Model for the an example microprocessors (the G-CPU & Motorola 68HC11) Assembly Programming Look into my...
Menu Computer Organization Programming Model for the an example microprocessors (the G-CPU & Motorola 68HC11) Assembly Programming Look into my... See examples on web: DirAddr.asm, ExtAddr.asm, IndAddr.asm,
More informationLAB 2: INTRODUCTION TO LOGIC GATE AND ITS BEHAVIOUR
LAB 2: INTRODUCTION TO LOGIC GATE AND ITS BEHAVIOUR OBJECTIVE 1. To verify the operation of OR, AND, INVERTER gates 2. To implement the operation of NAND and NOR gate 3. To construct a simple combinational
More informationTutorial on Quartus II Introduction Using Verilog Code
Tutorial on Quartus II Introduction Using Verilog Code (Version 15) 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD flow
More information2. (2 pts) If an external clock is used, which pin of the 8051 should it be connected to?
ECE3710 Exam 2. Name _ Spring 2013. 5 pages. 102 points, but scored out of 100. You may use any non-living resource to complete this exam. Any hint of cheating will result in a 0. Part 1 Short Answer 1.
More informationCS 105 Review Questions #3
1 CS 105 Review Questions #3 These review questions only include topics since our second test. To study for the final, please look at the first two review documents as well. Almost all of these questions
More information5 Computer Organization
5 Computer Organization 5.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: List the three subsystems of a computer. Describe the
More informationCSCB58 - Lab 0. Intro to The Lab & The DE2 Board. Prelab /4 Part I (in-lab) /1 Part II (in-lab) /1
CSCB58 - Lab 0 Intro to The Lab & The DE2 Board Learning Objectives This week we will be getting you familiar with the lab and the boards that we will be using in later labs. You will also learn how to
More informationME4447/6405. Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics. Instructor: Professor Charles Ume LECTURE 7
ME4447/6405 Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics Instructor: Professor Charles Ume LECTURE 7 Reading Assignments Reading assignments for this week and next
More information(a) Implement processor with the following instructions: addi, sw, lw, add, sub, and, andi, or, ori, nor, sll, srl, mul
Brown University School of Engineering EN1640 Design of Computing Systems Professor Sherief Reda LAB 04 (200 points) Final report due on April 4th (Milestones on March 21 st ) In this lab you are required
More informationEE 231 Fall EE 231 Lab 3
EE 231 Lab 3 Decoders and Multiplexers Decoders and multiplexers are important combinational circuits in many logic designs. Decoders convert n inputs to a maximum of unique 2 n outputs. A special case
More informationUNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING. Principles of Computer Operation
UNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING Experiment PCO: Principles of Computer Operation Location: Part I Lab., CYC 102. Objective: The objective is to learn the basic
More informationContents. Appendix B HDL Entry Tutorial 2 Page 1 of 14
Appendix B HDL Entry Tutorial 2 Page 1 of 14 Contents Appendix B HDL Entry Tutorial 2...2 B.1 Getting Started...2 B.1.1 Preparing a Folder for the Project...2 B.1.2 Starting Quartus II...2 B.1.3 Creating
More informationTRAVEL AUTHORIZATIONS
TRAVEL AUTHORIZATIONS TABLE OF CONTENTS Overview... 2 Responsibilities... 2 Delegate Entry Authority to Other Users... 2 Travel Authorization Tips & Reminders... 3 Create and Manage... 4 Create a Travel
More information