Display Technology.! Images stolen from various locations on the web... Cathode Ray Tube

Similar documents
Display Technology. Cathode Ray Tube. Images stolen from various locations on the web...

Display Technology. Images stolen from various locations on the web... Cathode Ray Tube

Display Technology. Images stolen from various locations on the web... Cathode Ray Tube

VGA Port. Chapter 5. Pin 5 Pin 10. Pin 1. Pin 6. Pin 11. Pin 15. DB15 VGA Connector (front view) DB15 Connector. Red (R12) Green (T12) Blue (R11)

Design and Implementation of an AHB VGA Peripheral

Video. Updated fir31.filtered on website Fall 2008 Lecture 12

Lab # 9 VGA Controller

L14 - Video. L14: Spring 2005 Introductory Digital Systems Laboratory

Computer Graphics Hardware

Displays. History. Cathode ray tubes (CRTs) Modern graphics systems. CSE 457, Autumn 2003 Graphics. » Whirlwind Computer - MIT, 1950

An Efficient SOC approach to Design CRT controller on CPLD s

3. Displays and framebuffers

Reading. 1. Displays and framebuffers. History. Modern graphics systems. Required

Lecture 14: Computer Peripherals

VGA Controller. Leif Andersen, Daniel Blakemore, Jon Parker University of Utah December 19, VGA Controller Components

Reading. Display Devices. Light Gathering. The human retina

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA

Revision: August 11, E Main Suite D Pullman, WA (509) Voice and Fax. 8 LEDs. Doc: page 1 of 9

EECS150 - Digital Design Lecture 13 - Project Description, Part 3 of? Project Overview

Product G e n e r a l S p e c i f i c a t i o n

Design of VGA Controller using VHDL for LCD Display using FPGA

HD66840/HD LVIC/LVIC-II (LCD Video Interface Controller) Description. Features

IBM Enhanced Color Display. Personal Computer. Hardware Reference Library _.-

TV Character Generator

Reading. Displays and framebuffers. Modern graphics systems. History. Required. Angel, section 1.2, chapter 2 through 2.5. Related

An Alternative Architecture for High Performance Display R. W. Corrigan, B. R. Lang, D.A. LeHoty, P.A. Alioshin Silicon Light Machines, Sunnyvale, CA

Video Graphics Array (VGA)

Lab 3: VGA Bouncing Ball I

EECS150 - Digital Design Lecture 12 - Video Interfacing. Recap and Outline

Downloads from:

Display Technologies CMSC 435. Slides based on Dr. Luebke s slides

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

VGA 8-bit VGA Controller

Part 1: Introduction to Computer Graphics

Types of CRT Display Devices. DVST-Direct View Storage Tube

ROM MEMORY AND DECODERS

Boolean, 1s and 0s stuff: synthesis, verification, representation This is what happens in the front end of the ASIC design process

Chapter 3. Display Devices and Interfacing

Video. Lab #3 issued due Tue 10/4

IMS B007 A transputer based graphics board

Testing Results for a Video Poker System on a Chip

Section 4. Display Connector

Lecture Flat Panel Display Devices

Digital Blocks Semiconductor IP

Lancelot. VGA video controller for the Altera Nios II processor. V4.0. December 16th, 2005

FPGA 设计实例 基于 FPGA 的图形液晶显示面板应用. Graphic LCD panel. FPGAs make great video controllers and can easily control graphic LCD panels.

Part 1: Introduction to computer graphics 1. Describe Each of the following: a. Computer Graphics. b. Computer Graphics API. c. CG s can be used in

Video. Display Terminology. Lab #3 issued due Tue 10/3

Design of VGA and Implementing On FPGA

Presented by: Amany Mohamed Yara Naguib May Mohamed Sara Mahmoud Maha Ali. Supervised by: Dr.Mohamed Abd El Ghany

Display Systems. Viewing Images Rochester Institute of Technology

Spartan-II Development System

Dan Schuster Arusha Technical College March 4, 2010

TFT COLOR LCD MODULE NL6448AC30-12

Computer Graphics: Overview of Graphics Systems

Start with some basics: display devices

An FPGA Based Solution for Testing Legacy Video Displays

Computer Graphics. Raster Scan Display System, Rasterization, Refresh Rate, Video Basics and Scan Conversion

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Hitachi Europe Ltd. ISSUE : app084/1.0 APPLICATION NOTE DATE : 28/04/99

