Design of VGA and Implementing On FPGA

Similar documents
Design of VGA Controller using VHDL for LCD Display using FPGA

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

A Flexible FPGA communication

Lab 3: VGA Bouncing Ball I

VGA Configuration Algorithm using VHDL

Lab # 9 VGA Controller

[Kadlag*, TECHNOPHILIA: February, 2016] ISSN: (I2OR), Publication Impact Factor: 3.785

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

Lecture 14: Computer Peripherals

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

EEM Digital Systems II

An Efficient SOC approach to Design CRT controller on CPLD s

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

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

SOC Implementation for Christmas Lighting with Pattern Display Indication RAMANDEEP SINGH 1, AKANKSHA SHARMA 2, ANKUR AGGARWAL 3, ANKIT SATIJA 4 1

Block Diagram. dw*3 pixin (RGB) pixin_vsync pixin_hsync pixin_val pixin_rdy. clk_a. clk_b. h_s, h_bp, h_fp, h_disp, h_line

Video Graphics Array (VGA)

Section 4. Display Connector

Implementing VGA Application on FPGA using an Innovative Algorithm with the help of NIOS-II

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

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

Computer Graphics Hardware

ECE 448 Lecture 10. VGA Display Part 1 VGA Synchronization

ECE532 Digital System Design Title: Stereoscopic Depth Detection Using Two Cameras. Final Design Report

AbhijeetKhandale. H R Bhagyalakshmi

TV Synchronism Generation with PIC Microcontroller

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

A CONTROL MECHANISM TO THE ANYWHERE PIXEL ROUTER

Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and Signoff due Week 6 (October 4)

LUT Optimization for Memory Based Computation using Modified OMS Technique

Clock Gating Aware Low Power ALU Design and Implementation on FPGA

Design and analysis of microcontroller system using AMBA- Lite bus

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

Design and FPGA Implementation of 100Gbit/s Scrambler Architectures for OTN Protocol Chethan Kumar M 1, Praveen Kumar Y G 2, Dr. M. Z. Kurian 3.

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

Authentic Time Hardware Co-simulation of Edge Discovery for Video Processing System

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

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

Monitor and Display Adapters UNIT 4

TV Character Generator

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

L11/12: Reconfigurable Logic Architectures

An FPGA Based Solution for Testing Legacy Video Displays

3. Displays and framebuffers

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

Hello and welcome to this training module for the STM32L4 Liquid Crystal Display (LCD) controller. This controller can be used in a wide range of

Traffic Light Controller

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

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

Part 1: Introduction to Computer Graphics

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

FPGA-BASED EDUCATIONAL LAB PLATFORM

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

Spartan-II Development System

Implementation of Dynamic RAMs with clock gating circuits using Verilog HDL

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

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

L12: Reconfigurable Logic Architectures

IMS B007 A transputer based graphics board

Understanding Multimedia - Basics

Computer Graphics: Overview of Graphics Systems

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

THE CAPABILITY to display a large number of gray

Reading. Display Devices. Light Gathering. The human retina

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

Computer Graphics. Introduction

2 Product specifications

Introduction to Computer Graphics

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

Optimized design for controlling LED display matrix by an FPGA board

Chrontel CH7015 SDTV / HDTV Encoder

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

Low Power Digital Design using Asynchronous Logic

4. ANALOG TV SIGNALS MEASUREMENT

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

Modeling Latches and Flip-flops

Optimization of memory based multiplication for LUT

PROCESSOR BASED TIMING SIGNAL GENERATOR FOR RADAR AND SENSOR APPLICATIONS

Field Programmable Gate Array (FPGA) Based Trigger System for the Klystron Department. Darius Gray

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

Spartan-II Development System

What is sync? Why is sync important? How can sync signals be compromised within an A/V system?... 3

Testing Results for a Video Poker System on a Chip

AD9884A Evaluation Kit Documentation

Digital Blocks Semiconductor IP

UNIVERSITY OF TORONTO JOÃO MARCUS RAMOS BACALHAU GUSTAVO MAIA FERREIRA HEYANG WANG ECE532 FINAL DESIGN REPORT HOLE IN THE WALL

CH7053A HDTV/VGA/ DVI Transmitter

Week 5 Dr. David Ward Hybrid Embedded Systems

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

Overview of All Pixel Circuits for Active Matrix Organic Light Emitting Diode (AMOLED)

Adding Analog and Mixed Signal Concerns to a Digital VLSI Course

Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design. Laboratory 3: Finite State Machine (FSM)

Rec. ITU-R BT RECOMMENDATION ITU-R BT PARAMETER VALUES FOR THE HDTV STANDARDS FOR PRODUCTION AND INTERNATIONAL PROGRAMME EXCHANGE

Innovative Fast Timing Design

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

VID_OVERLAY. Digital Video Overlay Module Rev Key Design Features. Block Diagram. Applications. Pin-out Description

Efficient 500 MHz Digital Phase Locked Loop Implementation sin 180nm CMOS Technology

Chapter 60 Development of the Remote Instrumentation Systems Based on Embedded Web to Support Remote Laboratory

BUREAU OF ENERGY EFFICIENCY

Transcription:

Design of VGA and Implementing On FPGA Mr. Rachit Chandrakant Gujarathi Department of Electronics and Electrical Engineering California State University, Sacramento Sacramento, California, United States of America Rachit3024@gmail.com Abstract This research paper presents how to design a VGA controller using a Field Programmable Gate Array (FPGA). Video Graphics Array (VGA) is widely used as a standard display interface. Detailed information of this research paper is on the architecture, hardware and software development. This controller is implemented and developed using Verilog HDL based in an IEEE standards, to ensure the ease to use with any user. The system has the potential to display any image. The FPGA used in this implementation is Nexys 4 DDR FPGA board and the software used is Xilinx Vivado. Keywords-Nexys 4 DDR, FPGA, VGA Controller, Verilog HDL, Xilinx Vivado. ***** I. INTRODUCTION Research and development for a specific task are increasing day by day nowadays. VGA is used in many applications such as embedded systems, ATM machines, video conferencing, and video surveillance systems. Video Graphics Array controller is used as a logic circuit which control the VGA interface. FPGA can be used to implement the logic of VGA interface which results in less cost and more flexibility. Flexibility is an important quality of today s industrial produced machines so that it can deliver all unplanned demands. FPGA is small sized equipment and has very low power consumption which satisfies all the need of today s requirement. II. FIELD PROGRAMMABLE GATE ARRAY(FPGA) FPGA (Field Programmable Gate Array) is an integrated circuit designed to be configured by the designers after manufacturing- hence field programmable [1]. FPGAs contain an array of programmable logic blocks, and a progressive programmable logic interconnects which allow the blocks to function together, like many logic gates that are connected in different ways and configurations. Logic blocks can be programmed to performed simple logic gates like NAND and NOR or to perform a complex combinational functions such as an ALU. Usually FPGA are used to make a prototype building because changes are easy to make on a FPGA board. This saves a lot of money as hardware is not thrown away after a single change. Moreover, FPGA can be used to perform different functionality [2]. The general internal structure of an FPGA is shown in Fig. 1. It contains mainly: logic blocks, Input/output blocks for interfacing and interconnection switches. Here in this paper we are going to use Nexys 4 DDR FPGA board made by Xilinx. Fig. 1 The general structure of an FPGA [8] III. VIDEO GRAPHICS ARRAY(VGA) VGA (Video Graphics Array) is standard for video display. It has a simple method to connect a system with any display hardware such as monitor for showing images, videos, and any kind of data. The monitor screen for a standard VGA format contains 480 rows by 640 columns of picture element called pixel. Display of an image can be done on the screen by turning on and off set of pixels at a time. Turning on a one pixel will not make a difference, but combining many pixels will generate an image. A continuous scan occurs on entire monitor screen, turning individual pixels on and off. Even if pixels are turned on one at a time, it shows that all pixels are turned on as the monitor scans very fast. This is the reason behind flicker of old monitors having slow scan rates. The scanning process starts from the top left corner of the screen from row0, column0 and ends to the right until it reaches the last column [8]. The scan process is horizontal one row after another row. This means the scan reaches the end of row, it again starts from beginning of 15

the next row. When last pixel is scanned which is at the bottom right corner of the screen, it again starts scanning from the top left corner and do whole scanning process again. The entire screen must be scanned 60 times in one second so that there is less flicker on the screen. This scanning rate is known as refresh rate of screen. By research, a human eye can detect flicker for screens having less than 30Hz refresh rates. During the horizontal and vertical retraces, all pixels are turned off [7]. Refer fig2 The addresses are created by address generator block with the outputs of VGA synchronization block and gives it to the image data block whose outputs gives inputs to the image index block. Image index block gives out red, blue and green signal. The red, blue and green data consist of 24-bits, whereas q [23:16], q [15:8] and q [7:0] indicate the R_VGA, G_VGA and B_VGA respectively [8]. These three color signals control the color of a pixel at a given location on the screen. The analog voltage range vary from 0.7 volt to 1.0 volt. Varying these voltage different color intensities can be obtained. These three color signals are treated as digital signals so that each one go on and off by user [4]. Fig. 4 shows that the color signals use resistor-divider circuits that work in conjunction with the termination resistance of 75-ohm of the VGA display to create 16 different levels each on three colors. Fig 2 Scanning pattern for VGA Controller IV. VGA CONTROLLER Block diagram of VGA controller is shown in fig. 3 and fig.4.there are three blocks- reset, clock generator and a VGA controller. The VGA controller block is again made up of four different blocks-vga synchronization, address generator, image data block and image index block. Input signals are reset and clock which are given to VGA controller which gives RGB (red, green, blue), horizontal synchronization, vertical synchronization and black signals as output. The reset signal is given out by reset blocks. Clock generator block reduce the input clock frequency to 25 MHz so that 640X480 resolution is maintained. At the same time, the VGA synchronization block generate timing and synchronization signals. As the horizontal synchronization signal specifies the required time to scan a row, and the vertical synchronizationsignal specifies the required time to scan the entire screen. This block also generates the blank signal which indicates retrace period of the display [9]. Fig 3 Proposed block diagram [8] Fig.4 Internal Block diagram of VGA Controller [11] V. TIMMING FOR VGA SIGNALS Cathode Ray Tube (C.R.T) based VGA display screen use modulation of amplitude of the moving electron beams which is known as cathode rays to display data on a phosphor-coated screen. Liquid Crystal Display is a type of screen which use an array of switches that can apply a voltage across a small amount of liquid crystal, this changes light permittivity through one crystal on a pixel-by-pixel basis [6]. The discussion below revolves around both CRTs and LCDs. 16

B. Vertical Timing Fig. 7 Vertical Timing Pulse Pixel Clock = 25 MHz Horizontal scan time = 32 us Vertical video, VP = 480pixels x 32us = 15.360ms (7) Back Porch, BP = 29pixels X 32us = 0.928ms (8) Front porch, FP = 10pixels x 32us = 0.320ms (9) Sync Pulse, SP = 2pixels x 32us = 0.64ms (10) Vertical Scan lines (pixels) = SP+BP+VV+FP = (2+29+10+480) pixels =512 pixels Vertical scan time = 512pixels X 32us = 16.67ms (11) Fig. 5 CRT Display Timing Example The VGA timing signals can be divided into two parts- Horizontal timing and Vertical timing. (640X480 resolution). A. Horizontal Timing Back Porch is defined as the delay time following the time when the horizontal timing pulse goes high and Front Porch is the delay time before the horizontal timing pulse goes low again during the retrace. VI. FLOW CHART FOR VGA DISPLAY Fig. 6 Horizontal Timing Pulse Pixel Clock = 25 MHz Pixel time = 0.04 us Horizontal video, HV = 640pixels x 0.04 us = 25.60us (1) Back porch, BP = 16pixels x 0.04us = 0.64us (2) Front porch, FP = 16 pixels x 0.04us = 0.64us (3) Sync pulse, SP = 128pixels x 0.04us = 5.12us (4) Horizontal scan lines (pixels) = SP+BP+FP+HV = (128 + 16 + 16 + 640) pixels = 800 pixels Horizontal scan 800 x 0.04us = 32us (5) So, scan lines per frame = 1/ (60 x 32) = 521 (6) Fig. 8 Typical flow diagram [6] 17

