MPLEMENTATION. Part 1: Implementation of the TOC on the DE2 Board using Verilog - Performed in Lab #1

Size: px
Start display at page:

Download "MPLEMENTATION. Part 1: Implementation of the TOC on the DE2 Board using Verilog - Performed in Lab #1"

Transcription

1 ERILOG ESCRIPTION AND MPLEMENTATION OF THE ASIC Part 1: Implementation of the TOC on the DE2 Board using Verilog - Performed in Lab #1 Part 2: Extend the TOC to Achieve a 4-Bit Processor - Done in Other Parts of Course (If Time Permits) 1

2 2

3 BLOCK DIAGRAM OF THE BASIC TOC 7-SEG DISPLAY REGR Switches for Control ALU REGA REGB Clock Switches for Data 3

4 DE2 IMPLEMENTATION OF THE BASIC TOC DE2-115 Board Inside FPGA 7-SEG DISPLAY REGR ALU Switches for Control LEDs for Unit Testing REGA REGB Clock Switches for Data 4

5 HE LAN Incrementally develop the Basic TOC Implemented in Laboratory 1 Following additions (in Lectures) will be added if time permits Add Accumulator Functionality Add Multiplexers and Memory Add Address Generator Unit Add Computer Control Unit (CCU) 5

6 ULTIMATE OBJECTIVE: A BASIC 8-BIT PROCESSOR IMPLEMENTED ON THE DE2 BOARD 6

7 LTERA S OARD 7

8 VERVIEW OF ESIGN FPGA Chip 8 7-Segments (HEX) Red LEDs Green LEDs 18 Slider Switches (SW[17:0]) 4 Push Buttons (KEY[3:0]) 8

9 TANDARD WITCH AMES 18 Slider Switches SW (Vector Name) SW[17], SW[16], SW[0] (Component Names) 4 Push Button Switches KEY (Vector Name) KEY[3], KEY[2], KEY[1], KEY[0] (Component Names) 18 Slider Switches (SW[17:0]) 4 Push Buttons (KEY[3:0]) 9

10 TANDARD AMES 18 Red, Light Emitting Diodes (LEDs) LEDR (Vector Name) LEDR[17], LEDR[16], LEDR[0] (Component Names) 8 Green, Light Emitting Diodes (LEDs) LEDG (Vector Name) LEDG[7], LEDG[6], LEDG[0] (Component Names) Red LEDs Green LEDs 10

11 STANDARD HEXADECIMAL DISPLAY NAMES Eight 7-Segment Hexadecimal Display Digits HEX7, HEX6, HEX5,, HEX1, HEX0 (Vector Names) HEXn[0] (0-segment of Digit n) HEXn[1] (1-segment of Digit n) HEXn[2] (2-segment of Digit n) HEXn[3] (3-segment of Digit n) HEXn[4] (4-segment of Digit n) HEXn[5] (5-segment of Digit n) HEXn[6] (6-segment of Digit n) HEXn[7] (Dec. Point of Digit n) n = 0, 1,, 7; the Hexadecimal digit. Eight, 7-Segments Display Units Applying a low logic level to a segment will light it up and applying a high logic level turns it off. 11

12 IN ONNECTIONS Each peripheral has been pre-wired to specific pins of the FPGA chip Slider Switches SW[17], SW[16], SW[0] (PIN_Y23, PIN_AB28) Push Button Switches KEY[3], KEY[2], KEY[1], KEY[0] (PIN_R24,, PIN_M23) Red LEDs LEDR[17], LEDR[16], LEDR [0] (PIN_H15,, PIN_G19) Green LEDs LEDG[17], LEDG[16], LEDG [0] (PIN_F17,, PIN_E21) HEX Digits HEX0[6], HEX0[5], HEX0 [0] (PIN_H22,, PIN_G18) 12

13 IN SSIGNMENT Within the Quartus software, your Verilog programs may refer to the peripherals (such as the switches, LEDs, and 7-segments) directly by using their pin names. For example, the following is a Verilog statement that connects a wire named switch_0_wire to the pin that is connected to switch 0: assign switch_0_wire = PIN_AB28 Alternatively, you can refer to a peripheral using its standard name: For example: assign switch_0_wire = SW[0] But, you need to assign the pin numbers to the standard names before you can do this. This procedure is called pin assignment. The pin assignment procedure requires a pin-assignment file. Pin number to pin name assignment in file DE2_115.qsf 13