These are used for producing a narrow and sharply focus beam of electrons.

AD9884A Evaluation Kit Documentation

TSIU03: Lab 3 - VGA. Petter Källström, Mario Garrido. September 10, 2018

DATA SHEET. 14 cm (5.5 Type), Pixels, Full color NTSC/PAL mode, Incorporated backlight with inverter

CSE140L: Components and Design Techniques for Digital Systems Lab. FSMs. Tajana Simunic Rosing. Source: Vahid, Katz

Audio and Video II. Video signal +Color systems Motion estimation Video compression standards +H.261 +MPEG-1, MPEG-2, MPEG-4, MPEG- 7, and MPEG-21

7inch Resistive Touch LCD User Manual

CHANGED BY A First Release. ZHANG YAN FANG

1. Introduction. 1.1 Graphics Areas. Modeling: building specification of shape and appearance properties that can be stored in computer

Comp 410/510. Computer Graphics Spring Introduction to Graphics Systems

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

A * Rockwell. R6500 Microcomputer System DATA SHEET CRT CONTROLLER (CRTC) r- r- 31 O PART NUMBER R FEATURES DESCRIPTION O 30-4 O O

V DD1 V CC - V GL Operating Temperature T OP

Design and Implementation of Timer, GPIO, and 7-segment Peripherals

LCD MODULE SPECIFICATION

VIDEO 101 LCD MONITOR OVERVIEW

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Monitor and Display Adapters UNIT 4

Module 7. Video and Purchasing Components

Video Display Unit (VDU)

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 5 CRT Display Devices

VT VGA TFT NEMA 4/12 Flat Panel Monitor. User s Guide

PTIK UNNES. Lecture 02. Conceptual Model for Computer Graphics and Graphics Hardware Issues

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Brief Description of Circuit Functions. The brief ckt. description of V20 107E5 17 Monitor

2.2. VIDEO DISPLAY DEVICES

TFT-LCD Module Model Name : LC201V1-A1SO

Spatial Light Modulators XY Series

Hardware Design I Chap. 5 Memory elements

ANDpSi025TD-LED 320 x 240 Pixels TFT LCD Color Monitor

SPATIAL LIGHT MODULATORS

V6118 EM MICROELECTRONIC - MARIN SA. 2, 4 and 8 Mutiplex LCD Driver

ECE 448 Lecture 10. VGA Display Part 1 VGA Synchronization

... User Guide - Revision /23/04. H Happ Controls. Copyright 2003, UltraCade Technologies UVC User Guide 1/23/2004

DISPLAY TECHNOLOGIES. Group 6: Steve Lenhart, Ryan King, Ramsey Akl, and Andrew Scheib

Essentials of the AV Industry Welcome Introduction How to Take This Course Quizzes, Section Tests, and Course Completion A Digital and Analog World

S op o e p C on o t n rol o s L arni n n i g n g O bj b e j ctiv i e v s

Configuring the Élan SC300 Device s Internal CGA Controller for a Specific LCD Panel

crystal radio receiver 1921

CS 4451A: Computer Graphics. Why Computer Graphics?

Transcription:

Display Technology! Images stolen from various locations on the web... Cathode Ray Tube 1

Cathode Ray Tube Raster Scanning 2

Electron Gun Beam Steering Coils 3

Color Shadow Mask and Aperture Grille 4

Liquid Crystal Displays Liquid Crystal Displays 5

DLP Projector LCoS! Liquid Crystal on Silicon! Put a liquid crystal between a reflective layer on a silicon chip 6

Grating Light Valve (GLS)! lots (8000 currently) of micro ribbons that can bend slightly! Make them reflective! The bends make a diffraction grating that controls how much light goes where! Scan it with a laser for high light output! 4000 pixel wide frame at 60Hz Grating Light Valve (GLS) 7

Digistar 3 Dome Projector VGA! Stands for Video Graphics Array! A standard defined by IBM back in 1987! 640 x 480 pixels! Now superseded by much higher resolution standards...! Also means a specific analog connector! 15-pin D-subminiature VGA connector 8

