Lab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week

Size: px
Start display at page:

Download "Lab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week"

Transcription

1 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 a periodic clock signal nor has any provisions for storage. There are no feedbacks involved and the output at all time is dependent on the inputs provided. The name combinational is derived from the combinations of logic gates used for such circuits. A sequential circuit involves feedback and has memory (such as registers and RAM). It also has a periodic clock signal and hence the output is also a function of time in addition to being a function of inputs and previous outputs. The name sequential is derived as the output is produced in sequences as the clock circuit enables and disables the functioning. (A latch is also a sequential circuit but has no clock signal and hence is a special case. It is also the basic building block of any sequential circuit.) Registers have the following key features. Their current "state" depends on the past sequence of inputs they've seen. They respond to a "clock" signal, i.e. they only change behavior or state at the instant in time when the clock signal changes from 0 to 1. This instant is called the "positive edge" of the clock signal. In the pipelined processor design, you need to use on-board RAM for instruction memory and data memory. Note that the instruction memory and data memory are separated. We are following Harvard Architecture. The following documents on the course website are helpful to access RAM. RAM Megafunction User Guide Using the SDRAM Memory on Altera s DE2 Board with VHDL or Verilog Design You will instantiate a register and memory components, store values in them, and retrieve those values in this lab. 2. Register A register is used to remember a multi-bit value for later use. Each register can remember exactly one multi-bit value. We call the value currently remembered in the register the register's value or the value stored by the register. The author (Yifeng Zhu) gratefully acknowledges borrowing parts of this homework assignment from ENGINEERING 100 (Section 700) Introduction to Computing Systems 2006 by Dr. Peter Chen. 1

2 The operation of a register is controlled by four input signals: clock, reset, WriteEnable, and data_in. The data_in has 4 bits in this lab. A register supports two operations (based on the values of these signals): Reset: sets the value of the register to all 0s. A reset operation will occur at the positive edge of the clock if the value of the reset signal at that time is 1. WriteEnable changes the value currently stored in the register to equal the value of the input parameter data_in. For shorthand, we say that we are "writing data_in to the register". A write will occur at the positive edge of the clock if the value of the write signal at that time is 1. The register outputs a multi-bit value, data_out, which is the 4-bit value currently stored in the register. This value changes immediately after the value stored in the register changes. data_in 4 WriteEnable reset A Register 4 data_out clock Figure 1. A simple register that has only 4-bit // file register.v module register( input wire clock, input wire reset, input wire write, input wire [3:0] data_in, output reg [3:0] data_out); clock) begin if (reset == 1'b1) begin data_out <= 4'h0; end else if (write == 1'b1) begin data_out <= data_in; end else begin data_out <= data_out; end end endmodule Read register.v and identify the operations supported by this component (which is a 4-bit register). This module introduces two new Verilog constructs: clock) specifies that the actions in this always block should occur only at the positive edge of the clock. These are called "edge triggered" always blocks. 2

3 <= is used as the assignment operator (instead of the normal = operator) within an edgetriggered always block. 3. Register File A register file is an array of registers. Like a register, a register file is controlled by the signals including clock, reset, WriteEnable and data_in. Like a register, a register file outputs a signal data_out. However, because memory is an array of registers, it needs additional information to control which element of the array is being operated on. This additional information is called the memory's address; it is similar to an array index. For debug purposes, the register file has two extra inputs (read_address_debug, and clock_debug) and one extra output (data_out_debug). The read_address_debug can be set up by the switches on the board, and the data_out_debug can be displayed on the 7-segment LEDs or the LCD. A separate clock_debug allows you to check the value a specific register even when the processor is not running. read_address_1 5 read_address_2 write_data_in data_out_1 write_address WriteEnable 5 A Register File (32 Registers) 32 data_out_2 reset clock read_address_debug 5 32 data_out_debug clock_debug Figure 2. A register file with 32 registers and each register has 32 bits The address is stored in an internal register of the memory. To operate on the register file, one must first write an address to the address port. The current value of the address determines which register is written to or read from on subsequent access operations. 4. Programming RAM and ROM In the pipelined processor design, you need to use RAM on the DE2 boards for instruction memory and data memory, respectively. The following documents on the project website are helpful to access RAM. RAM Megafunction User Guide Using the SDRAM Memory on Altera s DE2 Board with VHDL or Verilog Design 4.1 The RAM Interface The DE2 board provides three types of memory, including 512-Kbyte SRAM, 8-Mbyte SDRAM and 4- Mbyte Flash memory. The SRAM is organized as 256K 16bits, the SDRAM is organized as 3

