COSC 3215 Embedded Systems Laboratory

Size: px
Start display at page:

Download "COSC 3215 Embedded Systems Laboratory"

Transcription

1 COSC 3215 Embedded Systems Laboratory Lab 5 The Altera, Verilog and QuartusII Introduction This lab is an introduction to the Altera FPGA development board and the accompanying FPGA programming environment QuartusII. All software development will be carried out using the digital hardware description language Verilog. You can download a free version QuartusII from the following website -quartus_we.jsp. Note you will have to get a license file prior to using QuartusII on your home computer. Specification Your task is use the laboratory Altera FPGA development board to implement a 4-bit Binary Coded Decimal (BCD) adder. The BCD adder must read the value of the FLEX_SWITCH dipswitch as two hexadecimal numbers with bits 7 through 4 representing one number, and bits 3 through 0 representing the other number, add these two numbers together and display the sum on the two digit 7-segment display. Hints The following predefined symbols are available to help simplify your task: DEC_SEG: Performs the binary to 7-segment decode operation. Reference Reading Altera UP2 Development Kit Users Guide Upds.pdf Introductory Verilog information. Ciletti (2003) Chapter 4, Appendices A-D Other possibilities include introductory digital logic texts such as Brown and Vranesic or Mano and Kine PreLab Determine what a BCDAdder is and implement one in Verilog according to the lab specifications. COSC3215 Lab5 Winter

2 Procedure Make appropriate notes and answer all questions clearly in your lab book. Creating The Project 1. Launch the QuartusII application and create a new project entitled MyBCDAdder using the New Project Wizard using the File menu command. A tutorial on creating new projects is available in the online QuatrusII help section. 2. Directory, Name and Top-Level Entity [page 1 of 6]: Specify the working directory for your project using the browse button. 3. Name your project as MyBCDAdder and name the top level entity in your project as MyBCDAdder. 4. Add Files [page 2 of 6]: There are no files to add but you must specify a user library. Click the User Library Pathnames button and enter the library path c:\altera\quatrus41sp2\libraries\up1coreqii as the library name. Click next to continue. 5. EDA Tool Settings [page 3 of 6]: Ensure all the tool names are specified as <none>. Click next to continue. 6. Device Family [page 4 of 6]: Select the FLEX10K from the list of available device families. Ensure that you have answered yes to Do you want to assign a specific device? Click next to continue. 7. Select a Target Device [page 5 of 6]: Change the speed grade filter to Any and scroll down to the bottom of the list of available devices and select the EPF10K70RC240-4 device. Click Finish to continue. Adding Symbols and Blocks To Your Design 1. Create a new block design file using the File/New menu command. Select the Block Diagram/Schematic File under the Device Design Files tab and click OK. Save this file as MyBCDAdder.bsf. 2. Add the BCDAdder block to your design file by first selecting the Block Tool, located on the toolbar then positioning the cursor to a location within the Block Editor, clicking and holding the left mouse button and drawing a box. Release the left mouse button when you are finished. COSC3215 Lab5 Winter

3 3. Select the Selection and Smart Drawing Tool, located on the toolbar and move the cursor over the block you just created. 4. Click the right mouse button and select the Block Properties option. 5. Rename the block to BCDAdder. 6. Click on the I/Os properties tab and enter all the input output connections to your BCDAdder. Click OK when you are done. 7. Still using the Selection and Smart Drawing Tool move the cursor away from the BCDAdder block and click the right mouse button. 8. Select the Insert/Symbol option. 9. Expand the c:/altera/quartus41sp2/libraries/ list and then further expand the UP1coreQII library. Select the DEC_7SEG symbol and click OK. 10. Drag the DEC_7SEG symbol to the location of your choice within the block editor window and click the left mouse button when you are done. 11. You will need two DEC_7SEG symbols so repeat steps 9 to Repeat steps 8 and 9. Expand the primitives/pin subdirectory in the library list and select the output symbol. Click OK when you are done. 13. Place the output pin somewhere to the right of one of the DEC_7SEG symbols, preferably in alignment with one of the segment outputs. 14. Repeat steps 12 and 13 for each of the segment outputs for both DEC_7SEG symbols. 15. Add one more output pin and place it somewhere above or below the DEC_7SEG symbols. This output pin will be used for simulation purposes. 16. Following the steps described above add two input pins and place these to the left of the BCDAdder block. Connecting Symbols and Blocks 1. Select the Selection and Smart Drawing Tool from the toolbar. 2. Place the cursor on the segment_a output pin of one of the DEC_7SEG symbols and click and hold the left mouse button. COSC3215 Lab5 Winter

