Graphics Controller Core

Similar documents
BADGE BitSim s Accelerated Display Graphics Engine IP block for ASIC & FPGA, is an advanced graphic controller.

Digital Blocks Semiconductor IP

Digital Blocks Semiconductor IP

DDR and DDR2 SDRAM Controller Compiler User Guide

Digital Blocks Semiconductor IP

MICROTRONIX AVALON MOBILE DDR MEMORY CONTROLLER IP CORE

MICROTRONIX AVALON MULTI-PORT FRONT END IP CORE

4. SOPC Builder Components

9. PIO Core. Core Overview. Functional Description

9. Functional Description Example Designs

NIOS II Pixel Display

3-D Accelerator on Chip

Lancelot. VGA video controller for the Altera Excalibur processors. v2.1. Marco Groeneveld May 1 st,

Embedded Systems. "System On Programmable Chip" NIOS II Avalon Bus. René Beuchat. Laboratoire d'architecture des Processeurs.

Introduction to the Qsys System Integration Tool

4K Format Conversion Reference Design

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

FPGA for Software Engineers

Section III. Transport and Communication

Implementing Video and Image Processing Designs Using FPGAs. Click to add subtitle

Laboratory Exercise 5

UG0649 User Guide. Display Controller. February 2018

NIOS CPU Based Embedded Computer System on Programmable Chip

System Debugging Tools Overview

Design of Embedded Hardware and Firmware

POS-PHY Level 2 and 3 Compiler User Guide

Functional Description Hard Memory Interface

MAX 10 User Flash Memory User Guide

DDR & DDR2 SDRAM Controller Compiler

Intel MAX 10 User Flash Memory User Guide

EECS150 - Digital Design Lecture 17 Memory 2

University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA

9. Building Memory Subsystems Using SOPC Builder

FFT MegaCore Function User Guide

DKAN0011A Setting Up a Nios II System with SDRAM on the DE2

NIOS CPU Based Embedded Computer System on Programmable Chip

Section II. Peripheral Support

Turbo Encoder Co-processor Reference Design

Designing with ALTERA SoC Hardware

Edge Detection Using SOPC Builder & DSP Builder Tool Flow

SD Card Controller IP Specification

Designing Embedded Processors in FPGAs

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

Core Facts. Documentation. Design File Formats. Simulation Tool Used Designed for interfacing configurable (32 or 64

EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES

Microtronix Avalon I 2 C

Instantiating the Core in SOPC Builder on page 2 2 Device Support on page 2 3 Software Programming Model on page 2 3

April 7, 2010 Data Sheet Version: v4.00

2. SDRAM Controller Core

Advanced ALTERA FPGA Design

The Nios II Family of Configurable Soft-core Processors

2. System Interconnect Fabric for Memory-Mapped Interfaces

Microtronix Stratix III Broadcast IP Development Kit USER MANUAL REVISION Woodcock St. London, ON Canada N5H 5S1

Applying the Benefits of Network on a Chip Architecture to FPGA System Design

ALTERA FPGAs Architecture & Design

Getting Started With the Nios II DPX Datapath Processor ---Version

«Real Time Embedded systems» Multi Masters Systems

Getting Started Guide with AXM-A30

Qsys and IP Core Integration

Introduction to the Altera SOPC Builder Using Verilog Design

Multimedia Decoder Using the Nios II Processor

10. SOPC Builder Component Development Walkthrough

Nios II Embedded Design Suite 6.1 Release Notes

DDR & DDR2 SDRAM Controller Compiler

RX600. Direct Drive LCD KIT. Product Overview. Renesas Electronics America Inc. Carmelo Sansone. Tuesday, February, 2011 Rev. 1.

Microtronix ViClaro IV GX Camera Link Development Kit

Introduction to the Altera SOPC Builder Using Verilog Designs. 1 Introduction

ECE 437 Computer Architecture and Organization Lab 6: Programming RAM and ROM Due: Thursday, November 3

MICROTRONIX AVALON MULTI-PORT SDRAM CONTROLLER

1. SDRAM Controller Core

ADQ14 Development Kit

PCI Express Multi-Channel DMA Interface

Nios II Embedded Design Suite 6.0 Service Pack 1 Release Notes

Core Facts. Documentation. Encrypted VHDL Fallerovo setaliste Zagreb, Croatia. Verification. Reference Designs &

LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.01.a)

