Spartan-II Development System

Similar documents
Spartan-II Development System

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)

COMPUTER ENGINEERING PROGRAM

Lab 3: VGA Bouncing Ball I

COE758 Xilinx ISE 9.2 Tutorial 2. Integrating ChipScope Pro into a project

EEM Digital Systems II

Using the XSV Board Xchecker Interface

FPGA-BASED EDUCATIONAL LAB PLATFORM

Figure 1 Block diagram of a 4-bit binary counter

1. Synopsis: 2. Description of the Circuit:

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

Lab 4: Hex Calculator

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

Programmable Logic Design I

Memec Spartan-II LC User s Guide

Testing Results for a Video Poker System on a Chip

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

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

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

Level and edge-sensitive behaviour

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

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

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 2200

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

Programmable Logic Design Techniques II

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

Design Problem 4 Solutions

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

VHDL Upgrading of a TNT2 card

4:1 Mux Symbol 4:1 Mux Circuit

Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems

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

Laboratory Exercise 7

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

Lab 6: Video Game PONG

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

PicoBlaze. for Spartan-3, Virtex-II, Virtex-IIPRO and Virtex-4 devices. JTAG Loader. Quick User Guide. Kris Chaplin and Ken Chapman

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)

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

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

Design of VGA Controller using VHDL for LCD Display using FPGA

California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7

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

Polar Decoder PD-MS 1.1

EDA385 Bomberman. Fredrik Ahlberg Adam Johansson Magnus Hultin

Laboratory Exercise 7

AC : DIGITAL DESIGN MEETS DSP

Microprocessor Design

Lab Assignment 2 Simulation and Image Processing

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

ECE 263 Digital Systems, Fall 2015

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

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

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

Ryerson University Department of Electrical and Computer Engineering COE/BME 328 Digital Systems

Serial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY.

Lecture 6: Simple and Complex Programmable Logic Devices. EE 3610 Digital Systems

Lab # 9 VGA Controller

Lab 13: FPGA Circuit Realization Ian Callahan

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

Modeling Latches and Flip-flops

Digital Systems Design

DIGITAL SYSTEM DESIGN VHDL Coding for FPGAs Unit 7

FPGA Design. Part I - Hardware Components. Thomas Lenzi

ACS College of Engineering. Department of Biomedical Engineering. HDL pre lab questions ( ) Cycle-1

IE1204 Digital Design F11: Programmable Logic, VHDL for Sequential Circuits

General: Catalog Description: Grading Policy: Course Code: COE 203 Title: Digital Logic Laboratory Co-requisite(s): COE 202 (Digital Logic Design)

library IEEE; use IEEE.STD_LOGIC_1164.ALL;

CPE 329: Programmable Logic and Microprocessor-Based System Design

Laboratory 4 Check Off Sheet. Student Name: Staff Member Signature/Date: Part A: VGA Interface You must show a TA the following for check off:

IE1204 Digital Design. F11: Programmable Logic, VHDL for Sequential Circuits. Masoumeh (Azin) Ebrahimi

Task 4_B. Decoder for DCF-77 Radio Clock Receiver

Using HERON modules with FPGAs to connect to FPDP

Lecture #4: Clocking in Synchronous Circuits

Xilinx Spartan2 XC2S50-PQ208

Laboratory 4 Check Off Sheet. Student Name: Staff Member Signature/Date: Part A: VGA Interface You must show a TA the following for check off:

Inside Digital Design Accompany Lab Manual

Vending Machine. Keywords FSM, Vending Machine, FPGA, VHDL

ECE337 Lab 4 Introduction to State Machines in VHDL

LAB 3 Verilog for Combinational Circuits

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique

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

ET398 LAB 4. Concurrent Statements, Selection and Process

Design of VGA and Implementing On FPGA

LAB #6 State Machine, Decoder, Buffer/Driver and Seven Segment Display

EXOSTIV TM. Frédéric Leens, CEO