The linked image cannot be displayed. The file may VGA have been moved, renamed, Connector or deleted. Verify that the link points the correct file and location. 1: Red out 6: Red return (ground) 11: Monitor ID 0 in 2: Green out 7: Green return (ground) 12: Monitor ID 1 in or data from display 3: Blue out 8: Blue return (ground) 13: Horizontal Sync 4: Unused 9: Unused 14: Vertical Sync 5: Ground 10: Sync return (ground) 15: Monitor ID 3 in or data clock Raster Scanning 9

Raster Scanning back porch back porch front porch VGA Horizontal Timing Horizonal Dots 640 Vertical Scan Lines 480 60Hz vertical frequency Horiz. Sync Polarity NEG A (µs) 31.77 Scanline time B (µs) 3.77 Sync pulse length C (µs) 1.89 Back porch D (µs) 25.17 Active video time E (µs) 0.94 Front porch VIDEO VIDEO (next line) -C- ----------D----------- -E- _ _ B ---------------A---------------- 10

VGA Horizontal Timing Horizonal Dots 640 Vertical Scan Lines 480 60Hz vertical frequency Horiz. Sync Polarity NEG A (µs) 31.77 Scanline time B (µs) 3.77 Sync pulse length C (µs) 1.89 Back porch D (µs) 25.17 Active video time E (µs) 0.94 Front porch 25.17/640 = 39.33ns/pixel = 25.4MHz pixel clock VIDEO VIDEO (next line) -C- ----------D----------- -E- _ _ B ---------------A---------------- VGA Vertical Timing Horizonal Dots 640 Vertical Scan Lines 480 Vert. Sync Polarity NEG Vertical Frequency 60Hz O (ms) 16.68 Total frame time P (ms) 0.06 Sync pulse length Q (ms) 1.02 Back porch R (ms) 15.25 Active video time S (ms) 0.35 Front porch VIDEO VIDEO (next frame) -Q- ----------R----------- -S- _ _ P ---------------O---------------- 11

VGA Timing Summary 60 Hz refresh and 25MHz pixel clock Relaxed VGA Timing! This all sounds pretty strict and exact...! It s not really... The only things a VGA monitor really cares about are:! Hsync! Vsync! Actually, all it cares about is the falling edge of those pulses!! The beam will retrace whenever you tell it to! It s up to you to make sure that the video signal is 0v when you are not painting (i.e. retracing) 12

Relaxed VGA Horizontal Timing Horizonal Dots 128 Vertical Scan Lines? 60Hz vertical frequency Horiz. Sync Polarity NEG A (µs) 30.0 Scanline time B (µs) 2.0 Sync pulse length C (µs) 10.7 Back porch D (µs) 12.8 Active video time E (µs) 4.50 Front porch 12.8/128 = 100ns/pixel = 10 MHz pixel clock VIDEO VIDEO (next line) -C- ----------D----------- -E- _ _ B ---------------A---------------- VGA Relaxed Vertical Timing Horizonal Dots 128 Vertical Scan Lines 255 Vert. Sync Polarity NEG Vertical Frequency 60Hz O (ms) 16.68 Total frame time P (ms) 0.09 Sync pulse length (3x30µs) Q (ms) 4.86 Back porch R (ms) 7.65 Active video time S (ms) 4.08 Front porch VIDEO VIDEO (next frame) -Q- ----------R----------- -S- _ _ P ---------------O---------------- 13

VGA on Spartan3e Starter Series resistors limit output voltage to 0-0.7v VGA Voltage Levels! Voltages on R, G, and B determine the color! Analog range from 0v (off) to +0.7v (on)! But, our pads produce 0-5v outputs! 14

VGA Voltage Levels! Voltages on R, G, and B determine the color! Analog range from 0v (off) to +0.7v (on)! But, our pads produce 0-5v outputs!! For B&W output, just tie RGB together and let 0v=black and 5v=white! This overdrives the input amps, but won t really hurt anything! For color you can drive R, G, B separately! Of course, this is only 8 colors (including black and white)! Requires storing three bits at each pixel location VGA on Spartan3e Starter 15

More colors! More colors means more bits stored per pixel! Also means D/A conversion to 0 to 0.7v range More Colors (Xess) 16

What to Display?! You need data to display on the screen...! Brute force: put it all in a giant ram that has the same resolution as your screen and just walk through the RAM as you paint the screen! More clever: Fill a row buffer with data for a scan line! Multi-level: Fill a (smaller) row buffer with pointers to glyphs that are stored in another RAM/ROM! Just keep track of where the beam is and where your data is... VGA Breakdown! vgacontrol! Generate timing pulses at the right time! hsync, vsync, bright, hcount, vcount! bitgen! Based on bright, hcount, vcount, turn on the bits 17

