Introduction and Topic Description



Yüklə 10,22 Kb.
tarix14.10.2017
ölçüsü10,22 Kb.
#4777

The

FPGA PACMAN

Project Proposal

Boston University

Electrical and Computer Engineering

EC 551 : Advanced Digital Design

Prof. Taubin

Huaxin Dai (Leader)

Nael Musleh

Krishnan Nair

Introduction and Topic Description:

This project will present the idea of gaming using FPGAs by implementing the classic popular game PACMAN using the Spartan 3 board. The Pacman game will be presented on a monitor that is connected to the FPGA board’s VGA port. In addition, a keyboard will be used for the different kind of controls, like moving the pacman and reset the game. The game’s main idea is that the PACMAN – which looks like a pizza missing one slice – has to eat all the dots that are in a certain maze that will be designed by the design team, before being caught by ghosts. In addition to that, there will be some ghosts that will try to follow the PACMAN and stop him. There could be some power dots that make pacman invincible and can eat ghosts for extra points. PACMAN usually has only three lives to start before its game over, but that can be decided by the team.



Statement of Problem and Design:

The main problem of this project is the game logic. This problem and project consists of sub-problems and sub-modules. Some of the important problems that are related to the project are: interfacing the Keyboard with the FPGA board, interfacing the Monitor with the FPGA board, data transfer and synchronization between modules. Hence, the project will consist of different modules that are connected to each other. The main sub-module are keyboard input module, the game logic module, and the display controller. Along with these control modules, there are RAMs and ROMs, used as data memories, which connected to these control modules. Each of these modules will be divided into other sub-modules like: for keyboard input module, it will have PS2 interfacing, command decoding, etc. For VGA module it will have sync signal generation, input pattern decoding, etc. The game logic module will have status machine to control the progress of the game, as well as all the detections like wall and ghost-pacman collision. All the data used, such as map data, dot distribution, coordinates of pacman and ghosts are stored in RAMs or ROMs. So basically the design starts with design level 0(execution module and data memory) and go deeper to level 1(input, game logic, VGA output) and level 2(PS2 decode, sync generation, game logic, etc).



Proposed project and Purpose:

The main goal will be to implement a full game of pacman on the spartan3 board. To achieve this goal, a project with the following structural parts is needed:



  1. Input Controller:

Use the arrows on the keyboard to control pacman move around the maze. Optional: being able to pause and reset.

  1. Game logic:

Keep refreshing the coordinates of the PACMAN and the ghosts as well as the map and the dots.

Keep updating the score and number of lives of PACMAN.

Put all the data into a display register (or RAM) for display module output.

Optional: Ghosts will be able to find the best route to catch PACMAN.



  1. Display module:

Show everything on the monitor. Data to display comes from the display RAM mentioned above.

  1. Data memories:

These memories contain all the data needed to run pacman. Datas include: map info(in the form of ROM), coordinate info of pacman and ghosts(stored in RAM), point info(a register), dots info(similar as map info, but is in RAM for update), and most importantly, the display RAM that contains data to be displayed on the monitor.

Plan of activities and timelines:

Initial reading and planning: Now – Nov. 12

Individual module (level 1) planning: Nov.12 – Nov. 15

Individual module (level 2) coding and testing: Nov.16 – Nov.22

Individual module (level1) assembly: Nov.22 – Nov.24

Top module (level 0) assembly: Nov. 25 – Nov. 26

Top module testing: Nov.26 – Dec. 3

More testing: Dec. 4 – Last day.

Evaluation:

The way of evaluation is very simple. Bottom line is: play it. Higher goals, including tracking for ghosts, and multi-levels, may reflect during playing experience like: ghosts are smarter, map change, etc.

References to Relevant Projects:


  1. FPGA Arcade:

http://www.fpgaarcade.com/

This is a website that represents different gaming ideas that have been implemented using the Spartan 3E board and one of them is PACMAN.



  1. FPGA for Fun:

http://www.fpga4fun.com/PongGame.html

This webpage provides info on how to use different interfaces with the fpga board. Explains the way they work.



  1. FPGA based video games:

http://china.xilinx.com/publications/xcellonline/xcell_54/xc_pdf/xc_atari54.pdf

This article covers an individual self motivated project, where the Spartan 3 board was used with other inputs and output devices to make a Xilinx based/ FPGA based video game.
Yüklə 10,22 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə