Design and Implementation of an AHB VGA Peripheral

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

Lab # 9 VGA Controller

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 SOC VGA Controller Using Spartan-3E FPGA

Design and analysis of microcontroller system using AMBA- Lite bus

Lab 3: VGA Bouncing Ball I

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

Design of VGA Controller using VHDL for LCD Display using FPGA

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

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

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

Design of VGA and Implementing On FPGA

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

An Efficient SOC approach to Design CRT controller on CPLD s

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

GENERAL RULES FOR EE314 PROJECTS

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

DT3162. Ideal Applications Machine Vision Medical Imaging/Diagnostics Scientific Imaging

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

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

7inch Resistive Touch LCD User Manual

TV Character Generator

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

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

Lecture 14: Computer Peripherals

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

Video Graphics Array (VGA)

Lab 6: Video Game PONG

Traditionally video signals have been transmitted along cables in the form of lower energy electrical impulses. As new technologies emerge we are

Week 5 Dr. David Ward Hybrid Embedded Systems

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

AD9884A Evaluation Kit Documentation

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

Pivoting Object Tracking System

An FPGA Based Solution for Testing Legacy Video Displays

Spartan-II Development System

Digital Blocks Semiconductor IP

Installation and users Manual

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

IMS B007 A transputer based graphics board

Digital Blocks Semiconductor IP

i.mx RT elcdif RGB Mode Use Case

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)

VGA 8-bit VGA Controller

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

DiD. LCD Video Monitor & Video Wall Universal User Manual. Digital Information Display

Module 7. Video and Purchasing Components

VIDEO 101 LCD MONITOR OVERVIEW

A+ Certification Guide. Chapter 7 Video

Video Display Unit (VDU)

Checkpoint 2 Video Encoder

Section 4. Display Connector

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

By Tom Kopin CTS, ISF-C KRAMER WHITE PAPER

Digital Blocks Semiconductor IP

EDID HANDLING WITH ANALOG SIGNAL DISTRIBUTION

TV Synchronism Generation with PIC Microcontroller

ECE 448 Lecture 10. VGA Display Part 1 VGA Synchronization

Brief Description of Circuit Functions

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

EDA385 Bomberman. Fredrik Ahlberg Adam Johansson Magnus Hultin

A Flexible FPGA communication

CH7021A SDTV / HDTV Encoder

Group 1. C.J. Silver Geoff Jean Will Petty Cody Baxley

DLP Pico Chipset Interface Manual

Chrontel CH7015 SDTV / HDTV Encoder

SparkFun Camera Manual. P/N: Sense-CCAM

USER MANUAL. FC-32 DVI to PC/Component Converter MODEL: P/N: Rev 5

Group 1. C.J. Silver Geoff Jean Will Petty Cody Baxley

CS 4451A: Computer Graphics. Why Computer Graphics?

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

4.3inch 480x272 Touch LCD (B) User Manual

Solutions to Embedded System Design Challenges Part II

DT3130 Series for Machine Vision

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

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

Lab Assignment 2 Simulation and Image Processing

Chapter 1 HDMI-FMC Development Kit Chapter 2 Introduction of the HDMI-FMC Card Chapter 3 Using the HDMI-FMC Board...

VGA Configuration Algorithm using VHDL

Part 1: Introduction to Computer Graphics

Digital Blocks Semiconductor IP

Computer Graphics Hardware

AC334A. VGA-Video Ultimate BLACK BOX Remote Control. Back Panel View. Side View MOUSE DC IN BLACK BOX ZOOM/FREEZE POWER

CGA to EGA to VGA Converter (Multi) ID#425

PC/HDTV to PC/HDTV converter (CP-251F)

2.4.1 Graphics. Graphics Principles: Example Screen Format IMAGE REPRESNTATION

Display Interfaces. Display solutions from Inforce. MIPI-DSI to Parallel RGB format

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

