CSE 260 Digital Computers: Organization and Logical Design. Lab 4. Jon Turner Due 3/27/2012

Size: px
Start display at page:

Download "CSE 260 Digital Computers: Organization and Logical Design. Lab 4. Jon Turner Due 3/27/2012"

Transcription

1 CSE 260 Digital Computers: Organization and Logical Design Lab 4 Jon Turner Due 3/27/2012 Recall and follow the General notes from lab1. In this lab, you will be designing a circuit that implements the well-known minesweeper game. If you re not familiar with minesweeper, visit ( to see how it works. Your circuit will display the game board on an external monitor, using the VGA output from the S3 board. You will use a provided vgadisplay module to drive the display and another provided component to copy provided patterns to game-board locations. Because of the limits on the display resolution imposed by the VGA display module, we will limit ourselves to game boards with a 10x10 array of squares, and each square will use a 10x10 block of pixels (the provided VGA display module supports 160 pixels per row and 120 rows). Your minesweeper module should use the following entity declaration. entity minesweeper is port( clk, reset: in std_logic; -- client-side interface x, y: in std_logic_vector(3 downto 0); newgame, markit, steponit: in std_logic; level: in std_logic_vector(2 downto 0); -- interface to external display hsync, vsync: out std_logic; dispval: out std_logic_vector(2 downto 0)); end minesweeper; The x,y inputs define a current square on the game board. Since the S3 board does not have a mouse, we ll use the knob to control the values of x and y. When newgame is asserted, the minesweeper module should start a new game by selecting random locations for the mines and covering all the squares on the board. The number of mines is controlled by the level input. When the markit input goes high, the minesweeper module should mark the current square by displaying a flag to indicate the presence of the mine. If the square is already marked, it should be unmarked. The markit input should be ignored if the current square is already uncovered. When the steponit input goes high, the minesweeper module should uncover the current square (assuming it is not already uncovered). If the square contains a mine, the game is over, and the minesweeper module should uncover all the squares, showing the locations of the mines. One important feature of the minesweeper game is that uncovered squares that are adjacent to mines are labeled with the number of mines that are adjacent to those squares. Your minesweeper module should implement this feature. When a square is uncovered that has no neighboring squares containing mines, all adjacent squares are safe and can be uncovered. Most implementations of the game do this automatically. Your minesweeper module is not required to do this, but if you implement this feature, you can get some extra credit (details below). The rule for automatically uncovering a square is simply that a covered square can be - 1 -

2 uncovered if one of its neighboring squares (x,y) is uncovered and square (x,y) has no neighboring cells that contain mines. To implement the game, you will need to make some decisions about how to represent the game board. One natural approach is to use one or more 10x10 arrays to represent certain properties. For example, you might have an ismined array for which ismined(x,y)=1 whenever square (x,y) contains a mine. You might also have a neighboringmines array for which neighboringmines (x,y) is equal to the number of mines adjacent to square (x,y). The exact representation is up to you. Given a representation of the game board, the implementation of the minesweeper module naturally divides into two parts. One part changes the game board state, based on the inputs from the user. The other part periodically generates a display of the game board on the VGA display. You will find the job of implementing the minesweeper module a lot easier of you think about these two parts as separate tasks. To simplify the second part, you will be provided with a copypattern module, which will copy a pre-defined 10x10 block of pixels to a specified location on the game board. For example, there is a pattern that represents a covered square, a pattern that represents an uncovered square with 3 neighboring squares containing mines, etc. Using copypattern, it is reasonably straightforward to create a graphical representation of the game board on the VGA display. The copypattern module also supports a highlight feature that can be used to display the current square using colors that contrast with the normal colors. To initialize the game board, your circuit will need to select random locations for mines. You will be provided with a module called random that can be used for this purpose. The output of random is a 16 bit pseudo-random value that changes on every clock tick. Your circuit can use it to decide where to place mines on the game board. Note that you will need to do this over multiple clock ticks (say one clock tick for each position on the board). Once you have set the locations of the mines, you may need to initialize other parts of your game board state, again by iterating over all positions on the board. Detailed instructions: 1. (10 points) Write a high level overview of your design for minesweeper. Your overview should start with a brief description of what the circuit does (in your own words), followed by a list of the inputs and outputs, with an explanation of how each of these is used. Next, describe how your circuit implements the required functionality. I suggest you start by explaining how you represent the game board, and what are the major components of your circuit. These will include things like any arrays that you use to store information about the game board, the controller for the circuit and any timers or other registers used by your circuit. For each component, give a brief description of its purpose and how it is used. 2. (10 points) Draw a block diagram of your circuit showing how the various components are connected to each other. For components like registers and timers, you need not show low level details, but every register/timer should be shown as a separate block with appropriate control inputs (such as load or increment). Similarly, each of the arrays used to store information about your game board should be shown as a block. 3. (10 points) Draw a state diagram for the minesweeper module s controller. Include a list of states with a brief explanation of each state. Indicate actions initiated by the controller, either on state changes, or while it remains in a given state

3 4. (30 points) Create a new project called lab 4 in the lab4 folder of your SVN repository. Add all the provided source files in your project. Write a new VHDL module that implements the minesweeper circuit, based on your block. Make sure that your VHDL is consistent with the design from the first two steps. Be sure to include appropriate comments in your code. Turn in a printed copy. 5. (10 points) Create a new VHDL testbench that can be used to verify the operation of the minesweeper module. Your testbench should exercise all the key features of the game. Note, you may want to start with a limited testbench, then run the simulation so that you can see where the mines are placed in the initial game. Then you can use this information to add further tests to your testbench that will exercise all the features of the game. Turn in a printed copy of your testbench. 6. (15 points) Simulate the minesweeper module by itself using your testbench. Check the output carefully for errors and modify the module as necessary to ensure that it works correctly. Include a copy of the final simulation output in your lab report. Include at least two views of your simulation output. Provide a zoomed-out view that provides an overview and shows how your circuit operates on a large time-scale. This view should show changes to the game board as the player makes moves. You should also provide one or more zoomed-in views that show details of those parts of the simulation where the state of the game board is being copied to the VGA display. Think carefully about how you can verify that the state of the game board is being correctly transferred to the external display. You may assume that the copypattern module works correctly. Make sure that your simulation includes all appropriate internal signals. Add notes to the printed copy, identifying all the places where something interesting is happening, in response to the input changes. 7. (5 points) In the repository, you will find a partial implementation of a top level circuit that can be used to implement your circuit on the S3 board. Complete the implementation of the top module in order to control your minesweeper module. Use the binaryinputmodule and connect the appropriate outputs from binaryinputmodule to the minesweeper module. You can use the knob to control the x and y inputs of the minesweeper module. Connect inbits(11..8) to the x input and inbits(3..0) to the y input. Use btn(1) to control the newgame input, btn(2) to control the markit input and btn(3) to control the steponit input. 8. (5 points) Using the provided testtop testbench, simulate the complete circuit. The provided testbench merely verifies that the top level connections to the minesweeper circuit have been made correctly. In your simulation output, be sure to show that the inputs to your minesweeper module do respond correctly to the button pushes, knob turns and switch settings in the testbench. You need not verify that the internal operation of the minesweeper module is correct, since you already did this in the earlier simulation. 9. (15 points). Generate a bit file for your circuit and load it onto one of the S3 boards in the lab. Use the knob to generate a sequence of input values to your circuit. Verify that the circuit works as expected. Demonstrate your circuit to one of the TAs and have them date and initial your lab report, to document that you have completed this step. You will be doing this assignment with a partner who will be assigned to you. You and your partner should work together, trying out ideas for the design of the minesweeper module and working out the details on paper. You should work together on the VHDL and both of you - 3 -

4 should fully understand how the circuit works. When simulating the circuit, check the simulation output together and check each other to reduce the likelihood of mistakes. In addition to the specific items listed above, you should fill out the attached project contribution form listing each partner s contributions to all parts of the project. If you worked together roughly equally on all parts, you can simply say so. So long as both of you made roughly equivalent contributions to the project, you will both receive equal credit. However, if one of you contributed far more than the other, I want to know that, and credit will be assigned accordingly. The form should be signed by both partners and turned in with your assignment. If you and your partner cannot agree on your relative contributions, you should each fill out a separate copy of the form, stating what you think your contribution was. Do not forget to commit your changes back to the repository. This is a good lab to get creative on, if you have the time and want to go further. Here are some things you can do to earn extra credit. These are just suggestions. If you have other ideas for how to extend the game, that s fine too. 1. Automatically uncover safe squares. A square is safe if it is adjacent to an uncovered square that has no adjacent squares containing mines. 2. Change the look of the game board by re-designing the patterns and/or changing the color scheme. 3. Increase the size of the game board. The more challenging version of this makes the game board size increase with the level input. 4. Add a count-down timer, using the lcddisplay to show the time remaining in the game, and stop the game if the time runs out before all unmined squares have been exposed. 5. Add a smiley-face to show when the player has won the game. 6. Change the way the buttons, knob and switches are used to provide the inputs to your minesweeper module. This may require replacing the generic binaryinmod with a new circuit that is designed especially for the minesweeper application. You are be required to turn in your lab report for the basic lab (as described above) on the stated due date. Please do not include extensions in this report. You will be allowed an additional two days for any extensions to the basic lab. Do not attempt the extensions until you have completed the basic lab. You will be graded only on the required elements listed above. Extra credit score will affect your course grade only at the end of the semester when final letter grades are assigned. For anyone who is on the borderline between two letter grades, extra credit can push you over the top. To claim extra credit, turn in an appendix to your lab report (2 days after you turn in the required part of the report). It should start with a list of all the extensions you implemented, along with a brief description of each one. Your appendix should include VHDL source for any part of your code that implements an extension. Please mark the changes to the code with notes indicating which extension the change applies to. Your appendix should also include a simulation of your revised minesweeper module, appropriately annotated to show that your extensions work. You also must demonstrate your extensions on the S3 board. When you demo, you will need to have your list of extensions already written out. The TA or I will initial each extension on the list that you successfully demonstrate. If your lab partner is not interested in doing extensions, it is ok to do this as an individual

5 If you turn in an appendix that covers a single extension, you can earn up to 50 extra points. Each additional extension can add more points, depending on the difficulty of the extension

6 Project Contribution Form (show your %-age contribution to each part) Name Name design overview block diagram minesweeper testminesweeper minesweeper sim top testtop simulation demo on S3 board signatures - 6 -

Programming Project 2

Programming Project 2 Programming Project 2 Design Due: 30 April, in class Program Due: 9 May, 4pm (late days cannot be used on either part) Handout 13 CSCI 134: Spring, 2008 23 April Space Invaders Space Invaders has a long

More information

UNIVERSITI MALAYSIA PERLIS

UNIVERSITI MALAYSIA PERLIS UNIVERSITI MALAYSIA PERLIS SCHOOL OF COMPUTER & COMMUNICATIONS ENGINEERING EKT303/4 PRINCIPLES OF COMPUTER ARCHITECTURE LAB 5 : STATE MACHINE DESIGNS IN VHDL LAB 5: Finite State Machine Design OUTCOME:

More information

CPSC 217 Assignment 3

CPSC 217 Assignment 3 CPSC 217 Assignment 3 Due: Friday November 24, 2017 at 11:55pm Weight: 7% Sample Solution Length: Less than 100 lines, including blank lines and some comments (not including the provided code) Individual

More information

First Name: Last Name: Lab Cover Page. Teaching Assistant to whom you are submitting

First Name: Last Name: Lab Cover Page. Teaching Assistant to whom you are submitting Student Information First Name School of Computer Science Faculty of Engineering and Computer Science Last Name Student ID Number Lab Cover Page Please complete all (empty) fields: Course Name: DIGITAL

More information

Ring Counter. 4-bit Ring Counter using D FlipFlop. VHDL Code for 4-bit Ring Counter and Johnson Counter 1. Contents

Ring Counter. 4-bit Ring Counter using D FlipFlop. VHDL Code for 4-bit Ring Counter and Johnson Counter 1. Contents VHDL Code for 4-bit Ring Counter and Johnson Counter 1 Contents 1 Ring Counter 2 4-bit Ring Counter using D FlipFlop 3 Ring Counter Truth Table 4 VHDL Code for 4 bit Ring Counter 5 VHDL Testbench for 4

More information

CSSE220 BomberMan programming assignment Team Project

CSSE220 BomberMan programming assignment Team Project CSSE220 BomberMan programming assignment Team Project You will write a game that is patterned off the 1980 s BomberMan game. You can find a description of the game, and much more information here: http://strategywiki.org/wiki/bomberman

More information

To use one-dimensional arrays and implement a collection class.

To use one-dimensional arrays and implement a collection class. Lab 8 Handout 10 CSCI 134: Spring, 2015 Concentration Objective To use one-dimensional arrays and implement a collection class. Your lab assignment this week is to implement the memory game Concentration.

More information

Brain Game. Introduction. Scratch

Brain Game. Introduction. Scratch Scratch 2 Brain Game All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduction

More information

Report for ECE Final Project Minesweeper. Prepared by. Will Felt, Evan Neal, Vamsi Mudarapu, Jordan Savage. Date 4/25/06

Report for ECE Final Project Minesweeper. Prepared by. Will Felt, Evan Neal, Vamsi Mudarapu, Jordan Savage. Date 4/25/06 Report for ECE 6710 Final Project Minesweeper Prepared by Will Felt, Evan Neal, Vamsi Mudarapu, Jordan Savage Date 4/25/06 TABLE OF CONTENTS 1.0 Introduction...1 2.0 Methods...1 2.1.1 Used Inputs:...2

More information

CSE 260 Digital Computers: Organization and Logical Design. Midterm Solutions

CSE 260 Digital Computers: Organization and Logical Design. Midterm Solutions CSE 260 Digital Computers: Organization and Logical Design Midterm Solutions Jon Turner 2/28/2008 1. (10 points). The figure below shows a simulation of the washu-1 processor, with some items blanked out.

More information

Interactive 1 Player Checkers. Harrison Okun December 9, 2015

Interactive 1 Player Checkers. Harrison Okun December 9, 2015 Interactive 1 Player Checkers Harrison Okun December 9, 2015 1 Introduction The goal of our project was to allow a human player to move physical checkers pieces on a board, and play against a computer's

More information

Keytar Hero. Bobby Barnett, Katy Kahla, James Kress, and Josh Tate. Teams 9 and 10 1

Keytar Hero. Bobby Barnett, Katy Kahla, James Kress, and Josh Tate. Teams 9 and 10 1 Teams 9 and 10 1 Keytar Hero Bobby Barnett, Katy Kahla, James Kress, and Josh Tate Abstract This paper talks about the implementation of a Keytar game on a DE2 FPGA that was influenced by Guitar Hero.

More information

Intro to Digital Logic, Lab 8 Final Project. Lab Objectives

Intro to Digital Logic, Lab 8 Final Project. Lab Objectives Intro to Digital Logic, Lab 8 Final Project Lab Objectives Now that you are an expert logic designer, it s time to prove yourself. You have until about the end of the quarter to do something cool with

More information

In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds.

In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds. Brain Game Introduction In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds. Step 1: Creating questions Let s start

More information

FPGA Laboratory Assignment 5. Due Date: 26/11/2012

FPGA Laboratory Assignment 5. Due Date: 26/11/2012 FPGA Laboratory Assignment 5 Due Date: 26/11/2012 Aim The purpose of this lab is to help you understand the fundamentals image processing. Objectives Learn how to implement image processing operations

More information

Using Dynamic Views. Module Overview. Module Prerequisites. Module Objectives

Using Dynamic Views. Module Overview. Module Prerequisites. Module Objectives Using Dynamic Views Module Overview The term dynamic views refers to a method of composing drawings that is a new approach to managing projects. Dynamic views can help you to: automate sheet creation;

More information

Lab 1.2 Joystick Interface

Lab 1.2 Joystick Interface Lab 1.2 Joystick Interface Lab 1.0 + 1.1 PWM Software/Hardware Design (recap) The previous labs in the 1.x series put you through the following progression: Lab 1.0 You learnt some theory behind how one

More information

Appendix 3 - Using A Spreadsheet for Data Analysis

Appendix 3 - Using A Spreadsheet for Data Analysis 105 Linear Regression - an Overview Appendix 3 - Using A Spreadsheet for Data Analysis Scientists often choose to seek linear relationships, because they are easiest to understand and to analyze. But,

More information

Connect 4. Figure 1. Top level simplified block diagram.

Connect 4. Figure 1. Top level simplified block diagram. Connect 4 Jonathon Glover, Ryan Sherry, Sony Mathews and Adam McNeily Electrical and Computer Engineering Department School of Engineering and Computer Science Oakland University, Rochester, MI e-mails:jvglover@oakland.edu,

More information

ECE2049: Foundations of Embedded Systems Lab Exercise #1 C Term 2018 Implementing a Black Jack game

ECE2049: Foundations of Embedded Systems Lab Exercise #1 C Term 2018 Implementing a Black Jack game ECE2049: Foundations of Embedded Systems Lab Exercise #1 C Term 2018 Implementing a Black Jack game Card games were some of the very first applications implemented for personal computers. Even today, most

More information

Activity 6: Playing Elevens

Activity 6: Playing Elevens Activity 6: Playing Elevens Introduction: In this activity, the game Elevens will be explained, and you will play an interactive version of the game. Exploration: The solitaire game of Elevens uses a deck

More information

Connect Four Emulator

Connect Four Emulator Connect Four Emulator James Van Koevering, Kevin Weinert, Diana Szeto, Kyle Johannes Electrical and Computer Engineering Department School of Engineering and Computer Science Oakland University, Rochester,

More information

A-PDF Split DEMO : Purchase from to remove the watermark 114 FSM

A-PDF Split DEMO : Purchase from   to remove the watermark 114 FSM A-PDF Split DEMO : Purchase from www.a-pdf.com to remove the watermark 114 FSM Xilinx specific Xilinx ISE includes a utility program called StateCAD, which allows a user to draw a state diagram in graphical

More information

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class http://www.clubpenguinsaraapril.com/2009/07/mancala-game-in-club-penguin.html The purpose of this assignment is to program some

More information

CS 251 Intermediate Programming Space Invaders Project: Part 3 Complete Game

CS 251 Intermediate Programming Space Invaders Project: Part 3 Complete Game CS 251 Intermediate Programming Space Invaders Project: Part 3 Complete Game Brooke Chenoweth Spring 2018 Goals To carry on forward with the Space Invaders program we have been working on, we are going

More information

Final Project: NOTE: The final project will be due on the last day of class, Friday, Dec 9 at midnight.

Final Project: NOTE: The final project will be due on the last day of class, Friday, Dec 9 at midnight. Final Project: NOTE: The final project will be due on the last day of class, Friday, Dec 9 at midnight. For this project, you may work with a partner, or you may choose to work alone. If you choose to

More information

Introduction to Simulation of Verilog Designs Using ModelSim Graphical Waveform Editor. 1 Introduction. For Quartus II 13.1

Introduction to Simulation of Verilog Designs Using ModelSim Graphical Waveform Editor. 1 Introduction. For Quartus II 13.1 Introduction to Simulation of Verilog Designs Using ModelSim Graphical Waveform Editor For Quartus II 13.1 1 Introduction This tutorial provides an introduction to simulation of logic circuits using the

More information

Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, :59pm

Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, :59pm Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, 2017 11:59pm This will be our last assignment in the class, boohoo Grading: For this assignment, you will be graded traditionally,

More information

Digital Circuits II Lecture 6. Lab Demonstration 3 Using Altera Quartus II to Determine Simplified Equations & Entering Truth Table into VHDL

Digital Circuits II Lecture 6. Lab Demonstration 3 Using Altera Quartus II to Determine Simplified Equations & Entering Truth Table into VHDL Digital Circuits II Lecture 6 Lab Demonstration 3 Using Altera Quartus II to Determine Simplified Equations & Entering Truth Table into VHDL References (Text Book): 1) Digital Electronics, 9 th editon,

