NIOS II Pixel Display

Similar documents
NIOS Character. Last updated 7/16/18

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

DE2 Board & Quartus II Software

NIOS CPU Based Embedded Computer System on Programmable Chip

Design of Embedded Hardware and Firmware

NIOS CPU Based Embedded Computer System on Programmable Chip

Digital Systems Design. System on a Programmable Chip

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

ECE-6170 Embedded Systems Laboratory Exercise 3

Objective: Create an interface to the LCD display, internal timer functions, and interface with the SDRAM memory as well as on chip memory.

NIOS CPU Based Embedded Computer System on Programmable Chip

9. Building Memory Subsystems Using SOPC Builder

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

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

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

Creating projects with Nios II for Altera De2i-150. By Trace Stewart CPE 409

EECS150 - Digital Design Lecture 17 Memory 2

Graphics Controller Core

DDR and DDR2 SDRAM Controller Compiler User Guide

2. SDRAM Controller Core

Introduction to the Altera Qsys System Integration Tool. 1 Introduction. For Quartus Prime 15.1

Section II. Peripheral Support

HyperBus Memory Controller (HBMC) Tutorial

HyperBus Memory Controller (HBMC) Tutorial

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

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

4. SOPC Builder Components

Generic Serial Flash Interface Intel FPGA IP Core User Guide

A. FPGA Basics Manuals

HyperBus Memory Controller (HBMC) Tutorial

CSCE 313: Embedded System Design. Introduction. Instructor: Jason D. Bakos

Designing with ALTERA SoC Hardware

AN 812: Qsys Pro System Design Tutorial

1. SDRAM Controller Core

Building A Custom System-On-A-Chip

HyperBus Memory Controller (HBMC) Tutorial

CSCE 313: Embedded Systems. Video Out and Image Transformation. Instructor: Jason D. Bakos

EEC180B DIGITAL SYSTEMS Spring University of California, Davis. Department of Electrical and Computer Engineering

System Cache (CMS-T002/CMS-T003) Tutorial

NIOS II Instantiating the Off-chip Trace Logic

Tutorial of Interfacing with RS232 UART

Product Technical Brief S3C2416 May 2008

Designing with Nios II Processor for Hardware Engineers

Digital Systems Design

Introduction to VHDL Design on Quartus II and DE2 Board

Audio core for Intel DE-Series Boards. 1 Core Overview. 2 Functional Description. For Quartus Prime 16.1

Laboratory Exercise 8

Introduction to the Qsys System Integration Tool

3-D Accelerator on Chip

CSEE W4840 Embedded System Design Lab 1

Making Qsys Components. 1 Introduction. For Quartus II 13.0

Synaptic Labs (S/Labs) HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices

Computer Systems Laboratory Sungkyunkwan University

Sega Genesis Controller Interfacing

Arria 10 JESD204B IP Core Design Example User Guide

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

Microtronix Firefly II Module

Introduction to the Altera SOPC Builder Using Verilog Design

Creating PCI Express Links in Intel FPGAs

Designing a High Performance SDRAM Controller Using ispmach Devices

Tutorial for Altera DE1 and Quartus II

Mudd Adventure. A 3D Raycasting Game. CSEE 4840 Embedded Systems. Project Design 3/27/2014

Microtronix Avalon I 2 C

SISTEMI EMBEDDED. Building a Nios II Computer from scratch. Federico Baronti Last version:

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

PXA270 EPIC Computer with Power Over Ethernet & Six Serial Protocols SBC4670

Intel Stratix 10 Low Latency 40G Ethernet Design Example User Guide

Introduction to Zynq

MAX 10 - ADC. Last updated 8/12/18

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

HyperBus Memory Controller (HBMC) Tutorial

Excellent for XIP applications"

Synaptic Labs' Hyperbus Controller Design Guidelines

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

Stratix FPGA Family. Table 1 shows these issues and which Stratix devices each issue affects. Table 1. Stratix Family Issues (Part 1 of 2)