STATIC RANDOM-ACCESS MEMORY

CAD for VLSI Design - I Lecture 38. V. Kamakoti and Shankar Balachandran

Device 1 Device 2 Device 3 Device 4

L11/12: Reconfigurable Logic Architectures

Digital Electronics II 2016 Imperial College London Page 1 of 8

L12: Reconfigurable Logic Architectures

ELEC 204 Digital System Design LABORATORY MANUAL

Lab 5 FPGA Design Flow Based on Aldec Active-HDL. Fast Reflex Game.

Image generator. Hardware Specification

An FPGA Based Solution for Testing Legacy Video Displays

VGA 8-bit VGA Controller

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

V6118 EM MICROELECTRONIC - MARIN SA. 2, 4 and 8 Mutiplex LCD Driver

FPGA Implementation of Convolutional Encoder And Hard Decision Viterbi Decoder

Transcription:

2002-May-4 Introduction Dünner Kirchweg 77 32257 Bünde Germany www.trenz-electronic.de The Spartan-II Development System is designed to provide a simple yet powerful platform for FPGA development, which can be easily expanded to reflect your application s requirements. The following application note was developed to give the engineer a quick hands-on experience, and to demonstrate the board s features and their application. General Overview The TE-BL Expansion Board provides a set of standard functionality which is commonly used by most applications: 7-segment displays LEDs Push s VGA output USB type B receptacle 48MHz oscillator Spartan-II Development System To speed-up application development, a standard VHDL module (entity tebl) was created, encapsulating the following functions: encoding of 7-segment displays multiplexing of LEDs debouncing of push s. emulation of switches generation of VGA timing encoding of USB signals Based on the above mentioned VHDL module, this application note describes a simple design, demonstrating the following tasks: using the 7-segment displays using the LEDs using the push s emulating switches using the VGA output Furthermore, the underlying principles are briefly explained, for reference purposes. Figure 1: TE-XC2S Base Board with TE-BL Expansion. 1

Architectural Description As most of the functionality is contained in the readily provided module tebl, only very few additional files are required to implement this application note. Figure 2 visualizes the design hierarchy. be used to control further logic directly. Figure 4 details this functionality. pressed released fpga core pb[7:0] Figure 2: Design hierarchy Entity core tebl buf8 The entity core implements the application note s specific functionality: display push signals on 7-segment displays display switch signals on 7-segment displays and LEDs create test pattern on VGA output To implement this functionality, less than 10 lines of VHDL code are required. To make things even easier to understand, we used the schematic shown in Figure 3. Figure 4: Debouncing push s Furthermore, the entity tebl performs the 7-segment decoding and display multiplexing, so that the value assigned to disp[] is displayed in hexadecimal. See Table 1 for further details. disp[3:0] disp[7:4] disp[11:8] disp[15:12] bounces for about 1 ms U5 U6 U7 U8 0000 1000 0001 1001 disp[3:0] disp[7:4] disp[11:8] disp[15:12] debounced signal U5 U6 U7 U8 0010 1010 0011 1011 0100 1100 0101 1101 0110 1110 0111 1111 Figure 3: Entity core push s To display the state of the push s on the 7-segment displays, only a single line of VHDL code is required: disp(7 downto 0)<= pb; The entity tebl takes care of de-multiplexing and de-bouncing, so that the signal pb may Table 1: 7-segment decoding switches To emulate switches using the push s and display the status of the switches on the 7-segment displays and LEDs, only two lines of VHDL code are required: disp(15 downto 8)<= sw; led<= sw; 2 2002-May-4