More information

DIGITAL DESIGN WITH SM CHARTS

DIGITAL DESIGN WITH SM CHARTS DIGITAL DESIGN WITH SM CHARTS By: Dr K S Gurumurthy, UVCE, Bangalore e-notes for the lectures VTU EDUSAT Programme Dr. K S Gurumurthy, UVCE, Blore Page 1 19/04/2005 DIGITAL DESIGN WITH SM CHARTS The utility

More information

Lab 6 Using PicoBlaze. Speed Punching Game

Lab 6 Using PicoBlaze. Speed Punching Game Lab 6 Using PicoBlaze. Speed Punching Game In this lab, you will program a PicoBlaze microcontroller to interact with various VHDL components in order to implement a game. In this game, the FPGA will repeatedly

More information

UNIT NAME. Media 0155 T 0150 A 1.0. Media Foundation Skills COURSE NAME CODE VALUE CODE T A

UNIT NAME. Media 0155 T 0150 A 1.0. Media Foundation Skills COURSE NAME CODE VALUE CODE T A COURSE NAME CODE VALUE Media 0155 T 0150 A 1.0 UNIT NAME CODE Media Foundation Skills 05208 T 05137 A ASSESSMENT FOR Tick the appropriate box(s) ASSESSMENT ITEM TYPE Project 2: Short Film T A V " H " M

More information

Lab 6. Binary Counter

Lab 6. Binary Counter Lab 6. Binary Counter Overview of this Session In this laboratory, you will learn: Continue to use the scope to characterize frequencies How to count in binary How to use an MC14161 or CD40161BE counter

More information

In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours!

In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours! Memory Introduction In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours! Step 1: Random colours First, let s create a character that can change

More information

CSEE4840 Project Design Document. Battle City

CSEE4840 Project Design Document. Battle City CSEE4840 Project Design Document Battle City March 18, 2011 Group memebers: Tian Chu (tc2531) Liuxun Zhu (lz2275) Tianchen Li (tl2445) Quan Yuan (qy2129) Yuanzhao Huangfu (yh2453) Introduction: Our project

More information

Types of Control. Programmed Non-programmed. Program Counter Hardwired

Types of Control. Programmed Non-programmed. Program Counter Hardwired Lecture #5 In this lecture we will introduce the sequential circuits. We will overview various Latches and Flip Flops (30 min) Give Sequential Circuits design concept Go over several examples as time permits

More information

Taffy Tangle. cpsc 231 assignment #5. Due Dates

Taffy Tangle. cpsc 231 assignment #5. Due Dates cpsc 231 assignment #5 Taffy Tangle If you ve ever played casual games on your mobile device, or even on the internet through your browser, chances are that you ve spent some time with a match three game.