14 IN SSIGNMENT ILE Conveniently, Quartus provides a pin assignment file. It is called DE2_115.qsf Note that a different pin assignment file is provided for each different FPGA chip that is used in a particular DE2-115 board. You must ensure that the pin assignment file is the correct one for your board Go to: On this page ensure the FPGA part number is the same part number as the one on your DE2-115 board. It should be: Cyclone IV EP4CE115F29C7 Select and download the Quartus Setting File with Pin Assignments QSF file. 14

15 DE2-115 WEB SITE Ensure the FPGA part number is: Cyclone IV EP4CE115F29C7 Download the pin assignment file. 15

16 PIN ASSIGNMENT FILE LED pin assignments, etc. 16

17 MAKING THE PIN ASSIGNMENT IN QUARTUS Pin specification file may be imported into the Quartus II software When you have your project open, then you may assign the standard names of the peripherals to pins on the FPGA. Your hardware description can use these names to interface to the peripherals. NOTE: you must import the pin assignments file for each new project you create. 17

18 INCREMENTAL DEVELOPMENT PROCEDURE We will practice the incremental development procedure. Split the Data Path Unit of the TOC into a number of subcircuits. Implement the TOC in an incremental fashion: Add the first component and test it Add the second component and test both of them Add the next component and test each one added to this point. Add the last component and perform a system test by testing all components. 18

19 TOC DIVISION SPLITTING THE TOC INTO FIVE INCREMENTAL DEVELOPMENT PHASES Five incremental phases Phase 1 REGA (Test Register A, output to LEDs) Phase 2 REGA and REGB (Test Registers A and B, output to LEDs) Phase 3 ALU (Test ALU with the Registers A and B, output to LEDs) Phase 4 REGR (Test Registers R with ALU, REGA, and REGB, output to LEDs) Phase 5 7-Segment Display (Test 7-Segment Display with REGR, ALU, REGA, and REGB, output to Hex display) 19

20 PHASE 1: REGA UNIT TESTING Red LEDs REGA A_R/Wn CLKn Switches for Control Slider/PB Switches DBUS Slider Switches Switches for Data 20

21 PHASE 2: REGA AND REGB UNIT TESTING Red LEDs Red LEDs REGA A_R/Wn CLKn REGB B_R/Wn CLKn DBUS Slider Switches Switches for Data 21

22 PHASE 3: REGA, REGB, & ALU UNIT TESTING Red LEDs ALU M S 3 S 2 S 1 S 0 Slider Switches Red LEDs Red LEDs REGA A_R/Wn CLKn REGB B_R/Wn CLKn DBUS Slider Switches Switches for Data 22

23 PHASE 4: REGA, REGB, ALU, & REGR UNIT TESTING Red LEDs REGR R_R/Wn CLK Red LEDs ALU M S 3 S 2 S 1 S 0 Slider Switches Red LEDs Red LEDs REGA A_R/Wn CLKn REGB B_R/Wn CLKn DBUS Slider Switches Switches for Data 23

24 PHASE 5: ALL COMPONENTS SYSTEM TESTING Red LEDs REGR 7-Segment Display CLK Red LEDs ALU M S 3 S 2 S 1 S 0 Slider Switches Red LEDs Red LEDs REGA A_R/Wn CLKn REGB B_R/Wn CLKn DBUS Slider Switches Switches for Data 24

25 PHASE 1: REGA UNIT TEST BLOCK DIAGRAM FPGA Wires RegAWn Wn Q3 D3 RegAQ[3] RegAQ[2] RegAQ[1] RegAQ[0] Q2 D2 Q1 RegA D1 Q0 D0 DBUS Clock Clockn LEDR[3] LEDR[2] LEDR[1] LEDR[0] RED LEDS DE2 Board Component SW[4] SW[3] SW[2] SW[1] SW[0] KEY0 Clock Assigned Names to FPGA Pins Slider Switches Push Button Switch DE2 Board Components 25