4 1M 16bits 4 banks, and the Flash memory is 8-bit data bus. The signals needed to communicate with this chip are shown in the figure below. All of the signals, except the clock, can be provided by the SDRAM Controller. The clock signal is provided separately. It has to meet the clock-skew requirements. Note that some signals are active low, which is denoted by the suffix N. 4.2 Using LPM to Access SDRAM and ROM You can use altsyncram LPM provide in Quartus II to access the RAM on the DE2 board. (Quartus II also provides lpm_ram_dq and lpm_rom functions, but they are only for backward compatibility. The altsyncram megafunction is recommended by Altera.) The following briefly summarizes the procedure of using altsyncram. The tutorial Using Library Modules in VHDL Designs describes the usage of MegaWizard to build a desired LPM module. i. In the Memory Compiler category, you can find RAM: 1-PORT LPM ii. Select VHDL or Verilog HDL as the type of output file to create iii. Give the file the name ramlpm.vhd (for VHDL) or ramlpm.v (for verilog) iv. In the next windows, you can customize the RAM configurations, such as the width, clock. You can also initiate the values of RAM using a MIF file. The format of MIF is given in this handout. 4

5 5

6 The following notes are copied from Atlera s RAM Megafunction User Guide. The RAM: 1-PORT MegaWizard Plug-In Manager allows you to specify either of two clocking modes: a single clock mode or a dual clock (input/output) mode. In single clock mode, the read and write operations are synchronous with the same clock. In the Stratix and Cyclone series of devices, a single clock with a clock enable controls all registers of the memory block. Dual clock (input/output) mode operates with two independent clocks: inclock (input clock for write operation) and outclock (output clock for read operation). The input clock controls all registers related to the data input to the memory block, including data, address, byte enables, read enables, and write enables. The output clock controls the data output registers. Synchronous write operations into the memory block use the address[] and data[] ports, which are triggered by the rising edge of the inclock while the we (write enable) port is 6

7 enabled. For asynchronous operation, the address[] and data[] signals must be valid at both edges of the write enable signal. Ideally, the values on the data and address lines should not be changed while the we port is active. 4.3 Memory Initialization Format (MIF) The data of the RAM and Rom can be initialized according to an ASCII text file named Memory Initialization Format (with the extension.mif). The following gives two example MIF files. DEPTH = 256; % Memory depth and width are required % WIDTH = 16; % Enter a decimal number % ADDRESS _RADIX = HEX; % Address and value radixes are optional % DATA-RADIX = HEX; % Enter BIN, DEC, HEX, or OCT; unless % % otherwise specified, radixes = HEX % -- Specify initial data values for memory, format is address : data CONTENT BEGIN [00..FF] : 0000; % Range - Every address from 00 to FF = 0000 % -- Computer Program for A = B + C 00 : 0210; % LOAD A with MEM(10) % 01 : 0011; % ADD MEM(11) to A % 02 : 0112; % STORE A in MEM(12) % 03 : 0212; % LOAD A with MEM(12) check for new value of FFFF % 04 : 0304; % JUMP to 04 (loop forever) % 10 : AAAA; % Data Value of B % 11 : 5555; % Data Value of C % 12 : 0000; % Data Value of A - should be FFFF after running program $ END; Note: If multiple values are specified for the same address, only the last value is used. 5 Lab Instructions and Requirements Please note the following should be implemented in the same project. 7

8 5.1 Build the Register File. a. Implement the simple register shown in Figure 1. Initialize the register value as 0xF0F0F0F0. Verify the correctness of your design via simulation. b. Implement the register file shown in Figure 2. Initialize the register i with a value of i, where i = 0,1,,31. For example, register 11 is initialized as 0x A. Verify the correctness of your design via simulation. 5.2 Build the Data Memory. a. You should be able to read and write SDRAM by using RAM: 1-PORT MegaWizard Plug-In Manager. The output of SDRAM is 32 bits. The SDRAM will be used as the data memory in the project. Note that we are using 32-bit wide data memory to simplify the design since we will use load word (lw). As a result, in one cycle, we can get the data out. b. In MegaWizard, both the input and output can be registered or not registered. First of all, make both registered and test it on the board. Then make the output not registered and test it again on the board. Find out the difference between registered and not registered. c. In MegaWizard, you can use single clock or dual clocks. The dual clocks have separated clocks for inputs and outputs. Make the right choice. d. Initialize the data memory as the following. Please note the data memory address in MIPS code is in terms of bytes, not words. Test your design on the Altera DE2 board using the display and control specification given at the end of this handout. e. Please note that in the MIPS programs, the data segment starts at 0x Since the data size of our test programs is small, thus you can ignore the most significant four bits in the data address. Address Code 1 0x x x x x x x c 0x x x x x x x x c 0x x x x x A 11 0x c 0x B 12 0x x C 13 0x x D 14 0x x E 15 0x c 0x F 16 0x x

