Montek Singh Feb 20 2015 Outline Last Friday s lab Tipsdiscussion How to generate video signal 2 How about making a BCD stop watch Each digit counts 0 to 9 and then wraps around ID: 634748
Download Presentation The PPT/PDF document "1 COMP541 Video Monitors" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
1
COMP541Video Monitors
Montek Singh
Feb
20,
2015Slide2
OutlineLast Friday’s labTips/discussionHow to generate video signal
2Slide3
How about making a BCD stop watch?Each digit counts 0 to 9, and then wraps aroundi.e., display is decimal number, not hexDo the following:Separate the 16-bit number into four 4-bit numbersreg [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, thenif this digit is 9, change it to 0, else add 1 to itelse this digit does not changeSlow it down to tick once per 1/100 secondhave a separate counter to count 2
20 clock ticks (~1/100th sec)update the 4-digit number only whenever this counter fills up!
3Slide4
Reminder: Good Verilog PracticesBest to use single clock for all FFsMake all signals synchronous to one clockNo: @(posedge button) etc.Yes: @(posedge clock)Avoids “weird” and frustrating problemsMultiple modulesTested individuallyTop level has input and outputs
One module per fileJust to make it easier to follow and test
4Slide5
VGA Monitors
5Slide6
6
How Do Monitors Work?Origin is TV, so let’s look at thatLCDs work on different principle, but all signaling still derived from TV of 1940sRelies on your brain to do two things
Integrate over space
Integrate over timeSlide7
Many Still ImagesVideo (and movies) are a series of stillsIf stills go fast enough your brain interprets as moving imagery50-60 Hz or more to not see flicker“1 Hz” means once per secondIn fact, even if the scene does not change…… a single “still” image is displayed repeatedly over timeWhy? Phosphor persistence varies
7Slide8
Cathode Ray Tube (CRT)
8
From wikipedia: http://en.wikipedia.org/wiki/Cathode_ray_tubeSlide9
Deflection Coils
9Slide10
Simple Scanning TVElectron beam scans acrossTurned off whenScanning back to the left (horizontal retrace ----)Scanning to the top (vertical retrace ____)
10Slide11
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 disturbingComputers use progressive scanWhole frame refreshed at once60Hz or more, 72Hz looks betterSimilar notation used for HDi = interlaced (1080i)p = progressive (1080p)
which better?
11Slide12
ColorThree colors of phosphorthree 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.Slide13
What about LCD?How do LCD monitors work?internals are very differentno beams, tubesmade up of tiny LCD cellsHowever, external signaling is the same!for compatibilitySame goes for micro-mirror projectorstiny mirrors (one/pixel) that allow light through or send it out of the waypossible to change pixels selectively
13Slide14
14
VGA SignalingTiming signalshorizontal sync (hsync) & vertical sync (vsync
)
Color values:
R, G, B
total 8 bits for
Nexys
3 (
rrr
ggg
bb
), 12 bits for
Nexys
4 (
rrrr
gggg
bbbb
)
Nexys
3
Nexys
4
digital to analog converterSlide15
VGA TimingYou supply two pulseshsync and vsyncallow the monitor to lock onto timingOne vsync per frameOne hsync per scan linehsync does not stop during
vsync pulse
15
Image from dell.comSlide16
Horizontal Timing TermsHorizontal timing:hsync pulseBack porch (left side of display)Active VideoVideo should be blanked (not sent) at other timesFront porch (right side)
16
Picture not accurate for our case; just for illustration.
Video and HSYNC not on same wireSlide17
Horizontal Timing
17640 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 = microsecondSlide18
Vertical Timing (note ms, not us)
18Vert. 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
msSlide19
Timing as PixelsEasiest to derive all timing from single-pixel timingHow “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
19Slide20
Standards640 x 480 (sometimes x 60Hz) is “VGA”I will give you spec sheets in labYou 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 polarity
determine by experimentation!
20Slide21
Color DepthVoltage of each of RGB determines colorNexys 3:3-bit for red and green, 2-bit for blueNexys 4:4-bit for red, green and blueAll on for white
21
Nexys
3
Nexys
4Slide22
What To Do Friday (2/20)Show previous lab’s demoMake Verilog module to generate hsync, vsync, horizontal count, vertical count, and signal to indicate active videoUse higher-level module to drive RGB using counts gated by activeJust do something simple (stripes, checkerboard, diagonals)Later we will use memory addressed by counts to make
a terminal
22Slide23
23
What do you Need for VGA?Think firstNeed counter(s)?Will you need a state machine?Sketch out a design
Block diagram
Test individually in lab
Keep in
mind
Verilog has all these operators (and more; see Verilog ref.)
==, <, >, <=, >=Slide24
VGA LinksVGA TimingRecommended: http://tinyvga.com/vga-timinghttp://www.epanorama.net/documents/pc/vga_timing.htmlInterestinghttp://www.howstuffworks.com/tv.htmhttp://computer.howstuffworks.com/monitor.htmhttp://www.howstuffworks.com/lcd.htm
http://plc.cwru.edu/
24