SerialLite III Streaming IP Core Design Example User Guide for Intel Stratix 10 Devices

Intel Xeon with FPGA IP Asynchronous Core Cache Interface (CCI-P) Shim

Using SOPC Builder & DSP Builder Tool Flow

DDR & DDR2 SDRAM Controller Compiler

Using the Parallel Flash Loader with the Quartus II Software

Embedded Systems. "System On Programmable Chip" Design Methodology using QuartusII and SOPC Builder tools. René Beuchat LAP - EPFL

Cover TBD. intel Quartus prime Design software

DQSPI IP Core. Serial Peripheral Interface Master/Slave with single, dual and quad SPI Bus support v. 2.01

SerialLite III Streaming IP Core Design Example User Guide for Intel Arria 10 Devices

Embedded Systems. "System On Programmable Chip" Design Methodology using QuartusII and SOPC Builder tools. René Beuchat LAP - EPFL

Today s Agenda Background/Experience Course Information Altera DE2B Board do Overview Introduction to Embedded Systems Design Abstraction Microprocess

Cover TBD. intel Quartus prime Design software

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

Designing with Nios II Processor for Hardware Engineers

Active Serial Memory Interface

AL8259 Core Application Note

DDR & DDR2 SDRAM Controller Compiler

Edge Detection Reference Design

FPGAs Provide Reconfigurable DSP Solutions

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

University of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual

MAX 10 FPGA Device Overview

The world s most reliable and mature full hardware ultra-low latency TCP, MAC and PCS IP Cores.

SISTEMI EMBEDDED AA 2013/2014

April 6, 2010 Data Sheet Version: v2.05. Support 16 times Support provided by Xylon

Transcription:

Core - with 2D acceleration functionalities Product specification Prevas AB PO Box 4 (Legeringsgatan 18) SE-721 03 Västerås, Sweden Phone: Fax: Email: URL: Features +46 21 360 19 00 +46 21 360 19 29 johan.ohlsson@prevas.se www.prevas.com Supports any XGA compatible LCD or CRT monitor with analog inputs Supports up to 1024x768 pixel resolution at 60Hz refresh rate 8/16/24 bit RGB color output Interfaces to all standard Video DACs Double buffering support (page flipping). Also support high speed copy of data from front to back buffer or wise versa on command 2D hardware acceleration functionality Hardware cursor functionality with alpha Line drawing algorithm which draws lines between any given two points at high speed High performance circle drawing algorithm Character printing engine which can draws characters with different sizes. Configurable font table/ram by host Uses external video memory, standard SDRAM interface supported Besides host DMA and instruction based access it has separate burst FIFO which utilizes SDRAMs full page burst capabilities. Used for streaming video etc. >30fps achievable at 1024x768 pixel resolution Fully synchronous and synthesizable design Support a separate host clock domain, host CPU clock frequency can be at any frequency above or equal to 25Mhz Altera Avalon slave interface Fully embedded in the SOPC Builder environment. Easy SOPC Builder integration, gives rapid and easy integration into Alterabased SoC designs Delivered with device drivers and API for Altera Nios II EDS. Designed for minimum RAM usage and for maximum performance Simple programming due to small number of control registers. CORE Facts Provided with Core Documentation User s Reference Manual Design File Formats VQM netlist; VHDL Source RTL (available at extra cost) Constraints Files.qsf Verification VHDL test bench Instantiation templates VHDL Reference designs & HW/SW Demonstartion application notes application Additional Items None Simulation Tool Used Modelsim v6.5a Support Support provided by [Prevas AB] Applications The Prevas IP core targets 2D applications like: Embedded system/process control GUIs Other control terminal GUIs Security terminals Measurement equipment displays Medical instruments displays Marine navigation systems General Description The is the part of a system that controls the display device, which can for example be a CRT/LCD monitor. It automatically generates the necessary timing signals that are required for the display device. The graphics controller has a separate frame buffer (an external SDRAM Device), in which it stores temporary frames. The controller has a build in SDRAM controller so it automatically handles refresh, reading/writing and initializing the memory device etc. It support linear address mapped direct memory access by the host to/from the frame buffer. It also has a separate instruction based pipeline which uses the HW accelerator implemented in the graphics controller. This HW accelerator is a powerful offload engine that gives embedded systems potent graphics capabilities even if a relatively low performance CPU is employed. The Prevas provides a flexible solution, which may be implemented in Altera Cyclone II/II or Stratix II/III/IV FPGA devices. 1

