Owais Ibrahim Akram
Mohsin Murad
ONE OF THE BASIC ATTARI GAMES.
THE PONG GAME CONSISTS OF A BALL
RANDOMLY BOUNCING ON THE SCREEN.
A PADDLE AT THE BASE ENABLES
THE USER TO MAKE THE BALL BOUNCE BACK UP.
InTRODUCTION
MULTISYNC VGA MONITOR SUPPORTING 640X480 RESOLUTION.
XILINX SPARTAN-3 FPGA KIT.
TWO ONBOARD PUSH BUTTONS TO CONTROL PADDLE MOVEMENT.
50MHZ OSCILLATOR.
requirements
PUSH BUTTONS
quadA , quadB
vga_h_sync , vga_v_sync , vga_R , vga_G , vga_B
A VGA MONITOR
REQUIRES 5 SIGNALS TO
DISPLAY A PICTURE:
R,G & B (THE RED, GREEN AND BLUE SIGNALS).
HS & VS (THE HORIZONTAL AND VERTICAL SYNCRONIZATION).
dRIVING The Vga monitor
GENERATING R,G & B SIGNALS.
CLOCK DIVIDER.
VIDEO GENERATOR
DRAWING THE PADDLE
DRAWING THE BALL
MODULES USED
TWO ONBOARD PUSH BUTTONS FOR MOVING THE PADDLE LEFT OR RIGHT.
50HZ CLOCK REQUIRED FOR SCANNING THE PUSH BUTTONS.
6 CLOCK DIVIDER MODULES EACH DIVIDING THE CLOCK BY 10 (50MHZ/1000000HZ=50HZ).
IF quadA IS PRESSED THEN
PaddlePosition = PaddlePosition – 1;
IF quadB IS PRESSED THEN
PaddlePosition = PaddlePosition + 1;
PaddlePosition = PaddlePosition +/- 25; FOR FASTER MOVEMENT.
DRAWING THE PADDLE
16X16 PIXELS SQUARE.
RANDOM COLLISIONS.
4 “HOT SPOT” PIXEL, ONE IN THE MIDDLE OF
EACH SIDE OF THE BALL.
IF THE BALL DRAWS ITS “HOTSPOT” AT THE
SAME TIME THE PADDLE OR BORDER DRAWS
ITSELF, WE SAY THERE IS A COLLISION ON THAT
SIDE.
DRAWING THE BALL
THE ORIGINAL CODE USED NON PS/2 MOUSE FOR PADDLE MOVEMENT.
CD4093 IC WASN’T AVAILABLE.
THE PADDLE WAS UNCONTROLLABLE WHEN WE USED TWO PUSH BUTTONS AND 50MHZ CLOCK.
RESTRICTED MOVEMENT OF PADDLE.
pROBLEMS eNCOUNTERED
The original setup used Pluto fpga board with 25MHz internal crystal and a modified mouse to control
the paddle movement
Top Related