Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/26/15

Similar documents
Xilinx ISE. <Release Version: 10.1i> Tutorial. Department of Electrical and Computer Engineering State University of New York New Paltz

Lab 1: Introduction to Xilinx ISE Tutorial

LAB #3 VHDL RECOGNITION AND GAL IC PROGRAMMING USING ALL-11 UNIVERSAL PROGRAMMER

Quartus II Introduction for VHDL Users

VHDL Test Bench Tutorial

Using Xilinx ISE for VHDL Based Design

Lab 1: Full Adder 0.0

After opening the Programs> Xilinx ISE 8.1i > Project Navigator, you will come to this screen as start-up.

Digital Circuit Design Using Xilinx ISE Tools

ISE In-Depth Tutorial. UG695 (v14.1) April 24, 2012

Printed Circuit Board Design with HDL Designer

ISE In-Depth Tutorial 10.1

PCB Project (*.PrjPcb)

Jianjian Song LogicWorks 4 Tutorials (5/15/03) Page 1 of 14

Mentor Tools tutorial Bold Browser Design Manager Design Architect Library Components Quicksim Creating and Compiling the VHDL Model.

1. Downloading. 2. Installation and License Acquiring. Xilinx ISE Webpack + Project Setup Instructions

Wurth Electronics Midcom Altium Library Training Module Altium Designer layout software and the Wurth Electronics Midcom Altium libraries

Module 1: Getting Started With Altium Designer

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

Quartus II Introduction Using VHDL Design

Design of Remote Laboratory dedicated to E2LP board for e-learning courses.

Installing S500 Power Monitor Software and LabVIEW Run-time Engine

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

RTL Technology and Schematic Viewers

1. Open Thunderbird. If the Import Wizard window opens, select Don t import anything and click Next and go to step 3.

No serious hazards are involved in this laboratory experiment, but be careful to connect the components with the proper polarity to avoid damage.

EXPERIMENT 4. Parallel Adders, Subtractors, and Complementors

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Modeling Latches and Flip-flops

Module 22: Signal Integrity

Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit

Company Setup 401k Tab

How to install and use the File Sharing Outlook Plugin

Lab: Data Backup and Recovery in Windows XP

Lesson 1 - Creating a Project

if-then else : 2-1 mux mux: process (A, B, Select) begin if (select= 1 ) then Z <= A; else Z <= B; end if; end process;

Producing Standards Based Content with ToolBook

TRIAL SOFTWARE GUIDE 1. PURPOSE OF THIS GUIDE 2. DOWNLOAD THE TRIALSOFTWARE 3. START WIDS 4. OPEN A SAMPLE COURSE, PROGRAM

Lab - Data Backup and Recovery in Windows XP

Converting Microsoft Access 2002 to Pipe-Delimited ASCII Text Files

EDK Concepts, Tools, and Techniques

Overview... 2 How to Add New Documents... 3 Adding a Note / SMS or Phone Message... 3 Adding a New Letter How to Create Letter Templates...

Word 2010: Mail Merge to with Attachments

TSM for Windows Installation Instructions: Download the latest TSM Client Using the following link:

Getting Started with Embedded System Development using MicroBlaze processor & Spartan-3A FPGAs. MicroBlaze

How to share media files through Windows Media Player 11

TERMINAL Debug Console Instrument

USB - FPGA MODULE (PRELIMINARY)

Downloading Driver Files

Lattice Diamond User Guide

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

Technical Aspects of Creating and Assessing a Learning Environment in Digital Electronics for High School Students

Virtual Office Remote Installation Guide

PCB Artist Tutorial:

Digital IC Design Flow

Importing and Exporting With SPSS for Windows 17 TUT 117

CLC Bioinformatics Database

Digital Systems Design! Lecture 1 - Introduction!!

atbusiness Deposit Installation Guide Table of Contents

COGNOS REPORTING SYSTEM USER GUIDE

Marketing Checklist

DDS. 16-bit Direct Digital Synthesizer / Periodic waveform generator Rev Key Design Features. Block Diagram. Generic Parameters.

