Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 1 A HS-DSL project of: Tetris Game on SoPC System Midterm Presentation By: Ameer Abdel-hadi &

Similar presentations


Presentation on theme: "Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 1 A HS-DSL project of: Tetris Game on SoPC System Midterm Presentation By: Ameer Abdel-hadi &"— Presentation transcript:

1 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 1 A HS-DSL project of: Tetris Game on SoPC System Midterm Presentation By: Ameer Abdel-hadi & Ahmad Busool Supervisor: Nitzan Miron 26, May 2005

2 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 2 Agenda 1.Preface 2.Motivation 3.Requirements 4.Graphics 5.Communication 6.Design flow 7.The hardware 8.The software 9.Further improvements 10.Check list 11.Time schedule 12.Tetris program run example 13.Ideas? Questions?

3 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 3 1. Preface Tetris, what is it? Tetris is a computer game invented by Alexey Pajitnov in 1985, while he was working for the Academy of Sciences in Moscow, Russia, inspired by a pentominoes game he had purchased earlier. Tetris is one of the best-known computer games ever devised, thanks partly to its success as a video game. where you should try to fit in block into a play-field, quite simple but really fun. All blocks are built from four bricks (the name Tetris is derived from the ancient Greek word for four: "tetra"), there are six combinations of the four bricks as seen here below.

4 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 4 2. Motivation Our goal is to develop a design of a Tetris game on a SoPC system. The system gets the input from user, processes the data and sends pixels bit stream to a PC. The display data are serial pixel information, delimited with a special bits series. Delimited pixels make one frame. The PC gets the bit stream and draw the pixels on the display. The PC used for display only, the whole processing procedure done by the SoPC system.

5 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 5 3. Requirements 3.1. The game definition: –Tetrominoes or tetrads, shapes composed of 4 blocks each, are falling down the screen that consists of a matrix or play field, and one has to direct them so they will fit to the wall on the bottom. When a line of blocks has no gaps, it is complete and collapse, this will gain the player points. –The six tetrominoes that make up Tetris are: Zigzag piece Straight piece T piece Square piece L piece Backward L piece

6 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 6 3. Requirements –Gravity: When a row of blocks is cleared and removed, the stacks of blocks above it fall. Many versions of Tetris (like ours) simply move blocks down by a distance exactly equal to the height of the cleared rows below them. This results in behavior unlike real-world gravity, in that blocks may be left "floating in mid-air".

7 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 7 3. Requirements 3.2. How to play the game? (input keys rule): Input keys: 3 push buttons. Reset button to restart the game. Left Middle Right Reset

8 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 8 3. Requirements 3.3. How to play the game? (input keys rule): –Press any push button to start. –Left & right buttons to move the brick accordingly. –Middle button to drop the brick down. –Right + middle to rotate the brick clock clockwise. –Left + middle to rotate the brick anticlockwise. left –Right + middle + left to pause the game. –Reset button to restart the game.

9 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 9 4. Graphics Pixel: –The basic unit is pixel. Pixel is a structure which contains two fields: background color & foreground color. –We use 14 colors, so we can encode each color with 4 bits 0x0  0xE (1110) –Pixel contains two colors = 2*4 bits = 1 byte.

10 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 10 4. Graphics Frame: –Frame is a matrix of NxM pixels. –Each frame is one screenshot of the game status. –We sees the picture by printing sequential frames on the screen.

11 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 11 5. Communication We use a serial port in order to send the frames. Each frame is coded as a serial bitstream. In order to detect frame start we add a special byte, which is not a color (0xFF in our case) to the head of each frame. See the following graph for more details.

12 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 12 5. Communication

13 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 13 6. Design flow The Design flow is as the following: Choosing the suitable hardware for optimal solution for our problem and the connection methods between the hardware elements. The major hardware are: the display and the development board. Develop a software emulator, which emulates the hardware on a PC. Rearrange the emulator code to fit the hardware. Loading the code to the hardware. Hardware integration. Run, debug and check. Further ideas and improvements.

14 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 14 7. The hardware 6.1. Top hierarchy systems: –Development board: Board Vendor: Memec Design Board Name: Vertix-II Pro P7-ff672 Development Board Board Revision: 3 Board Description: This board utilizes XILINX Virtex-II Pro FPGA xc2vp7ff672-6. The board includes one 8MB SDRAM, one RS232, four LED, eight DIP-switches and four push buttons. –PC for display. –Communication between board and pc is via RS232 serial port.

15 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 15 7. The hardware 6.2. On chip CPU: –Processor type: PowerPC 405 –Frequencies: Reference clock: 100 Mhz Processor clock: 100 Mhz Bus clock: 100 Mhz –Processor description: The PowerPC 405 core is a 32-bit implementation of a RISC PowerPC embedded-environment architecture. It is integrated into the Virtex-II Pro device using the IP-Immersion technology and supported by CoreConnect bus infrastructure and extensive IP cores for peripherals and utilities. –JTAG debug interface: FPGA JTAG

16 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 16 7. The hardware 6.3. On board peripherals: –RS232: Peripheral: OPB UARTLITE Baudrate (BPS): 57600 Data Bits: 8 Parity: NONE –LEDs_4Bit: Peripheral: OPB GPIO –Push_Buttons_3Bit: Peripheral: OPB GPIO –DIP_Switches_8Bit: Peripheral: OPB GPIO –PLB IF CNTLR: BRAM Memory size: 64 KB

17 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 17 8. The software: 7.1. Algorithm development: –1 st phase: developing a Tetris PC game. Input to STDIN, output to STDOUT. –2 nd phase: fitting the code to the development board environment, using the board peripherals as inputs and outputs. –3 rd phase: splitting the code into sender’s code (the board) and receiver (PC). –The sender and the receiver communicates via the RS232 serial port.

18 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 18 8. The software: 7.2. Sender code description (Main code): –Known Tetris game algorithm used. –RS232 as standard input/output (used actually only as output) –The main code loop: Get user’s input Process info/update frame data Send frame data

19 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 19 8. The software: 7.3. Receiver code description: –Opens communication port via RS232 serial port (as input). –Main loop: Get frame from sender (via serial port): –Wait for delimiter. –Read frame. Print the frame to the screen.

20 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 20 9. Further improvements Adding new core for LCD, showing the score and the game level. Using DIP switches for on-line controlling the game speed. Using the LEDs to inform the user about new actions like getting points or new level. More push-buttons? Friendly display, GUI?

21 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 21 10. Check list Choose the suitable hardware (done) Software emulator (done) Rearranging the software to fit the hardware (splitting the code into sender’s code and receiver’s code) (done) Hardware system integration (done) SW/HW integration (done) Run and check the system (done) Further ideas and improvements (brainstorm just started…) Project book (Not yet)

22 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 22 11. Time schedule Implementing new ideas and improvements, Final Project submission: 10 June 2005 Project book submission: 20 June 2005

23 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 23 12. Tetris program run example

24 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 24 13. Ideas? Questions?

25 Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 25 Thanks!


Download ppt "Tetris Game on SoPC, by: Ameer Abdel-hadi & Ahmad Busool 1 A HS-DSL project of: Tetris Game on SoPC System Midterm Presentation By: Ameer Abdel-hadi &"

Similar presentations


Ads by Google