4 3. Draw a line/node connection to one of the output pins that you placed to the right of the DEC_7SEG symbol and release the left mouse button. 4. Repeat steps 1 through 3 for each of the segment outputs for both DEC_7SEG symbols. 5. Again still using the Selection and Smart Drawing Tool move the cursor over to one of the input pins and click and hold the left mouse button. 6. Draw a line to an edge of the BCDAdder block and release the left mouse button. 7. Repeat steps 5 and 6 for the second input pin. 8. Place the cursor on the hex_digit[3..0] input pin of one of the DEC_7SEG symbols. 9. Click and hold the let mouse button and draw a line over to the BCDAdder block symbol and release the left mouse button. 10. Place the cursor on the hex_digit[3..0] input pin of the other DEC_7SEG symbol. 11. Click and hold the left mouse button and move the cursor directly over the bus connection running between the BCDAdder and the other DEC_7SEG symbol and release the left mouse button. 12. Move the cursor over to the output connection that is to be used for simulation purposes and draw a bus connection over to the bus connecting the BCDAdder block and the DEC_7Seg symbols. Naming Pins and Connections 1. Using the Smart Selection Design Tool double click the default pin_name for the output pin connected to the segment_a output of the DEC_7SEG symbol that will display the ones digit of the BCDAdder output. 2. Enter Digit1_SegA as the name for this pin. Press Enter when you are done. 3. Name all the output pins in your design following the Digit1_Segx format. 4. Again using the Smart Selection Design Tool double click the default pin_name for one of the input pins in your design. COSC3215 Lab5 Winter

5 5. The input pins, as they are intended in this design do not represent individual connections but multiple connections or busses and as such must be named differently. Type the name for your input pin as follows A[3..0]. The [3..0] specifies the number of signals and the order of significance. 6. Repeat step 5 for the second input pin naming it B[3..0]. 7. Using the Smart Selection Design Tool move the cursor directly over the Digit1 DEC_7SEG hex_digit[3..0] bus connection and click the right mouse button. 8. Select the Properties option and name this bus connection as Y[3..0] under the General properties tab. Click OK when you are done. 9. Using the Smart Selection Design Tool move the cursor directly over the Digit2 DEC_7SEG hex_digit[3..0] bus connection and click the right mouse button. 10. Select the Properties option and name this bus connection as Y[7..4] under the General properties tab. Click OK when you are done. 11. Using the Smart Selection Design Tool move the cursor directly over the bus connection at the BCDAdder block side and click the right mouse button. 12. Select the Properties option and name this bus connection as Y[7..0] under the General properties tab. Click OK when you are done. 13. Using the Smart Selection Design Tool move the cursor over the green <> symbol attached to the Y[7..0] bus connection and double click the left mouse button. 14. Under the General properties tab change the type to output. 15. Select the mappings properties tab and type Y[7..0] for the I/O on block. 16. Move the cursor over to the green <> symbol attached to the conduit connection between the A[3..0] input and the BCDAdder block and double click the left mouse button. 17. Set the type to input then select the Mappings property tab. 18. Select A[3..0] from the I/O on block list box. COSC3215 Lab5 Winter

6 19. Select A[3..0] from the Signals in conduit list box and click Add. Click OK when you are done. 20. Repeat 16 through 19 for the B[3..0] input. 21. Check your schematic file for errors using the Processing/Analyze Current File menu command and remove any errors that you may have. Creating a Verilog Module From a Block Symbol 1. Select the Selection and Smart Drawing Tool from the toolbar and move the cursor somewhere inside the BCDAdder symbol. 2. Click the right mouse button and select the Create Design File from Selected Block option. 3. Select the Verilog HDL file type and click OK. 4. Edit the newly created Verilog file by placing your code for the BCD adder below the // {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE! comment. 5. Check your Verilog code for errors using the Processing/Analyze Current File menu command and remove any errors that you may have. Building Your Project Now that al the pieces are in place it is time to build your project so you can first simulate the design and then when you are satisfied with the simulation you can program the Altera Development board with your design. 1. Select the Processing/Start Compilation menu command. 2. Investigate and remove any errors you may have. You may be able to ignore some or all the warning messages. Preparing for the Simulation When simulating the functionality of your BCDAdder it is important to know how fast your BCDAdder is, or what is the propagation delay between the input and output of your BCDAdder. The propagation delay can be measured simply by using the timing Analyzer Tool. Using the Timing Analyzer Tool 1. Select the Tools/Timing Analyzer menu command. 2. Click the Start button and wait for the analysis to complete. COSC3215 Lab5 Winter