9 5.3 Build the Instruction Memory. a. In the project built in Step 1, add a new component that can read ROM by using ROM: 1- PORT MegaWizard Plug-In Manager. The output of ROM is 32 bits. The ROM will be used as the instruction memory in the project. b. In MegaWizard, both the input and output can be registered or not registered. You need to make the right choice for both input and output. c. MegaWizard allow to select single clock or dual clocks. The dual clocks have separated clocks for inputs and outputs. Make the right choice. d. Initialize the instruction memory as the following. Please note the instruction memory address in MIPS code is in terms of bytes, not words. Test your design on the Altera DE2 board using the display and control specification given at the end of this handout. e. Please note that in the MIPS programs, the instruction segment starts at 0x Since the data size of our test programs is small, thus you can ignore the most significant 12 bits in the data address. Instruction Address Code 1 add $3, $2, $1 0x x addu $3, $2, $1 0x x sub $3, $2, $1 0x x subu $3, $2, $1 0x c 0x and $3, $2, $1 0x x or $3, $2, $1 0x x nor $3, $2, $1 0x x slt $3, $2, $1 0x c 0x a 9 sll $3, $2, 1 0x x srl $3, $2, 1 0x x jr $2 0x c 0x nop 0x x

10 5.4 On Board Display and Control Setup INSTR=FFFFFFFF LCD Value = EEEEEEEE HEX7 HEX6 HEX5 HEX4 HEX4 HEX2 HEX1 HEX0 Toggle swiches Register, Instruction Memory or Data Memory Address Program Counter Clock Counter = Clock Control 0: manual clock 1: 1Hz clock 15,16 = LCD Value 00: Register 01: Data 10: Instruction SW[10-14] Instruction Memory Address SW[5-9] Data Memory Address SW[0-4] Register Address 0 Pushbutton Swiches Manual Clock RESET The project is reset by the push button 0 (KEY[0]). The program counter (HEX5 and HEX4) shows the instruction memory address. You might need to modify your register file to add one address input and one data output. The clock counter (HEX0-4) shows how many cycles you design has run and it starts from 0. The LCD has two rows. The first row shows the instruction addressed by the program counter (HEX5 and HEX4). The second row shows the value which is controlled by SW[15-16], which could be a value pointed by a register address SW[0-4], or a data memory address SW[5-9] or an instruction memory address SW[10-14]. The actual address should be shown in HEX7 and HEX6. You might need to modify your memory module to add one address input and one data output. Your lab should be able to run by using two different clocks: (1) a system 1-Hz clock and (2) a manual clock. Use the switch SW[17] to switch between these two clocks. (If SW[17] = 0, the system 1Hz clock is used. Otherwise the manual clock is used.) Using the system clock allows your code to 10

11 automatically complete the test programs. The manual clock is generated by the push button 1 (KEY[1]). For each push, generate a HIGH signal for only one second no matter how long the push button is pressed. Note that the LCD still needs the on-board clock. You can use other LED lights to monitor your control signals. Part 2: Show your Results on LCD and LED Download your code into the DE2 board and dynamically show the Ulam sequence numbers on the LCD screen. You might need to follow some tutorials of DE2 on our project website or altera.com. You can find LCD information (HITACHI HD44780 Dot Matrix LCD) and the DE2 PIN assignment documents on the course project website. Each digit should stay on the LCD for a sufficient amount of time so that we can read it. For example, you could set the clock rate to 0.5Hz. Then every 2 seconds, an Ulam number is shown on the LCD. The numbers should be dynamically shown on the screen, i.e., you cannot just show all numbers together at the first step. Similarly your results should also be shown on the LED simultaneously. A sample Clock, LED LCD driver will be provided. The following shows some diagram of some drivers. LED Controller Push bottom Debounce 11

12 LCD controller Clock Divider The LCD_Display is used to display static ASCII characters and changing hex values from hardware on a two-line LCD display panel. Number_Hex_Digits is used to set the size of the Hex_Display_Data input. Each hex digit displayed requires a 4-bit signal. The reset signal should be active high whenever you want update the LCD display. Make sure that the pins LCD_ON and LCD_BLON are set as active high. These two pins are not set by the controller. You can find more information about the LCD controller in the course project website. LCD_E is actually LCD_EN. The debounce circuit is used to filter mechanical contact bounce in the DE2 s push buttons. A shift register is used to filter out the switch contact bounce. The shift register takes several time spaced samples of the push button input and changes the output only after several sequential samples are the same value. Clock is a clock signal of approximately 100Hz that is used for the internal 50ms switch debounce filter design. The pb_debounced is the output. The output will remain Low until the pushbutton is released. 12

13 ECE 473 Lab 4 TA Checkoff Sheet Total: 50 points Name: Date: Final Grade: TA Signature: You need to demo the following three requirements on the DE2 board. 1) Register file works correctly with manual clock and 1Hz clock (20 points) 2) The instruction memory works correctly with manual clock and 1Hz clock (10 points) 3) The data memory works correctly with manual clock and 1Hz clock (10 points) 13