26 7-SEGMENT DISPLAY UNIT TESTING Switches SW[0] SW[1] SW[2] SW[3] SW[4] SW[5] SW[6] justwires[0] justwires[1] justwires[2] justwires[3] justwires[4] justwires[5] justwires[6] HEX0[0] HEX0[1] HEX0[2] HEX0[3] HEX0[4] HEX0[5] HEX0[6] module SevenSegmentUnitTest (SW, HEX0); input [6:0] SW; output [6:0] HEX0; wire [6:0] justwires; assign justwires[6:0] = SW[6:0]; assign HEX0[6:0] = justwires[6:0]; endmodule The segments are active low, i.e., when the slider switch (SW) is in the bottom position (SW=0), the LED segment shines, and when the slider switch (SW) is in the top position (SW=1), the LED segment is dark. Found that the decimal pint (DP) pin is not specified in the pin assignment file DE2_115.qsf. 26

27 VERILOG DESCRIPTION OF REGAUNIT TEST BLOCK Top-level Module DIAGRAM: MODULAR Note: top level module FILE: TOC_REGA.v name is the same as the file name prefix. module TOC_REGA (SW, KEY, LEDR); input [4:0] SW; input [0:0] KEY; output [3:0] LEDR; wire [3:0] DBUS, RegAQ; wire RegAWn, Clock, Clockn; assign LEDR [3:0] = RegAQ [3:0]; assign Clock = KEY[0]; assign Clockn = ~Clock; assign RegAWn = SW[4]; assign DBUS[3] = SW[3], DBUS[2] = SW[2]; assign DBUS[1] = SW[1], DBUS[0] = SW[0]; reg4 AReg (DBUS, RegAWn, Clockn, RegAQ); endmodule Instantiates a reg4 FILE: TOC_REGA.v (Continued) module reg4 (D, Wn, Clock, Q); input [3:0] D; input Clock, Wn; output reg [3:0] Q; (posedge Clock) if (Wn==0) Q <= D; else Q <= Q; endmodule FPGA Assigned Names to FPGA Pins Wires RegAWn SW[4] Wn SW[3] Q3 D3 RegAQ[3] RegAQ[2] RegAQ[1] RegAQ[0] SW[2] Q2 D2 SW[1] Q1 RegA D1 Slider Switches SW[0] Q0 D0 DBUS KEY0 Clock Clockn Clock Note: reg4 is generically described. Push Button Switch Sub- Circuit LEDR[3] LEDR[2] LEDR[1] LEDR[0] RED LEDS DE2 Board Component DE2 Board Components 27

28 ANALYSIS: I/O OF TOP LEVEL MODULE Top level design file has inputs SW and KEY0; and outputs LEDR These inputs/outputs are connected to the pins on the FPGA which have been assigned the same names by the import assignments procedure. These FPGA pins are connected to the Slider Switch, Push Button, and Red LED Peripherals on the DE2 board. FILE: TOC_REGA.v TOC_REGA Circuit KEY[0] LEDR[3] LEDR[0] SW[4] SW[0] KEY[0] LEDR[3] LEDR[0] SW[4] SW[0] module TOC_REGA (SW, KEY, LEDR); input [4:0] SW; input [0:0] KEY; output [3:0] LEDR; 28

29 NALYSIS UB MODULE EG A template for a sub-circuit is designed and named as reg4. This sub-circuit has inputs D, Clock, and Wn; and output Q Note that these are names within the sub-module (sub-circuit) A template is not actually realized in the circuit, but just declared in the source code Naming within the module should be done generically, since your sub-module may be reused in a different application, for example, that is not a TOC. Wn Q3 D3 Q2 D2 Q1 RegA D1 Q0 D0 Clock module reg4 (D, Wn, Clock, Q); input [3:0] D; input Clock, Wn; output reg [3:0] Q; (posedge Clock) if (Wn==0) Q <= D; endmodule 29