7 3. Select the tpd properties tab and record the slowest propagation delay time for your design. This value should be taken into consideration when implementing timing signals in your design simulation. Simulating Your BCDAdder 1. Open the Tools/Options menu command and select the Waveform Editor option. 2. Select the Extend file end time to fit all waveforms option in the When Inserting waveforms list of choices. 3. Change the default end time value to a value suitable to simulate all the possible combinations of A and B for your BCDAdder. Click OK when you are done. 4. Add a Vector Waveform File to your project using the File/New menu command. 5. Select the Other Files properties tab in the New dialog box and select the Vector Waveform File and click OK when you are done. 6. The Vector Waveform File should now be open. Move the cursor to the left windowpane of the Vector Waveform File and click the right mouse button. 7. Select the Insert Node or Busses option. 8. Click the Node Finder button. 9. Click the List button in the newly opened Node Finder window. 10. In the Nodes Found list select the A, B and Y nodes and add these to the. Click OK when you are done. 11. Click OK to close the Insert Node or Bus dialog box. 12. Move the cursor over to the windowpane listing the node names and left click on the A node. 13. With the cursor still over the selected node click the right mouse button and select the Value/Count Value option and click OK. 14. Change the radix: to hexadecimal. 15. Repeat steps 12 to 14 for the B input only do not click OK at the end of 14. COSC3215 Lab5 Winter

8 16. Select the Timing properties tab and enter a suitable value for the Count every: value. Click OK. Note you are expected to simulate every possible combination of A and B. 17. Save this file as MyBCDAdder.wvf. 18. Open the Simulator Tool using the Tools/Simulator Tool menu command and click the Start button. 19. When the simulation process is finished click the Report button. 20. A window entitled Simulation Waveforms should open, if not then open the simulator waveforms window. 21. Determine if your BCDAdder is working by examining the displayed waveforms. What is the clock period for the A input? How does this compare to the propagation delay you measured earlier? 22. If you feel that the A input clock period is incorrect for your BCDAdder you can change the period by editing the A input waveform in the MyBCDAdder.vwf file. 23. Open the MyBCDAdder.vwf file. 24. Move the cursor over the windowpane listing the node names and left click on the A node. 25. Select the Value/Count Value option and click OK. 26. Click on the Timing properties tab and enter a suitable value for the Count every: parameter. Leave the units as nanoseconds, ns. Click OK when you are done. 27. Repeat steps 24 through 26 for the B node. Enter the same Count every: value you used for A node and enter 16 for the Multiplied by: parameter. Click Ok when you are done. 28. Simulate your design and determine if your BCDAdder is functioning properly by examining the simulation waveforms. 29. Did the changes you made help? If you are satisfied with the simulation results expand on the critical points and print out the simulation waveforms. COSC3215 Lab5 Winter

9 Assigning Physical Device Pins Now that you have verified your design through the simulation process it is time to load it onto the Altera development board. 1. The first step is to assign physical device pins to all the I/O pins in your design. 2. Open the pin assignment window using the Assignments/Pins menu command. 3. De-select the Show assignments for specific nodes check box in the Node Filter section. 4. Select the Pin option under Locations in the Category section. 5. Double click on the Location column for node A[0] and scroll through the list and select PIN_ Consult the Upds.pdf file and repeat step 5 for all the other nodes in your design. Refer to Table 6. FLEX_SW1 Pin Assignments for the A and B inputs and Table 7.FLEX_DIGIT Segment I/O Connections for the seven-segment display. Programming the Altera Board 1. Consult the Upds.pdf file and verify the JTAG jumper settings are set to configure the FLEX 10K device only according to Table 2. JTAG Jumper Settings. 2. Select the Tools/Programmer menu option. 3. Verify that the Hardware Type is set to ByteBlasterMV(LPT1). 4. Click the Add File button and select the MYBCDAdder.sof file. 5. Check the Program/Configure programming option for the device chain. 6. When the programming cycle completes change the FLEX dipswitch setting and verify the functionality of your BCDAdder. 7. Make any design changes and repeat the simulation/programming part until you are satisfied with its performance. COSC3215 Lab5 Winter

