1 COMP541 Video Monitors Montek Singh Oct 2, 2015.
-
Upload
brice-newton -
Category
Documents
-
view
223 -
download
3
Transcript of 1 COMP541 Video Monitors Montek Singh Oct 2, 2015.
1
COMP541
Video Monitors
Montek Singh
Oct 2, 2015
Outline Last Friday’s lab
Tips/discussion How to generate video signal
2
Lab 6: 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
Do the following: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 itFor 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 secondhave a separate counter to count 220 clock ticks (~1/100th
sec)update the 4-digit number only whenever this counter fills
up!
3
Reminder: Good Verilog Practices Best to use single clock for all FFs
Make all signals synchronous to one clockNo: @(posedge button) etc.Yes: @(posedge clock)
Avoids “weird” and frustrating problems Multiple modules
Tested individuallyTop level has input and outputs
One module per file Just to make it easier to follow and test
4
VGA Monitors
5
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
Relies on your brain to do two things Integrate over space Integrate over time
Many Still Images Video (and movies) are a series of stills
If stills go fast enough your brain interprets as moving imagery50-60 Hz or more to not see flicker
– “1 Hz” means once per second
In fact, even if the scene does not change…… a single “still” image is displayed repeatedly over timeWhy? Phosphor persistence varies
7
Cathode Ray Tube (CRT)
8
From wikipedia: http://en.wikipedia.org/wiki/Cathode_ray_tube
Deflection Coils
9
Simple Scanning TV Electron beam scans across Turned off when
Scanning back to the left (horizontal retrace ----)Scanning to the top (vertical retrace ____)
10
Scanning: Interlaced vs. Progressive (Some) TVs use interlacing
Every other scan line is swept per fieldTwo fields per frame (30Hz)Way to make movement less disturbing
Computers use progressive scanWhole frame refreshed at once60Hz or more, 72Hz looks better
Similar notation used for HD i = interlaced (1080i)p = progressive (1080p)which better?
11
Color Three colors of phosphor
three beams, one each for the three phosphorsBlack: all beams offWhite: all beams on
12
Picture is a bit misleading. Mask (or aperture grill) ensures beams hit only correct color phosphor.
What about LCD? How do LCD monitors work?
internals are very differentno beams, tubesmade up of tiny LCD cells
However, external signaling is the same!for compatibility
Same goes for micro-mirror projectors tiny mirrors (one/pixel) that allow light through or
send it out of the waypossible to change pixels selectively
13
14
VGA Signaling Timing signals
horizontal sync (hsync) & vertical sync (vsync) Color values: R, G, B
total 8 bits for Nexys 3 (rrrgggbb), 12 bits for Nexys 4 (rrrrggggbbbb)
Nexys 4
digital to analog converter
VGA Timing You supply two pulses
hsync and vsyncallow the monitor to lock onto
timing
One vsync per frameOne hsync per scan line
hsync does not stop during vsync pulse
15
Image from dell.com
Horizontal Timing Terms Horizontal timing:
hsync pulse Back porch (left side of display) Active Video
Video should be blanked (not sent) at other times Front porch (right side)
16
Horizontal Timing
17
640 Horizontal Dots Horiz. Sync Polarity NEG Scanline time (A) 31.77 usSync pulse length (B) 3.77 usBack porch (C) 1.89 usActive 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
Vertical Timing (note ms, not us)
18
Vert. Sync Polarity NEGVertical Frequency 60HzTotal frame time (O) 16.68 ms Sync length (P) 0.06 msBack porch (Q) 1.02 msActive video (R) 15.25 msFront porch (S) 0.35 ms
Timing as Pixels Easiest to derive all timing from single-pixel
timing
How “long” is a pixel?Active video / number of pixels25.17 us / 640 = 39.32nsConveniently close to 25 MHz – just use thatActual VESA spec is 25.175 MHz
19
The overall picture
20(Picture from http://www.pyroelectro.com)
Standards 640 x 480 (sometimes x 60Hz) is “VGA”
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)
Note that some standards have vsync and hsync positive true, some negative truechoose correct polaritydetermine by experimentation!
21
Color Depth Voltage of each of RGB determines color
Nexys 3: 3-bit for red and green, 2-bit for blue
Nexys 4: 4-bit for red, green and blue
All on for white
22
Nexys 4
Lab 71. Make Verilog module to generate
hsync, vsync, horizontal count, vertical count, and signal to indicate active video
2. Use higher-level module to drive RGB using counts gated by active Just do something simple (stripes, checkerboard, diagonals)
3. Later we will use memory addressed by counts to make a terminal
Notes: Be careful about the “Sync Polarity”
A “1” means a downward going pulse– sync signal is normally high, but goes low during the pulse
A “0” means an upward going pulse Use my self-checking text bench!
simulates my VGA driver … … and compares your outputs with mine flags any mismatches
23
24
What do you need for VGA? Think first
Need counter(s)?Will you need a state machine?
Sketch out a designBlock diagram
Test individually in lab Keep in mind
Verilog has all these operators (and more; see Verilog ref.)
==, <, >, <=, >=
VGA Links VGA Timing
Recommended: http://tinyvga.com/vga-timing http://www.epanorama.net/documents/pc/vga_timing.html
Interesting http://www.howstuffworks.com/tv.htm http://computer.howstuffworks.com/monitor.htm http://www.howstuffworks.com/lcd.htm http://plc.cwru.edu/
25