ECE 437 Computer Architecture and Organization Lab 6: Programming RAM and ROM Due: Thursday, November 3

ECE 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 information

Lab 2 EECE473 Computer Organization & Architecture University of Maine

Lab 2 EECE473 Computer Organization & Architecture University of Maine Lab 2: Verilog Programming Instructor: Yifeng Zhu 50 Points Objectives: 1. Quatus II Programming assignment: PIN assignments, LEDs, switches; 2. Download and test the design on Altera DE2 board 3. Create

More information

ECE 473 Computer Architecture and Organization Project: Design of a Five Stage Pipelined MIPS-like Processor Project Team TWO Objectives

ECE 473 Computer Architecture and Organization Project: Design of a Five Stage Pipelined MIPS-like Processor Project Team TWO Objectives ECE 473 Computer Architecture and Organization Project: Design of a Five Stage Pipelined MIPS-like Processor Due: December 8, 2011 Instructor: Dr. Yifeng Zhu Project Team This is a team project. All teams

More information

Laboratory Exercise 8

Laboratory 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 information

Final Project: MIPS-like Microprocessor

Final 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 information

Designing with ESBs in APEX II Devices

Designing with ESBs in APEX II Devices Designing with ESBs in APEX II Devices March 2002, ver. 1.0 Application Note 179 Introduction In APEX TM II devices, enhanced embedded system blocks (ESBs) support memory structures, such as single-port

More information

Digital Systems Design

Digital 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 information

Laboratory Exercise 9

Laboratory Exercise 9 Laboratory Exercise 9 Figure 1 shows a digital system that contains a number of -bit registers, a multiplexer, an adder/subtracter unit, a counter, and a control unit. Data is input to this system via

More information

Laboratory Exercise 7

Laboratory Exercise 7 Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied

More information

L10: Major/Minor FSMs, Lab 3, and RAM/ROM Instantiation

L10: Major/Minor FSMs, Lab 3, and RAM/ROM Instantiation L10: Major/Minor FSMs, Lab 3, and RAM/ROM Instantiation Acknowledgements: Rex Min 1 Toward FSM Modularity Consider the following abstract FSM: S 0 S 1 S S 3 S 4 S 5 S 6 S 7 S S 9 a 1 d 1 a d a 3 d 3 b

More information

CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND:

CPE 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 information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS 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 information

On-Chip Memory Implementations

On-Chip Memory Implementations On-Chip Memory Implementations Using Cyclone Memory Blocks March 2003, ver. 1.1 Application Note 252 Introduction Cyclone devices feature embedded memory blocks that can be easily configured to support

More information

lpm_rom Megafunction User Guide

lpm_rom Megafunction User Guide lpm_rom Megafunction User Guide 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com Software Version: 4.2 Document Version: 1.0 Document Date: March 2005 Copyright 2005 Altera Corporation.

More information

ENGR 2031 Digital Design Laboratory Lab 7 Background

ENGR 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 information

Verilog HDL: Behavioral Counter

Verilog HDL: Behavioral Counter Verilog HDL: Behavioral Counter This example describes an 8-bit loadable counter with count enable. The always construct, highlighted in red text, describes how the counter should behave. behav_counter.v

More information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

CSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8

CSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8 CSCB58 - Lab 3 Latches, Flip-flops, and Registers Learning Objectives The purpose of this exercise is to investigate the fundamental synchronous logic elements: latches, flip-flops, and registers. Prelab

More information

DKAN0011A Setting Up a Nios II System with SDRAM on the DE2

DKAN0011A Setting Up a Nios II System with SDRAM on the DE2 DKAN0011A Setting Up a Nios II System with SDRAM on the DE2 04 November 2009 Introduction This tutorial details how to set up and instantiate a Nios II system on Terasic Technologies, Inc. s DE2 Altera

More information

ALTERA M9K EMBEDDED MEMORY BLOCKS

