1. Introduction EE108A. Lab 1: Combinational Logic: Extension of the Tic Tac Toe Game

Size: px
Start display at page:

Download "1. Introduction EE108A. Lab 1: Combinational Logic: Extension of the Tic Tac Toe Game"

Transcription

1 EE108A Lab 1: Combinational Logic: Extension of the Tic Tac Toe Game 1. Introduction Objective This lab is designed to familiarize you with the process of designing, verifying, and implementing a combinational logic circuit. In particular you will get an overview of the tools we ll be using throughout the quarter and how they interact. For this lab you will be taking the provided Tic Tac Toe game and extending it as in problem 9.8c in the reader. Please make sure you have read and studied chapter 9.4 of the reader before starting this lab. The code provided here is basically just that described in the book with a bit of glue code to take in input from the pushbuttons and output it to the screen. If you don t understand the design of the game from the book you are going to have a very hard time making this lab work. What you ll be doing Logic design consists of three main parts: verifying, verifying, and verifying. Well, technically you design something, then you verify it, then you implement it, and then you verify it again, but most of your time will be spent making sure it works the way you designed it. In this lab we ve provided all of the code for a working Tic Tac Toe game with the Win and Block (two_in_row.v) and Empty (empty.v) strategies as outlined in the book, and a test bench (sim/lab1_testbench.v) for verifying correct functionality in simulation. Your job is to write a PlayAdjacentEdge module (probably called something creative like play_adjacent_edge.v) and a Select4 module and integrate them into the top-level model (tictactoe.v) as described in problem 9.8c. In addition to adding the PlayAdjacentEdge module and hooking it up, you will need to modify the top-level simulation model to test this new functionality, and verify that it works in the simulator. Once you are very sure that it is functioning as required, you will come into lab and demonstrate it running on the FPGA. You will quickly (and quite possibly painfully) learn that unless you have extensively tested a module it will not work, so plan on putting at least as much thought into how you are going to test your design as how you re going to build it. Important things to remember The majority of your time will be spent simulating your design in ModelSim to verify its functionality. (You can do this on your own computer at home if you download and install ModelSim. Please see the webpage for instructions on downloading and licenses.) Debugging your design on the actual FPGA is enormously harder and slower than in ModelSim, so try to make sure everything works before you start downloading to the FPGA. When you simulate a model you will use a testbench module which provides input to the device under test (dut) to see how it responds. In this lab the lab1_testbench.v module instantiates two instances of the TicTacToe module, one for testing (called dut) and one to play against it (called opponent).

2 The testbench is never actually run on the FPGA, so it can do things like print messages to the screen and use for-loops. A separate top-level module lab1_top.v is used for synthesizing the design for the FPGA. That top-level module hooks up the tictactoe.v module to the glue code to take input from the buttons and output to the display. 2. Getting started: Simulation in ModelSim Building the project in ModelSim To work on your project in ModelSim you first need to create a new ModelSim project, import your source files, and tell ModelSim which simulation library to use. 1. To get started download the lab 1 files (lab1.zip) from the website and uncompress them into your local directory. From here on I ll assume all your files are in the lab1_tictactoe directory. 2. Then run ModelSim (we ll be using version SE 5.7a). 3. Create a new project by choosing File->New->Project. 4. Name the project lab1 and navigate to lab1_tictactoe/sim for the Project Location. 5. Click OK. 6. When you click OK the Add items to the Project window will appear. Click on the Add Existing File icon and add empty, rarb, select3, tictactoe, two_in_array, and two_in_row. The other files are the glue code for when you run it on the FPGA, so we don t want them in the simulation. 7. Click Add Existing File again and add the lab1_tictactoe/sim/lab1_testbench.v file as well. This is the testbench file that you will use in simulation to verify functionality. 8. Click Close. You should now see all the files listed in the left side of the window with blue question marks for their status. You can view and edit them by double-clicking on them. At this point you should go through each file and familiarize yourself with what is in it. What you see here should be basically the same as what is in the book in chapter 9.4. Running the provided code Once you are familiar with the contents of the files (which is important given that you re going to be modifying them) you should simulate the whole design to see how it works. To do this you need to first compile all the files, then select the correct simulation library, then open the output windows, and finally run the simulation. 1. To get started choose Compile All from the Compile menu or click the button that looks like someone pouring sand into a box. Green text should appear on the right side as each file is compiled and all the blue question marks should change into green check marks. 2. Now choose Simulate from the Simulate menu. 3. Under the Libraries tab click Add and navigate to C:\Modeltech_5.7a\xilinx_libs\unisims_ver, but make sure you do not select anything in that directory. Then click open. This ads libraries for our FPGAs to your simulation. (For this design you don t actually need any libraries, but when you get more complicated designs you will need them to simulate special FPGA features such as memories.)