30 ANALYSIS: INSTANTIATION OF REG4 AND CONNECTION TO REST OF CIRCUIT The following statement creates (realizes) a 4-bit register reg4 AReg (DBUS, RegAWn, Clockn, RegAQ); This makes a 4-bit register and names the register AReg Wires are connected to various points of the circuit: input [4:0] SW; input [0:0] KEY; output [3:0] LEDR; wire [3:0] DBUS, RegAQ; //declaration wire RegAWn, Clock, Clockn; //declaration assign Clockn = ~Clock, Clock = KEY[0]; assign LEDR [3:0] = RegAQ [3:0]; assign RegAWn = SW[4]; assign DBUS[3:0] = SW[3:0]; reg4 AReg (DBUS, RegAWn, Clockn, RegAQ); RegAWn SW[4] Wn SW[3] Q3 D3 RegAQ[3] RegAQ[2] RegAQ[1] RegAQ[0] SW[2] Q2 D2 SW[1] Q1 RegA D1 SW[0] Q0 D0 DBUS KEY0 Clock Clockn Clock LEDR[3] LEDR[2] LEDR[1] LEDR[0] 30

31 VERILOG DESCRIPTION OF ALU 4-BIT, WITHOUT CARRY AND OVERFLOW module alu4 (ASIDE, BSIDE, S, F); input [3:0] ASIDE, BSIDE, S; output reg [3:0] F; (ASIDE, BSIDE, S) case (S) 0: F = 4'b0000; 1: F = BSIDE - ASIDE; 2: F = ASIDE - BSIDE; 3: F = ASIDE + BSIDE; 4: F = ASIDE ^ BSIDE; 5: F = ASIDE BSIDE; 6: F = ASIDE & BSIDE; 7: F = 4'b1111; default: F = 4'bzzzz; endcase ASIDE 4 4 F 4-BIT ALU BSIDE 4 S3 S2 S1 S0 endmodule 31

32 VERILOG DESCRIPTION OF ALU HOMEWORK: 4-BIT, WITH CARRY 4 Cout ASIDE F 4-BIT ALU BSIDE S3 S2 S1 S

33 VERILOG DESCRIPTION OF 7-SEGMENT DECODER HOMEWORK 7- Segment Decoder REGR 33

Laboratory Exercise 1

Laboratory Exercise 1 Laboratory Exercise 1 Switches, Lights, and Multiplexers The purpose of this exercise is to learn how to connect simple input and output devices to an FPGA chip and implement a circuit that uses these

More information

ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II

ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II This lab manual presents an introduction to the Quartus II Computer Aided Design (CAD) system. This manual gives step-by-step

More information

LAB 4: Seven Seg, Full Adder, Ripple Adder, Heirarchical Design

LAB 4: Seven Seg, Full Adder, Ripple Adder, Heirarchical Design Engineering 303 Digital Logic Design LAB 4: Seven Seg, Full Adder, Ripple Adder, Heirarchical Design Build the following designs and verify correct operation. This lab uses hierarchical design. Review

More information

Lab 3: Standard Combinational Components

Lab 3: Standard Combinational Components Lab 3: Standard Combinational Components Purpose In this lab you will implement several combinational circuits on the DE1 development board to test and verify their operations. Introduction Using a high-level

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

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

EN2911X: Reconfigurable Computing Lecture 05: Verilog (2)

EN2911X: Reconfigurable Computing Lecture 05: Verilog (2) EN2911X: Lecture 05: Verilog (2) Prof. Sherief Reda Division of Engineering, Brown University Fall 09 http://scale.engin.brown.edu Dataflow modeling Module is designed by specifying the data flow, where

More information

Engineering 303 Digital Logic Design Fall 2018

Engineering 303 Digital Logic Design Fall 2018 Engineering 303 Digital Logic Design Fall 2018 LAB 4: Seven Seg, Full Adder, Ripple Adder, Heirarchical Design Build the following designs and verify correct operation. This lab uses hierarchical design.

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

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

UNIVERSITY OF MANITOBA DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING. Term Test #1 ECE 3610 MICROPROCESSING SYSTEMS

UNIVERSITY OF MANITOBA DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING. Term Test #1 ECE 3610 MICROPROCESSING SYSTEMS ECE 3610 Test 1 1 of 8 PRINT LAST NAME: STUDENT NUMBER PRINT FIRST NAME: UNIVERSITY OF MANITOBA DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING DATE: Feb. 2015; TIME: 6:00-8:00 P.M. Term Test #1 ECE

More information