10 Lab Evaluation You must show the.v and.wdf files that you have created and also demonstrate how your waveforms verify the BCD adder to the lab demonstrator (note this means you must show convincing evidence that it works). All code and simulation results should be submitted to the submit directory using the submit command. COSC3215 Lab5 Winter

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14 Appendix B HDL Entry Tutorial 2 Page 1 of 14 Contents Appendix B HDL Entry Tutorial 2...2 B.1 Getting Started...2 B.1.1 Preparing a Folder for the Project...2 B.1.2 Starting Quartus II...2 B.1.3 Creating

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180A DIGITAL SYSTEMS I Winter 2015 LAB 1: Introduction to Quartus II Schematic Capture and ModelSim Simulation This

More information

Altera Quartus II Tutorial ECE 552

Altera Quartus II Tutorial ECE 552 Altera Quartus II Tutorial ECE 552 Quartus II by Altera is a PLD Design Software which is suitable for high-density Field-Programmable Gate Array (FPGA) designs, low-cost FPGA designs, and Complex Programmable

More information

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 6: Quartus II Tutorial and Practice. Name: Date:

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 6: Quartus II Tutorial and Practice. Name: Date: EXPERIMENT # 6: Quartus II Tutorial and Practice Name: Date: Equipment/Parts Needed: Quartus II R Web Edition V9.1 SP2 software by Altera Corporation USB drive to save your files Objective: Learn how to

More information

SCHEMATIC DESIGN IN QUARTUS

SCHEMATIC DESIGN IN QUARTUS SCHEMATIC DESIGN IN QUARTUS Consider the design of a three-bit prime number detector. Figure 1 shows the block diagram and truth table. The inputs are binary signals A, B, and C while the output is binary

More information

ECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008

ECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008 1 ECSE-323 Digital System Design Lab #1 Using the Altera Quartus II Software Fall 2008 2 Introduction. In this lab you will learn the basics of the Altera Quartus II FPGA design software through following

More information

University of Florida EEL 3701 Dr. Eric M. Schwartz Madison Emas, TA Department of Electrical & Computer Engineering Revision 1 5-Jun-17

University of Florida EEL 3701 Dr. Eric M. Schwartz Madison Emas, TA Department of Electrical & Computer Engineering Revision 1 5-Jun-17 Page 1/14 Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate and two inverters under the Quartus environment. Upon completion

More information

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16 Page 1/14 Quartus Tutorial with Basic Graphical Gate Entry and Simulation Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate

More information

2 nd Year Laboratory. Experiment: FPGA Design with Verilog. Department of Electrical & Electronic Engineering. Imperial College London.

2 nd Year Laboratory. Experiment: FPGA Design with Verilog. Department of Electrical & Electronic Engineering. Imperial College London. Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment: FPGA Design with Verilog Objectives By the end of this experiment, you should know: How to design digital circuits using

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

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

Chapter 2 Getting Hands on Altera Quartus II Software

Chapter 2 Getting Hands on Altera Quartus II Software Chapter 2 Getting Hands on Altera Quartus II Software Contents 2.1 Installation of Software... 20 2.2 Setting Up of License... 21 2.3 Creation of First Embedded System Project... 22 2.4 Project Building

More information

FPGA Introductory Tutorial: Part 1

FPGA Introductory Tutorial: Part 1 FPGA Introductory Tutorial: Part 1 This tutorial is designed to assist in learning the basics of the Altera Quartus II v9.0 software. Part 1 of the tutorial will cover the basics of creating a Project,

More information

Engineering 303 Digital Logic Design Spring 2017

Engineering 303 Digital Logic Design Spring 2017 Engineering 303 Digital Logic Design Spring 2017 LAB 1 Introduction to Combo Logic and Quartus Deliverables: 0) A Simple Verilog Combinatorial Circuit 1) A Simple Block Diagram Combinatorial Circuit 2)

More information

SOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003

SOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003 SOPC LAB1 I. Introduction The purpose of this lab is to familiarize you with all the items in the kit. This tutorial tells you how to develop FPGA system in Quartus II. You are ready to begin using the

More 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

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

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

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