Start Active-HDL by double clicking on the Active-HDL Icon (windows).

Installing a Browser Security Certificate for PowerChute Business Edition Agent

Hardware Implementation of the Stone Metamorphic Cipher

How To Design A Chip Layout

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition

Introduction to the Altera Qsys System Integration Tool. 1 Introduction. For Quartus II 12.0

Sample Table. Columns. Column 1 Column 2 Column 3 Row 1 Cell 1 Cell 2 Cell 3 Row 2 Cell 4 Cell 5 Cell 6 Row 3 Cell 7 Cell 8 Cell 9.

How to create pop-up menus

SonicWALL CDP 5.0 Microsoft Exchange InfoStore Backup and Restore

Microsoft Dynamics NAV Connector. User Guide

Time Clock Import Setup & Use

Windows Live Mail Setup Guide

How to download and install ISE WebPACK

Device Support in PowerLogic ION Enterprise 5.6 Service Pack 2

Configuration Guide. Remote Backups How-To Guide. Overview

Appendix K Introduction to Microsoft Visual C++ 6.0

Monitoring Oracle Enterprise Performance Management System Release Deployments from Oracle Enterprise Manager 12c

EXPERIMENT 8. Flip-Flops and Sequential Circuits

PCIe Core Output Products Generation (Generate Example Design)

MS WORD 2007 (PC) Macros and Track Changes Please note the latest Macintosh version of MS Word does not have Macros.

Rotary Encoder Interface for Spartan-3E Starter Kit

2/7/2006- Teri DeBruhl. Blackboard Help Grant Guest Access to Your Blackboard Course. STEP ONE - Sets overall Guest Access for your course.

KiCad Step by Step Tutorial

How to Mail Merge PDF Documents

PCB Design with Altium: Schematic Entry, Libraries, and Designing Components

KiCad Step by Step Tutorial

Basics. a. Click the arrow to the right of the Options button, and then click Bcc.

Vivado Design Suite Tutorial

Quick Start Using DASYLab with your Measurement Computing USB device

Altera Error Message Register Unloader IP Core User Guide

Outlook . Step 1: Open and Configure Outlook

Microsoft IAS Configuration for RADIUS Authorization

MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC

w w w.mendeley.com Organize. Collaborate. Discover. MIGRATION GUIDE RefWorks, EndNote X7, Zotero, Papers

Eventia Log Parsing Editor 1.0 Administration Guide

Installing and using XAMPP with NetBeans PHP

Finite State Machine Design A Vending Machine

Designing a Schematic and Layout in PCB Artist

Transcription:

1 Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/26/15 The following steps (i.e. design flow) can be used to implement a digital system described with VHDL on a Xilinx FPGA: - Create a directory for your design in which the VHDL and other files for this design will be placed. - Start the Xilinx ISE tool suit and create a project. As detailed below, specify VHDL as the top design level. - Create a VHDL source file in your project s directory. The editor in ISE can be used or any programming type text editor (not a word processor). - Check syntax by compiling the VHDL (building the project) - Synthesize (XST), implement the design, and create the bitmap file using ISE. - Download the bitmap file to the FPGA using Impact. Test your design. These notes assume that the reader has done schematic oriented design using the Xilinx ISE software. VHDL file details The VHDL file (or files) must be in plain text format that conforms to VHDL syntax standards. If your design has multiple VHDL files, one must be the top level module and all external inputs/outputs, i.e. connections to the FPGA, must be made to signals declared in the entity port statement of that top level VHDL file. There are two ways to specify the pin numbers associated with each signal named in the entity port statement. Either they are declared in the VHDL source file using attribute assignments or they are defined in a.ucf constraints file. On the next page is shown an example file that creates an XOR gate with the FPGA pin connections defined using attribute statements (This file can be found at /home/classes/engr433/example_vhdl/myxor_behav_w_pins.vhd). Note that the first attribute statement essentially defines a data type for the others. Also note that the pin numbers shown here may not be the correct pin numbers for the FPGA board you are using, so change them as needed.