Datasheet for Nios II Processor (nios2_r1c) v.3, July Processor Details GENERATION SYSID

Datasheet for Nios II Processor (nios2_r1c) v.3, July Processor Details GENERATION SYSID Processor Details NAME "cpu_r1" FREQ 50000000 RESET_ADDR 0x0 EXCEPTION_ADDR 0x20 IMPLEMENTATION "small" ARCHITECTURE "altera_nios2" Instruction cache Data cache Little Endian HARDWARE_DIVIDE_PRESENT HARDWARE_MULTIPLY_PRESENT

More information

Appendix C: DE2 Pin Assignments

Appendix C: DE2 Pin Assignments Appendix C: DE2 Pin Assignments The most commonly used DE2 pin assignments are given in tables that follow, both for the standard DE2 board (with the EP2C35 FPGA) and the DE2-70 (with the EP2C70 FPGA).

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 Modified Fall 2017 Copyright Prof. Lan Xiang (Do not distribute without permission)

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

SignalTap II with Verilog Designs. 1 Introduction. For Quartus II 13.1

SignalTap II with Verilog Designs. 1 Introduction. For Quartus II 13.1 SignalTap II with Verilog Designs For Quartus II 13.1 1 Introduction This tutorial explains how to use the SignalTap II feature within Altera s Quartus II software. The SignalTap II Embedded Logic Analyzer

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

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

Advanced Electronics Lab.

Advanced Electronics Lab. College of Engineering Course Book of 2010-2011 Advanced Electronics Lab. Mr. Araz Sabir Ameen M.Sc. in Electronics & Communications ALTERA DE2 Development and Education Board DE2 Package: The DE2 package

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

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

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

Combinational Verilog Intro. EECS 270 Labs

Combinational Verilog Intro. EECS 270 Labs Combinational Verilog Intro EECS 270 Labs From Schematics to Verilog https://www.engineersgarage.com/articles/field-programmabl e-gate-arrays-fpga https://www.altera.com/content/dam/altera-www/global/en

More information

CPEN 230L: Introduction to Digital Logic Laboratory Lab 7: Multiplexers, Decoders, and Seven Segment Displays

CPEN 230L: Introduction to Digital Logic Laboratory Lab 7: Multiplexers, Decoders, and Seven Segment Displays CPEN 230L: Introduction to Digital Logic Laboratory Lab 7: Multiplexers, Decoders, and Seven Segment Displays Purpose Learn about multiplexers (MUXs), decoders and seven segment displays. Learn about hierarchical

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

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

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Design with FPGAs. By Neeraj Kulkarni Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic

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

Tutorial on Quartus II Introduction Using Verilog Code

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

Nikhil Gupta. FPGA Challenge Takneek 2012

Nikhil Gupta. FPGA Challenge Takneek 2012 Nikhil Gupta FPGA Challenge Takneek 2012 RECAP FPGA Field Programmable Gate Array Matrix of logic gates Can be configured in any way by the user Codes for FPGA are executed in parallel Configured using

More information

To design a 4-bit ALU To experimentally check the operation of the ALU

To design a 4-bit ALU To experimentally check the operation of the ALU 1 Experiment # 11 Design and Implementation of a 4 - bit ALU Objectives: The objectives of this lab are: To design a 4-bit ALU To experimentally check the operation of the ALU Overview An Arithmetic Logic

More information

University of Hawaii EE 361L. Getting Started with Spartan 3E Digilent Basys2 Board. Lab 4.1

University of Hawaii EE 361L. Getting Started with Spartan 3E Digilent Basys2 Board. Lab 4.1 University of Hawaii EE 361L Getting Started with Spartan 3E Digilent Basys2 Board Lab 4.1 I. Test Basys2 Board Attach the Basys2 board to the PC or laptop with the USB connector. Make sure the blue jumper

More information

QUARTUS II Altera Corporation

QUARTUS II Altera Corporation QUARTUS II Quartus II Design Flow Design Entry Timing Constraints Synthesis Placement and Routing Timing, Area, Power Optimization Timing and Power Analyzer Optimized Design 2 Can I still use a Processor?

More information

Laboratory Exercise 6

