VGA Port Discussion D9.1. Raster Scan Displays Electron beam CRT.

Slides:



Advertisements
Similar presentations
1 COMP541 Video Monitors Montek Singh Oct 1, 2014.
Advertisements

Arbitrary Waveform Discussion 5.5 Example 34.
Ring Counter Discussion D5.3 Example 32. Ring Counter if rising_edge(CLK) then for i in 0 to 2 loop s(i)
VHDL revision 15a1 VHDL revision. VHDL revision 15a2 Q1 A clocked 4-to-2-bit encoder circuit (with synchronous reset) has the following interfaces: RESET:
Logic Design Fundamentals - 3 Discussion D3.2. Logic Design Fundamentals - 3 Basic Gates Basic Combinational Circuits Basic Sequential Circuits.
RS-232 Port Discussion D7.1. Loop feedback RS-232 voltage levels: +5.5 V (logic 0) -5.5 V (logic 1)
Display Technology  Images stolen from various locations on the web...
modules--perform I/O “housekeeping” functions use in project: example VHDL package—UP3pack.vhd modules must be “visible” in your path or included.
Display of Objects on Screen. COUNTERS b A horizontal counter represents the horizontal position of the monitor’s electron beam. b A vertical counter.
Counters Discussion D5.3 Example 33. Counters 3-Bit, Divide-by-8 Counter 3-Bit Behavioral Counter in Verilog Modulo-5 Counter An N-Bit Counter.
7-Segment Display DIO1 Board. Digilab2 – DIO1 Boards Four 7-segment displays A0A1A2A3.
Lab 2 4-Bit Adder Digilent Spartan 3 Board Lecture L2.3.
Division Lecture L6.3. Division
Screen Monitor Visual display unit (VDU)
Digilab 7-Segment Displays Lab 4. selyInstruction name “000”true if b = a false otherwise = “001”true if b /= a false otherwise “010”true if b < a.
Screen Display Module M15.2 Sections 9.5, 13.1, 13.2.
Division Discussion D11.3. Division
ECE 448 Lecture 7 VGA Display Part 1
Sequential Multiplication Lecture L6.4. Multiplication 13 x = 8Fh 1101 x
Shift Registers Discussion D5.2 Example Bit Shift Register qs(3) qs(2) qs(1) qs(0) if rising_edge(CLK) then for i in 0 to 2 loop s(i) := s(i+1);
PS/2 Mouse/Keyboard Port Discussion D7.2. PS/2 Port.
Introduction to VGA Wei Miao Yuxuan Zhou 1. 2 VGA VGA = Video Graphics Array Introduced by IBM in 1987, still using today All points addressable Transmitting.
VGA Interface1 CRT Display Technology zCathode Ray Tube yElectron gun fires electrons at the screen yElectric field steers the electron (X field and Y.
Video Monitor Uses raster scanning to display images
4-bit Shift Register. 2-bit Register Serial-in-serial-out Shift Register.
Owais Ibrahim Akram Mohsin Murad. ONE OF THE BASIC ATTARI GAMES. THE PONG GAME CONSISTS OF A BALL RANDOMLY BOUNCING ON THE SCREEN. A PADDLE AT THE BASE.
Raster-scan system In addition to the central processing unit a special purpose processor called the video controller or display controller is used to.
Video Monitor Uses raster scanning to display images –Beam of electrons illuminates phosphorus dots on the screen called pixels. Starting at the top of.
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:
Introduction to Experiment 5 VGA Signal Generator ECE 448 Spring 2009.
EE4OI4 Engineering Design UP1core Library Functions.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL VGA Display Part 1 VGA Synchronization ECE 448 Lecture 9.
Introduction to VGA 數位電路實驗 TA: 吳柏辰 Author: Trumen.
COMP541 Video Monitors Montek Singh Oct 2, 2015.
ENG241 Digital Design Week #8 Registers and Counters.
ECE FPGA Microprocessor Design Erik Lee, Edward Jones, Emily Kan.
2/1 A Look at Monitors Roll call Video: monitors Step-by-step lecture.
Reaction Timer Project
ECE 448: Lab 4 VGA Display. Bouncing Ball.. Organization and Grading.
Beam Penetration & Shadow Mask Method
ECE 448: Lab 5 VGA Display. Breaking-Bricks..
Figure 10.1 Color CRT and Phosphor Dots on Face of Display.
2/10/07DSD,USIT,GGSIPU1 BCD adder KB3B2B1B0CD3D2D1D
 Seattle Pacific University EE Logic System DesignCounters-1 Shift Registers DQ clk DQ DQ ShiftIn Q3Q3 Q2Q2 DQ Q1Q1 Q0Q0 A shift register shifts.
CRT Display Technology
10/19 Monitors CRT monitors: Flat-panel displays Electron guns
Week 9 Monitors and output to the screen. Monitors, also known as Visual display units (V.D.Us) Desktop computers contain a Cathode Ray Tube (C.R.T.)
Prime Numbers Lecture L6.1 Sieve of Eratosthenes.
Table 5.1 The UP3core Functions. UP3core NameDescription LCD_Display Displays ASCII Characters and Hex Data on the UP3’s LCD Panel Deboune Pushbutton Debounce.
TFT-LCD Display + Camera
1 COMP541 Video Monitors Montek Singh Mar 11, 2016.
Registers and Counters Discussion D8.1. Logic Design Fundamentals - 3 Registers Counters Shift Registers.
Implementation of Pong over VGA on the Nexys 4 FPGA
COMP541 Video Monitors Montek Singh Oct 7, 2016.
COMP541 Video Monitors Montek Singh Sep 15, 2017.
VGA Display Part 1 VGA Synchronization
Lecture L5.1 Mealy and Moore Machines
COMP541 Video Monitors Montek Singh Feb 20, 2015.
Revision Name __________ Student number______
Figure 9.1 Color CRT and Phosphor Dots on Face of Display.
VGA INTERFACE Ly Le Department of Electrical Engineering
IMDL Summer 2002 Matthew Chernosky July 11, 2002
Software Environment ISE 5.x Interaction with simple LCDs
Introduction to VGA Digital Circuit Lab TA: Po-Chen Wu.
A Greatest Common Divisor (GCD) Processor
Fibonacci Sequence Lecture L4.1 Lab 3.
COMP541 Video Monitors Montek Singh Feb 6, 2019.
VGA Display: VGA Synchronization & Pixel Generation
VGA Port CSE 678.
디 지 털 시 스 템 설 계 UP2 Kit를 이용한 카운터 설계
Presentation transcript:

VGA Port Discussion D9.1

Raster Scan Displays Electron beam CRT

Raster Scan Characters 9 14

Character generator Shift register Video signal Row select T H E Character line 1 (40 words or 80 bytes) Character line 2 (40 words or 80 bytes) even addresses odd addresses

Attribute Byte BLIR G B Foreground Intensity bit 0 = normal intensity 1 = high intensity Blinking bit 0 = not blinking 1 = foreground blinking Background

Back porch Front porch Back porch

Horizontal Timing Pixel clock = 25 MHz Pixel time = 0.04  s Horizontal video = 640 pixels x 0.04  s =  s Back porch, BP = 16 pixels x 0.04  s = 0.64  s Front porch, FP = 16 pixels x 0.04  s = 0.64  s Sync pulse, SP = 128 pixels x 0.04  s =  s Horizontal Scan Lines = SP + BP + HV + FP = = 800 pixels x 0.04  s = 32  s 1/60 Hz = ms / 32  s = 521 horizontal scan lines per frame

Vertical Timing Pixel clock = 25 MHz Horizontal scan time = 32  s Vertical video = 480 pixels x 32  s = ms Back porch, BP = 29 pixels x 32  s = ms Front porch, FP = 10 pixels x 32  s = ms Sync pulse, SP = 2 pixels x 32  s = ms Horizontal Scan Lines = SP + BP + VV + FP = = 521 pixels x 32  s = ms 1/60 Hz = ms

entity vgaController is Port ( mclk, clr : in std_logic; hs : out std_logic; vs : out std_logic; red : out std_logic; grn : out std_logic; blu : out std_logic); end vgaController; VGA Controller

architecture Behavioral of vgaController is constant hpixels: std_logic_vector(9 downto 0) := " "; --Value of pixels in a horizontal line = 800 constant vlines: std_logic_vector(9 downto 0) := " "; --Number of horizontal lines in the display = 521 constant hbp: std_logic_vector(9 downto 0) := " "; --Horizontal back porch = 144 (128+16) constant hfp: std_logic_vector(9 downto 0) := " "; --Horizontal front porch = 784 ( ) constant vbp: std_logic_vector(9 downto 0) := " "; --Vertical back porch = 31 (2+29) constant vfp: std_logic_vector(9 downto 0) := " "; --Vertical front porch = 511 ( ) signal hc, vc: std_logic_vector(9 downto 0); --These are the Horizontal and Vertical counters VGA Controller

signal clkdiv: std_logic;--Clock divider signal vidon: std_logic; --Tells whether or not its ok to display data signal vsenable: std_logic; --Enable for the Vertical counter begin --This cuts the 50Mhz clock in half process(mclk, clr) begin if clr = '1' then clkdiv <= '0'; elsif(mclk = '1' and mclk'EVENT) then clkdiv <= not clkdiv; end if; end process; VGA Controller

--Runs the horizontal counter process(clkdiv) begin if clr = '1' then hc <= " "; elsif(clkdiv = '1' and clkdiv'EVENT) then if hc = hpixels then --If the counter has reached the end of pixel count hc <= " "; --reset the counter vsenable <= '1'; --Enable the vertical counter to increment else hc <= hc + 1; --Increment the horizontal counter vsenable <= '0'; --Leave the vsenable off end if; end process; hs <= '0' when hc(9 downto 7) = "000" else '1'; --Horizontal Sync Pulse is low when hc is VGA Controller

--Runs the vertical counter process(clkdiv) begin if clr = '1' then vc <= " "; elsif(clkdiv = '1' and clkdiv'EVENT and vsenable = '1') then --Increment when enabled if vc = vlines then --Reset when the number of lines is reached vc <= " "; else vc <= vc + 1;--Increment the vertical counter end if; end process; vs <= '0' when vc(9 downto 1) = " " else '1'; --Vertical Sync Pulse is low when vc is 0 or 1 VGA Controller

red <= '1' when (hc = " " and vidon ='1') else '0'; --Red pixel on at a horizontal count = 684 = grn <= '1' when (hc = " " and vidon ='1') else '0'; --Green pixel on at a horizontal count = 260 = blu <= '1' when (vc = " " and vidon ='1') else '0'; --Blue pixel on at a vertical count = 289 = vidon hbp)) and ((vc vbp))) else '0'; --Enable video out when within the porches end Behavioral; VGA Controller