Above is the flowchart which decribes the flow operation of thye VGA ccontroller IP core [8]. The steps are: 1) FPGA Clock reduction: The clock frequency of FPGA is reduced from 60 MHz to 25 Mhz so that it matches frequency of VGA. 2) Syncronisation: This step setsthe horizontal and vertical timing syncronization accoring to the target VGA mode. 3) Input to VGA: In this step user should give a input in terms of RGB (Red, Blue, Green) in order to get desired output on screen. 4) Scanning: This step increment pixels in horizontal(x) and vertical(y) diretions one location after location. 5) Checking end points: Check he condition, X= 640 && Y=480? If condition is not matched then increment both x direction pixel and y direction pixel for 640 and 480 respectively. If Condition is matched then VGA will display the colour. 6) Stop the process VII. NEXYS 4 DDR The NEXYS4 DDR is a ready to use digital circuit development platform designed to bring additional industry applications into the classroom environment [3]. I have used Xilinx FPGA (part number is XC7A100T-1CSG324C). I used 14 FPGA signals to create a port of VGA with 4-bits for one color and the two standard synchronization signals[2]. VIII. IMPLEMETATION I am going Vivado suite by Xilinx. The designed VGA controller [9] is implemented on our FPGA using Vivado design suite by keeping the design constraint in mind of Xilinx. The quality of program in term of synthesis is first check by Vivado. Then by execution of program it makes a virtual circuit diagram based on the code provided. Then the software generates a bit pattern which is given and written on the hardware. It has constraint file which is FPGA specific. It specifies what connections are made to the FPGA. The design constrain file is given in fig. 9. Fig.9 Design Constrained File [6] IX. CONCLUSION Hence the FPGA is very useful for designing and implementation of many logic circuits including VGA controller by using hardware description language such as Verilog. Thus, Controller circuit can be made by just simulation and synthesizing the the program code in the Vivado. It also feeds the program to the FPGA. The proposed VGA control shows the systematuc used for FPGA to develop this system, which display colors on a VGA screen. This can be used in any FPGA device. Fig. 10 Schematic of VGA Controller [6] 18

REFERENCES [1] International Journal of Electrical & Computer Sciences IJECS-IJENS Vol:12 No:05 The Design and Implementation of VGA controller using FPGA Radi H.R., Caleb W.W.K., M.N. Shah Zainudin., M. Muzafar Ismail. Faculty of Electronic and Computer Engineering Universiti Teknikal Malaysia Melaka Hang Tuah Jaya 76100 Durian Tunggal, Melaka, Malaysia. [2] SamirPalnitkar, Verilog HDL: A Guide to Digital Design and Synthesis, Sun Microsystems, Inc., Usa, 2003 [3] Thompson S., VGA-Sign Choices for a New Video Subsystem, IBM Systems Journal Vol.27, Issue. 2, Page(s) 185-190, 1988. [4] Diiligent-2015-nexys 4DDR Infosheet sheet 1- https://reference.digilentinc.com/_media/nexys4- ddr:digilent_2015_nexys4ddr_ss.pdf [5] Field programmable gate-array- Wikipedia https://en.wikipedia.org/wiki/fieldprogrammable_gate_array. [6] IRJET v3i3353 Video graphics array interfacing through artix-7 FPGA. Mr. Naga V satyanarayana Murthy Asst. Professor, Department of ECE GNITC, Hyderabad- 501506,India [7] E.Hwang, Build A VGA Mitor Controller, Circuit Cllar, USA,2004. [8] International Journal on Recent and Innovation Trends in Computing and Communication ISSN: 2321-8169 Volume: 3 Issue: 5 159-162 Hrrp://www.ijritcc.org Design of VGA Controller Using FPGA Renuka A. Wasu, Vijay R. [9] International Journal of Innovative Research in Computer and Communication Enginnering (An ISO 3297 :2007 Certified Organization) Vol. 3, Issue 7, July 015 Design and Implementation of VGA Controller on FPGA Renuka A. Wasu, Vijay R. Wadhankar [10] Van-Huan Tran, An Efficient Archietecture Design for VGA Monitor Controller, IEEE International Conference on Consumer Electronics, Communications and Networks (CECNet), Page(s) 3921-3930,2011. 19