Laboratory Exercise 6 Laboratory Exercie 6 Adder, Subtractor, and Multiplier a a The purpoe of thi exercie i to examine arithmetic circuit that add, ubtract, and multiply number. Each b c circuit will be decribed in Verilog

More information

Altera DE1 Board DE1. Development and Education Board. User Manual. Copyright 2006 Altera Corporation

Altera DE1 Board DE1. Development and Education Board. User Manual. Copyright 2006 Altera Corporation Altera DE1 Board DE1 Development and Education Board User Manual Version 1.1 Copyright 2006 Altera Corporation Chapter 2 Altera DE1 Board This chapter presents the features and design characteristics of

More information

Chapter 1 DE2-115 Package Package Contents The DE2-115 Board Assembly Getting Help... 6

Chapter 1 DE2-115 Package Package Contents The DE2-115 Board Assembly Getting Help... 6 1 CONTENTS Chapter 1 DE2-115 Package... 4 1.1 Package Contents... 4 1.2 The DE2-115 Board Assembly... 5 1.3 Getting Help... 6 Chapter 2 Introduction of the Altera DE2-115 Board... 7 2.1 Layout and Components...

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

1 Introduction 2. 2 Background 3. 3 Getting Started 4. 4 Starting a New Project 6. 5 Design Entry Using VHDL Code 13

1 Introduction 2. 2 Background 3. 3 Getting Started 4. 4 Starting a New Project 6. 5 Design Entry Using VHDL Code 13 Quartus Prime Introduction Using VHDL Designs For Quartus Prime 17.0 Contents 1 Introduction 2 2 Background 3 3 Getting Started 4 3.1 Quartus Prime Online Help................................................................................................

More information

Quartus II Introduction Using Verilog Designs. 1 Introduction. For Quartus II 12.0

Quartus II Introduction Using Verilog Designs. 1 Introduction. For Quartus II 12.0 Quartus II Introduction Using Verilog Designs For Quartus II 12.0 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD flow for

More information

Laboratory 4 Design a Muti-bit Counter and Programming a FPGA

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

CME341 Laboratory Manual