More information

Environmental Stochasticity: Roc Flu Macro

Environmental Stochasticity: Roc Flu Macro POPULATION MODELS Environmental Stochasticity: Roc Flu Macro Terri Donovan recorded: January, 2010 All right - let's take a look at how you would use a spreadsheet to go ahead and do many, many, many simulations

More information

Experiment 3. Direct Sequence Spread Spectrum. Prelab

Experiment 3. Direct Sequence Spread Spectrum. Prelab Experiment 3 Direct Sequence Spread Spectrum Prelab Introduction One of the important stages in most communication systems is multiplexing of the transmitted information. Multiplexing is necessary since

More information

Lesson 8 Tic-Tac-Toe (Noughts and Crosses)

Lesson 8 Tic-Tac-Toe (Noughts and Crosses) Lesson Game requirements: There will need to be nine sprites each with three costumes (blank, cross, circle). There needs to be a sprite to show who has won. There will need to be a variable used for switching

More information

G54GAM Lab Session 1

G54GAM Lab Session 1 G54GAM Lab Session 1 The aim of this session is to introduce the basic functionality of Game Maker and to create a very simple platform game (think Mario / Donkey Kong etc). This document will walk you

More information

Topics. FPGA Design EECE 277. Combinational Logic Blocks. From Last Time. Multiplication. Dr. William H. Robinson February 25, 2005