3 Types of bitgen! Bitmapped! Character/Glyph based! Hard-coded 3 Types of bitgen! Bitmapped! Frame buffer holds a separate rgb color for every pixel! bitgen just grabs the pixel based on hcount and vcount and splats it to the screen! Chews up a LOT of memory! This memory would have to be off-chip 18

3 Types of bitgen! Character/Glyph-based! Break screen into nxm pixel chunks (e.g. 8x8)! For each chunk, point to one of k nxm glyphs! Those glyphs are stored in a separate memory! For 8x8 case (for example)! glyph number is hcount and vcount minus the low three bits! glyph bits are the low-order 3 bits in each of hcount and vcount! Figure out which screen chunk you re in, then reference the bits from the glyph memory 3 Types of bitgen! Direct Graphics! Look at hcount and vcount to see where you are on the screen! Depending on where you are, force the output to a particular color! Tedious for complex things, nice for large, static things parameter BLACK = 3 b 000, WHITE = 3 b111, RED = 3 b100; // paint a white box on a red background always@(*) if (~bright) rgb = BLACK; // force black if not bright // check to see if you re in the box else if (((hcount >= 100) && (hcount <= 300)) && ((vcount >= 150) && (vcount <= 350))) rgb = WHITE; else rgb = RED; // background color 19

VGA Memory Requirements! 640x480 VGA (bitmapped)! 307,200 pixels! 3 bits per pixel! Imagine using 24 bits per memory location (8 pixels)! 38.4 K-words with 24-bit words for 640x480! 115.2 K-bytes! FAR larger than you can put on your chip! Not so bad with an off-chip RAM VGA Memory Requirements! 320x240 VGA (bitmapped)! 76,800 pixels! Each stored pixel is 2x2 screen pixels! 3 bits per pixel! 8 pixels per 24-bit word (for example)! 9.6k 24-bit words needed! 28.8 K-bytes! Much more realistic but still significant memory if you want to put it on-chip 20

VGA Memory Requirements! 80 char by 60 line display (8x8 glyphs)! 4800 locations! Each location has one of 256 char/glyphs! 8-bits per location! 2 locations per 16-bit word?! 2400 words for the frame buffer! Each char/glyph is (say) 8x8 pixels! results in 640x480 display! 8x8x256 bits for char/glyph table! 16kbits (1k words) for char/glyph table! Will this fit on your chip? VGA Memory Requirements! 80 char by 60 line display (8x8 glyphs)! 4800 locations! Each location has one of 64 char/glyphs! 6-bits per location! 4 locations per 24-bit word?! 1200 words for frame buffer?! Each char/glyph is (say) 8x8 pixels! results in 640x480 display! 8x8x64 bits for char/glyph table! 4kbits for char/glyph table (32 words, 128 b/word)! Will this fit on your chip? 21

CharROM CharROM 22

CharROM Fit the charrom into a VGA system - hvideo walks along the row - vvideo picks which row to walk along hvideo module HA[6:0] vvideo module HA[6:3] vcnt[7:4] Character Function 6 Character Bus 4 4:16 Decod er 2 vcnt[3:1] 16 A[4:3] noe12 0 T[7:0] - noe0 A[2:0] charrom 8 8:1 Mux HA[2:0] hbright vbright 3 input AND VidOut vcnt[7:1] Two Lines of Text! Character Function! i.e. Frame Buffer! 16 characters/line x 8 pixels/ char = 128pixels! 6 bits to address a character! A[4:3] = row of CharRom! R[2:0] = column of CharRom! A[2:0] = row of character 23