HDMI-UVC/HDMI-Parallel converter [SVO-03 U&P]

RAPID SOC PROOF-OF-CONCEPT FOR ZERO COST JEFF MILLER, PRODUCT MARKETING AND STRATEGY, MENTOR GRAPHICS PHIL BURR, SENIOR PRODUCT MANAGER, ARM

4.3 8 bit TFT Digital Driver Board Specification

Testing Results for a Video Poker System on a Chip

Monitor and Display Adapters UNIT 4

StickIt! VGA Manual. How to install and use your new StickIt! VGA module

A/D and D/A convertor 0(4) 24 ma DC, 16 bits

OBSOLETE. CMOS 80 MHz Monolithic (18) Color Palette RAM-DACs ADV478/ADV471

Checkpoint 2 Video Encoder and Basic User Interface

Dell Wyse 5030 PCoIP Zero Client

Experiment # 4 Counters and Logic Analyzer

Transcription:

Design and Implementation of an AHB VGA Peripheral 1

Module Overview Learn about VGA interface; Design and implement an AHB VGA peripheral; Program the peripheral using assembly; Lab Demonstration. System on Chip ARM Cortex-M0 Processor 32-bit Data bus Control signals 32-bit Address bus ARM AMBA 3 AHB-Lite System Bus SRAM controller VGA Peripheral Off-chip SRAM memory Monitor 2

Module Syllabus VGA Overview VGA Interface VGA Timing AHB VGA Hardware Implementation VGA Image Buffer VGA Console Lab Practice 3

VGA Overview 4

VGA Overview Video Graphics Array (VGA) connector Five analog components Blue, green, red Horizontal and vertical synchronization Designed in 1987, still used nowadays, but most of them are superseded by Digital Visual Interface (DVI) and High-Definition Multimedia Interface (HDMI). Blue Green Red Horizontal Sync Vertical Sync 5

How VGA Signals Work CRT monitors display images on a phosphor-coated screen using amplitude-modulated moving electron beams. Beams horizontally move from left to right, and vertically from top to bottom. As the beam moves over the whole screen, the colour information of the pixel that currently being scanned is given from the VGA cable. The horizontal synchronization is used to reset the beam to the start of the next line. The vertical synchronization is used to start the next frame. The monitor will adjust its scanning frequency and screen resolution according to the synchronization signal given from the user. 6

How VGA Signals Work During the time when the beam is resetting to the beginning of next line (or the next frame), the colour information will not be used, and this particular region is known as front/ back porch. Despite from different displaying technologies, such as CRT or LCD, most of the monitors can provide a standard interface, such as VGA or DVI. The VGA timings information for different resolutions is specified and published by the VESA organization. 7

VGA Interface The digital outputs from the FPGA can be converted to analog and connected to the VGA connector using resistor-divider circuits, For example, the Digilent Nexys3 board uses 10 signals, including 8-bit colour and two standard sync signals, thus 256 colour levels can be presented. The following slides give an example timing for a 640 480 resolution. RED0 RED1 RED2 GREEN0 GREEN1 GREEN2 FPGA BLUE0 BLUE1 HSYNC VSYNC 2KΩ 1KΩ 510Ω 2KΩ 1KΩ 510Ω 1KΩ 510Ω 100Ω 100Ω RED GREEN BLUE HS VS VGA connector VGA cable 8

600 480 pixels VGA Timing 800 Vertical front porch Set colour to black (8h00) Vertical sync, give a zero pulse to start a new frame 640 pixels Beam automatically scans from left to right, then goes to the next line Next line Display region Horizontal sync, give a zero pulse to start the next line Vertical back porch Set colour to black (8h00) Set colour to your expected value while beam is in this region Horizontal front porch Set colour to black (8h00) Horizontal back porch Set colour to black (8h00) 9