Topics. FPGA Design EECE 277. Combinational Logic Blocks. From Last Time. Multiplication. Dr. William H. Robinson February 25, 2005 FPGA Design EECE 277 Combinational Logic Blocks Dr. William H. Robinson Februar5, 25 http://eecs.vanderbilt.edu/courses/eece277/ Topics Computer, compute to the last digit the value o pi. Mr. Spock (Star

More information

Overview. The Game Idea

Overview. The Game Idea Page 1 of 19 Overview Even though GameMaker:Studio is easy to use, getting the hang of it can be a bit difficult at first, especially if you have had no prior experience of programming. This tutorial is

More information

Introduction to Simulation of Verilog Designs. 1 Introduction. For Quartus II 13.0

Introduction to Simulation of Verilog Designs. 1 Introduction. For Quartus II 13.0 Introduction to Simulation of Verilog Designs For Quartus II 13.0 1 Introduction An effective way of determining the correctness of a logic circuit is to simulate its behavior. This tutorial provides an

More information

Welcome to the Break Time Help File.

Welcome to the Break Time Help File. HELP FILE Welcome to the Break Time Help File. This help file contains instructions for the following games: Memory Loops Genius Move Neko Puzzle 5 Spots II Shape Solitaire Click on the game title on the

More information

Lab 1.1 PWM Hardware Design

Lab 1.1 PWM Hardware Design Lab 1.1 PWM Hardware Design Lab 1.0 PWM Control Software (recap) In lab 1.0, you learnt the core concepts needed to understand and interact with simple systems. The key takeaways were the following: Hardware

More information

CS108L Computer Science for All Module 3 Guide NetLogo Experiments using Random Walk and Wiggle Walk

CS108L Computer Science for All Module 3 Guide NetLogo Experiments using Random Walk and Wiggle Walk CS108L Computer Science for All Module 3 Guide NetLogo Experiments using Random Walk and Wiggle Walk Figure 1: Sample Interface for the Diffusion Lab. The screen capture above shows the required layout

More information

EXPERIMENT 1: INTRODUCTION TO THE NEXYS 2. ELEC 3004/7312: Signals Systems & Controls EXPERIMENT 1: INTRODUCTION TO THE NEXYS 2

EXPERIMENT 1: INTRODUCTION TO THE NEXYS 2. ELEC 3004/7312: Signals Systems & Controls EXPERIMENT 1: INTRODUCTION TO THE NEXYS 2 ELEC 3004/7312: Signals Systems & Controls Aims In this laboratory session you will: 1. Gain familiarity with the workings of the Digilent Nexys 2 for DSP applications; 2. Have a first look at the Xilinx

More information

Technical Note How to Compensate Lateral Chromatic Aberration

Technical Note How to Compensate Lateral Chromatic Aberration Lateral Chromatic Aberration Compensation Function: In JAI color line scan cameras (3CCD/4CCD/3CMOS/4CMOS), sensors and prisms are precisely fabricated. On the other hand, the lens mounts of the cameras