RAM/ROM Generator! Designed by Allen Tanner 8 years ago as his class project...! makemem! Simple ROM arrays (Don t use the SRAM) makemem 102 vladimir:~> java -cp /uusoc/facility/cad_common/local/cadence/lib/mem/j makemem -h makemem v2.2 Nov 8, 2004 Allen Tanner University of Utah CS6710 Enter the following: java makemem choice options Where: choice selects the creation of either ROM or SRAM. for ROM enter:-r rname : rname.rom is the file name. : for SRAM enter:-s r c : Version 1 SRAM single port. for SRAM enter:-s1 r c : Version 2 SRAM single port. for SRAM enter:-s2 r c : Version 2 SRAM dual port. for SRAM enter:-s3 r c : Version 2 SRAM triple port. : r is the number of rows (decimal). : c is the number of columns (decimal). : :-h -H : help (no processing occurs when help is requested). :-f fname : output file name. Used with.cif,.v &.il files. :-n sname rname : sname for array top cell name. : : rname for ROM (only) dockable ROM array top cell name :-t n : use tristate buffers on the outputs of ROM. :-q : output hello.txt file to find the working file directory. 103 vladimir:~> 24

makemem Limits! Number of rows is limited to 64 by address decoder design! Columns are not restricted! For ROM you can add a tristate bus at the output which is another level of decoding! width must be an even number! SRAM has single, dual, and triple port options! But, fabricated versions are very uneven ROM vs. Verilog 25

ROM vs. Verilog ROM vs. Verilog 26

ROM vs. Verilog ROM vs. Verilog 27

ROM vs. Verilog ROM vs. Verilog 28

ROM size comparison SRAM! Makemem also generates SRAM! Three different variants: single, dual, triple port! Each port is independent R/W! But, no automatic arbitration, so make sure you re not using the same address on multiple ports BUT! It s not working well Use memcellsf09 instead!!! 29

SRAM vs FF-registers module regfile #(parameter WIDTH = 8, REGBITS = 3) (input clk, regwrite, input [REGBITS-1:0] ra1, ra2, wa, input [WIDTH-1:0] wd, output [WIDTH-1:0] rd1, rd2); reg [WIDTH-1:0] RAM [(1<<REGBITS)-1:0]; // read two ports (combinational) // write third port on rising edge of clock always @(posedge clk) if (regwrite) RAM[wa] <= wd; assign rd1 = RAM[ra1]; assign rd2 = RAM[ra2]; endmodule SRAM vs FF-registers module SRAM #(parameter WIDTH = 8, REGBITS = 3) (input clk, WE, input [REGBITS-1:0] addr, input [WIDTH-1:0] wd, output [WIDTH-1:0] data); reg [WIDTH-1:0] RAM [(1<<REGBITS)-1:0]; // on clk, write if WE is high always @(posedge clk) if (WE) RAM[addr] <= wd; // Read asynchronously from addr assign data = RAM[addr]; endmodule 30

Single-Port SRAM/FF 32x32 16x16 8x8 SRAM Circuits 31

SRAM Cell, Transistors Tricky to get this right! Multi-Port Register Re1 Re0! Register file cell with single-ended read makes a great register file 32

Register File! Slightly larger cell, but with single-ended read makes a great register file SRAM Cell Yet another cell differential write, single-ended read 33

Array-Structured Memory Problem: ASPECT RATIO or HEIGHT >> WIDTH 2 L-K Bit Line Storage Cell A K A K+1 A L-1 Row Decoder Word Line Sense Amplifiers / Drivers M.2 K Amplify swing to rail-to-rail amplitude A 0 A K-1 Column Decoder Selects appropriate word Input-Output (M bits) Row Decoders! Select exactly one of the memory rows! Simple versions are just gates 34

Pre-decode Row Decoder! Multiple levels of decoding can be more efficient layout Pre-decode Row Decoder! Other circuit tricks for building row decoders 35

Single-Port SRAM Two-Port SRAM/FF module SRAM2 #(parameter WIDTH = 8, REGBITS = 3) (input clk, WE, input [REGBITS-1:0] addr, raddr, input [WIDTH-1:0] wd, output [WIDTH-1:0] data, rdata); reg [WIDTH-1:0] RAM [(1<<REGBITS)-1:0]; // on clk, write if WE is high always @(posedge clk) if (WE) RAM[addr] <= wd; // Read asynchronously from addr & raddr assign data = RAM[addr]; assign rdata = RAM[raddr]; endmodule 36

Two-Port SRAM/FF Two-Port SRAM 37

Conclusions! Try out memcellsf09 for SRAM! Details on the class web page! But, as you can see, you can t fit much on a chip! ROMs are very useful for tables of data! I d use Verilog case-statements! If you re using VGA! Check out the mini-project from 2005! Again, on the class website 38