CHAPTER 1 INTRODUCTION... 1 CHAPTER 2 ASSIGN THE DEVICE... 7 CHAPTER 3 DESIGN ENTRY CHAPTER 4 COMPILE AND VERIFY YOUR DESIGN...

CHAPTER 1 INTRODUCTION... 1 CHAPTER 2 ASSIGN THE DEVICE... 7 CHAPTER 3 DESIGN ENTRY CHAPTER 4 COMPILE AND VERIFY YOUR DESIGN... CONTENTS CHAPTER 1 INTRODUCTION... 1 1.1 DESIGN FLOW... 1 1.2 BEFORE YOU BEGIN... 2 1.3 WHAT YOU WILL LEARN... 6 CHAPTER 2 ASSIGN THE DEVICE... 7 2.1 ASSIGN THE DEVICE... 7 CHAPTER 3 DESIGN ENTRY... 11

More information

ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004

ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004 Goals ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004 1. To review the use of Verilog for combinational logic design. 2. To become familiar with using the Xilinx ISE software

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

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

QuartusII.doc 25/02/2005 Page 1

QuartusII.doc 25/02/2005 Page 1 1 Start Icon... 2 1.1 The Quartus II Screen... 2 2 Project creation... 2 3 Schematic entry... 5 3.1 Create new drawing... 5 3.2 Symbol selection... 7 3.3 Placement of an AND gate... 8 3.4 Deleting a symbol...

More information

Xilinx Tutorial Basic Walk-through

Xilinx Tutorial Basic Walk-through Introduction to Digital Logic Design with FPGA s: Digital logic circuits form the basis of all digital electronic devices. FPGAs (Field Programmable Gate Array) are large programmable digital electronic

More information

Quartus II Introduction Using Schematic Design

Quartus II Introduction Using Schematic Design Quartus II Introduction Using Schematic Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented

More information

A Beginner's Guide to MAX+plus II

A Beginner's Guide to MAX+plus II A Beginner's Guide to MAX+plus II Author: Jacinda Clemenzi - Last Updated: December 20, 2001 Last Revised: Frank Honoré - January 23, 2004 The purpose of this guide is to provide a tutorial that will help

More information

Simulating a Design Circuit Using Qsim

Simulating a Design Circuit Using Qsim Simulating a Design Circuit Using Qsim 1. Start Qsim From version 11.1, Quartus II provides another simulating tool called Qsim. Qsim is bundled with both subscript edition and web edition of Quartus II.

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

EXPERIMENT 1. INTRODUCTION TO ALTERA

EXPERIMENT 1. INTRODUCTION TO ALTERA EXPERIMENT 1. INTRODUCTION TO ALTERA I. Introduction I.I Objectives In this experiment, you will learn computer aided digital design and verification of it using Field Programmable Gate Arrays (FPGA).

More 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

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

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

Lab 2: Introduction to Verilog HDL and Quartus

Lab 2: Introduction to Verilog HDL and Quartus Lab 2: Introduction to Verilog HDL and Quartus September 16, 2008 In the previous lab you designed simple circuits using discrete chips. In this lab you will do the same but by programming the CPLD. At

More information

Experiment VERI: FPGA Design with Verilog (Part 1)

Experiment VERI: FPGA Design with Verilog (Part 1) Experiment VERI: Department of Electrical & Electronic Engineering 2nd Year Laboratory Experiment VERI: FPGA Design with Verilog (Part 1) (webpage: www.ee.ic.ac.uk/pcheung/teaching/e2_experiment /) Objectives

More information

UNIVERSITI MALAYSIA PERLIS

UNIVERSITI MALAYSIA PERLIS UNIVERSITI MALAYSIA PERLIS SCHOOL OF COMPUTER & COMMUNICATIONS ENGINEERING EKT 124 LABORATORY MODULE INTRODUCTION TO QUARTUS II DESIGN SOFTWARE : INTRODUCTION TO QUARTUS II DESIGN SOFTWARE OBJECTIVES To

More information

Quartus II Introduction Using Verilog Design

Quartus II Introduction Using Verilog Design Quartus II Introduction Using Verilog Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented

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

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

Laboratory Experiment Mastering Digital Design

