ECE 448: Lab 6 VGA Display (mini chess game)

19
ECE 448: Lab 6 VGA Display (mini chess game)

description

ECE 448: Lab 6 VGA Display (mini chess game). Video Graphic Array (VGA). Resolution: 640x480 Display: 16 colors (4 bits), 256 colors (8 bits) Refresh Rate: 25Hz, 30Hz, 60Hz (frames / second) RGB: Red, Green and Blue colors Monitor technology: Cathode Ray Tube (CRT). VGA 15 Pin. - PowerPoint PPT Presentation

Transcript of ECE 448: Lab 6 VGA Display (mini chess game)

Page 1: ECE 448: Lab 6 VGA Display (mini chess game)

ECE 448: Lab 6

VGA Display(mini chess game)

Page 2: ECE 448: Lab 6 VGA Display (mini chess game)

Video Graphic Array (VGA)• Resolution: 640x480• Display: 16 colors (4 bits), 256 colors (8 bits)• Refresh Rate: 25Hz, 30Hz, 60Hz (frames / second)• RGB: Red, Green and Blue colors• Monitor technology: Cathode Ray Tube (CRT)

Page 3: ECE 448: Lab 6 VGA Display (mini chess game)

VGA 15 Pin

Page 4: ECE 448: Lab 6 VGA Display (mini chess game)

Horizontal TraceHorizontal Flyback

Vertical Flyback

0 639

479

0

VGA Monitor

Page 5: ECE 448: Lab 6 VGA Display (mini chess game)

VGA Control Signal Timing

Resolution640x480

32 us30.08 us26.24 us25.6 us

32 us30.08 us26.24 us

32 us30.08 us

15.36 ms15.68 ms

16.8ms15.744 ms

Page 6: ECE 448: Lab 6 VGA Display (mini chess game)

VGA Control Signal Timing

Resolution640x480

32 us30.08 us26.24 us640 clock cycles

32 us30.08 us656 clock cycles

800 clock cycles752 clock cycles

480 lines490 lines

525 lines492 lines

Frequency 25Mhz

Page 7: ECE 448: Lab 6 VGA Display (mini chess game)

PINs on BoardNET "HS" LOC = "J14" | DRIVE = 2 | PULLUP ; NET "VS" LOC = "K13" | DRIVE = 2 | PULLUP ;NET "OutRed<2>" LOC = "F13" | DRIVE = 2 | PULLUPNET "OutRed<1>" LOC = "D13" | DRIVE = 2 | PULLUP ; NET "OutRed<0>" LOC = "C14" | DRIVE = 2 | PULLUP ; We do not

use this pin. NET "OutGreen<2>" LOC = "G14" | DRIVE = 2 | PULLUP;NET "OutGreen<1>" LOC = "G13" | DRIVE = 2 | PULLUP ;NET "OutGreen<0>" LOC = "F14" | DRIVE = 2 | PULLUP ; We do not

use this pin.NET "OutBlue<2>" LOC = "J13" | DRIVE = 2 | PULLUP ; NET "OutBlue<1>" LOC = "H13" | DRIVE = 2 | PULLUP ;

Page 8: ECE 448: Lab 6 VGA Display (mini chess game)

Color Generator

External Control

y_pixel

x_pixel12

10

RGB_color_code

6

2 bits for Red component2 bits for Green component2 bits for Blue component

Color Generator

Output can be • generated on the fly, or• read from a precomputed look-up table (stored in BRAM)

Page 9: ECE 448: Lab 6 VGA Display (mini chess game)

Task 1: Displaying chessboard(2pts single person, 1.5pts teams)

80 pixels60

line

s

Switch Meanings7 6-2 1 0

'0' Don't Care '0' '0'

Button 0 : cycle through 16 colors for color 1Button 1 : cycle through 16 colors for color 2

Color 2Color 2

Color 1

Page 10: ECE 448: Lab 6 VGA Display (mini chess game)

Task 2: Displaying piece on the chessboard(2pts single person, 1.5pts teams)

80 pixels60

line

s

Button 0 : cycle through 16 colors for color 1Button 1 : cycle through 16 colors for color 2Button 2 : cycle through 16 colors for color 3