VGA Timing VGA timing for 640 x 480 resolution; 25MHz clock frequency; Parameters can be found inside the code. Hsync Pulse width Horizontal front porch Display region Horizontal back porch Pulse width Horizontal front porch Vsync Vertical pulse width After every 600 lines Colour 0 0 c1 c2 c639 c640 10

AHB VGA Hardware Implementation 11

Hardware Implementation In our proposed hardware implementation, the full region of the screen is divided to two sub-regions: Text region (console) -- display text strings in a relatively high resolution; Image region (frame buffer) display a desired image in a lower resolution; Ideally, all the pixels information is stored in one frame buffer. However, since the on-chip memory is not sufficient, the resolution of the frame is reduced. Hence, to still display clear texts at the same time, the text region is separated, where the dynamic hardware logic is used instead of the frame buffer. Text region Image region 12

Mux Hardware Interconnection The VGA peripheral can display texts and images on a monitor through a VGA cable. The VGA peripheral consists of 3 components: a VGA interface, an image buffer for displaying image, and a text console module for displaying texts. Data Memory address Memory data Write enable Image buffer Image colour 10 10 8 Address x Address y HS Addr AHB interface 8 VGA interface 8 8 Colour Control Text data (ASCii) Write enable Text console Text colour Console region or image region VS 13

Hardware Implementation VGA interface Generates synchronization signals to the VGA port; Colour information of all pixels are stored in memory Is directly connected to external pins of the VGA port; Outputs the address of the current pixel; Image buffer Stores the colour information of all pixels in the image region; Is implemented on a dual-port memory; Text console Text region Monitor Image region Displays texts in the text region. Is implemented on hardware logics. Colour information is generated using hardware logic 14

VGA Interface VGA signals Name vga_red[2:0] vga_green[2:0] vga_blue[1:0] hsync vsync Description 3-bit red signal 3-bit green signal 2-bit blue signal (less sensitive to eyes) Horizontal synchronization signal, one pulse indicates the start of the next line Vertical synchronization signal, one pulse indicates the start of the next frame 15

VGA Image Buffer The image buffer stores the RGB information for all the pixels in the image region. The buffer is implemented on a dual-port RAM, which allows pixels to be modified at the same time the VGA interface is reading the pixel. Some chips do not have a large on-chip memory, such as on-chip SRAM. In such a case, the resolution can be reduced by mapping multiple pixels to a single data in the memory. For example, a 4x4 pixel region can be presented by one single data in the image buffer. Used for changing image Connected to VGA interface Write address 15 Write data 8 Write enable Read address 15 Read data 8 110001 00 001010 00 111010 01 000011 11 110111 00 001011 11 101010 11 Image buffer 111101 10 110101 00 16 4x4 pixel region is presented by one single data (1 Byte) in the image buffer Image region 400x480 pixels VGA monitor

VGA Console The VGA console module is used to generate the colour information for pixels in the text region. The colour information is generated dynamically using hardware logics, rather than storing every single pixel in a memory, whereby the valuable on-chip memory can be saved. 17

Memory Space The memory space is allocated as follow: Peripheral Base address End address Size MEM 0x0000_0000 0x4FFF_FFFF 167MB VGA 0x5000_0000 0x50FF_FFFF 16MB 18

Memory Space The internal memory space of VGA is divided into two regions Console text: 1 word (4 byte) space to print a character Image buffer: the rest of the space is used to store pixels in the image region. Register Base address End address Size Console text 0x5000_0000 0x5000_0000 4 Byte Image buffer 0x5000_0004 0x50FF_FFFF 15999996 Byte 19

Lab Practice 20

Lab Practice Hardware design Design and implement the peripheral (VGA peripheral) in hardware using Verilog; Software programming Test the peripheral using Cortex-M0 processor programed in assembly language; System demonstration Display text strings and images on the monitor. 21

Useful Resources Reference1 Nexys3 Reference Manual: http://www.digilentinc.com/data/products/nexys3/nexys3_rm.pdf 22