Laboratory Experiment Mastering Digital Design MSc Course on Analogue and Digital IC Design Laboratory Experiment Mastering Digital Design (webpage: http://www.ee.ic.ac.uk/pcheung/teaching/msc_experiment/) This Laboratory Experiment is intended to

More information

University Program 3 Kit

University Program 3 Kit University Program 3 Kit VLSI Tutorial : LEDs & Push Buttons Version 02.00 System Level Solutions Inc. (USA) 14702 White Cloud Ct. Morgan Hill, CA 95037 2 System Level Solutions Copyright 2003-2005 System

More 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

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

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

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

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

Quick Tutorial for Quartus II & ModelSim Altera

Quick Tutorial for Quartus II & ModelSim Altera Quick Tutorial for Quartus II & ModelSim Altera By Ziqiang Patrick Huang Hudson 213c Ziqiang.huang@duke.edu Download & Installation For Windows or Linux users : Download Quartus II Web Edition v13.0 (ModelSim

More information

TUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES

TUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES Introduction to Active-HDL TUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES This tutorial will use the 1-bit full adder you designed in Tutorial #1 to construct larger adders. This will introduce the

More information

EET 1131 Lab #7 Arithmetic Circuits

EET 1131 Lab #7 Arithmetic Circuits Name Equipment and Components Safety glasses ETS-7000 Digital-Analog Training System Integrated Circuits: 7483, 74181 Quartus II software and Altera DE2-115 board Multisim simulation software EET 1131

More information

TUTORIALS FOR MAX3000A CPLD DEVICES

TUTORIALS FOR MAX3000A CPLD DEVICES TUTORIALS FOR MAX3000A CPLD DEVICES WEL LAB BCD DECODER CONTENTS: INTRODUCTION.. GETTING STARTED. DESIGN ENTRY. PIN ASSIGNMENT. PROGRAMMING CPLD DEVICE. REFERENCES. WEL LAB, IIT BOMBAY Page 2 Introduction:

More information

EE 203 Supplement Package

EE 203 Supplement Package EE 203 Supplement Package Department of Electrical and Computer Engineering University of Alabama in Huntsville UAHuntsville 2008 Contents page Introduction 2 Laboratory Schedule 3 Lab 1: Introduction

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

ENSC 350 ModelSim Altera Tutorial

ENSC 350 ModelSim Altera Tutorial ENSC 350 ModelSim Altera Tutorial This is a quick guide get you started with the ModelSim Altera simulator. ModelSim is only a functional verification tool so you will also have to use Quartus II to complete

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

Xilinx Schematic Entry Tutorial

Xilinx Schematic Entry Tutorial Overview Xilinx Schematic Entry Tutorial Xilinx ISE Schematic Entry & Modelsim Simulation What is circuit simulation and why is it important? Complex designs, short design cycle Simultaneous system design

More information

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification

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

Quartus. Tutorial. Programmable Logic Development System

Quartus. Tutorial. Programmable Logic Development System Quartus Programmable Logic Development System Tutorial Altera Corporation 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com Version 1999.10 Revision 2 November 1999 P25-04732-01

More information

Verilog Design Entry, Synthesis, and Behavioral Simulation

Verilog Design Entry, Synthesis, and Behavioral Simulation ------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize

More information

Using Synplify Pro, ISE and ModelSim

Using Synplify Pro, ISE and ModelSim Using Synplify Pro, ISE and ModelSim VLSI Systems on Chip ET4 351 Rene van Leuken Huib Lincklaen Arriëns Rev. 1.2 The EDA programs that will be used are: For RTL synthesis: Synplicity Synplify Pro For

More information

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.

More information

Programmable Logic Design I

Programmable Logic Design I Programmable Logic Design I Introduction In labs 11 and 12 you built simple logic circuits on breadboards using TTL logic circuits on 7400 series chips. This process is simple and easy for small circuits.

More information

EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25

EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25 EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25 Introduction This Xilinx project introduces the characteristics of the ripple carry adder. From the last project, you learned that

More information

Altera Technical Training Quartus II Software Design

Altera Technical Training Quartus II Software Design Altera Technical Training Quartus II Software Design Exercises Quartus II Software Design Series: Foundation 2 Quartus II Software Design Series: Foundation Exercises Exercise 1 3 Exercises Quartus II

More information

E85: Digital Design and Computer Architecture J. Spjut and R. Wang Spring 2014

E85: Digital Design and Computer Architecture J. Spjut and R. Wang Spring 2014 E85: Digital Design and Computer Architecture J. Spjut and R. Wang Spring 2014 Lab 1: Full Adder Introduction In this lab you will design a simple digital circuit called a full adder. Along the way, you

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

Building Combinatorial Circuit Using Behavioral Modeling Lab

Building Combinatorial Circuit Using Behavioral Modeling Lab Building Combinatorial Circuit Using Behavioral Modeling Lab Overview: In this lab you will learn how to model a combinatorial circuit using behavioral modeling style of Verilog HDL. You will model a combinatorial

More information

LAB 2: INTRODUCTION TO LOGIC GATE AND ITS BEHAVIOUR

LAB 2: INTRODUCTION TO LOGIC GATE AND ITS BEHAVIOUR LAB 2: INTRODUCTION TO LOGIC GATE AND ITS BEHAVIOUR OBJECTIVE 1. To verify the operation of OR, AND, INVERTER gates 2. To implement the operation of NAND and NOR gate 3. To construct a simple combinational

More information

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly! This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,

More information

ISim In-Depth Tutorial. UG682 (v13.4) January 18, 2012

ISim In-Depth Tutorial. UG682 (v13.4) January 18, 2012 ISim In-Depth Tutorial Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the development of designs to operate with Xilinx

More information

CPLD Software Tutorial FOR ALTERA MAX+PLUS II

CPLD Software Tutorial FOR ALTERA MAX+PLUS II CPLD Software Tutorial FOR ALTERA MAX+PLUS II Note: This material was developed by William Kleitz for inclusion in his textbook Digital Electronics: A Practical Approach 6 th edition, (Prentice-Hall 2002).

More information

ISE Simulator (ISim) In-Depth Tutorial. UG682 (v 13.1) March 1, 2011

ISE Simulator (ISim) In-Depth Tutorial. UG682 (v 13.1) March 1, 2011 ISE Simulator (ISim) In-Depth Tutorial Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the development of designs to operate

More information

NOTE: This tutorial contains many large illustrations. Page breaks have been added to keep images on the same page as the step that they represent.

NOTE: This tutorial contains many large illustrations. Page breaks have been added to keep images on the same page as the step that they represent. CSE 352 Tutorial # 4 Synthesizing onto an FPGA Objectives This tutorial will walk you through the steps of implementing a design made in Active-HDL onto the Altera Cyclone II FPGA NOTE: This tutorial contains

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

Chip Design with FPGA Design Tools

Chip Design with FPGA Design Tools Chip Design with FPGA Design Tools Intern: Supervisor: Antoine Vazquez Janusz Zalewski Florida Gulf Coast University Fort Myers, FL 33928 V1.9, August 28 th. Page 1 1. Introduction FPGA is abbreviation

More information

Department of Electrical and Computer Engineering Xilinx ISIM <Release Version: 14.1i> Simulation Tutorial Using Verilog

Department of Electrical and Computer Engineering Xilinx ISIM <Release Version: 14.1i> Simulation Tutorial Using Verilog Department of Electrical and Computer Engineering Xilinx ISIM Simulation Tutorial Using Verilog Spring 2013 Baback Izadi You will next test the full adder circuit that you built

More information

ELEC 4200 Lab#0 Tutorial

ELEC 4200 Lab#0 Tutorial 1 ELEC 4200 Lab#0 Tutorial Objectives(1) In this Lab exercise, we will design and implement a 2-to-1 multiplexer (MUX), using Xilinx Vivado tools to create a VHDL model of the design, verify the model,

More information

MaxPlus II Tutorial with Basic Graphical Gate Entry and Simulation Obtaining the MaxPlus Software: Example Problem: Y = A*/B + /C

MaxPlus II Tutorial with Basic Graphical Gate Entry and Simulation Obtaining the MaxPlus Software: Example Problem: Y = A*/B + /C Page 1/8 MaxPlus II Tutorial with Basic Graphical Gate Entry and Simulation Obtaining the MaxPlus Software: The student version of the MaxPlus II software can be obtained directly from the Altera web site

More information

Vivado Tutorial. Introduction. Objectives. Procedure. Lab Workbook. Vivado Tutorial

Vivado Tutorial. Introduction. Objectives. Procedure. Lab Workbook. Vivado Tutorial Lab Workbook Introduction This tutorial guides you through the design flow using Xilinx Vivado software to create a simple digital circuit using Verilog HDL. A typical design flow consists of creating

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

Terasic DE0 Field Programmable Gate Array (FPGA) Development Board

Terasic DE0 Field Programmable Gate Array (FPGA) Development Board Lecture FPGA-01 DE0 FPGA Development Board and Quartus II 9.1 FPGA Design Software Terasic DE0 Field Programmable Gate Array (FPGA) Development Board 1 May 16, 2013 3 Layout and Components of DE0 May 16,

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

Tutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board

Tutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board Tutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board Shawki Areibi August 15, 2017 1 Introduction Xilinx System Generator provides a set of Simulink blocks

More information

2001 by X Engineering Software Systems Corp., Apex, North Carolina 27502

2001 by X Engineering Software Systems Corp., Apex, North Carolina 27502 2001 by X Engineering Software Systems Corp., Apex, North Carolina 27502 All rights reserved. No part of this text may be reproduced, in any form or by any means, without permission in writing from the

More information

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0 Using ModelSim to Simulate Logic Circuits in VHDL Designs For Quartus II 13.0 1 Introduction This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We

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

Excel window. This will open the Tools menu. Select. from this list, Figure 3. This will launch a window that

Excel window. This will open the Tools menu. Select. from this list, Figure 3. This will launch a window that Getting Started with the Superpave Calculator worksheet. The worksheet containing the Superpave macros must be copied onto the computer. The user can place the worksheet in any desired directory or folder.

More information

Xilinx Vivado/SDK Tutorial

Xilinx Vivado/SDK Tutorial Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping

More information

Physics 536 Spring Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board.

Physics 536 Spring Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 Spring 2009 Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Digital logic: Equivalent to a large number of discrete logic elements

More information

CET4805 Component and Subsystem Design II. EXPERIMENT # 5: Adders. Name: Date:

CET4805 Component and Subsystem Design II. EXPERIMENT # 5: Adders. Name: Date: EXPERIMENT # 5: Adders Name: Date: Equipment/Parts Needed: Quartus II R Web Edition V9.1 SP2 software by Altera Corporation USB drive to save your files Objective: Design a half adder by extracting the

More information

Tutorial: Pattern Wizard

Tutorial: Pattern Wizard University of Pennsylvania Department of Electrical and Systems Engineering Digital Design Laboratory Tutorial: Pattern Wizard When assigning values to a bus in Xilinx during the behavioral simulation,

More information

A B A+B

A B A+B ECE 25 Lab 2 One-bit adder Design Introduction The goal of this lab is to design a one-bit adder using programmable logic on the BASYS board. Due to the limitations of the chips we have in stock, we need

More information

Step 1: Downloading the source files

Step 1: Downloading the source files Introduction: In this lab and in the remainder of the ELEC 2607 labs, you will be using the Xilinx ISE to enter and simulate the designs for your circuits. In labs 3 and 4, you will use ISE to compile

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

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 10: Implementing Binary Adders. Name: Date:

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 10: Implementing Binary Adders. Name: Date: EXPERIMENT # 10: Implementing Binary Adders Name: Date: Equipment/Parts Needed: PC (Altera Quartus II V9.1 installed) DE-2 board Objective: Design a half adder by extracting the Boolean equation from a

More information

EE 1315 DIGITAL LOGIC LAB EE Dept, UMD

EE 1315 DIGITAL LOGIC LAB EE Dept, UMD EE 1315 DIGITAL LOGIC LAB EE Dept, UMD EXPERIMENT # 1: Logic building blocks The main objective of this experiment is to let you familiarize with the lab equipment and learn about the operation of the

More information

IMPLEMENTING COUNTERS

IMPLEMENTING COUNTERS EECS:6660:0xxField Programmable Gate Arrays s11l1_fpga.fm - 1 Lab Assignment #1 Due Thursday, March 31 2011 IMPLEMENTING COUNTERS 1. OBJECTIVES - learning the VHDL implementation process using Language

More information

ELEC 204 Digital System Design LABORATORY MANUAL

ELEC 204 Digital System Design LABORATORY MANUAL ELEC 204 Digital System Design LABORATORY MANUAL : Introductory Tutorial For Xilinx ISE Foundation v10.1 & Implementing XOR Gate College of Engineering Koç University Important Note: In order to effectively

More information

EE 101 Lab 5 Fast Adders

EE 101 Lab 5 Fast Adders EE 0 Lab 5 Fast Adders Introduction In this lab you will compare the performance of a 6-bit ripple-carry adder (RCA) with a 6-bit carry-lookahead adder (CLA). The 6-bit CLA will be implemented hierarchically

More information