1 Overview1.1 Project Background1.3 Block DiagramControl Flow DiagramSystem Diagram1.4 Description of IP2 Outcome2.1 Initial Concept2.2 Final Result2.3 Improvements for Future Attempts and Continuation3 Block Descriptions3.1 MicroBlaze3.1.2 FSM3.1.1 Ball Drawing3.1.3 Tone Generator Control3.2 MPMC3.3 XPS TFT3.4 Video Decoder3.5 IIC Interface3.6 Paddle Locator3.7 Tone Generator3.8 XPS Timer3.8 XPS UartLite4 Appendix4.1 Zip File Directory4.2 References0ECE532 – Digital Systems Design – Winter 2010Group Report > > >Human PongDesign ReportChris Langan, Kevin Lam, Nancy ChongTable of Contents1 Overview..................................................................................................................................................21.1 Project Background............................................................................................................................21.3 Block Diagram....................................................................................................................................21.4 Description of IP................................................................................................................................22 Outcome...................................................................................................................................................42.1 Initial Concept....................................................................................................................................42.2 Final Design........................................................................................................................................42.3 Improvements for Future Attempts and Continuation.......................................................................43 Block Descriptions....................................................................................................................................53.1 MicroBlaze.........................................................................................................................................53.1.2 FSM.............................................................................................................................................53.1.1 Video Output/Ball Drawing.........................................................................................................53.1.3 Music Control..............................................................................................................................63.2 MPMC................................................................................................................................................63.3 XPS TFT.............................................................................................................................................. 63.4 Video to RAM.....................................................................................................................................63.5 IIC Interface.......................................................................................................................................63.6 Paddle Locator...................................................................................................................................63.7 Tone Generator..................................................................................................................................64 Appendix..................................................................................................................................................74.1 Zip File Directory................................................................................................................................74.2 References.........................................................................................................................................711 Overview1.1 Project BackgroundPong is an early arcade games that most people are still familiar with. It is a simple game where there are two vertical paddles on either side of the game area and a ball bouncing between the two sides. It could be thought of as a very simple tennis or ping-pong game. Our group objective is to build a Human Pong game on an FPGA board (Xilinx Virtex-II Pro XC2VP30 with the Digilent VDEC1 Video Decoder). Our concept for human pong is heavily based on the original game. Instead of using controllers, however, two human players will use physical paddles that will be detected by the hardware. The ball will be projected onto a wall between the two users.1.2 GoalsDesign a two-player human pong game where the players will be able to interact ‘physically’ with the objects in the game. The system will be able to detect physical paddles of distinctive colours based on video input, then output the location of the ball, and determine where the ball will move next. As part of the design, music will be played at the start and end of the game.21.3 Block DiagramControl Flow Diagram3System Diagram1.4 Description of IPThis section provides an overview of the components as appearing in the Control Flow Diagram. Further details on the blocks in the System Diagram can be found in section 3.Video Decoder: Digitizes video signal from camera, storing frames in memory.Memory Controller: Provides access to memory from multiple sources. Needs 2 write ports for the Video Decoder and Ball Drawing modules, 2 read ports for the Paddle Locator and VGA output.Paddle Location Identifier: Finds endpoint coordinates for paddles based on digitized video frames in memory. Custom module implemented in hardware.Game Controller: FSM for controlling overall game operations. Contains game state including ball position/velocity etc. to identify collisions between ball and paddle and react accordingly.4Audio Output: Hardware input interface consists of an edge-triggered “go” signal, a ‘done’ signal, and data buses for tone frequency and duration. Hardware module used to provide audible response to paddle/ball collisions and other game sounds. Communicates directly with the audio codec hardware. Ball Drawing: Generates video frames in memory for output to VGA via the XPS TFT. The ball drawing is performed in software and receives ball position from the FSM. When called, the function erases the old ball and draws a new ball at the current position.VGA Output: Reads generated frames stored in memory from Ball Drawing module, outputs to projector. This is
View Full Document