Fmax (MHz) clk_100mhz/ Total Family Example Device clk_pixel/clk_host LE/ALM memory bits IOB GCLK Design Tools Cyclone II EP2C35F672C6 133/124/420* 2632 (8%) 146304 (30%) 194** 3 Quartus II 8.1 Cyclone III EP3C16F484C8 116/119/250* 2638 (12%) 146304 (28%) 194** 3 Quartus II 8.1 Stratix III EP3SL150F720C2 204/182/400* <1% 146304 (3%) 194** 3 Quartus II 8.1 Table 1: Example implementation statistics * Note clk_100mhz and clk_pixel should have fixed frequencies. The clk_host clock can be any frequency above or equal to 25 MHz. For more information on this please contact Prevas. ** The number of I/Os presented in table above, defines when the controller is not integrated into a system. When integrated the I/O count is max 105, thus all Avalon signals run internally. Functional Description The major blocks that build up the graphics controller are illustrated in the block diagram below. These blocks and there functionality are also described in the upcoming sections. Figure1. Prevas core block diagram Host interface (Avalon slave) This block acts as the interface to the Avalon switch fabric. All internal registers of the core reside in the Host Interface block. The block also provides the rest of the with control signals. The Avalon interface for the controller employs a single slave port using a small set of Avalon signals, to handle simple and fast read/write transfers to the registers in the block or DMA transfers to/from the frame buffer. The host interface also contains synchronization functionalities when the host clock is not synchronous to the s 100Mhz core clock. FIFOs These FIFOS has different purposes. The Instruction and Input FIFO is mainly used to buffer write command and higher level instructions. These are useful while the memory is busy outputting data to the display device etc. and then the host can still write/give commands to the graphics controller. The Burst FIFO is used to temporary buffer and balance the hosts irregularly transfer rate. First the host writes to the Burst FIFO then it gives burst command with start address/coordinate and size. The Burst FIFO fits1024 24bits pixels. The Output FIFO is used as a line buffer and synchronizing stage between clock domains. 2D Accelerator This module basically reads the Instruction FIFO containing higher level instructions, interpret and brake down these instructions into simple write commands, which it then writes to the Input FIFO. Generally an instruction contains x/y-coordinate for start/end/mid-point(s) and/or radius, character code, 2

size, color and instruction type identifier. An instruction can for example be to draw a line with a specific color between two points. Other instructions can be to draw circle, specific character, swap frame buffer (page flip), copy data between buffers, and more. This block also communicates directly with the host controller and bypasses DMA accesses to the memory controller via the graphics core block. Graphics core The graphics core handles the generation of synchronization signals to the display device, depending on the selected resolution mode. This module consists among others of horizontal and vertical counters which form the synchronization signals. It also acts an arbitrator and directly communicates with the memory controller. It provides the Output FIFO with RGB data read from the frame buffer. Other tasks for the graphics core can be to load RGB data from the Input FIFO and save this RGB value at the right addresses, another task is to empty the Burst FIFO by burst writing the data to the frame buffer. Memory controller The Memory controller handles reading/writing to the frame buffer. It automatically handles the required access related SDRAM commands, refresh commands and mode register access at startup or when switching between burst and single accesses etc. The Memory controller converts the linear address seen by other blocks into SDRAM column and row addressing. Initialization is also handled by this block. Initialization is made after an active system reset. When data is written to memory from the burst FIFO the SDRAMs full page burst capability is used. Keeping track of page boundaries and such is automatically handled by the Memory controller without the need of host intervention. Different memory configuration can be used. This is set by generic parameters, see the generic parameters section. For example when the sdram_data_width parameter is set to 32, then ether two 16bits or a single 32bits SDRAM device can be used. The Memory controller is designed and optimized for this graphics controller to give maximum performance. HW cursor/sprite handler The hardware cursor block handles the hardware cursor functionality. It overlay the cursor graphics on the ordinary graphics layer/plane at the coordinate provided by a pointing device etc. The current location/coordinate of the cursor is also reflected in a read register located in the Host interface block which the host can read. The cursor color and shape are stored in an internal table/memory, which can be modified. Three colors on the cursor are supported. This block can be enabled and disabled by the host in runtime. Graphics controller generic parameters As the Prevas is fully integrated in the SOPC builder environment, these generic parameters are usually set via a GUI inside SOPC Builder when the core is added to the Avalon switch fabric and customized. Parameter host_clk_freq_mhz color_depth resolution_sel Description Indicate the host clock frequency in MHz. Minimum value shall be 25. This parameter is used to select proper and optimal syncronization aproach when the host clock is asynchronous to the 100Mhz core clock (clk_100mhz). Selects the color depth in bits that should be implemented. Valid values are : Value 8: result in 8bits RGB output (255 colors) Value 16: result in 16bits RGB output (65k colors) Value 24: result in 24bits RGB output (~17M colors) Selects the display resolution that shall be implemented. Valid values are : Value 1: result in 640x480 pixels per frame (VGA) (also requires that the clk_pixel is set to 25Mhz) Value 2: result in 800x600 pixels per frame (SVGA) (also requires that the clk_pixel is set to 40Mhz) Value 3: result in 1024x768 pixels per frame (XGA) (also requires that the clk_pixel is set to 40Mhz) sdram_data_bits Indicates the SDRAM data width. Valid values are 8, 16 or 32 sdram_addr_bits sdram_row_width sdram_column_width Indicates the SDRAM address width Indicates the row address size in bits Indicates the column address size in bits Table 2: Prevas core generic parameters 3