More information

CS180 Project 5: Centipede

CS180 Project 5: Centipede CS180 Project 5: Centipede Chapters from the textbook relevant for this project: All chapters covered in class. Project assigned on: November 11, 2011 Project due date: December 6, 2011 Project created

More information

Experiment # 2 The Voting Machine

Experiment # 2 The Voting Machine Experiment # 2 The Voting Machine 1. Synopsis: In this lab we will build a simple logic circuit of a voting machine using TTL gates using integrated circuits that contain one or more gates packaged inside.

More information

Activity. Image Representation

Activity. Image Representation Activity Image Representation Summary Images are everywhere on computers. Some are obvious, like photos on web pages, but others are more subtle: a font is really a collection of images of characters,

More information

CSE P567 Homework #4 Winter 2010

CSE P567 Homework #4 Winter 2010 CSE P567 Homework #4 Winter 2010 Due: Tuesday, Feb 9, in Lab There is no reading for this homework assignment. You want to glance at Combinational Logic Synthesis for LUT- Based FPGAs (http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.5.3571)

More information

Programming Assignment 4

Programming Assignment 4 Programming Assignment 4 Due: 11:59pm, Saturday, January 30 Overview The goals of this section are to: 1. Use methods 2. Break down a problem into small tasks to implement Setup This assignment requires

More information

2 Textual Input Language. 1.1 Notation. Project #2 2

2 Textual Input Language. 1.1 Notation. Project #2 2 CS61B, Fall 2015 Project #2: Lines of Action P. N. Hilfinger Due: Tuesday, 17 November 2015 at 2400 1 Background and Rules Lines of Action is a board game invented by Claude Soucie. It is played on a checkerboard

More information

Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am

Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am The purpose of this assignment is to program some of the search algorithms

More information

The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? Objectives. Background (Pre-Lab Reading)

The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? Objectives. Background (Pre-Lab Reading) The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? [Note: This lab isn t as complete as the others we have done in this class. There are no self-assessment questions and no post-lab

More information

EE307. Frogger. Project #2. Zach Miller & John Tooker. Lab Work: 11/11/ /23/2008 Report: 11/25/2008

EE307. Frogger. Project #2. Zach Miller & John Tooker. Lab Work: 11/11/ /23/2008 Report: 11/25/2008 EE307 Frogger Project #2 Zach Miller & John Tooker Lab Work: 11/11/2008-11/23/2008 Report: 11/25/2008 This document details the work completed on the Frogger project from its conception and design, through

More information

Lesson 2. Overcalls and Advances

Lesson 2. Overcalls and Advances Lesson 2 Overcalls and Advances Lesson Two: Overcalls and Advances Preparation On Each Table: At Registration Desk: Class Organization: Teacher Tools: BETTER BRIDGE GUIDE CARD (see Appendix); Bidding Boxes;

More information

Version 6.1. Instructional Days: 11-14

Version 6.1. Instructional Days: 11-14 Instructional Days: 11-14 Topic Description: In this lesson, students learn how computers can be used as a tool for visualizing data, modeling and design, and art in the context of culturally situated

More information

MAS336 Computational Problem Solving. Problem 3: Eight Queens

MAS336 Computational Problem Solving. Problem 3: Eight Queens MAS336 Computational Problem Solving Problem 3: Eight Queens Introduction Francis J. Wright, 2007 Topics: arrays, recursion, plotting, symmetry The problem is to find all the distinct ways of choosing

More information

Arria V Timing Optimization Guidelines

Arria V Timing Optimization Guidelines Arria V Timing Optimization Guidelines AN-652-1. Application Note This document presents timing optimization guidelines for a set of identified critical timing path scenarios in Arria V FPGA designs. Timing

More information

Pay attention to how flipping of pieces is determined with each move.

Pay attention to how flipping of pieces is determined with each move. CSCE 625 Programing Assignment #5 due: Friday, Mar 13 (by start of class) Minimax Search for Othello The goal of this assignment is to implement a program for playing Othello using Minimax search. Othello,

More information

Lab 8. Due: Fri, Nov 18, 9:00 AM

Lab 8. Due: Fri, Nov 18, 9:00 AM Lab 8 Due: Fri, Nov 18, 9:00 AM Consult the Standard Lab Instructions on LEARN for explanations of Lab Days ( D1, D2, D3 ), the Processing Language and IDE, and Saving and Submitting. Rules: Do not use

More information

Memory. Introduction. Scratch. In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours!

Memory. Introduction. Scratch. In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours! Scratch 2 Memory All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduction

More information

EE140: Lab 5, Project Week 2

EE140: Lab 5, Project Week 2 Introduction EE140: Lab 5, Project Week 2 VGA Op-amp Group Presentations: 4/13 and 4/14 in Lab Slide Submission: 4/15/17 (9 am) For this lab, you will be developing the background and circuits that you

More information

Spring 06 Assignment 2: Constraint Satisfaction Problems

Spring 06 Assignment 2: Constraint Satisfaction Problems 15-381 Spring 06 Assignment 2: Constraint Satisfaction Problems Questions to Vaibhav Mehta(vaibhav@cs.cmu.edu) Out: 2/07/06 Due: 2/21/06 Name: Andrew ID: Please turn in your answers on this assignment

More information

DC CIRCUITS AND OHM'S LAW

DC CIRCUITS AND OHM'S LAW July 15, 2008 DC Circuits and Ohm s Law 1 Name Date Partners DC CIRCUITS AND OHM'S LAW AMPS - VOLTS OBJECTIVES OVERVIEW To learn to apply the concept of potential difference (voltage) to explain the action

More information

Project 1: Game of Bricks

Project 1: Game of Bricks Project 1: Game of Bricks Game Description This is a game you play with a ball and a flat paddle. A number of bricks are lined up at the top of the screen. As the ball bounces up and down you use the paddle

More information

SNGH s Not Guitar Hero

SNGH s Not Guitar Hero SNGH s Not Guitar Hero Rhys Hiltner Ruth Shewmon November 2, 2007 Abstract Guitar Hero and Dance Dance Revolution demonstrate how computer games can make real skills such as playing the guitar or dancing

More information

EECS 150 Homework 4 Solutions Fall 2008

EECS 150 Homework 4 Solutions Fall 2008 Problem 1: You have a 100 MHz clock, and need to generate 3 separate clocks at different frequencies: 20 MHz, 1kHz, and 1Hz. How many flip flops do you need to implement each clock if you use: a) a ring