3 4. Under the Design tab expand work and select lab1_testbench. This tells ModelSim that the top-level module in your design is lab1_testbench.v. 5. Click OK. 6. Notice that the left-hand side of the ModelSim window has changed from a list of files (Project view in the bottom tab) to a hierarchical list of modules in your design (sim view). You can expand any module here to see what modules are instantiated within it. You are now ready to simulate the design, but first you should open up some windows so you can see the results. Open up the Wave window by choosing Wave from the View menu. To put signals in the Wave window open up the Signals window from the View menu. Note that the signals window shows the signals present in the design at the point selected in the main ModelSim window. For example, if you select the topr module which is one instance of the TwoInRow modules in the winx module inside the opponenet module, the signals window will only show the signals inside that module: Figure 1. Signals inside the submodule lab1_testbench.opponent.winx.topr. If you select the top-level module (lab1_testbench) you will see the signals at the top of the module: Figure 2. Signals inside the top-level module lab1_testbench.

4 This ability to dig-down into modules makes it possible to see what s going on inside a large design easily. For this lab you ll mostly want to see the signals at the top-level of the design, so click on lab1_testbench in the main ModelSim window, then select and drag all the signals from the signals window to the waves window. Now when you run the simulation you ll see the values of those signals over time. Make sure you take a look at the top-level lab1_testbench module and understand what those signals are as you will need them when you write and test your own module! Now that you ve got your wave viewer setup it s time to run the simulation. Remember that when you run a simulation you are using a testbench to control the simulation. In this case the testbench is the top-level file lab1_testbench.v. It is setup to run a bunch of tests on the design and then stop. To run through the whole testbench until the stop choose Simulate->Run-Run All, click the Run All button, or type run all into the main ModelSim window. You can also use the regular Run command to specify how long to run if your testbench does not limit the time itself. As the simulation runs the testbench uses the $display() command to print out messages to the ModelSim window. Remember that since the testbench is only used for simulation it can include commands like $display() or loops. At this point you should make sure you understand the output you re seeing and how it relates to the testbench. If you need more help with ModelSim please take a look at the tutorial on the class webpage. Your job: extending TicTacToe Now that you ve got your simulation environment all set and you understand how the original design works, it s time for you to extend it. What you need to do consists basically of: 1. Add a new PlayAdjacentEdge module that meets the specifications of problem 9.8c. 2. Change the Select3 module to a Select4 module capable of prioritizing amongst 4 inputs. 3. Integrate the new modules into the TicTacToe module. (We ve even specified where you should do this.) 4. Update the testbench to verify the functionality of your module. Please remember that verifying your module s functionality is the most important part of this whole process. For a small design like this it isn t so difficult to do, but as your designs become larger you will find that the more time you spend testing the easier everything goes! 3. Finishing up: Synthesis with Xilinx ISE The final part of the lab is to synthesize your Verilog into the.bit file that you will download to the FPGA to run your design on the actual hardware. The.bit file contains all the configuration information required to setup the FPGA to implement the circuits you designed. Because FPGAs are hard to program, generating a.bit file takes several minutes, so try to spend more time in ModelSim than you do in the Xilinx software!

5 Opening the project in Xilinx ISE The Xilinx projects contain a lot of specific information about the FPGA we are using and how it should be configured, so we ve provided you with a project file for this lab. To generate a.bit file you should first run the Xilinx ISE 7.1i Project Navigator and then choose Open Project from the file menu. Select the lab1_tictactoe/ise/lab1 project. Once the project is open you will see the design hierarchy in the upper left: And the process list in the middle left: Generating your.bit file The process list will change depending on which part of the design you select in the Sources list. To generate a.bit file you need to select the top-level portion of the project lab1_top and double-click on Generate Programming File at the bottom of the Processes list or right-click on it and choose Rerun All. Note that for the actual implementation the top-level file is lab1_top.v and not the testbench lab1_testbench.v as it was in ModelSim! This is a very important distinction that you should try to get clear as soon as possible. The lab1_top.v file instantiates instances of the same TicTacToe module (from the same tictactoe.v file) as the lab1_top.v file, but only one of them can be synthesized to run on hardware. Remember that the lab1_testbench.v file has $display() statements in it and loops. If you were to put those in the top-level file you re using for synthesis

