Download presentation
Presentation is loading. Please wait.
Published byTristen Chevis Modified over 9 years ago
1
1 COMP541 Video Monitors Montek Singh Oct 1, 2014
2
Outline Last Friday’s lab Tips/discussion Tips/discussion How to generate video signal 2
3
How about making a BCD stop watch? Each digit counts 0 to 9, and then wraps around i.e., display is decimal number, not hex i.e., display is decimal number, not hex Do the following: Separate the 16-bit number into four 4-bit numbers Separate the 16-bit number into four 4-bit numbers reg [3:0] A3, A2, A1, A0; For A0: on each clock tick… –if this digit is 9, change it to 0, else add 1 to it For A1, A2, A3: on each clock tick… –if all lower A’s are at 9, then »if this digit is 9, change it to 0, else add 1 to it –else this digit does not change Slow it down to tick once per 1/100 second Slow it down to tick once per 1/100 second have a separate counter to count 2 20 clock ticks (~1/100 th sec) update the 4-digit number only whenever this counter fills up! 3
4
Reminder: Good Verilog Practices Best to use single clock for all FFs Make all signals synchronous to one clock Make all signals synchronous to one clock No: @(posedge button) etc. Yes: @(posedge clock) Avoids “weird” and frustrating problems Avoids “weird” and frustrating problems Multiple modules Tested individually Tested individually Top level has input and outputs Top level has input and outputs One module per file Just to make it easier to follow and test Just to make it easier to follow and test 4
5
VGA Monitors 5
6
6 How Do Monitors Work? Origin is TV, so let’s look at that LCDs work on different principle, but all signaling still derived from TV of 1940s LCDs work on different principle, but all signaling still derived from TV of 1940s Relies on your brain to do two things Integrate over space Integrate over space Integrate over time Integrate over time
7
Many Still Images Video (and movies) are a series of stills If stills go fast enough your brain interprets as moving imagery If stills go fast enough your brain interprets as moving imagery 50-60 Hz or more to not see flicker –“1 Hz” means once per second In fact, even if the scene does not change… In fact, even if the scene does not change… … a single “still” image is displayed repeatedly over time Why? Phosphor persistence varies 7
8
Cathode Ray Tube (CRT) 8 From wikipedia: http://en.wikipedia.org/wiki/Cathode_ray_tube
9
Deflection Coils 9
10
Simple Scanning TV Electron beam scans across Turned off when Scanning back to the left (horizontal retrace ----) Scanning back to the left (horizontal retrace ----) Scanning to the top (vertical retrace ____) Scanning to the top (vertical retrace ____) 10
11
Scanning: Interlaced vs. Progressive (Some) TVs use interlacing Every other scan line is swept per field Every other scan line is swept per field Two fields per frame (30Hz) Two fields per frame (30Hz) Way to make movement less disturbing Way to make movement less disturbing Computers use progressive scan Whole frame refreshed at once Whole frame refreshed at once 60Hz or more, 72Hz looks better 60Hz or more, 72Hz looks better Similar notation used for HD i = interlaced (1080i) i = interlaced (1080i) p = progressive (1080p) p = progressive (1080p) which better? which better? 11
12
Color Three colors of phosphor three beams, one each for the three phosphors three beams, one each for the three phosphors Black: all beams off Black: all beams off White: all beams on White: all beams on 12 Picture is a bit misleading. Mask (or aperture grill) ensures beams hit only correct color phosphor.
13
What about LCD? How do LCD monitors work? internals are very different internals are very different no beams, tubes made up of tiny LCD cells However, external signaling is the same! However, external signaling is the same! for compatibility Same goes for micro-mirror projectors 13
14
14 VGA Signaling Timing signals horizontal sync (hsync) & vertical sync (vsync) horizontal sync (hsync) & vertical sync (vsync) Color values: R, G, B total 8 bits for Nexys 3 (rrrgggbb), 12 bits for Nexys 4 (rrrrggggbbbb) total 8 bits for Nexys 3 (rrrgggbb), 12 bits for Nexys 4 (rrrrggggbbbb) Nexys 3 Nexys 4 digital to analog converter
15
VGA Timing You supply two pulses hsync and vsync hsync and vsync allow the monitor to lock onto timing allow the monitor to lock onto timing One vsync per frame One vsync per frame One hsync per scan line One hsync per scan line hsync does not stop during vsync pulse 15 Image from dell.com
16
Horizontal Timing Terms Horizontal timing: hsync pulse hsync pulse Back porch (left side of display) Back porch (left side of display) Active Video Active Video Video should be blanked (not sent) at other times Front porch (right side) Front porch (right side) 16 Picture not accurate for our case; just for illustration. Video and HSYNC not on same wire
17
Horizontal Timing 17 640 Horizontal Dots Horiz. Sync Polarity NEG Scanline time (A) 31.77 us Sync pulse length (B) 3.77 us Back porch (C) 1.89 us Active video (D) 25.17 us Front porch (E) 0.94 us Image from http://www.epanorama.net/documents/pc/vga_timing.html This diagram shows video as a digital signal. It’s not – video is an analog level. us = microsecond
18
Vertical Timing (note ms, not us) 18 Vert. Sync Polarity NEG Vertical Frequency 60Hz Total frame time (O) 16.68 ms Sync length (P) 0.06 ms Back porch (Q) 1.02 ms Active video (R) 15.25 ms Front porch (S) 0.35 ms
19
Timing as Pixels Easiest to derive all timing from single-pixel timing How “long” is a pixel? Active video / number of pixels Active video / number of pixels 25.17 us / 640 = 39.32ns 25.17 us / 640 = 39.32ns Conveniently close to 25 MHz – just use that Conveniently close to 25 MHz – just use that Actual VESA spec is 25.175 MHz Actual VESA spec is 25.175 MHz 19
20
Standards 640 x 480 (sometimes x 60Hz) is “VGA” I will give you spec sheets in lab I will give you spec sheets in lab You can try for 800x600 at 60 Hz (40 MHz exactly) or 800x600 at 72 Hz (50 MHz exactly) or 800x600 at 72 Hz (50 MHz exactly) Note that some standards have vsync and hsync positive true, some negative true choose correct polarity choose correct polarity determine by experimentation! determine by experimentation! 20
21
Color Depth Voltage of each of RGB determines color Nexys 3: Nexys 3: 3-bit for red and green, 2-bit for blue Nexys 4: Nexys 4: 4-bit for red, green and blue All on for white All on for white 21 Nexys 3 Nexys 4
22
What To Do Friday 1. Show previous lab’s demo 2. Make Verilog module to generate hsync, vsync, horizontal count, vertical count, and signal to indicate active video hsync, vsync, horizontal count, vertical count, and signal to indicate active video 3. Use higher-level module to drive RGB using counts gated by active Just do something simple (stripes, checkerboard, diagonals) Just do something simple (stripes, checkerboard, diagonals) 4. Later we will use memory addressed by counts to make terminal 22
23
23 What do you Need for VGA? Think first Need counter(s)? Need counter(s)? Will you need a state machine? Will you need a state machine? Sketch out a design Block diagram Block diagram Test individually in lab Keep in mind Verilog has all these operators (and more; see Verilog ref.) Verilog has all these operators (and more; see Verilog ref.) ==,, = ==,, =
24
VGA Links VGA Timing Recommended: http://tinyvga.com/vga-timing Recommended: http://tinyvga.com/vga-timinghttp://tinyvga.com/vga-timing http://www.epanorama.net/documents/pc/vga_timing.html http://www.epanorama.net/documents/pc/vga_timing.html http://www.epanorama.net/documents/pc/vga_timing.html Interesting http://www.howstuffworks.com/tv.htm http://www.howstuffworks.com/tv.htm http://www.howstuffworks.com/tv.htm http://computer.howstuffworks.com/monitor.htm http://computer.howstuffworks.com/monitor.htm http://computer.howstuffworks.com/monitor.htm http://www.howstuffworks.com/lcd.htm http://www.howstuffworks.com/lcd.htm http://www.howstuffworks.com/lcd.htm http://plc.cwru.edu/ http://plc.cwru.edu/ http://plc.cwru.edu/ 24
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.