2 Library ieee; Use ieee.std_logic_1164.all; Entity myxor is port(x,y : in std_logic; h : out std_logic); attribute LOC : string; attribute LOC of x : signal is "P15"; attribute LOC of y : signal is "P22"; attribute LOC of h : signal is "P32"; End myxor; Architecture myxorbehav Of myxor is Begin h <= x xor y; End myxorbehav; The second way is to put the pin number definitions in a Xilinx user constraints file (.ucf) located in the project directory (i.e. folder). The constraints file is an ASCII text file. It can be created using any text editor or using the Xilinx PACE constraints editor as detailed in section 3a below. Here is a constraint file for the myxor example above created by PACE. Lines starting with the # symbol are comments and are not required. Only the three lines starting with NET are required: #PACE: Start of Constraints generated by PACE #PACE: Start of PACE I/O Pin Assignments NET "x" LOC = "P15" ; NET "y" LOC = "P22" ; NET "h" LOC = "P32" ; #PACE: Start of PACE Area Constraints #PACE: Start of PACE Prohibit Constraints #PACE: End of Constraints generated by PACE A constraint file for the WWU FPGA1 board mounted on a SWLED11 interface board can be found on the class web page. Synthesis using the Xilinx software; Creating a new project 0) From a terminal window, make the current directory (i.e. folder) the directory created for this design. 1) Start the Xilinx ISE version 14.7 software by entering xilinx (lower case) ISE may start up with a prior design loaded. If so, click File on the Xilinx tool bar and select close.

2) Create a new project by clicking on File and selecting New Project. a) To set the Project Location, use the button with three dots to open the Find Directory popup window and navigate to the directory you created for the project. b) Also, enter a project name c) Select HDL as the type of top-level source for the project. d) Click Next e) The Project Settings screen should appear. Set values as follows: Development Board None Specified Product Category General Purpose Family Spartan3E Device XC3S250E Package VQ100 Speed -5 3 Top-level Source Type Synthesis Tool Simulator Preferred Language VHDL Standard HDL (this field may be grayed out) XST (VHDL/Verilog) Isim (VHDL/Verilog) VHDL VHDL-93 f) Click Next g) The project summary screen will be displayed. Review the info and if there is a mistake you can back up to a prior screen and make corrections. Click Finish when ok. h) At this point there are no design files for the project. In the left window Empty View will be displayed.

i) On the left tool bar at the top is a New Source button. Click on it. The New Source Wizard will open. Click VHDL Module (it should become highlighted) and enter a file name that describes your design. Click Next. The Define Module window will open and allow you to specify the signals that will connect to physical pins of the FPGA, both input and output. These become the signals named in the port statement in the entity. After listing your signals click Next. The Summary window will open showing the definition of the module and the port definitions. If it isn t ok click back to a prior window. When all is ok click Finish. Your newly created VHDL source file should open in the editor window. Note: If you created your VHDL source file with another editor you could use the Add Source button on the left tool bar rather than New Source. j) The Entity of your VHDL description has been created and the start of the Architecture. Two things need to be done before you build the project. 1) Add VHDL statements to the architecture to describe the desired circuit 2) Add attribute statements to the entity to map I/O signals to physical FPGA pins The example circuit below has two input signals that are ANDed together with the result displayed on Led0. Note the attribute statements that define connections to the FPGA 3) The content of the left subwindow(s) changes depending on the tab selected at the bottom. The default tab is Design which causes a hierarchy display with the name of your project, the FPGA type, and under the FPGA the name of the top level VHDL file. From this point on building the project and downloading it to an FPGA follows the procedure used for schematic driven design. 4 Notes: A) The ibuf and obuf components that are manually placed in a schematic based design are automatically inserted by the synthesizer in a VHDL design based on the signal type declared in the entity port statement. B) Global clock buffers will automatically be placed on the inputs that are used for global clock inputs. If an internally derived clock needs to be connected to a global clock buffer that will need to be done manually in the VHDL source file.

Initial VHDL file contents: 5

Main part of the VHDL file with a circuit installed and I/O connections made: 6