Graphics controller core I/O signals Signal Dir. Description System signals reset_n Avalon switch fabric slave signals I Asynchronous global active low reset (initiates all register in the design) clk_host I Host clock avs_chipselect_n I Avalon active low chip select avs_write_n I Avalon active low write enable signal avs_read_n I Avalon active low read enable signal avs_waitrequest_n O Avalon active low wait request. Forces wait states avs_writedata[31..0] I Avalon write data signal avs_readdata[31..0] O Avalon read data signal avs_address[20..0] I Avalon address signal core signals clk_100mhz I 100 MHz core clock clk_pixel I Pixel clock (25/40/65Mhz for VGA/SVGA/XGA timing) h_sync O Horizontal synchronization signal to the display device v_sync O Vertical synchronization signal to the display device rgb_out[color depth..0] O RGB output to the display device (Maximum 24bits) cs_n_sdram O SDRAM chip select, active low cke_sdram O SDRAM clock enable address_sdram[sdram_addr_bits..0] O SDRAM address ba_sdram[1..0] O SDRAM bank address ras_n_sdram O SDRAM row address strobe, active low cas_n_sdram O SDRAM column address strobe, active low we_n_sdram O SDRAM write enable signal, active low dqm_sdram[1..0] O SDRAM data byte mask data_sdram[sdram_data_bits..0] I/O SDRAM data input/output x_cord_pointer_in[9..0] I X-coordinate from pointing device y_cord_pointer_in[9..0] I Y-coordinate from pointing device Table 3: Prevas core I/O signals 4

Core Modifications The followings are some of the modifications that Prevas can implement on request. Adaptation to support smaller STN/TFT displays with different timings. DVI or other interface can be added. Other HW acceleration functions/algorithms can be implemented. Number of colors supported by the HW cursor can be extended. The Host interface can be modified to support different CPUs etc. Upon request the graphics controller core can be modified to support FPGA devices from other vendors. Related Information Altera Programmable Logic For information on Altera programmable logic or development system software, contact your local Altera sales office, or visit: www.altera.com Verification Methods The core s functionality has been extensively tested with a VHDL test bench and a large number of test cases. The functionality has also been verified in a Nios II environment through implementation in Altera Cyclone II FPGA devices. A demonstration Nios II based reference design including a PS2 pointing device controller is provided with the core. Design Services Prevas AB also offers core integration, core customisation and other design services. Ordering Information This product is available from Prevas AB. See www.prevas.com for pricing or contact Prevas for additional information about this product. Prevas AB PO Box 4 (Legeringsgatan 18) SE-721 03 Västerås, Sweden Phone: +46 21 360 19 00 Fax: +46 21 360 19 29 Email: johan.ohlsson@prevas.se URL: www.prevas.com Prevas AB cores are purchased under a Licence Agreement, copies of which are available on request. Prevas AB retains the right to make changes to these specifications at any time, without notice. All trademarks, registered trademarks, or service marks are the property of their respective owners. 5