ece 448: lab 4 vga display the frogger. flexibility in the second part of the semester lab 4: vga...
TRANSCRIPT
![Page 1: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/1.jpg)
ECE 448: Lab 4
VGA Display The Frogger
![Page 2: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/2.jpg)
Flexibility in the Second Part of the Semester
Lab 4: VGA display (2 weeks) – 8 points
Lab 5: Computer Graphics (2 weeks) – 8 points
Lab 6: PicoBlaze System (2 weeks) – 8 points
Lab 7: Logic Analyzer (in class) – 2 bonus points
Lab 4: VGA display (3 weeks) – 8 points
Lab 5: Computer Graphics or Lab 6: PicoBlaze System
(3 weeks) – 8 points
Lab 7: Logic Analyzer (in class) – 2 bonus points
Schedule A:
Schedule B:
Total: 24+2 points
Total: 16+2 points
![Page 3: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/3.jpg)
Flexibility in the Second Part of the Semester
• Intended for students who do exceptionally well in the first part
of the semester ( ≥ 90% of points for Labs 1-3)
• An open-ended project proposed by students, the TAs, or the
instructor
• Can be done individually or in groups of two students
• Schedule: Detailed Specification (1 week)
Milestone 1 (2 weeks)
Milestone 2 (2 weeks)
Final Report & Deliverable (1 week)
Schedule A+:
Total: 25 points
![Page 4: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/4.jpg)
Expected Project TasksSchedule A+: 1. Use of at least one complex input/output device
• VGA display• Keyboard or Mouse (USB-HID)• Ethernet, etc.
2. Use of on-chip embedded resources: BRAMs, DSP units or External on-board memory or Soft microcontroller core (e.g. Picoblaze)3. (bonus) Use of PMOD Accessory Boards implementing additional functions, e.g., A/D, D/A, motor drivers, sensors, cameras.
![Page 5: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/5.jpg)
Lab 4 Exercises
![Page 6: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/6.jpg)
6ECE 448 – FPGA and ASIC Design with VHDL
Reading
• P. Chu, FPGA Prototyping by VHDL Examples
Chapter 12, VGA Controller I: Graphic
• Nexys3 Reference Manual
VGA Port, pages 15-17
![Page 7: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/7.jpg)
7
Lab 4 Exercise 1
Displaying synchronization signals on the oscilloscope
clk
reset
hsync
vsync
Observe these signals on
oscilloscope
vga_sync
Lab4_exercise1
hsync
vsync
pixel_x
pixel_y
video_on
p_tick
10
10
![Page 8: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/8.jpg)
8
• Develop a testbench for the circuit, described in the figure on the previous slide.• Perform functional simulation, displaying ALL ports of vga_sync component.• Synthesize and implement the top-level circuit using provided UCF file • Perform timing simulation, displaying ALL ports of vga_sync component.• Perform experimental testing using oscilloscope, displaying clk, hsync, vsync.
Lab 4 Exercise 1: Tasks
![Page 9: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/9.jpg)
9
Lab 4 Exercise 2
• Resolution: 640x480• Display: 8 colors (3 bits), 16 colors (4 bits),
64 colors (6 bits), 256 colors (8 bits)• Refresh Rate: 25Hz, 30Hz, 60Hz (frames / second)
![Page 10: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/10.jpg)
Lab4_exercise2
clk
resethsync
rgbsw
vsync
35
Interface
![Page 11: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/11.jpg)
Use of switches
![Page 12: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/12.jpg)
Configuration : 1
(0,0) (639,0)
(639,479)(0,479)
Wall coordinates = (x_left = 32, x_right = 35)
Bar coordinates = (x_left = 600, x_right = 603, y_top = 204, y_bottom = 276)
Ball coordinates = (x_left = 480, x_right = 487, y_top = 38, y_bottom = 45)
Wall
Paddle bar
Ball
Configuration-1 ( sw(4) = ‘0’, sw(3..2) = “00”, sw(1..0) = “00” )
![Page 13: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/13.jpg)
Configuration : 2
(0,0) (639,0)
(639,479)(0,479)
Wall coordinates = (x_left = 32, x_right = 35)
Bar coordinates = (x_left = 600, x_right = 603, y_top = 204, y_bottom = 276)
Ball coordinates = (x_left = 480, x_right = 487, y_top = 38, y_bottom = 45)
Wall
Paddle bar
Ball
Configuration-2 ( sw(4) = ‘0’, sw(3..2) = “01”, sw(1..0) = “00” )
![Page 14: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/14.jpg)
Configuration : 3
(0,0) (639,0)
(639,479)(0,479)
Wall coordinates = (x_left = 32, x_right = 35)
Bar coordinates = (x_left = 600, x_right = 603, y_top = 204, y_bottom = 276)
Ball coordinates = (x_left = 480, x_right = 487, y_top = 38, y_bottom = 45)
Wall
Paddle bar
Ball
Configuration-3 ( sw(4) = ‘0’, sw(3..2) = “10”, sw(1..0) = “00” )
![Page 15: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/15.jpg)
Configuration : 4
(0,0) (639,0)
(639,479)(0,479)
Wall coordinates = (x_left = 32, x_right = 35)
Bar coordinates = (x_left = 600, x_right = 603, y_top = 204, y_bottom = 276)
Ball coordinates = (x_left = 480, x_right = 487, y_top = 38, y_bottom = 45)
Wall
Paddle bar
Ball
Configuration-4 ( sw(4) = ‘0’, sw(3..2) = “11”, sw(1..0) = “00” )
![Page 16: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/16.jpg)
Configuration : 5
(0,0) (639,0)
(639,479)(0,479)
Wall coordinates = (x_left = 605, x_right = 608)
Bar coordinates = (x_left = 500, x_right = 503, y_top = 204, y_bottom = 276)
Ball coordinates = (x_left = 380, x_right = 387, y_top = 138, y_bottom = 145)
Wall
Paddle bar
Ball
Configuration-5 ( sw(4) = ‘0’, sw(3..2) = “00”, sw(1..0) = “01” )
![Page 17: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/17.jpg)
Configuration : 6
(0,0) (639,0)
(639,479)(0,479)
Wall coordinates = (y_top = 32, y_bottom = 35)
Bar coordinates = (x_left = 400, x_right = 403, y_top = 204, y_bottom = 275)
Ball coordinates = (x_left = 280, x_right = 287, y_top = 238, y_bottom = 245)
Wall
Paddle bar
Ball
Configuration-6 ( sw(4) = ‘0’, sw(3..2) = “00”, sw(1..0) = “10” )
![Page 18: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/18.jpg)
Configuration : 7
(0,0) (639,0)
(639,479)(0,479)
Wall coordinates = (y_top = 445, y_bottom = 448)
Bar coordinates = (x_left = 300, x_right = 303, y_top = 204, y_bottom = 276)
Ball coordinates = (x_left = 180, x_right = 187, y_top = 338, y_bottom = 345)
Wall Paddle bar
Ball
Configuration-7 ( sw(4) = ‘0’, sw(3..2) = “00”, sw(1..0) = “11” )
![Page 19: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/19.jpg)
Configuration : 8(0,0) (639,0)
(639,479)(0,479)
Wall coordinates = (x_left = 32, x_right = 35)
Bar coordinates = (x_left = 600, x_right = 603, y_top = 204, y_bottom = 276)
Ball coordinates = (x_left = 472, x_right = 495, y_top = 30, y_bottom = 53)
Wall Paddle bar
Ball
Configuration-8 ( sw(4) = ‘1’, sw(3..2) = “00”, sw(1..0) = “00” )
![Page 20: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/20.jpg)
Specification of coordinates of three objects assuming sw(4)=0
![Page 21: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/21.jpg)
Specification of colors of three objects
![Page 22: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/22.jpg)
Specification of dimensions of the ball
![Page 23: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/23.jpg)
Introduction to Lab 4
![Page 24: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/24.jpg)
Game Objects and Background
CarFrog Wood Log
Water Zone
Street Zone
Safe Zone 1
Safe Zone 2
![Page 25: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/25.jpg)
Task 1: Create Background (Points: 20%)
• Maze Color: Blue, Cyan, Black, and yellow • Color Generator: Selects colors for the background• VGA Controller: Sync generator
![Page 26: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/26.jpg)
Task 2: Display Bricks (Points:10%)
• Brick Color: Magenta• The Bricks should be stationary objects placed at the top of water zone
shown above.
![Page 27: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/27.jpg)
Task 3: Display and create movement of “logs” (Points: 15%)
• The upper row of logs should move horizontally to the right in a wrap-around manner.
• The lower row of logs should have the exact same movement pattern, but in the opposite direction, i.e., to the left.
![Page 28: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/28.jpg)
Task 4: Display and create movement of character “cars” (Points:15%)
• The cars should also move in a wrap-around manner, i.e., toward left for the upper row of the cars and toward right for the lower row of the cars.
![Page 29: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/29.jpg)
Task 5: Introduce “The Frog”(Points:25%)
• The movement of the Frog should be controlled by four push buttons (BTNU for Up, BTND for Down, BTNL for Left, and BTNR for Right).
• The Frog should move in the direction represented by the button pressed.
• The goal of the Frog is to reach any of the magenta bricks located at the top without colliding with any of the cars and without falling into the water.
![Page 30: ECE 448: Lab 4 VGA Display The Frogger. Flexibility in the Second Part of the Semester Lab 4: VGA display (2 weeks) – 8 points Lab 5: Computer Graphics](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5697c02c1a28abf838cd90c3/html5/thumbnails/30.jpg)
Task 5 : Displaying score and number of lives left on VGA display (Points: 15%)
•Display the score and number of lives on VGA display.
•Every forward move on the street should result in 10 points.
•Each time the Frog successfully rides on any of the logs, 20 points should be added to the total score.
•The Frog should have three lives initially. Every collision with a car or fall into the water should result in the loss of one life.
•When the Frog reaches any of the Bricks, this event should pause the game, and YOU WON should be displayed on the VGA display.