COMPUTER ARCHITECTURES

386EX PC/104 Computer with CompactFlash and PCMCIA SBC1390

MICROTRONIX AVALON MOBILE DDR MEMORY CONTROLLER IP CORE

ALTERA FPGAs Architecture & Design

Using the SDRAM on Altera s DE1 Board with Verilog Designs. 1 Introduction. For Quartus II 13.0

Low Latency 100G Ethernet Intel Stratix 10 FPGA IP Design Example User Guide

Universal Serial Bus Host Interface on an FPGA

«Real Time Embedded systems» Cyclone V SOC - FPGA

Simulating Nios II Embedded Processor Designs

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT

CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND:

Problem Set 10 Solutions

AN 839: Design Block Reuse Tutorial

Stratix II FPGA Family

ELE 758 * DIGITAL SYSTEMS ENGINEERING * MIDTERM TEST * Circle the memory type based on electrically re-chargeable elements

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

Xilinx Vivado/SDK Tutorial

HyperBus Memory Controller (HBMC) Tutorial

TKT-2431 SoC design. Introduction to exercises. SoC design / September 10

Figure 6 1 shows a block diagram of the UART core. shift register. shift register

XSB Board SDRAM Controller

Laboratory Exercise 5

Nios Embedded Processor Development Board

Tutorial on Quartus II Introduction Using Verilog Code

SOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003

Transcription:

NIOS Pixel Display

SDRAM 512Mb Clock Reset_bar CPU Onchip Memory External Memory Controller JTAG UART Pixel DMA Resampler Scaler Dual Port FIFO VGA Controller Timer System ID VGA Connector PLL 2 tj

SDRAM Controller Creates the signals required to r/w the SDRAM (does not provide the DRAM clk) 3 tj

Pixel Buffer DMA Controller Reads frames from external memory and passes them into the video processing chain 4 tj

RGB Resampler Converts from 16bit RGB to 10bit RGB 5 tj

Scaler Scales the video by replicating pixels or removing pixels 6 tj

Dual Clock FIFO Allows different incoming and outgoing data rates 7 tj

VGA Controller Block Creates and drives the required VGA signals 8 tj

Create NIOS System On-chip Memory Size = 100,000 bytes 9 tj

Create NIOS System PLL Basic Functions Clocks and PLLs PLL Avalon ALTPLL 50MHz in no areset or locked c0 100MHz c1 100MHz -3ns phase shift c2 25MHz 10 tj

Create NIOS System Pixel Buffer DMA Controller IP Catalog Library University Program Audio and Video Video Pixel Buffer DMA Controller x-y mode Width 320 Height 240 Color space 16bit RGB 11 tj

Create NIOS System RGB Resampler IP Catalog Library University Program Audio and Video Video RGB Resampler 16 bit RGB incoming 30 bit RGB outgoing 12 tj

Create NIOS System RGB Scaler IP Catalog Library University Program Audio and Video Video Scaler Width Scaling 2 Height Scaling 2 Width 320 Height 240 10 bits 3 planes 13 tj

Create NIOS System Dual Clock FIFO IP Catalog Library University Program Audio and Video Video Dual Clock FIFO Color Bits 10 Color Planes - 3 14 tj

Create NIOS System VGA Controller IP Catalog Library University Program Audio and Video Video VGA Controller DE1-SOC VGA Connector VGA 640x480 15 tj

Create NIOS System SDRAM Controller IP Catalog Library Memory Interfaces and Controllers SDRAM SDRAM Controller Memory Profile 16 bits 1 chip select 4 banks 13 rows 10 columns Timing CAS = 3 2 initialization refresh cycles 7.8125 us refresh command 100us delay after pu 70ns refresh duration 20ns precharge duration 5.5ns access time 14ns write recovery time 16 tj

Create NIOS System Connections 17 tj

Create NIOS System Connections 18 tj

Create NIOS System Connections goes to resampler 19 tj

Create NIOS System Connections goes to vga controller 20 tj

Create NIOS System Connections 21 tj

Create NIOS System Generate the HDL When complete File Exit to exit Qsys 22 tj

Create Quartus System VGA Pixel Driver Create a top level schematic or instantiate into a VHDL file File New Block Diagram / Schematic Entry File Save As nios_pixel_top Project Add Files navigate to the project synthesis select the nios_pixel.qip file 23 tj

Create Quartus System VGA Pixel Driver Create a top level schematic or instantiate into a VHDL file 24 tj

Create Quartus System VGA Pixel Driver Prepare to synthesize assignments device device and Pin options Single Uncompressed with memory initialization Import the pins (qsf file) Be sure to set your top level entity Start Compilation 25 tj

Create Quartus System VGA Pixel Driver Complete the HW setup Download the HW project onto the board DO NOT CLOSE either of these windows 26 tj

Create Eclipse System Create the BSP Remember to change the properties for small systems Create an empty project 27 tj

Create Eclipse System Open system.h in the bsp scroll down to the Pixel Buffer These define parameters for the Pixel Buffer 28 tj

Create Eclipse System Expand drivers inc in the bsp Open altera_up_avalon_pixel_buffer_with_dma.h 29 tj

Create Eclipse System Expand drivers inc in the bsp Open altera_up_avalon_pixel_buffer_with_dma.h 30 tj

Create Eclipse System Expand drivers inc in the bsp Open altera_up_avalon_pixel_buffer_with_dma.h 31 tj

Create Eclipse System Expand drivers inc in the bsp Open altera_up_avalon_pixel_buffer_with_dma.h 32 tj

Create Eclipse System Write a program to print some Pixels to the screen ///////////////// // Includes ///////////////// #include "altera_up_avalon_video_pixel_buffer_dma.h" #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <stdint.h> int main(void){ // define a pointer of type pixel_buffer... // to use as a reference in the dma functions // alt_up_pixel_buffer_dma_dev * pixel_buf_dma_dev; // open the Pixel Buffer port // - command is in drivers/inc/alter...video_pixel_buffer_dma.h // name reference is in system.h // - "/dev/video_pixel_buffer_dma_0" // pixel_buf_dma_dev = alt_up_pixel_buffer_dma_open_dev ("/dev/video_pixel_buffer_dma_0"); // Check for error and output to the console // if ( pixel_buf_dma_dev == NULL) printf ("Error: could not open pixel buffer device \n"); else printf ("Opened pixel buffer device \n"); 33 tj

Create Eclipse System Write a program to print some Pixels to the screen // Clear the screen // - command is in drivers/inc/alter...video_pixel_buffer_dma.h // - wait until done before continuing // alt_up_pixel_buffer_dma_clear_screen (pixel_buf_dma_dev, 0); usleep(1000000);// 1sec // Draw a box // - command is in drivers/inc/alter...video_pixel_buffer_dma.h // alt_up_pixel_buffer_dma_draw_box (pixel_buf_dma_dev, 150, 100, 200, 150, 0xFA72, 0); 34 tj

Create Eclipse System Write a program to print some Pixels to the screen // // Party Time // while(1){ uint16_t X0 = rand() % 320; uint16_t Y0 = rand() % 240; uint16_t XX = X0 + rand() % 100; uint16_t YY = Y0 + rand() % 100; uint16_t color = rand() % 0xFFFF; alt_up_pixel_buffer_dma_draw_box (pixel_buf_dma_dev, X0, Y0, XX, YY, color, 0); usleep(250000); X0 = rand() % 320; Y0 = rand() % 240; XX = X0 + rand() % 100; YY = Y0 + rand() % 100; color = rand() % 0xFFFF; alt_up_pixel_buffer_dma_draw_rectangle (pixel_buf_dma_dev, X0, Y0, XX, YY, color, 0); usleep(250000); } 35 tj

Create Eclipse System Compile the software Select the code file (pixel.c) Project Build Project Right Click on the project run as Nios II Hardware 36 tj