The entity tebl performs the emulation of the switching functionality, see Figure 5 for further details. pressed once pressed again Figure 7: VGA test pattern Again, with schematics things look slightly different. Here we used the predefined buf symbol to be able to rename the signals as required. See Figure 8 for further details. sw[7:0] switch is activated switch is released Figure 5: Emulating switches Using schematics, things look slightly different. The pb[] and sw[] busses need to be renamed, so that they may be combined to form the led[] bus. To rename the signals, a symbol buf8 was created, which is just copying its input to its output. The synthesizer will not create any logic from this symbol. See Figure 6 for further details. Figure 8: VGA schematic Creating VGA images is a complex task. Therefore we created a dedicated application note for in depth coverage of this topic: The Game of Life. To make sure, the schematic is properly compiled according to the design-rule-check, unused signals need to be assigned. We used some buf and gnd symbols to do so, as Figure 9 details. Figure 6: s & switches schematic VGA test pattern Displaying a simple test pattern on a VGA monitor requires another four lines of VHDL code: vr<= vcol(8); vg<= vcol(7); vb<= vcol(6); vi<= vrow(8); The entity tebl performs the generation of the VGA timing, takes care of the blanking and provides row and column info to the application. The application in turn provides the RGB tuple plus an additional intensity signal to tebl. With a video resolution of 640x480 pixels, the lines above create the pattern illustrated by Figure 7. Figure 9: unused signals 3 2002-May-4

Entity fpga The entity fpga is the top level of the design. It performs the following functions: create a reset signal lock all I/Os to their pad locations specify timing constraints While Xilinx recommends to assign design constraints using the Constraints Editor, this application note uses VHDL attributes to pass the constraints to the implementation tools. This is especially useful for the novice user, as the design contains less files and is more consistent. The mechanism used here was proven with Xilinx WebPACK ISE 4.1WP3.x. In case your tool chain does not support this mechanism, the constraints me be additionally entered into a.ucf file. Reset-on-Configuration The following code excerpt demonstrates creation of a reset signal, which is automatically generated on FPGA configuration. It utilizes the Xilinx standard library UNISIM and the ROC component contained herein. library UNISIM; use UNISIM.VCOMPONENTS.all; entity FPGA is end FPGA; architecture XILINX of FPGA is signal RST : STD_LOGIC; begin U2 : ROC port map(o=> rst); end XILINX; attribute LOC of iop_a1: signal is "P191"; end FPGA; Notice, that the attribute is assigned within the entity declaration, not within the architecture body. Timing constraints Timing constraints are required to notify the implementation tools about the speed of the implemented circuits. This is important to ensure, that the design works at the desired clock speed. The following code snippet demonstrates the specification of timing constraints within a VHDL file: architecture XILINX of FPGA is signal clk25 : STD_LOGIC; attribute PERIOD: string; attribute PERIOD of clk25: signal is "24MHz"; begin end XILINX; In addition to specifying the constraints in the VHDL code, you need to enable timing constraints in the synthesis properties. See Figure 10 for a screenshot. Pin locking The following code excerpt demonstrates the specification of pad locations in a VHDL file: entity FPGA is port( clk_a1 : in STD_LOGIC; iop_a1 : out STD_LOGIC; ); attribute LOC: string; attribute LOC of clk_a1: signal is "P185"; Figure 10: synthesis properties The mechanism described here was tested with the Xilinx XST synthesizer. Other tools may use different mechanism to pass attributes from VHDL to the backend tools. You should check your place&route report, and verify that the constraints have been passed through the tool chain. 4 2002-May-4

Entity tebl The entity tebl is provided as VHDL source code and extensively commented. It is left up to the interested engineer, to review this source. Project files The project files for this application note are provided in WebPACK ISE format with all synthesis options set up to achieve a push flow. Furthermore, the resulting.mcs file to program the Flash PROM and a.bit file to program the FPGA via JTAG are provided. To answer questions regarding synthesis, implementation and download of projects, our Tutorial on WebPACK ISE is highly recommended. References Product Specification September 12, 2001 Tutorial on WebPACK ISE September 2001 Application Note: Game of Life September 20, 2001 Revisions History Version Date Who Description 1.0 2001sep15 FB Created 1.1 2002may04 FB ISE 4.2 Table 2: Revisions History 5 2002-May-4