6 the tools would complain that your design was unsynthesizable (if you re lucky) or give you something very strange and hard to debug (if you re not). For this lab there is a lot of glue code in connected to the TicTacToe modules in the synthesizable top-level module. There s also a user constraints file called lab1_top.ucf which defines all the wire connections to the outside world and their timing requirements. You don t need to pay any attention to this code for the prelab, but it s important to realize that we do have to define the external interface in order to make it do anything! (This real-world external interface is what the ModelSim testbench emulates, but it can do so much more carefully than we can ever press a button ourselves.) Creating the.bit file will take 4 or 5 minutes and spit out lots of information to the console tab in ISE. You should make sure that if any warnings are generated that you look at them and know what they are. For this lab if they are in your code you should be concerned, but if they are in one of the glue modules don t worry about it. If you encounter errors read the message and try to fix them. If you really can t understand the error see the TAs for help. Most of the time the errors are due to syntax errors in your glue code (all the others should have been caught in ModelSim) or missing files. If the design just won t compile try choosing Project->Cleanup Project Files to get rid of any old temporary files and try again. 4. Submissions and lab day Submissions Your prelab is due on Monday, October 5PM. You should submit these materials electronically to your Z:\submit folder: 1. Verilog code of the modified TicTacToe module, your new strategy module, the Select4 module, and your modified testbench 2. ModelSim simulation diagrams of your extended game as well as its display outputs. These must be annotated with text to point out where your new module is being tested and how the displayed results match what you expect. 3. A brief descriptions explaining: o How you developed your design and how it is structured. o The strategy you used to verify your design in the testbench and what modifications you made. o Whether you encountered any problems during the design and if you understood them. You can put all this into a PDF file, but if you do please also submit the original Verilog files for the extended game as well. All of your submitted files should be saved electronically to your Z:\submit folder (if one doesn t exist already, create one). You must log into a Packard 128 computer using the username and password we gave you in Lab 0 to access the Z:\ drive.

7 Programming the FPGA To program the FPGA you need to run Xilinx ISE as described above and create a.bit file. Once you have done this double-click on the Analyze Design Using Chipscope Process. Later on in the quarter you will use Chipscope extensively to peer into your design while it is running, but for now we re just going to use it to download your.bit file to the FGPA. You may get a firewall warning when you startup Chipscope. You can ignore this. Turn on the FPGA board using the red switch near the power cable. A bunch of pretty green and red LEDs should turn on and some may even blink if you re really nice. In Chipscope click on the Open Cable/Search JTAG icon in the upper-left corner. After a few seconds Chipscope should find the board and pop up a window listing three devices. The bottom one is our FPGA, but we don t care about this window so just click OK. Now to download your.bit file right-click on the DEV:2 MyDevice2 (XC2VP30) device and choose Configure. (If there isn t a device that matches that name, choose the one that has XC2VP30 in it as that is the part number of the FPGA.) Click on Select New File and choose the lab1_tictactoe/lab1_top.bit file and click OK. You will see a progress bar in the lower right as your design is downloaded to the board. As soon as it finishes the FPGA has been configured for your design and is running. Verifying functionality Now that your design is running on the FPGA you can try it out by flipping the monitor switch over to the B setting. You should see a screen like the following:

8 To test your design you use the 8 switches on the Digilab Digital I/O 4 board attached to the FPGA board to choose which location you want to have an X or an O and then press the LEFT button or the RIGHT button on the FPGA to load that combination in as Xs or Os, respectively. (The combination you have selected on the switches is stored into a memory on the FPGA when you press the button so you can first load positions for X and then for Os to get any board combination.) Unfortunately we only have 8 switches and we need 9 bits of input, so you have to hold down BTN1 (to the left of SW8) to get the 9th bit. If you enter invalid bits or your design is broken you will see a red C in a given square. Now that you ve got your design working you need to verify that your new strategy behaves as expected and show the TA. You must also answer the following questions as part of your lab assignment to be turned in to the TA: 1. What is the maximum delay through your circuit? 2. What fraction of the resources (in terms of LUTs, or look up tables) did your implementation consume? (hint: this and #1 can be found in the place and route report generated when you generate your.bit file.) 3. Look at the floor planner and get an idea of what you actually built. 4. Take a look at the VGA module and figure out how it draws characters at different locations on the screen. 5. Explain the difference between synthesizable and non-synthesizable code. 6. Include any comments about this lab so we can make it better in the future.

EE108a Lab 0: Introduction to Verilog and the EE108a tool chain, version 1.01

EE108a Lab 0: Introduction to Verilog and the EE108a tool chain, version 1.01 Introduction Welcome to EE108a Lab 0. This lab is designed to familiarize you with Verilog and the tools we ll be using in EE108a. The lab is a step-by-step walkthrough which will take you from the initial

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

Xilinx ChipScope ICON/VIO/ILA Tutorial

Xilinx ChipScope ICON/VIO/ILA Tutorial Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These

More information

Tutorial: Working with the Xilinx tools 14.4

Tutorial: Working with the Xilinx tools 14.4 Tutorial: Working with the Xilinx tools 14.4 This tutorial will show you how to: Part I: Set up a new project in ISE Part II: Implement a function using Schematics Part III: Implement a function using

More information

Quartus II Tutorial. September 10, 2014 Quartus II Version 14.0

Quartus II Tutorial. September 10, 2014 Quartus II Version 14.0 Quartus II Tutorial September 10, 2014 Quartus II Version 14.0 This tutorial will walk you through the process of developing circuit designs within Quartus II, simulating with Modelsim, and downloading

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

Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017

Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017 Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017 This tutorial will walk you through the process of developing circuit designs within Quartus II, simulating with

More information

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

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

More information

Introduction. Overview. Top-level module. EE108a Lab 3: Bike light

Introduction. Overview. Top-level module. EE108a Lab 3: Bike light Version 2.0 David Black-Schaffer Version 2.2 David Black-Schaffer Introduction In lab 3 you are going to get your first taste of sequential logic by building a system of finite state machines, timers,

More information

Lab 1: FPGA Physical Layout

Lab 1: FPGA Physical Layout Lab 1: FPGA Physical Layout University of California, Berkeley Department of Electrical Engineering and Computer Sciences EECS150 Components and Design Techniques for Digital Systems John Wawrzynek, James

More information

The Alarm System: The alarm system to be designed has the following inputs.

The Alarm System: The alarm system to be designed has the following inputs. 1 Introduction In this lab you will use the Xilinx CAD tools to complete the design of a simple home alarm system containing sensors for that indicate whether the Windows, Door, and Garage are secure.

More information

Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i

Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i This tutorial will show you how to: Use Verilog to specify a design Simulate that Verilog design Define pin constraints for the FPGA (.ucf

More information

Quartus II Tutorial. September 10, 2014 Quartus II Version 14.0

Quartus II Tutorial. September 10, 2014 Quartus II Version 14.0 Quartus II Tutorial September 10, 2014 Quartus II Version 14.0 This tutorial will walk you through the process of developing circuit designs within Quartus II, simulating with Modelsim, and downloading

More information

Lab 2 Designing with Verilog

Lab 2 Designing with Verilog UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 2 Designing with Verilog 1.0 Motivation In this lab you will learn how to express

More information

The board is powered by the USB connection, so to turn it on or off you plug it in or unplug it, respectively.

The board is powered by the USB connection, so to turn it on or off you plug it in or unplug it, respectively. Lab 1 You may work in pairs or individually on this lab Lab Objectives Learn about the equipment we will be using and how to handle it safely. Learn the basics of using Xilinx ISE to develop hardware designs

More information

XILINX WebPack -- testing with Nexys2 boards at USC (EE201L)

XILINX WebPack -- testing with Nexys2 boards at USC (EE201L) XILINX WebPack -- testing with Nexys2 boards at USC (EE201L) Gandhi Puvvada 1 Before you start: 1.1 We assume that you have installed WebPACK on your desktop or laptop already. We assume that you have

More information

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry EE183 LAB TUTORIAL Introduction You will be using several CAD tools to implement your designs in EE183. The purpose of this lab tutorial is to introduce you to the tools that you will be using, Xilinx

More information

Circuit design with configurable devices (FPGA)

Circuit design with configurable devices (FPGA) 1 Material Circuit design with configurable devices (FPGA) Computer with Xilinx's ISE software installed. Digilent's Basys2 prototype board and documentation. Sample design files (lab kit). Files and documents

More information

Start Active-HDL. Create a new workspace TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS

Start Active-HDL. Create a new workspace TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS Introduction to Active-HDL TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS This tutorial will introduce the tools and techniques necessary to design a basic schematic. The goal of this tutorial is

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

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

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018 University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS Spring Quarter 2018 LAB 2: FPGA Synthesis and Combinational Logic Design Objective: This lab covers

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

EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09

EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09 EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09 Lab Description Today s lab will introduce you to the Xilinx Integrated Software Environment (ISE)

More information

Introduction. About this tutorial. How to use this tutorial

Introduction. About this tutorial. How to use this tutorial Basic Entry & not About this tutorial This tutorial consists of an introduction to creating simple circuits on an FPGA using a variety of methods. There are two ways to create the circuit: using or by

More information

Vivado Walkthrough ECGR Fall 2015

Vivado Walkthrough ECGR Fall 2015 ECGR 2181 - Vivado Walkthrough 1 Vivado Walkthrough ECGR 2181 - Fall 2015 Intro In this walkthrough we re going to go through the process of creating a project, adding sources, writing vhdl, simulating

More information

Lab 4: Audio Pipeline on the FPGA

Lab 4: Audio Pipeline on the FPGA Lab 4: Audio Pipeline on the FPGA 6.375 Laboratory 4 Assigned: March 1, 2013 Due: March 8, 2013 1 Introduction In this lab we will run the audio pipeline constructed in the previous labs on an FPGA. We

More information

Using Project Navigator

Using Project Navigator UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Overview Xilinx Project Navigator is an Integrated Development Environment for digital

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

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

Lab 3 Verilog Simulation Mapping

Lab 3 Verilog Simulation Mapping University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences 1. Motivation Lab 3 Verilog Simulation Mapping In this lab you will learn how to use

More information

Tutorial: ISE 12.2 and the Spartan3e Board v August 2010

Tutorial: ISE 12.2 and the Spartan3e Board v August 2010 Tutorial: ISE 12.2 and the Spartan3e Board v12.2.1 August 2010 This tutorial will show you how to: Use a combination of schematics and Verilog to specify a design Simulate that design Define pin constraints

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Spring 2000 Lab 1 Introduction to Xilinx Design Software 1 Objectives In this

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

Don t expect to be able to write and debug your code during the lab session.

Don t expect to be able to write and debug your code during the lab session. EECS150 Spring 2002 Lab 4 Verilog Simulation Mapping UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping

More information

Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board.

Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board. Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board. This lab is based on: Xilinx Project Navigator, Release Version 14.6 Digilent Adept System Rev 2.7, Runtime Rev 2.16 Digilent

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

Lab 1 FPGA CAD Tools

Lab 1 FPGA CAD Tools UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 1 FPGA CAD Tools ASSIGNED: Week of 1/21 DUE: Week of 1/28, 10 minutes after start

More information

To practice combinational logic on Logisim and Xilinx ISE tools. ...

To practice combinational logic on Logisim and Xilinx ISE tools. ... ENGG1203: Introduction to Electrical and Electronic Engineering Second Semester, 2017 18 Lab 1 Objective: To practice combinational logic on Logisim and Xilinx ISE tools. 1 Find your lab partner You will

More information

CS152 FPGA CAD Tool Flow University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences

CS152 FPGA CAD Tool Flow University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences CS152 FPGA CAD Tool Flow University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences Compiled: 4/3/2003 for CS152 Spring 03, Prof. John Kubiatowicz

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

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Fall 2000 Original Lab By: J.Wawrzynek and N. Weaver Edited by B. Choi, R.

More information

Laboratory 1: Eclipse and Karel the Robot

Laboratory 1: Eclipse and Karel the Robot Math 121: Introduction to Computing Handout #2 Laboratory 1: Eclipse and Karel the Robot Your first laboratory task is to use the Eclipse IDE framework ( integrated development environment, and the d also

More information

Part 1: Understanding Windows XP Basics

Part 1: Understanding Windows XP Basics 542362 Ch01.qxd 9/18/03 9:54 PM Page 1 Part 1: Understanding Windows XP Basics 1: Starting Up and Logging In 2: Logging Off and Shutting Down 3: Activating Windows 4: Enabling Fast Switching between Users

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

Digital Design and Computer Architecture J. Spjut & M. Spencer

Digital Design and Computer Architecture J. Spjut & M. Spencer Digital Design and Computer Architecture J. Spjut & M. Spencer Lab 3: Adventure Game Introduction In this lab may you will design a Finite State Machine (FSM) that implements an adventure game! You will

More information

Cmpt 101 Lab 1 - Outline

Cmpt 101 Lab 1 - Outline Cmpt 101 Lab 1 - Outline Instructions: Work through this outline completely once directed to by your Lab Instructor and fill in the Lab 1 Worksheet as indicated. Contents PART 1: GETTING STARTED... 2 PART

More information

CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim

CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim Purpose Define logic expressions in Verilog using register transfer level (RTL) and structural models. Use Quartus II to

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

Staff Directory & Online Classroom: A Picture Book

Staff Directory & Online Classroom: A Picture Book Staff Directory & Online Classroom: A Picture Book eleventh in a series By Dennis Sulfsted Technology Coordinator Reading Community City Schools Holly Approved 2007 HRF Publications All current Picture

More information

Customizing DAZ Studio

Customizing DAZ Studio Customizing DAZ Studio This tutorial covers from the beginning customization options such as setting tabs to the more advanced options such as setting hot keys and altering the menu layout. Introduction:

More information

Jerry Cain Handout #5 CS 106AJ September 30, Using JSKarel

Jerry Cain Handout #5 CS 106AJ September 30, Using JSKarel Jerry Cain Handout #5 CS 106AJ September 30, 2017 Using JSKarel This handout describes how to download and run the JavaScript version of Karel that we ll be using for our first assignment. 1. Getting started

More information

EECS150 Lab Lecture 5 Introduction to the Project

EECS150 Lab Lecture 5 Introduction to the Project EECS150 Lab Lecture 5 Introduction to the Project Ian Juch Electrical Engineering and Computer Sciences University of California, Berkeley 9/28/2012 1 Note on Lab4 You should augment the testbenches we

More information

JEE2600 INTRODUCTION TO DIGITAL LOGIC AND COMPUTER DESIGN. ModelSim Tutorial. Prepared by: Phil Beck 9/8/2008. Voter Function

JEE2600 INTRODUCTION TO DIGITAL LOGIC AND COMPUTER DESIGN. ModelSim Tutorial. Prepared by: Phil Beck 9/8/2008. Voter Function JEE2600 INTRODUCTION TO DIGITAL LOGIC AND COMPUTER DESIGN ModelSim Tutorial Prepared by: Phil Beck 9/8/2008 Vote 1 Vote 2 Voter Function Pass Vote 3 Pass is only a 1 when two or more of the Vote inputs

More information

FPGA Design Tutorial

FPGA Design Tutorial ECE 554 Digital Engineering Laboratory FPGA Design Tutorial Version 5.0 Fall 2006 Updated Tutorial: Jake Adriaens Original Tutorial: Matt King, Surin Kittitornkun and Charles R. Kime Table of Contents

More information

Lab 6 : Introduction to Verilog

Lab 6 : Introduction to Verilog Lab 6 : Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The main objective of

More information

A Document Created By Lisa Diner Table of Contents Western Quebec School Board October, 2007

A Document Created By Lisa Diner Table of Contents Western Quebec School Board October, 2007 Table of Contents A Document Created By Lisa Diner Western Quebec School Board October, 2007 Table of Contents Some Basics... 3 Login Instructions... 4 To change your password... 6 Options As You Login...

More information

Programming Xilinx SPARTAN 3 Board (Simulation through Implementation)

Programming Xilinx SPARTAN 3 Board (Simulation through Implementation) Programming Xilinx SPARTAN 3 Board (Simulation through Implementation) September 2008 Prepared by: Oluwayomi Adamo Class: Project IV University of North Texas FPGA Physical Description 4 1. VGA (HD-15)

More information

NCMail: Microsoft Outlook User s Guide

NCMail: Microsoft Outlook User s Guide NCMail: Microsoft Outlook 2007 Email User s Guide Revision 1.1 3/9/2009 This document covers how to use Microsoft Outlook 2007 for accessing your email with the NCMail Exchange email system. The syntax

More information

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0 Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1

More information

Assignment #1: /Survey and Karel the Robot Karel problems due: 1:30pm on Friday, October 7th

Assignment #1:  /Survey and Karel the Robot Karel problems due: 1:30pm on Friday, October 7th Mehran Sahami Handout #7 CS 06A September 8, 06 Assignment #: Email/Survey and Karel the Robot Karel problems due: :0pm on Friday, October 7th Email and online survey due: :9pm on Sunday, October 9th Part

More information

CS201 - Assignment 3, Part 2 Due: Wednesday March 5, at the beginning of class

CS201 - Assignment 3, Part 2 Due: Wednesday March 5, at the beginning of class CS201 - Assignment 3, Part 2 Due: Wednesday March 5, at the beginning of class For this assignment we will be developing a text-based Tic Tac Toe game 1. The key to this assignment is that we re going

More information

Mehran Sahami Handout #7 CS 106A September 24, 2014

Mehran Sahami Handout #7 CS 106A September 24, 2014 Mehran Sahami Handout #7 CS 06A September, 0 Assignment #: Email/Survey and Karel the Robot Karel problems due: :pm on Friday, October rd Email and online survey due: :9pm on Sunday, October th Part I

More information

Chapter 2 The SAS Environment

Chapter 2 The SAS Environment Chapter 2 The SAS Environment Abstract In this chapter, we begin to become familiar with the basic SAS working environment. We introduce the basic 3-screen layout, how to navigate the SAS Explorer window,

More information

Getting Started with Xilinx WebPack 13.1

Getting Started with Xilinx WebPack 13.1 Getting Started with Xilinx WebPack 13.1 B. Ackland June 2011 (Adapted from S. Tewksbury notes WebPack 7.1) This tutorial is designed to help you to become familiar with the operation of the WebPack software

More information

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing

More information

Linked Lists. What is a Linked List?

Linked Lists. What is a Linked List? Linked Lists Along with arrays, linked lists form the basis for pretty much every other data stucture out there. This makes learning and understand linked lists very important. They are also usually the

More information

Digital Systems EEE4084F FPGA Introduction Verilog and Xilinx ISE [30 Marks]

Digital Systems EEE4084F FPGA Introduction Verilog and Xilinx ISE [30 Marks] Digital Systems EEE4084F 2017-05-10 FPGA Introduction Verilog and Xilinx ISE [30 Marks] Background This practical is divided into two parts. The first is a tutorial that shows you how to set up a new FPGA

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

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

Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio

Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio ECE2049 Embedded Computing in Engineering Design Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio In this lab, you will be introduced to the Code Composer Studio

More information

ECE 4305 Computer Architecture Lab #1

ECE 4305 Computer Architecture Lab #1 ECE 4305 Computer Architecture Lab #1 The objective of this lab is for students to familiarize with the FPGA prototyping system board (Nexys-2) and the Xilinx software development environment that will

More information

Chapter One: Getting Started With IBM SPSS for Windows

Chapter One: Getting Started With IBM SPSS for Windows Chapter One: Getting Started With IBM SPSS for Windows Using Windows The Windows start-up screen should look something like Figure 1-1. Several standard desktop icons will always appear on start up. Note

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 February 2, 2009 Abstract Learn to use the Altera Quartus development envrionment and the DE2 boards by implementing a small hardware design

More information

Using ChipScope. Overview. Detailed Instructions: Step 1 Creating a new Project

Using ChipScope. Overview. Detailed Instructions: Step 1 Creating a new Project UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Using ChipScope Overview ChipScope is an embedded, software based logic analyzer. By

More information

Outlook Web Access. In the next step, enter your address and password to gain access to your Outlook Web Access account.

Outlook Web Access. In the next step, enter your  address and password to gain access to your Outlook Web Access account. Outlook Web Access To access your mail, open Internet Explorer and type in the address http://www.scs.sk.ca/exchange as seen below. (Other browsers will work but there is some loss of functionality) In

More information

CSCU9B2 Practical 1: Introduction to HTML 5

CSCU9B2 Practical 1: Introduction to HTML 5 CSCU9B2 Practical 1: Introduction to HTML 5 Aim: To learn the basics of creating web pages with HTML5. Please register your practical attendance: Go to the GROUPS\CSCU9B2 folder in your Computer folder

More information

Publications Database

Publications Database Getting Started Guide Publications Database To w a r d s a S u s t a i n a b l e A s i a - P a c i f i c!1 Table of Contents Introduction 3 Conventions 3 Getting Started 4 Suggesting a Topic 11 Appendix

More information

This chapter is intended to take you through the basic steps of using the Visual Basic

This chapter is intended to take you through the basic steps of using the Visual Basic CHAPTER 1 The Basics This chapter is intended to take you through the basic steps of using the Visual Basic Editor window and writing a simple piece of VBA code. It will show you how to use the Visual

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 February 3, 2011 Abstract Learn to use the Altera Quartus development envrionment and the DE2 boards by implementing a small hardware design

More information

On the Web sun.com/aboutsun/comm_invest STAROFFICE 8 DRAW

On the Web sun.com/aboutsun/comm_invest STAROFFICE 8 DRAW STAROFFICE 8 DRAW Graphics They say a picture is worth a thousand words. Pictures are often used along with our words for good reason. They help communicate our thoughts. They give extra information that

More information

ZedBoard Tutorial. EEL 4720/5721 Reconfigurable Computing

ZedBoard Tutorial. EEL 4720/5721 Reconfigurable Computing Introduction: In this lab, you will be learning how to create a custom peripheral in the programmable logic on the ZedBoard and how to communicate with that peripheral from software running on the ARM

More information

Lab 2. CSE 3, Summer 2010 In this lab you will learn about file structures and advanced features of Microsoft Word.

Lab 2. CSE 3, Summer 2010 In this lab you will learn about file structures and advanced features of Microsoft Word. Lab 2 CSE 3, Summer 2010 In this lab you will learn about file structures and advanced features of Microsoft Word. A. Create a basic File Structure Let s start by opening up the My Documents folder on

More information

Verilog Simulation Mapping

Verilog Simulation Mapping 1 Motivation UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping In this lab you will learn how to use

More information

Using Karel with Eclipse

Using Karel with Eclipse Chris Piech Handout #3 CS 106A January 10, 2018 Using Karel with Eclipse Based on a handout by Eric Roberts and Nick Troccoli Once you have downloaded a copy of Eclipse as described on the course website,

More information

Lab 1: Introduction to Verilog HDL and the Xilinx ISE

Lab 1: Introduction to Verilog HDL and the Xilinx ISE EE 231-1 - Fall 2016 Lab 1: Introduction to Verilog HDL and the Xilinx ISE Introduction In this lab simple circuits will be designed by programming the field-programmable gate array (FPGA). At the end

More information

LAB 5 Implementing an ALU

LAB 5 Implementing an ALU Goals To Do Design a practical ALU LAB 5 Implementing an ALU Learn how to extract performance numbers (area and speed) Draw a block level diagram of the MIPS 32-bit ALU, based on the description in the

More information

Digital Electronics & Computer Engineering (E85)

Digital Electronics & Computer Engineering (E85) Digital Electronics & Computer Engineering (E85) Lab 4: Thunderbird Turn Signal Introduction In this lab, you will design a finite state machine to control the taillights of a 1965 Ford Thunderbird 1 and

More information

EECS150: Lab 1, FPGA Editor

EECS150: Lab 1, FPGA Editor EECS150: Lab 1, FPGA Editor UC Berkeley College of Engineering Department of Electrical Engineering and Computer Science 1 Time Table ASSIGNED DUE Friday, January 23 rd Week 3: February 1 st 7 th, 10 minutes

More information

Lab 6 Debugging. Objective. Introduction. Prelab

Lab 6 Debugging. Objective. Introduction. Prelab UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 6 Debugging Objective You will explore several techniques for debugging a digital

More information

CS 051 Homework Laboratory #2

CS 051 Homework Laboratory #2 CS 051 Homework Laboratory #2 Dirty Laundry Objective: To gain experience using conditionals. The Scenario. One thing many students have to figure out for the first time when they come to college is how

More information

CMSC 201 Spring 2019 Lab 06 Lists

CMSC 201 Spring 2019 Lab 06 Lists CMSC 201 Spring 2019 Lab 06 Lists Assignment: Lab 06 Lists Due Date: Thursday, March 7th by 11:59:59 PM Value: 10 points This week s lab will put into practice the concepts you learned about lists: indexing,

More information

FTP Frequently Asked Questions

FTP Frequently Asked Questions Guide to FTP Introduction This manual will guide you through understanding the basics of FTP and file management. Within this manual are step-by-step instructions detailing how to connect to your server,

More information

CMSC 201 Fall 2018 Lab 04 While Loops

CMSC 201 Fall 2018 Lab 04 While Loops CMSC 201 Fall 2018 Lab 04 While Loops Assignment: Lab 04 While Loops Due Date: During discussion, September 24 th through September 27 th Value: 10 points (8 points during lab, 2 points for Pre Lab quiz)

More information

Outlook is easier to use than you might think; it also does a lot more than. Fundamental Features: How Did You Ever Do without Outlook?

Outlook is easier to use than you might think; it also does a lot more than. Fundamental Features: How Did You Ever Do without Outlook? 04 537598 Ch01.qxd 9/2/03 9:46 AM Page 11 Chapter 1 Fundamental Features: How Did You Ever Do without Outlook? In This Chapter Reading e-mail Answering e-mail Creating new e-mail Entering an appointment

More information

You will work in groups of four for the project (same groups as Project 1).

You will work in groups of four for the project (same groups as Project 1). COS/ELE 375 Prof. August Lab 2: PAW Processor Design (18 Nov 2015) Due January 12, 2015 Introduction In the prior project, you became familiar with the PAW instruction set. In this project you will design,

More information

EECS150: Lab 1, FPGA CAD Tools

EECS150: Lab 1, FPGA CAD Tools EECS150: Lab 1, FPGA CAD Tools UC Berkeley College of Engineering Department of Electrical Engineering and Computer Science 1 Time Table ASSIGNED DUE Friday, August 29 th Week 3: September 7 th 13 th,

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

EECS150 Lab Lecture 2 Design Verification

EECS150 Lab Lecture 2 Design Verification EECS150 Lab Lecture 2 Design Verification Vincent Lee Electrical Engineering and Computer Sciences University of California, Berkeley 9/7/2012 EECS150-Fa12-lab1 1 Lab Logistics T minus three weeks-ish

More information

Advanced module: Video en/decoder on Virtex 5

Advanced module: Video en/decoder on Virtex 5 Advanced module: Video en/decoder on Virtex 5 Content 1. Advanced module: Video en/decoder on Virtex 5... 2 1.1. Introduction to the lab environment... 3 1.1.1. Remote control... 4 1.2. Getting started

More information