ALTERA M9K EMBEDDED MEMORY BLOCKS ALTERA M9K EMBEDDED MEMORY BLOCKS M9K Overview M9K memories are Altera s embedded high-density memory arrays Nearly all modern FPGAs include something similar of varying sizes 8192 bits per block (9216

More information

University of Florida EEL 3701 Drs. Eric M. Schwartz & Karl Gugel. Quartus ROM Creation Instructions (in Quartus Prime Lite 17.1)

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 information

Phase-Locked Loop Reconfiguration (ALTPLL_RECONFIG) Megafunction

Phase-Locked Loop Reconfiguration (ALTPLL_RECONFIG) Megafunction Phase-Locked Loop Reconfiguration (ALTPLL_RECONFIG) Megafunction UG-032405-6.0 User Guide This user guide describes the features and behavior of the ALTPLL_RECONFIG megafunction that you can configure

More information

Laboratory Exercise 3

Laboratory Exercise 3 Laboratory Exercise 3 Latches, Flip-flops, and egisters The purpose of this exercise is to investigate latches, flip-flops, and registers. Part I Altera FPGAs include flip-flops that are available for

More information

LeonardoSpectrum & Quartus II Design Methodology

LeonardoSpectrum & Quartus II Design Methodology LeonardoSpectrum & Quartus II Design Methodology September 2002, ver. 1.2 Application Note 225 Introduction As programmable logic device (PLD) designs become more complex and require increased performance,

More information

University 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 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 information

Digital Systems Laboratory

Digital Systems Laboratory 2014 Fall CSE140L Digital Systems Laboratory Lecture #8910 by Dr. Choon Kim CSE Department, UCSD Lecture #9 1 Practical Sequential Logic Design (Small computer/cpu example) LAB4_tinycpu.pdf Lecture #9

More information

Digital Systems Laboratory

Digital Systems Laboratory 2014 Spring CSE140L Digital Systems Laboratory Lecture #7, 8, 9 by Dr. Choon Kim CSE Department, UCSD Lecture #7,8,9 1 A Practical FSM Example: Small(Tiny) Computer System Design LAB4_tinycpu.pdf Lecture

More information

My First FPGA for Altera DE2-115 Board

My First FPGA for Altera DE2-115 Board My First FPGA for Altera DE2-115 Board 數位電路實驗 TA: 吳柏辰 Author: Trumen Outline Complete Your Verilog Design Assign The Device Add a PLL Megafunction Assign the Pins Create a Default TimeQuest SDC File Compile

More information

ALTERA FPGAs Architecture & Design

ALTERA FPGAs Architecture & Design ALTERA FPGAs Architecture & Design Course Description This course provides all theoretical and practical know-how to design programmable devices of ALTERA with QUARTUS-II design software. The course combines

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS 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 information

Verilog for High Performance

Verilog for High Performance Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes

More information

Using Library Modules in Verilog Designs

Using Library Modules in Verilog Designs Using Library Modules in Verilog Designs This tutorial explains how Altera s library modules can be included in Verilog-based designs, which are implemented by using the Quartus R II software. Contents:

More information

Name EGR 2131 Lab #6 Number Representation and Arithmetic Circuits

Name EGR 2131 Lab #6 Number Representation and Arithmetic Circuits Name EGR 2131 Lab #6 Number Representation and Arithmetic Circuits Equipment and Components Quartus software and Altera DE2-115 board PART 1: Number Representation in Microsoft Calculator. First, let s

More information

CSE140L: Components and Design Techniques for Digital Systems Lab

CSE140L: Components and Design Techniques for Digital Systems Lab CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check

More information

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines ECE 2300 Digital Logic & Computer Organization Spring 2018 More Verilog Finite Machines Lecture 8: 1 Prelim 1, Thursday 3/1, 1:25pm, 75 mins Arrive early by 1:20pm Review sessions Announcements Monday

More information

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools This is a tutorial introduction to the process of designing circuits using a set of modern design tools. While the tools we will be using (Altera

More information

Lab 4 Report. Single Cycle Design BAOTUNG C. TRAN EEL4713C

Lab 4 Report. Single Cycle Design BAOTUNG C. TRAN EEL4713C Lab 4 Report Single Cycle Design BAOTUNG C. TRAN EEL4713C Added Hardware : Andi and Ori : For this instruction, I had to add a zero extender into my design. Which therefore required me to add a mux that

More information

ECE-6170 Embedded Systems Laboratory Exercise 3

ECE-6170 Embedded Systems Laboratory Exercise 3 ECE-6170 Embedded Systems Laboratory Exercise 3 The purpose of this exercise is to learn how to connect simple input and output devices to an FPGA chip and use the Nios II processor to interface with parallel

More information

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: S. Brown,

More information

9. Building Memory Subsystems Using SOPC Builder

9. Building Memory Subsystems Using SOPC Builder 9. Building Memory Subsystems Using SOPC Builder QII54006-6.0.0 Introduction Most systems generated with SOPC Builder require memory. For example, embedded processor systems require memory for software

More information

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1] FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed

More information

COMP 303 MIPS Processor Design Project 3: Simple Execution Loop

COMP 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 information

CSE140 L. Instructor: Thomas Y. P. Lee. March 1, Agenda. Computer System Design. Computer Architecture. Instruction Memory design.

CSE140 L. Instructor: Thomas Y. P. Lee. March 1, Agenda. Computer System Design. Computer Architecture. Instruction Memory design. CSE4 L Instructor: Thomas Y. P. Lee March, 26 Agenda Computer System Design Computer Architecture Instruction Memory design Datapath Registers Program Counter Instruction Decoder Lab4 Simple Computer System

More information

Lab 7 (All Sections) Prelab: Verilog Review and ALU Datapath and Control

Lab 7 (All Sections) Prelab: Verilog Review and ALU Datapath and Control Lab 7 (All Sections) Prelab: Verilog Review and ALU Datapath and Control Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic

More information

R-type Instructions. Experiment Introduction. 4.2 Instruction Set Architecture Types of Instructions

R-type Instructions. Experiment Introduction. 4.2 Instruction Set Architecture Types of Instructions Experiment 4 R-type Instructions 4.1 Introduction This part is dedicated to the design of a processor based on a simplified version of the DLX architecture. The DLX is a RISC processor architecture designed

More information

Introduction to the Altera SOPC Builder Using Verilog Design

Introduction to the Altera SOPC Builder Using Verilog Design Introduction to the Altera SOPC Builder Using Verilog Design This tutorial presents an introduction to Altera s SOPC Builder software, which is used to implement a system that uses the Nios II processor

More information

13. Recommended HDL Coding Styles

13. Recommended HDL Coding Styles 13. Recommed HDL Coding Styles November 2013 QII51007-13.1.0 QII51007-13.1.0 This chapter provides Hardware Description Language (HDL) coding style recommations to ensure optimal synthesis results when

More information

Tutorial 3. Appendix D. D.1 Design Using Verilog Code. The Ripple-Carry Adder Code. Functional Simulation

Tutorial 3. Appendix D. D.1 Design Using Verilog Code. The Ripple-Carry Adder Code. Functional Simulation Appendix D Tutorial 3 This tutorial introduces more advanced capabilities of the Quartus II system. We show how Verilog code is organized and compiled and illustrate how multibit signals are represented

More information

University of California, Davis Department of Electrical and Computer Engineering. Lab 1: Implementing Combinational Logic in the MAX10 FPGA

University 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 information

Problem Set 10 Solutions

Problem Set 10 Solutions CSE 260 Digital Computers: Organization and Logical Design Problem Set 10 Solutions Jon Turner thru 6.20 1. The diagram below shows a memory array containing 32 words of 2 bits each. Label each memory

More information

4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013)

4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013) 1 4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013) Lab #1: ITB Room 157, Thurs. and Fridays, 2:30-5:20, EOW Demos to TA: Thurs, Fri, Sept.

More information

a, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign

a, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign I hope you have completed Part 1 of the Experiment. This lecture leads you to Part 2 of the experiment and hopefully helps you with your progress to Part 2. It covers a number of topics: 1. How do we specify

More information

2. Stratix II Architecture

2. Stratix II Architecture 2. Stratix II Architecture SII51002-4.3 Functional Description Stratix II devices contain a two-dimensional row- and column-based architecture to implement custom logic. A series of column and row interconnects

More information

Implementing PLL Reconfiguration in Stratix & Stratix GX Devices

Implementing PLL Reconfiguration in Stratix & Stratix GX Devices December 2005, ver. 2.0 Implementing PLL Reconfiguration in Stratix & Stratix GX Devices Application Note 282 Introduction Phase-locked loops (PLLs) use several divide counters and delay elements to perform

More information

EE 231 Fall Lab 1: Introduction to Verilog HDL and Altera IDE

EE 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 information

CSC / EE Digital Systems Design. Summer Sample Project Proposal 01

CSC / EE Digital Systems Design. Summer Sample Project Proposal 01 THE CATHOLIC UNIVERSITY OF AMERICA SCHOOL OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE CSC / EE 519-01 Digital Systems Design Summer 2013 Sample Project Proposal 01 Thursday

More information

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one

More information

Chapter 2: Hardware Design Flow Using Verilog in Quartus II

Chapter 2: Hardware Design Flow Using Verilog in Quartus II Chapter 2: Hardware Design Flow Using Verilog in Quartus II 2.1 Introduction to Quartus II System Development Software This chapter is an introduction to the Quartus II software that will be used for analysis

More information

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu.

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu. Memories Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted from Digital Design and Computer Architecture, David Money Harris & Sarah

More information

EE 3170 Microcontroller Applications

EE 3170 Microcontroller Applications EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline

More information

Implementing Double Data Rate I/O Signaling in Stratix & Stratix GX Devices. Introduction. DDR I/O Elements. Input Configuration

Implementing Double Data Rate I/O Signaling in Stratix & Stratix GX Devices. Introduction. DDR I/O Elements. Input Configuration Implementing Double Data Rate I/O Signaling in Stratix & Stratix GX Devices November 2002, ver. 2.0 Application Note 212 Introduction Typical I/O architectures transmit a single data word on each positive

More information

Tutorial for Altera DE1 and Quartus II

Tutorial 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 information

