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)

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

Spartan-II Development System

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

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Spartan-II Development System

LAB 3 Verilog for Combinatorial Circuits

Lab Assignment 2 Simulation and Image Processing

LAB 3 Verilog for Combinational Circuits

Lecture 14: Computer Peripherals

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

Design and Implementation of an AHB VGA Peripheral

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

Smart Night Light. Figure 1: The state diagram for the FSM of the ALS.

RF4432 wireless transceiver module

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

Modeling Latches and Flip-flops

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

Experiment # 4 Counters and Logic Analyzer

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift Register. Fall 2017

Design of VGA Controller using VHDL for LCD Display using FPGA

Experiment 7 Fall 2012

Professor Henry Selvaraj, PhD. November 30, CPE 302 Digital System Design. Super Project

You will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation

CPE 200L LABORATORY 3: SEQUENTIAL LOGIC CIRCUITS UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: SR FLIP-FLOP/LATCH

Lab 6: Video Game PONG

FPGA-BASED EDUCATIONAL LAB PLATFORM

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:

EEM Digital Systems II

Table of Contents Introduction

Figure 1 Block diagram of a 4-bit binary counter

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

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

Experiment # 12. Traffic Light Controller

Lab 3: VGA Bouncing Ball I

SPI Serial Communication and Nokia 5110 LCD Screen

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

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)

Inside Digital Design Accompany Lab Manual

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

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

Modeling Latches and Flip-flops

Final Project [Tic-Tac-Toe]

ENGG2410: Digital Design Lab 5: Modular Designs and Hierarchy Using VHDL

Main Design Project. The Counter. Introduction. Macros. Procedure

EDA385 Bomberman. Fredrik Ahlberg Adam Johansson Magnus Hultin

1. Synopsis: 2. Description of the Circuit:

DEDICATED TO EMBEDDED SOLUTIONS

Laboratory 9 Digital Circuits: Flip Flops, One-Shot, Shift Register, Ripple Counter

University of Pennsylvania Department of Electrical and Systems Engineering. Digital Design Laboratory. Lab8 Calculator

Lab 17: Building a 4-Digit 7-Segment LED Decoder

Laboratory 11. Required Components: Objectives. Introduction. Digital Displays and Logic (modified from lab text by Alciatore)

RF4432F27 wireless transceiver module

Main Design Project. The Counter. Introduction. Macros. Procedure

Traffic Light Controller

DE2-115/FGPA README. 1. Running the DE2-115 for basic operation. 2. The code/project files. Project Files

EE 367 Lab Part 1: Sequential Logic

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

Experiment 8 Fall 2012

Design and analysis of microcontroller system using AMBA- Lite bus

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

COMPUTER ENGINEERING PROGRAM

1 Terasic Inc. D8M-GPIO User Manual

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 220. Experiment 4 - Latches and Flip-Flops

LogiCORE IP Video Timing Controller v3.0

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8

Sequential Circuit Design: Principle

Rensselaer Polytechnic Institute Computer Hardware Design ECSE Report. Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory

Digital Electronics II 2016 Imperial College London Page 1 of 8

Fingerprint Verification System

Review : 2 Release Date : 2019 Last Amendment : 2013 Course Code : SKEE 2742 Procedure Number : PK-UTM-FKE-(0)-10

EE 210. LOGIC DESIGN LAB.

Laboratory 4. Figure 1: Serdes Transceiver

Laboratory Exercise 7

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

ECE 372 Microcontroller Design

Programmable Logic Design I

CPE 329: Programmable Logic and Microprocessor-Based System Design

Electrical and Telecommunications Engineering Technology_TCET3122/TC520. NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York

Video Painting Group Report

IMPLEMENTATION OF A BINARY SELECTION SYSTEM CREATED IN XILINX USING FPGA

Block Diagram. 16/24/32 etc. pixin pixin_sof pixin_val. Supports 300 MHz+ operation on basic FPGA devices 2 Memory Read/Write Arbiter SYSTEM SIGNALS

GENERAL RULES FOR EE314 PROJECTS

Debugging Digital Cameras: Detecting Redundant Pixels

Laboratory 8. Digital Circuits - Counter and LED Display

Report. Digital Systems Project. Final Project - Synthesizer

SignalTap: An In-System Logic Analyzer

ECE 263 Digital Systems, Fall 2015

Design of VGA and Implementing On FPGA

Lab 4: Hex Calculator

UltraScale FPGA BPI Configuration and Flash Programming

Logic Analysis Basics

LMH0340/LMH0341 SerDes EVK User Guide

Logic Analysis Basics

University of Victoria. Department of Electrical and Computer Engineering. CENG 290 Digital Design I Lab Manual

ECT 224: Digital Computer Fundamentals Digital Circuit Simulation & Timing Analysis

EE 101 Lab 7 Crosswalk

NORTHWESTERN UNIVERSITY TECHNOLOGICAL INSTITUTE

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

Transcription:

ECE 574: Modeling and synthesis of digital systems using Verilog and VHDL Fall Semester 2017 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) This project involves the design of a number of interfaces to peripheral devices. It includes reading a light sensor ADC using an SPI, and also driving a VGA display monitor. The project also uses the Xilinx Core Generator (for the MMCM) and use of existing IP (Digilent VGA Controller). There are multiple parts to this project. To be successful will require a good design and debugging approach. Make multiple simpler projects that you can test and debug separately and then combine them together. Preliminary: Modify the simple seven segment display from the tutorial to create a seven_seg module that can display from "0000" to "FFFF" on four of the seven segment displays. The input to the module should be a 16-bit wide bus, with four bits used to indicate the value to be displayed on each of the seven segments. Make this a separate module you will use this module in this and later projects. Test this out by using the slide-switches to enter various numbers. Part 1: VGA display Use a MMCM to create a 25MHz clock required for the VGA pixel clock. o (see the MMCM tutorial for how to add this IP to your design). o Note: only connect the 100MHz FPGA clock to the MMCM (nothing else) o Add a period constraint to your XDC to match the Basys3 board 100MHz clock frequency. o Use this 25MHz clock signal for all the sequential logic in this lab Create a VGA display using the VGA controller provided by Digilent (just the 640 by 480 version) see information at end of this doc. Use the slider-switches to select and display the following patterns o Complete yellow display o Horizontal bars of alternating green and red colors with each horizontal bar 16 pixels high (These should be relatively easy once you start working with the VGA controller provided by Digilent) Assume the VGA screen is divided into blocks, with each block 24 pixels high by 32 pixels wide, and the top left corner block is at block x,y position (0,0) and the bottom right block is at x,y position (19, 19) o Using the slider switches display the following: A white colored block and place it at a starting position of (0,0) A blue colored block and place it at a starting position of (10,10) A yellow colored block and place it at a starting position of (19,19) 1

o Use two of the seven-segment displays and display the current x position of the block in decimal (00 to 19) Part 2: Light Sensor Interface Create an SPI interface to be able to read the 8-bits of light sensor information from the PmodALS module provided. Use the 25MHz clock with a counter and clock enable signal to generate the ADC SCLK at 1MHz Use a counter or shift register to create the ADC CS signal. o Verify the SCLK and CS signals are correct with an oscilloscope. Capture a new light sensor value every 100ms (10Hz) o Use a shift register to read in the 8-bits of ADC data Display the light sensor value in hexadecimal on two of the seven-segment displays (00 to approx. FF). Capture an SPI ADC 16-bit transfer using an oscilloscope (show the CS, SCLK, and SDO signals on the scope capture) and include this in your report along with a description o Note: For all scope pictures, preferably take a screen capture with a USB flash drive rather than a camera picture. You should be able to clearly see all the signals and the timebase. Combine all the parts into one project that you can demo to the TA. As usual, this is not a complete description make whatever additions or changes you think are necessary. Prepare a sign-off sheet and demo your system and write your report before the deadline. Reference Material Note: To stop two warnings from being generated when you create a bit stream add the following two statements to the XDC constraints file: # Configuration bank voltage select (CFGBVS) must be set to VCCO or GND, and CONFIG_VOLTAGE must be set to the correct configuration voltage, # in order to determine the I/O voltage support for the pins in bank 0. set_property CFGBVS VCCO [current_design] #where value1 is either VCCO or GND set_property CONFIG_VOLTAGE 3.3 [current_design] #where value2 is the voltage provided to configuration bank 0 Read the Seven Segment and VGA Port section in the Nexys4DDR Reference Manual. Read the Digilent PmodALS Reference Manual and the Texas Instruments ADC081S021 ADC data sheet. 2

PmodALS schematic and module from Digilent CS, SDO, SCK example SPI transfer (with CSK at 1MHz) - bright sensor value (0xFB) Download the VGA Component Reference Design from Digilent from my website. This design is in VHDL. Do NOT modify this code, just instantiate it in your top-level. 3

-- vga_controller_640_60.vhd -- Author : Ulrich Zoltán -- Copyright 2006 Digilent, Inc. -- Software version : Xilinx ISE 7.1.04i -- WebPack -- Device : 3s200ft256-4 -- This file contains the logic to generate the synchronization signals, -- horizontal and vertical pixel counter and video disable signal -- for the 640x480@60Hz resolution. -- Behavioral description -- Please read the following article on the web regarding the -- vga video timings: -- http://www.epanorama.net/documents/pc/vga_timing.html -- This module generates the video synch pulses for the monitor to -- enter 640x480@60Hz resolution state. It also provides horizontal -- and vertical counters for the currently displayed pixel and a blank -- signal that is active when the pixel is not inside the visible screen -- and the color outputs should be reset to 0. 4

Grading Guidelines [50 pts] Implementation o [50 pts] Design works on board and meets requirements [20 pts] Source Code VHDL in Appendix o Code style and comments (well-commented and tab-indented code!) o Use of case vs. if, spaghetti code vs. structured, etc. o Recognizable implementation of "standard" elements (for example: state machines, counters, shift registers, decoders) o Use of packages and other VHDL code structuring elements (sensible use of modularity) o No latches or other synthesis problems [30 pts] Lab Report o [5 pts] Brief Introduction / Problem Statement o [15 pts] General Overview of approach to solution and description and oscilloscope pictures (also include good Block and State Diagrams with descriptions) o [5 pts] FPGA Resource usage (# flip-flops with explanation) and listing and explanation of warning messages (don t copy all the Xilinx reports just the relevant sections) o [5 pts] Conclusions Problems faced in implementation Solutions used to solve problems Lessons learned from the project Suggestions for further improvements and extensions [10 pts] Extra points o Possible extra points for good additional features or capabilities (need to demo on board and include description in report) 5