More information

Copyright 2014 SOTA Imaging. All rights reserved. The CLIOSOFT software includes the following parts copyrighted by other parties:

Copyright 2014 SOTA Imaging. All rights reserved. The CLIOSOFT software includes the following parts copyrighted by other parties: 2.0 User Manual Copyright 2014 SOTA Imaging. All rights reserved. This manual and the software described herein are protected by copyright laws and international copyright treaties, as well as other intellectual

More information

ELEN W4840 Embedded System Design Final Project Button Hero : Initial Design. Spring 2007 March 22

ELEN W4840 Embedded System Design Final Project Button Hero : Initial Design. Spring 2007 March 22 ELEN W4840 Embedded System Design Final Project Button Hero : Initial Design Spring 2007 March 22 Charles Lam (cgl2101) Joo Han Chang (jc2685) George Liao (gkl2104) Ken Yu (khy2102) INTRODUCTION Our goal

More information

Math Spring Operational Grade 5 PBA Item #11 Time on Chores M02372

Math Spring Operational Grade 5 PBA Item #11 Time on Chores M02372 Math Spring Operational 2015 Grade 5 PBA Item #11 Time on Chores M02372 Prompt Rubric Task is worth a total of 3 points. M02372 Rubric Score Description 3 Student response includes each of the following

More information

GAME:IT Junior Bouncing Ball

GAME:IT Junior Bouncing Ball GAME:IT Junior Bouncing Ball Objectives: Create Sprites Create Sounds Create Objects Create Room Program simple game All games need sprites (which are just pictures) that, in of themselves, do nothing.

More information

Activity Graphics: Image Processing

Activity Graphics: Image Processing Computer Science Activity Graphics: Image Processing ASSIGNMENT OVERVIEW In this assignment you ll be writing a series of small programs that take a digital image, examine the pixels that make up that

More information

EASTERN MEDITERRANEAN UNIVERSITY COMPUTER ENGINEERING DEPARTMENT CMPE224 DIGITAL LOGIC SYSTEMS VHDL EXPERIMENT VII

EASTERN MEDITERRANEAN UNIVERSITY COMPUTER ENGINEERING DEPARTMENT CMPE224 DIGITAL LOGIC SYSTEMS VHDL EXPERIMENT VII EASTERN MEDITERRANEAN UNIVERSITY COMPUTER ENGINEERING DEPARTMENT CMPE224 DIGITAL LOGIC SYSTEMS VHDL EXPERIMENT VII TITLE: VHDL IMPLEMENTATION OF ALGORITHMIC STATE MACHINES OBJECTIVES: VHDL implementation

More information

Lab Exercise #10. Assignment Overview

Lab Exercise #10. Assignment Overview Lab Exercise #10 Assignment Overview You will work with a partner on this exercise during your lab session. Two people should work at one computer. Occasionally switch the person who is typing. Talk to

More information

EE 307 Project #1 Whac-A-Mole

EE 307 Project #1 Whac-A-Mole EE 307 Project #1 Whac-A-Mole Performed 10/25/2008 to 11/04/2008 Report finished 11/09/2008 John Tooker Chenxi Liu Abstract: In this project, we made a digital circuit that operates Whac-A-Mole game. Quartus

More information

Lab 5. Binary Counter

Lab 5. Binary Counter Lab. Binary Counter Overview of this Session In this laboratory, you will learn: Continue to use the scope to characterize frequencies How to count in binary How to use an MC counter Introduction The TA

More information

Introduction to Simulation of Verilog Designs. 1 Introduction. For Quartus II 11.1

Introduction to Simulation of Verilog Designs. 1 Introduction. For Quartus II 11.1 Introduction to Simulation of Verilog Designs For Quartus II 11.1 1 Introduction An effective way of determining the correctness of a logic circuit is to simulate its behavior. This tutorial provides an

More information

CS61B, Fall 2014 Project #2: Jumping Cubes(version 3) P. N. Hilfinger

CS61B, Fall 2014 Project #2: Jumping Cubes(version 3) P. N. Hilfinger CSB, Fall 0 Project #: Jumping Cubes(version ) P. N. Hilfinger Due: Tuesday, 8 November 0 Background The KJumpingCube game is a simple two-person board game. It is a pure strategy game, involving no element

More information

PowerPoint 6-Pack Training Games Volume 2 Help

PowerPoint 6-Pack Training Games Volume 2 Help OVERVIEW PowerPoint 6-Pack Training Games Volume 2 Help The PowerPoint 6-Pack Volume 2 contains six PowerPoint training games. These games are tested to work on all PowerPoint versions 2002 and above.