Color 2Color 2

Color 1

PieceColor 3

Circle represents a bishop

Square represents a rook

Page 11: ECE 448: Lab 6 VGA Display (mini chess game)

Task 3: Moving piece (one-space) on the chessboard (rook selected)

80 pixels60

line

s

Switch(7)=‘0’Button 0 : cycle through 16 colors for color 1Button 1 : cycle through 16 colors for color 2Button 2 : cycle through 16 colors for color 3

Color 2Color 2

Color 1

Piece

Color 3

Switch(7)=‘1’Button 0 : Move piece one square upButton 1 : Move piece one square downButton 2 : Move piece one square leftButton 3 : Move piece one square right

Page 12: ECE 448: Lab 6 VGA Display (mini chess game)

Task 3: Moving piece (one-space) on the chessboard (bishop selected)

entire task 3: (2pts single person, 1.5pts teams)80 pixels60

line

s

Switch(7)=‘0’Button 0 : cycle through 16 colors for color 1Button 1 : cycle through 16 colors for color 2Button 2 : cycle through 16 colors for color 3

Color 2Color 2

Color 1

PieceColor 3

Switch(7)=‘1’Button 0 : Move piece diagonally to the upper leftButton 1 : Move piece diagonally to the upper rightButton 2 : Move piece diagonally to the lower leftButton 3 : Move piece diagonally to the lower right

Page 13: ECE 448: Lab 6 VGA Display (mini chess game)

Task 4: Moving piece (multi-spaces) on the chessboard (rook selected)

80 pixels60

line

s

Switch(7)=‘0’Button 0 : cycle through 16 colors for color 1Button 1 : cycle through 16 colors for color 2Button 2 : cycle through 16 colors for color 3

Color 2Color 2

Color 1

Piece

Color 3

Switch(7)=‘1’Button 0 : Move piece one square upButton 1 : Move piece one square downButton 2 : Move piece one square leftButton 3 : Move piece one square right

Page 14: ECE 448: Lab 6 VGA Display (mini chess game)

Task 4: Moving piece (multi-spaces) on the chessboard (bishop selected)

entire task 4: (2pts bonus single person, 1.5pts required for teams)80 pixels60

line

s

Switch(7)=‘0’Button 0 : cycle through 16 colors for color 1Button 1 : cycle through 16 colors for color 2Button 2 : cycle through 16 colors for color 3

Color 2Color 2

Color 1

PieceColor 3

Switch(7)=‘1’Button 0 : Move piece diagonally to the upper leftButton 1 : Move piece diagonally to the upper rightButton 2 : Move piece diagonally to the lower leftButton 3 : Move piece diagonally to the lower right

Page 15: ECE 448: Lab 6 VGA Display (mini chess game)

Task 5(2pts bonus single person, 1.5pts bonus for teams)

• Add a Knight to the possible pieces if switch (3) =‘1’

• Use the buttons however you see fit to allow the knight to move in the 8 legal ways.

Page 16: ECE 448: Lab 6 VGA Display (mini chess game)

Rules

• If a movement cannot be done (e.g. the move would cause the piece to go off the board) LED 7 should light up and the piece should not move from its previous location.

• Other than LED 7 all led and Seven Segment displays can be used to print out any information on the state of the execution.

Page 17: ECE 448: Lab 6 VGA Display (mini chess game)

Switch functions• Switches 0-1 determine current task

“00” task 1“01” task 2“10” task 3“11” task 4 or 5

• Switches 2 and 3 determine the type of piece selected.Sw(3)‘0’ sw(2) selects between bishop (0) and rook (1)‘1’ piece is a Knight (task 5)

Page 18: ECE 448: Lab 6 VGA Display (mini chess game)

Switch functions (continued)

• Switches 4-6 determine movement amount in tasks 4 and 5

• Switch 7 selects between change color mode and move piece mode. If sw(7) = ‘0’ then up down buttons change only the color. If sw(7)=‘1’ then the buttons give the direction of the movement.

Page 19: ECE 448: Lab 6 VGA Display (mini chess game)

Button Functions

• Button 0 – up or upper left• Button 1 – down or upper right• Button 2 – left or lower left• Button 3 – right or lower right