378 Lab Survival Guide Lab tips, Verilog tricks, and other useful info

378 Lab Survival Guide Lab tips, Verilog tricks, and other useful info 378 Lab Surial Guide Lab tips, Verilog tricks, and other useful info Aaron Miller Steen Lockhart Winter 2011 Some content graciously borrowed from Jacob Nelson Agenda Lab/Section Info Lab Oeriew Why care?

More information

(a) Implement processor with the following instructions: addi, sw, lw, add, sub, and, andi, or, ori, nor, sll, srl, mul

(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 information

CSE140L: Components and Design

CSE140L: Components and Design CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Grade distribution: 70% Labs 35% Lab 4 30% Lab 3 20% Lab 2 15% Lab 1 30% Final exam

More information

Using the SDRAM on Altera s DE1 Board with Verilog Designs. 1 Introduction. For Quartus II 13.0

Using the SDRAM on Altera s DE1 Board with Verilog Designs. 1 Introduction. For Quartus II 13.0 Using the SDRAM on Altera s DE1 Board with Verilog Designs For Quartus II 13.0 1 Introduction This tutorial explains how the SDRAM chip on Altera s DE1 Development and Education board can be used with

More information

Introduction to the Altera SOPC Builder Using Verilog Designs. 1 Introduction

Introduction to the Altera SOPC Builder Using Verilog Designs. 1 Introduction Introduction to the Altera SOPC Builder Using Verilog Designs 1 Introduction This tutorial presents an introduction to Altera s SOPC Builder software, which is used to implement a system that uses the

More information

ALTDQ_DQS2 Megafunction User Guide

ALTDQ_DQS2 Megafunction User Guide ALTDQ_DQS2 Megafunction ALTDQ_DQS2 Megafunction 101 Innovation Drive San Jose, CA 95134 www.altera.com UG-01089-2.2 Feedback Subscribe 2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE,

More information

ZBT SRAM Controller Reference Design

ZBT SRAM Controller Reference Design ZBT SRAM Controller Reference Design for APEX II Devices December 2001, ver. 1.0 Application Note 183 Introduction As communication systems require more low-latency, high-bandwidth interfaces for peripheral

More information

University 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 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 information

Digital Systems Laboratory

Digital Systems Laboratory 2012 Fall CSE140L Digital Systems Laboratory by Dr. Choon Kim CSE Department UCSD 1 Welcome to CSE140L! 2 3-way Light Controller, 2-1 MUX, Majority Detector, 7- seg Display, Binary-to- Decimal converter.

More information

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information. Registers Readings: 5.8-5.9.3 Storage unit. Can hold an n-bit value Composed of a group of n flip-flops Each flip-flop stores 1 bit of information ff ff ff ff 178 Controlled Register Reset Load Action

More information

Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog

Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work

More information

Using Library Modules in Verilog Designs. 1 Introduction. For Quartus II 13.0

Using Library Modules in Verilog Designs. 1 Introduction. For Quartus II 13.0 Using Library Modules in Verilog Designs For Quartus II 13.0 1 Introduction This tutorial explains how Altera s library modules can be included in Verilog-based designs, which are implemented by using

More information

Lab 7 (All Sections) Prelab: Introduction to Verilog

Lab 7 (All Sections) Prelab: Introduction to Verilog Lab 7 (All Sections) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The

More information

White Paper Using the MAX II altufm Megafunction I 2 C Interface

White Paper Using the MAX II altufm Megafunction I 2 C Interface White Paper Using the MAX II altufm Megafunction I 2 C Interface Introduction Inter-Integrated Circuit (I 2 C) is a bidirectional two-wire interface protocol, requiring only two bus lines; a serial data/address

More information

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain

More information

Introduction to VHDL Design on Quartus II and DE2 Board

Introduction to VHDL Design on Quartus II and DE2 Board ECP3116 Digital Computer Design Lab Experiment Duration: 3 hours Introduction to VHDL Design on Quartus II and DE2 Board Objective To learn how to create projects using Quartus II, design circuits and

More information

Nios Soft Core Embedded Processor

Nios Soft Core Embedded Processor Nios Soft Core Embedded Processor June 2000, ver. 1 Data Sheet Features... Preliminary Information Part of Altera s Excalibur TM embedded processor solutions, the Nios TM soft core embedded processor is

More information

2. TriMatrix Embedded Memory Blocks in Stratix II and Stratix II GX Devices

2. TriMatrix Embedded Memory Blocks in Stratix II and Stratix II GX Devices 2. TriMatrix Embedded Memory Blocks in Stratix II and Stratix II GX Devices SII52002-4.5 Introduction Stratix II and Stratix II GX devices feature the TriMatrix memory structure, consisting of three sizes

More information

EE431 April 6, 2009 Midterm Material on Assignments 6 to 10

EE431 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 information

Stratix. Introduction. Features... Programmable Logic Device Family. Preliminary Information

Stratix. Introduction. Features... Programmable Logic Device Family. Preliminary Information Stratix Programmable Logic Device Family February 2002, ver. 1.0 Data Sheet Introduction Preliminary Information The Stratix family of programmable logic devices (PLDs) is based on a 1.5-V, 0.13-µm, all-layer

More information

ALTERA FPGA Design Using Verilog

ALTERA FPGA Design Using Verilog ALTERA FPGA Design Using Verilog Course Description This course provides all necessary theoretical and practical know-how to design ALTERA FPGA/CPLD using Verilog standard language. The course intention

More information

Homework deadline extended to next friday

Homework deadline extended to next friday Norm Midterm Grading Finished Stats on course homepage Pickup after this lab lec. Regrade requests within 1wk of posted solution Homework deadline extended to next friday Description Design Conception

More information

Lab 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 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 information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

Exp#8: Designing a Programmable Sequence Detector

Exp#8: Designing a Programmable Sequence Detector Exp#8: Designing a Programmable Sequence Detector Objectives Learning how to partition a system into data-path and control unit. Integrating Schematics and Verilog code together Overview In this lab you

More information

EECS150 - Digital Design Lecture 16 Memory 1

EECS150 - Digital Design Lecture 16 Memory 1 EECS150 - Digital Design Lecture 16 Memory 1 March 13, 2003 John Wawrzynek Spring 2003 EECS150 - Lec16-mem1 Page 1 Memory Basics Uses: Whenever a large collection of state elements is required. data &

More information

AN 367: Implementing PLL Reconfiguration in Stratix II Devices

AN 367: Implementing PLL Reconfiguration in Stratix II Devices AN 367: Implementing PLL Reconfiguration in Stratix II Devices July 2012 AN-367-2.2 Introduction Phase-locked loops (PLLs) use several divide counters and different voltage-controlled oscillator (VCO)

More information

4. TriMatrix Embedded Memory Blocks in HardCopy IV Devices

4. TriMatrix Embedded Memory Blocks in HardCopy IV Devices January 2011 HIV51004-2.2 4. TriMatrix Embedded Memory Blocks in HardCopy IV Devices HIV51004-2.2 This chapter describes TriMatrix memory blocks, modes, features, and design considerations in HardCopy

More information

Computer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog

Computer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog Verilog Radek Pelánek and Šimon Řeřucha Contents 1 Computer Aided Design 2 Basic Syntax 3 Gate Level Modeling 4 Behavioral Modeling Computer Aided Design Hardware Description Languages (HDL) Verilog C

More information

8. Migrating Stratix II Device Resources to HardCopy II Devices

8. Migrating Stratix II Device Resources to HardCopy II Devices 8. Migrating Stratix II Device Resources to HardCopy II Devices H51024-1.3 Introduction Altera HardCopy II devices and Stratix II devices are both manufactured on a 1.2-V, 90-nm process technology and

More information

Laboratory 4 Design a Muti-bit Counter

Laboratory 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 information

Memory and Programmable Logic

Memory and Programmable Logic Memory and Programmable Logic Memory units allow us to store and/or retrieve information Essentially look-up tables Good for storing data, not for function implementation Programmable logic device (PLD),

More information

EN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages

EN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages EN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2014 1 Introduction to Verilog

More information

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines ECE 2300 Digital Logic & Computer Organization Spring 2017 More Verilog Finite State Machines Lecture 8: 1 Announcements 1 st batch of (raw) quiz scores released on CMS Solutions to HW 1-3 released on

More information

ASIC = Application specific integrated circuit

ASIC = Application specific integrated circuit ASIC = Application specific integrated circuit CS 2630 Computer Organization Meeting 19: Building a MIPS processor Brandon Myers University of Iowa The goal: implement most of MIPS So far Implementing

More information

ENEE245 Digital Circuits and Systems Lab Manual

ENEE245 Digital Circuits and Systems Lab Manual ENEE245 Digital Circuits and Systems Lab Manual Department of Engineering, Physical & Computer Sciences Montgomery College Version 1.1 Copyright Prof. Lan Xiang (Do not distribute without permission) 1

More information

Asynchronous FIFO Design

Asynchronous FIFO Design Asynchronous FIFO Design 2.1 Introduction: An Asynchronous FIFO Design refers to a FIFO Design where in the data values are written to the FIFO memory from one clock domain and the data values are read

More information

LAB#2 ( Due Date & Time: See course web page )

LAB#2 ( Due Date & Time: See course web page ) UCSD CSE140L Fall 2014 LAB#2 ( Due Date & Time: See course web page ) Instructor: Dr. Choon Kim Objective Based on the experience gained from LAB#1, learn how to design, simulate, synthesize, program on

More information