CME341 Laboratory Manual CME341 Laboratory Manual Created by Eric Salt Created June 30, 2012 Revised Nov. 30, 2012 Revised Dec. 13, 2012 (to end of Lab 2) Revised Dec. 18, 2012 (to end of Lab 3) Revised Jan. 13, 2013 (to end of

More information

ECE241 - Digital Systems. University of Toronto. Lab #2 - Fall Introduction Computer-Aided Design Software, the DE2 Board and Simple Logic

ECE241 - Digital Systems. University of Toronto. Lab #2 - Fall Introduction Computer-Aided Design Software, the DE2 Board and Simple Logic ECE24 - Digital Sstems Universit of Toronto Lab #2 - Fall 28 Introduction Computer-Aided Design Software, the DE2 Board and Simple Logic. Introduction The purpose of this eercise is to introduce ou to

More information

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

ECE 2300 Digital Logic & Computer Organization. More Finite State Machines ECE 2300 Digital Logic & Computer Organization Spring 2018 More Finite State Machines Lecture 9: 1 Announcements Prelab 3(B) due tomorrow Lab 4 to be released tonight You re not required to change partner(s)

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

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

Laboratory Exercise 6

Laboratory Exercise 6 Laboratory Exercie 6 Adder, Subtractor, and Multiplier The purpoe of thi exercie i to examine arithmetic circuit that add, ubtract, and multiply number. Each type of circuit will be implemented in two

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

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

EE 231 Fall Lab 2: Decoders and Multiplexers. Introduction

EE 231 Fall Lab 2: Decoders and Multiplexers. Introduction Lab 2: Decoders and Multiplexers Introduction 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

More information

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering VERILOG FUNDAMENTALS HDLs HISTORY HOW FPGA & VERILOG ARE RELATED CODING IN VERILOG HDLs HISTORY HDL HARDWARE DESCRIPTION LANGUAGE

More information

EE 231 Fall EE 231 Lab 3

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

Tutorial on Quartus II Introduction Using Schematic Designs

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

Verilog Hardware Description Language ROOM: B405

Verilog Hardware Description Language ROOM: B405 Verilog Hardware Description Language HONG@IS.NAIST.JP ROOM: B405 Content Lecture 1: Computer organization and performance evaluation metrics Lecture 2: Processor architecture and memory system Lecture

More information

Using ModelSim to Simulate Logic Circuits for Altera FPGA Devices

Using ModelSim to Simulate Logic Circuits for Altera FPGA Devices Using ModelSim to Simulate Logic Circuits for Altera FPGA Devices This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We show how to perform functional

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

ECE241 - Digital Systems

ECE241 - Digital Systems ECE24 - Digital Sstems Universit of Toronto Lab 2: Introduction Computer-Aided Design Software, the DE2 Board and Simple Logic. Introduction The purpose of this eercise is to introduce the software tools

More information

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project - Fall 2002 Lecture 20 Synthesis Sequential Logic Announcements Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project» Teams

More information

EN2911X: Reconfigurable Computing Lecture 06: Verilog (3)

EN2911X: Reconfigurable Computing Lecture 06: Verilog (3) EN2911X: Lecture 06: Verilog (3) Prof. Sherief Reda Division of Engineering, Brown University Fall 09 http://scale.engin.brown.edu Level sensitive latch (D-Latch) The Verilog implementation of a D-latch

More information

Laboratory Exercise 1

Laboratory Exercise 1 Laboratory Eercie Switche, Light, and Multipleer The purpoe of thi eercie i to learn how to connect iple input and output device to an FPGA chip and ipleent a circuit that ue thee device. We will ue the

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

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

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

Intro to Digital Logic, Lab 5 Sequential Logic. Lab Objectives. Assigned Task Mapping sequential logic to the FPGA

Intro to Digital Logic, Lab 5 Sequential Logic. Lab Objectives. Assigned Task Mapping sequential logic to the FPGA Intro to Digital Logic, Lab 5 Sequential Logic Lab Objectives Now that we have mastered combinational logic, it is time to figure out sequential circuits. In this lab you will download a premade design

More information

ECE2029: Introduction to Digital Circuit Design Lab 5 Using Sequential Logic Circuits A Digital Stop Watch

ECE2029: Introduction to Digital Circuit Design Lab 5 Using Sequential Logic Circuits A Digital Stop Watch ECE2029: Introduction to Digital Circuit Design Lab 5 Using Sequential Logic Circuits A Digital Stop Watch Objective: In this lab you will create a digital stop watch capable of counting and displaying

More information

ECE 5760 Lab 0. Submitted 09/11/2009

ECE 5760 Lab 0. Submitted 09/11/2009 ECE 5760 Lab 0 Submitted 09/11/2009 1. Introduction The purpose of Lab 0 was to develop familiarity with the lab equipment, Altera hardware, and design software by creating a simple wave generator. The

More information

TESTING ON THE DE2 BOARD

TESTING ON THE DE2 BOARD TESTING ON THE DE2 BOARD September 18 th, 2007 CSC343 Fall 2007 Prepared by: Steven Medina PURPOSE The DE2 board is a programmable board with an FPGA chip attached. FPGA stands for Field Programmable Gate

More information

PRELAB! 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. 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 information

Verilog Coding Guideline

Verilog Coding Guideline Verilog Coding Guideline Digital Circuit Lab TA: Po-Chen Wu Outline Introduction to Verilog HDL Verilog Syntax Combinational and Sequential Logics Module Hierarchy Write Your Design Finite State Machine

More information

structure syntax different levels of abstraction

structure syntax different levels of abstraction This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

PRELAB! 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. 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 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

Changes in timetable (changes in GREEN)

Changes in timetable (changes in GREEN) Changes in timetable (changes in GREEN) Wk12: May25 29 HLAB5 PICOBLAZE assembly Wk13: Jun1 5 Still hand in assignment on Wk13 Jun5 C.O.B. Wks14 15 (Jun8 19) Hardware tests Exam on Jun 22 Project lab I

More information

Tutorial 2 Implementing Circuits in Altera Devices

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

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

Register Transfer Level

Register Transfer Level Register Transfer Level Something between the logic level and the architecture level A convenient way to describe synchronous sequential systems State diagrams for pros Hierarchy of Designs The design

More information

General FSM design procedure

General FSM design procedure Sequential logic examples Basic design approach: a 4-step design process Hardware description languages and finite state machines Implementation examples and case studies finite-string pattern recognizer

More information

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language COMS W4995-02 Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language Originally a modeling language for a very efficient event-driven

More information

Introduction to Verilog

Introduction to Verilog Introduction to Verilog Structure of a Verilog Program A Verilog program is structured as a set of modules, which may represent anything from a collection of logic gates to a complete system. A module

More information

E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design

E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design Objective The purpose of this lab is to learn to use Field Programmable Gate Array (FPGA) tools to simulate

More information

Digital Design & Computer Architecture (E85) D. Money Harris Fall 2007

Digital Design & Computer Architecture (E85) D. Money Harris Fall 2007 Digital Design & Computer Architecture (E85) D. Money Harris Fall 2007 Final Exam This is a closed-book take-home exam. You are permitted a calculator and two 8.5x sheets of paper with notes. The exam

More information

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007 EECS 5 - Components and Design Techniques for Digital Systems Lec 2 RTL Design Optimization /6/27 Shauki Elassaad Electrical Engineering and Computer Sciences University of California, Berkeley Slides

More information

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 11 Introduction to Verilog II Sequential Circuits OBJECTIVES: To understand the concepts

More information

Laboratory Exercise 2

Laboratory Exercise 2 Laoratory Exercie Numer and Diplay Thi i an exercie in deigning cominational circuit that can perform inary-to-decimal numer converion and inary-coded-decimal (BCD) addition. Part I We wih to diplay on

More information

ECE2029: Introduction to Digital Circuit Design Lab 4 Building a Sequential Logic Circuit A Four Digit 7-Segment Display Driver

ECE2029: Introduction to Digital Circuit Design Lab 4 Building a Sequential Logic Circuit A Four Digit 7-Segment Display Driver ECE2029: Introduction to Digital Circuit Design Lab 4 Building a Sequential Logic Circuit A Four Digit 7-Segment Display Driver Objective: In this lab you will implement a driver circuit for the 4-digit

More information

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

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

Digital Integrated Circuits

Digital Integrated Circuits Digital Integrated Circuits Lecture 3 Jaeyong Chung System-on-Chips (SoC) Laboratory Incheon National University GENERAL MODEL OF MEALY MACHINE Chung EPC6055 2 GENERAL MODEL OF MOORE MACHINE Chung EPC6055

More information

EN164: Design of Computing Systems Lecture 06: Lab Foundations / Verilog 2

EN164: Design of Computing Systems Lecture 06: Lab Foundations / Verilog 2 EN164: Design of Computing Systems Lecture 06: Lab Foundations / Verilog 2 Professor Sherief Reda http://scaleenginbrownedu Electrical Sciences and Computer Engineering School of Engineering Brown University

More information

CSEE W4840 Embedded System Design Lab 1

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

EE 231 Fall EE 231 Lab 2

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

Embedded System Design

Embedded System Design csee 4840 Embedded System Design Lab 1: Using the fpga Stephen A. Edwards Columbia University 2015 This shows how to compile and download an fpga-only project to the SoCKit board. Your assignment is to

More information

DE10-Lite User Manual

DE10-Lite User Manual 1 www.terasic.com CONTENTS Chapter 1 Introduction... 3 1. 1 Package Contents... 3 1. 2 System CD... 4 1. 3 Layout and Components... 4 1. 4 Block Diagram of the Board... 6 1. 5 Getting Help... 7 Chapter

More information

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013 EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013 Print Here Student ID Signature This is a closed book exam. The exam is to be completed in one-hundred ten (110) minutes. Don t use scratch

More information

Am2901 Completion and Integration with Am9080a

Am2901 Completion and Integration with Am9080a Am2901 Completion and Integration with Am9080a A. Objectives Written By Kurt English This laboratory assignment is an introduction to the Verilog Hardware Description Language, which will be used to complete

More information

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is

More information

Computer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories

Computer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories Computer Organization Structure of a Computer Computer design as an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + Control = finite

More information

ECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016

ECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016 ECE 353 Lab 4 Verilog Review Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016 Recall What You Will Do Design and implement a serial MIDI receiver Hardware in

More information