More information

Name EET 1131 Lab #2 Oscilloscope and Multisim

Name EET 1131 Lab #2 Oscilloscope and Multisim Name EET 1131 Lab #2 Oscilloscope and Multisim Section 1. Oscilloscope Introduction Equipment and Components Safety glasses Logic probe ETS-7000 Digital-Analog Training System Fluke 45 Digital Multimeter

More information

Family Feud Using PowerPoint - Demo Version

Family Feud Using PowerPoint - Demo Version Family Feud Using PowerPoint - Demo Version Training Handout This Handout Covers: Overview of Game Template Layout Setting up Your Game Running Your Game Developed by: Professional Training Technologies,

More information

3.1 There are three basic logic functions from which all circuits can be designed: NOT (invert), OR, and

3.1 There are three basic logic functions from which all circuits can be designed: NOT (invert), OR, and EE 2449 Experiment 3 Jack Levine and Nancy Warter-Perez, Revised 6/12/17 CALIFORNIA STATE UNIVERSITY LOS ANGELES Department of Electrical and Computer Engineering EE-2449 Digital Logic Lab EXPERIMENT 3

More information

Four-Way Traffic Light Controller Designing with VHDL

Four-Way Traffic Light Controller Designing with VHDL Four-Way Traffic Light Controller Designing with VHDL Faizan Mansuri Email:11bec024@nirmauni.ac.in Viraj Panchal Email:11bec047@nirmauni.ac.in Department of Electronics and Communication,Institute of Technology,

More information

Pass-Words Help Doc. Note: PowerPoint macros must be enabled before playing for more see help information below

Pass-Words Help Doc. Note: PowerPoint macros must be enabled before playing for more see help information below Pass-Words Help Doc Note: PowerPoint macros must be enabled before playing for more see help information below Setting Macros in PowerPoint The Pass-Words Game uses macros to automate many different game

More information

GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game

GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game I. BACKGROUND 1.Introduction: GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game We have talked about the programming languages and discussed popular programming paradigms. We discussed

More information

Assignment III: Graphical Set

Assignment III: Graphical Set Assignment III: Graphical Set Objective The goal of this assignment is to gain the experience of building your own custom view, including handling custom multitouch gestures. Start with your code in Assignment

More information

PHYSICS 220 LAB #1: ONE-DIMENSIONAL MOTION

PHYSICS 220 LAB #1: ONE-DIMENSIONAL MOTION /53 pts Name: Partners: PHYSICS 22 LAB #1: ONE-DIMENSIONAL MOTION OBJECTIVES 1. To learn about three complementary ways to describe motion in one dimension words, graphs, and vector diagrams. 2. To acquire

More information

Q960 Sequential Controller

Q960 Sequential Controller The Q960 Sequential Controller is a recreation of Bob Moog's famous 960 module. Built using modern components yet retaining the 960's unique functionality including the highly sought-after skip function,

More information

Combinational logic: Breadboard adders

Combinational logic: Breadboard adders ! ENEE 245: Digital Circuits & Systems Lab Lab 1 Combinational logic: Breadboard adders ENEE 245: Digital Circuits and Systems Laboratory Lab 1 Objectives The objectives of this laboratory are the following:

More information

Estimated Time Required to Complete: 45 minutes

Estimated Time Required to Complete: 45 minutes Estimated Time Required to Complete: 45 minutes This is the first in a series of incremental skill building exercises which explore sheet metal punch ifeatures. Subsequent exercises will address: placing

More information

Experiment #3: Experimenting with Resistor Circuits

Experiment #3: Experimenting with Resistor Circuits Name/NetID: Experiment #3: Experimenting with Resistor Circuits Laboratory Outline During the semester, the lecture will provide some of the mathematical underpinnings of circuit theory. The laboratory

More information

EE140: Lab 5, Project Week 2

EE140: Lab 5, Project Week 2 EE140: Lab 5, Project Week 2 VGA Op-amp Introduction For this lab, you will be developing the background and circuits that you will need to get your final project to work. You should do this with your

More information

A Rule-Based Learning Poker Player

A Rule-Based Learning Poker Player CSCI 4150 Introduction to Artificial Intelligence, Fall 2000 Assignment 6 (135 points), out Tuesday October 31; see document for due dates A Rule-Based Learning Poker Player For this assignment, teams

More information

EE 210 Lab Exercise #3 Introduction to PSPICE

EE 210 Lab Exercise #3 Introduction to PSPICE EE 210 Lab Exercise #3 Introduction to PSPICE Appending 4 in your Textbook contains a short tutorial on PSPICE. Additional information, tutorials and a demo version of PSPICE can be found at the manufacturer

More information

Econ 172A - Slides from Lecture 18

Econ 172A - Slides from Lecture 18 1 Econ 172A - Slides from Lecture 18 Joel Sobel December 4, 2012 2 Announcements 8-10 this evening (December 4) in York Hall 2262 I ll run a review session here (Solis 107) from 12:30-2 on Saturday. Quiz

More information

Math Released Item Grade 6 PBA Item #13 Distances and Locations 1167-M20992

Math Released Item Grade 6 PBA Item #13 Distances and Locations 1167-M20992 Math Released Item 2015 Grade 6 PBA Item #13 Distances and Locations 1167-M20992 Prompt Task is worth a total of 3 points. 1167-M20992 Rubric Part A Score Description 2 Student response includes each of

More information