475 Electronics for physicists Introduction to FPGA programming
|
|
- Clarissa Townsend
- 5 years ago
- Views:
Transcription
1 475 Electronics for physicists Introduction to FPGA programming Andrej Seljak, Gary Varner Department of Physics University of Hawaii at Manoa November 18, 2015 Abstract Digital circuits based on binary functions can be constructed using discrete components, however by increasing the number of required components, the circuitry becomes very impractical. A solution for prototyping digital signal processing is available using Field Programmable Gate Arrays (FPGAs). The use of FPGAs is also common prior to designing a real chip, such as computer processors. This document will explain the basic steps how to program an FPGA to behave according to your design. 1
2 Contents 1 Introduction 1 2 USB EVALUATION board 2 3 Programming tools 3 4 ISE environment presentation 4 5 Basics of VHDL coding 7 6 ISim simulator 8 7 Impact - download firmware on the chip Impact - FPGA programming Impact - Prom programming ADC/DAC expansion board 12 9 Firmware example using ADC and DAC ADC driver DAC driver Glue logic
3 List of Figures 1 Left a picture of an FPGA on a printed circuit board. Right, a simplified basic cell A picture of the USB evaluation board developed in the ID laboratory Xilinx ISE window project creation Xilinx ISE device setting Adding files to project Define inputs and outputs of your module File text editor window Schematic representation of the module Creation of a test file Configuration of stimulus signals Simulation result is as expected, the output signal is inverted Impact window Screenshot of Impact program showing how to make an MCS file A picture of the ADC/DAC board A picture of the setup used for the firmware example Block diagram of the system ADC block diagram DAC block diagram Glue logic block diagram
4 1 Introduction Contemporary FPGAs have large resources of logic gates and RAM blocks to implement complex digital computations. Some FPGAs have analog features in addition to digital functions. The most common analog feature is programmable slew rate and drive strength on each output pin, allowing the engineer to set slow rates on lightly loaded pins that would otherwise ring or couple unacceptably, and to set stronger, faster rates on heavily loaded pins on high-speed channels that would otherwise run too slowly[1]. Figure 1: Left a picture of an FPGA on a printed circuit board. Right, a simplified basic cell. Programming an FPGA requires the use of description languages. The most commonly used are Verilog and VHDL (VHSIC Hardware Description Language). VHDL language is a hardware description language used in electronic design automation to describe digital and mixed-signal systems such as field-programmable gate arrays and integrated circuits. VHDL can also be used as a general purpose parallel programming language[1]. Once the description of the circuit has being made, the compiler will take over and generate a programming file. This file is introduced into the FPGA via a JTAG controller and sets the basic cells to behave as described in the program. Worth mentioning, that FPGAs come in different sizes and clocking speed options. FPGA vendors provide also a programming environment for their products. We will use Xilinx tools for the demonstration. 1
5 2 USB EVALUATION board An evaluation board is commonly used during the development process of a project. It allows to advance quickly with the proof of concept for a particular project. Figure 2: A picture of the USB evaluation board developed in the ID laboratory. The evaluation board you are about to use holds an Xilinx Spartan3AN FPGA, a JTAG connector, power supply connector, a reset button, push buttons, a 16 bit configurable input/output (IO) connected also to LEDs and an expansion connector. The expansion connector allows to extend the number of I/O ports with another board which will be described later. The schematic drawings of the board are available within the folder provided by your instructor. 2
6 3 Programming tools In order to program an FPGA we need an environment which allows us to write the code, compile it, simulate the code and download it on the target device. The tools are vendor specific, but for our purposes we will use Xilinx tools. The following steps are a rudimentary path explanation on how to successfully make a custom circuit: For programming the evaluation board we use ISE in the Xilinx. Once the code is written, it can be synthesized and simulated using Isim. Satisfied with the code working as expected, we can now generate the bitfile. Before doing so, we need to include the so called UCF file. This file links the signals from our code to the physical pins of the device. The generation of the bitfile is made in ISE program. Using Impact software we download the code on the FPGA. As soon as the file is written in the chip the operation starts. By pressing the hard reset button, a new download will be needed. The Spartan3AN has also a PROM memory inside, which allows do store a bit file indefinitely. This file will automatically load at every power up of the device. We will see later how to proceed in order to achieve so. 3
7 4 ISE environment presentation Go to start menu, find the Xilinx folder and start ISE. Invoke File, follow new project, choose a directory and the name of your project. Figure 3: Xilinx ISE window project creation. Define the device you want to use. For our case, copy the settings from the picture below. Finish the process by clicking next. Figure 4: Xilinx ISE device setting. 4
8 In order to make a file you can write in, click marked icon and choose VHDL module. Give it a name and click next. Figure 5: Adding files to project. In the next window you can name and define your inputs and outputs. Click next to finish the process. Figure 6: Define inputs and outputs of your module. 5
9 A window like this will appear. Figure 7: File text editor window The left top window shows the files which are present in the project. Under the window which allows you to run commands. The entire right window is typically used to display the code. The bottom window is a console window, where compiler warnings and errors will appear. Double click on View RTL schematic will show the block diagram. Figure 8: Schematic representation of the module 6
10 5 Basics of VHDL coding Internet is a good staring point. There are a number of VHDL tutorials. For convenience, here are a few useful web pages: VHDL operators VHDL designers guide More manuals A good starting point is to understand the definition for signals followed by logical operators. The next step would be to instantiate modules inside other modules and proceed with the understanding how to build state machines. Its a lot to digest, so make sure, you understand thing well before proceeding. Keep in mind you are building your own digital chip! 7
11 6 ISim simulator The next thing we need is to simulate the code. Coming back to our model of inverter. We want to see if the code behaves accordingly. In order to do so, add a new file. This time choose VHDL Test Bench Figure 9: Creation of a test file. Associate the file with the file you want to simulate. The software generates a new file for you. Note that the file does not appear in the left top window. However if you switch from Implementation to Simulation you will see it. This is convenient to separate the design with the test benches. You can now define the stimulus signals. Test bench files are written in VHDL code as well. Selecting Simulation in the menu, selecting your test file containing your file under test and double clicking on Simulate Behavioral Model will start Isim. This is what you expect to see. Your code behaving as you expect. 8
12 Figure 10: Configuration of stimulus signals. Figure 11: Simulation result is as expected, the output signal is inverted. 7 Impact - download firmware on the chip Connect the USB Joint Test Action Gropu (JTAG) cable to the board and computer. Use Impact program to download the firmware on the FPGA. The process is straight forward. 9
13 7.1 Impact - FPGA programming When the Impact window opens, double click Boundary scan and next the marked icon. This will open a connection to the FPGA. In short JTAG is standard upon which many devices relay for programming. You will notice, that along the FPGA another device is present. This is programmable read only memory (PROM) which is used to start up the FPGA in stand alone mode. Figure 12: Impact window Select the device you want to program, right click and choose Assign new configuration file. Find a bit file in the folder where your project resides. Next, right click and choose program. A progress bar appears showing the process. That s it. 7.2 Impact - Prom programming The process is exactly the same as for the FPGA, however the prom uses a different type of file which needs to be generated first. This will be an MCS file. The process is simple, choose Create Prom file from the left top window. Next choose the type of prom you have, click on the green arrow, set the Prom configuration as shown in the image, click the next green arrow, define the file name and location to be stored. Finish with OK. 10
14 Figure 13: Screenshot of Impact program showing how to make an MCS file. In order to generate the file you need to click Operations, Generate file. The procedure for loading the Prom is the same as for the FPGA. Next time you power cycle the board, the FPGA will start a program stored in the Prom. 11
15 8 ADC/DAC expansion board An extension board for the USB evaluation board is available. This board extends the IO pins from the high density connectors and has built in Analog to Digital Converters (ADCs) and Digital to Analog Converters (DACs.) The following picture describes the board layout and connections. Figure 14: A picture of the ADC/DAC board. 12
16 9 Firmware example using ADC and DAC The project is called USBeval and can be found within the folder structure. The firmware example, will make use of the ADC and DAC converters in order to create a replicated signal. The ADC chip samples the signals on the input, digitized data are then moved into the DAC to replicate the signal on the input. A number of interesting things can be learned by comparing the input and output signal on the oscilloscope. The more interesting once would be; the transfer function of the system, the time and amplitude resolution of the system, understand signal aliasing, to mention a few. You can test the firmware, by connecting the board to a 5V power supply, ADC ch0 to a function generator (and scope) and the DAC ch3 to the oscilloscope. The provided bit file will enable its operation. Explore the ADC input headroom, offset the input signal, change functions on the generator, sweep across the frequency range. In addition, the digitized value is displayed on the LEDs. By choosing a low frequency (100 mhz), the LEDs behave as a binary counter. Figure 15: A picture of the setup used for the firmware example. 13
17 Firmware might be written in a number of ways however some modularity may spare a significant amount of time when trying to rewrite code for another project. Within the project, you will encounter binary vectors, counters, state machines etc. In order to use the ADC and DAC, a serial communication with the chips is necessary. Details on serial protocols for reading and writing the chips can be found in the corresponding data sheets in the provided documentation. A way to start the design is to make drivers for external components. These should have parallel inputs and outputs for internal data on one hand and serial communication with the chips on the other. Once the drivers operate properly an internal logic is constructed to read data from the ADC driver and write into the DAC driver. A block diagram of the system is presented below. Figure 16: Block diagram of the system. 14
18 9.1 ADC driver The purpose of the ADC driver is to release the programmer from the low level details dealing with the communication with the ADC chip. Figure 17: ADC block diagram. A clock of 40MHZ is required for operation. The driver reads the chip continuously via the serial interface. Whenever the busy signal goes low (check at clock event), a fresh set of converted data is available on the 12bit rxdata port. While busy is high, a conversion and transmission is taking place. The channel you want to read can be switched by changing the value at the chan(3:0). The ADC has 16 inputs you can choose from, however, only one can be read at the time. 15
19 9.2 DAC driver The purpose of the DAC driver is to release the programmer from the low level details dealing with the communication with the DAC chip. Figure 18: DAC block diagram. A clock of 40MHZ is required for operation. Similarly to the ADC driver, the DAC driver has an 12bit input port, a busy output port and a go input pin. Whenever busy is high, the transmission to the chip is active. During this time you are allowed to change the value on the data port. As soon as busy goes low, strobe the go input for a clock cycle. This will activate the driver and the data will be loaded on the chip. 16
20 9.3 Glue logic This module glues together the ADC and DAC. Its also a simple introduction to the construction of state machines. The glue logic takes the data from the ADC driver and writes them in the DAC driver. Figure 19: Glue logic block diagram. 17
21 References [1] Wikipedia 18
VHDL introduction Notes
UH Hawaii Manoa 475 Electronics for physicists VHDL introduction Notes Author: Andrej Seljak Date: Fall 2016 update 1 Ver: 1.0 Table of Contents 1. FPGA description3 2. USB EVALUATION board 4 3. ISE Xilinx
More informationTLL5000 Electronic System Design Base Module
TLL5000 Electronic System Design Base Module The Learning Labs, Inc. Copyright 2007 Manual Revision 2007.12.28 1 Copyright 2007 The Learning Labs, Inc. Copyright Notice The Learning Labs, Inc. ( TLL )
More informationEE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09
EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09 Lab Description Today s lab will introduce you to the Xilinx Integrated Software Environment (ISE)
More informationTLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4
TLL5000 Electronic System Design Base Module Getting Started Guide, Ver 3.4 COPYRIGHT NOTICE The Learning Labs, Inc. ( TLL ) All rights reserved, 2008 Reproduction in any form without permission is prohibited.
More informationXILINX ISE AND SPARTAN 3AN TUTORIAL
XILINX ISE AND SPARTAN 3AN TUTORIAL SYNTETIZE AND SIMULATION------------------------------------------ This tutorial will show you how to create a simple Xilinx ISE project based on the Spartan-3 Board.
More informationBanks, Jasmine Elizabeth (2011) The Spartan 3E Tutorial 1 : Introduction to FPGA Programming, Version 1.0. [Tutorial Programme]
QUT Digital Repository: http://eprints.qut.edu.au/ This is the author version published as: This is the accepted version of this article. To be published as : This is the author s version published as:
More informationand 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!
This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,
More informationISE Design Suite Software Manuals and Help
ISE Design Suite Software Manuals and Help These documents support the Xilinx ISE Design Suite. Click a document title on the left to view a document, or click a design step in the following figure to
More informationCircuit design with configurable devices (FPGA)
1 Material Circuit design with configurable devices (FPGA) Computer with Xilinx's ISE software installed. Digilent's Basys2 prototype board and documentation. Sample design files (lab kit). Files and documents
More informationXilinx Tutorial Basic Walk-through
Introduction to Digital Logic Design with FPGA s: Digital logic circuits form the basis of all digital electronic devices. FPGAs (Field Programmable Gate Array) are large programmable digital electronic
More informationLab 1: Introduction to Verilog HDL and the Xilinx ISE
EE 231-1 - Fall 2016 Lab 1: Introduction to Verilog HDL and the Xilinx ISE Introduction In this lab simple circuits will be designed by programming the field-programmable gate array (FPGA). At the end
More informationA B A+B
ECE 25 Lab 2 One-bit adder Design Introduction The goal of this lab is to design a one-bit adder using programmable logic on the BASYS board. Due to the limitations of the chips we have in stock, we need
More informationCPLD Experiment 4. XOR and XNOR Gates with Applications
CPLD Experiment 4 XOR and XNOR Gates with Applications Based on Xilinx ISE Design Suit 10.1 Department of Electrical & Computer Engineering Florida International University Objectives Materials Examining
More informationChapter 9: Integration of Full ASIP and its FPGA Implementation
Chapter 9: Integration of Full ASIP and its FPGA Implementation 9.1 Introduction A top-level module has been created for the ASIP in VHDL in which all the blocks have been instantiated at the Register
More informationLab 6: Intro to FPGAs
Lab 6: Intro to FPGAs UC Davis Physics 116B Rev 2/22/2018 There s a saying when dealing with complex electronic systems: If you can make the LED blink, you re 90% of the way there., so in this lab you
More informationXilinx ChipScope ICON/VIO/ILA Tutorial
Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These
More informationXilinx ISE8.1 and Spartan-3 Tutorial (Prepared by Kahraman Akdemir based on Professor Duckworth's Tutorials updated September 2006)
Xilinx ISE8.1 and Spartan-3 Tutorial (Prepared by Kahraman Akdemir based on Professor Duckworth's Tutorials updated September 2006) 1 Part1) Starting a new project Simple 3-to-8 Decoder Start the Xilinx
More informationCSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0
Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1
More informationXilinx ISE8.1 and Spartan-3 Tutorial EE3810
Xilinx ISE8.1 and Spartan-3 Tutorial EE3810 1 Part1) Starting a new project Simple 3-to-8 Decoder Start the Xilinx ISE 8.1i Project Navigator: Select File > New Project in the opened window 2 Select a
More informationXilinx Project Navigator Reference Guide
31 July 2003 Author: David M. Sendek Xilinx Project Navigator Reference Guide Background: This guide provides you with step-by-step procedures in using the Xilinx Project Navigator to perform the following:
More informationGetting started with the Xilinx Project Navigator and the Digilent BASYS 2 board.
Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board. This lab is based on: Xilinx Project Navigator, Release Version 14.6 Digilent Adept System Rev 2.7, Runtime Rev 2.16 Digilent
More informationNexys 2/3 board tutorial (Decoder, ISE 13.2) Jim Duckworth, August 2011, WPI. (updated March 2012 to include Nexys2 board)
Nexys 2/3 board tutorial (Decoder, ISE 13.2) Jim Duckworth, August 2011, WPI. (updated March 2012 to include Nexys2 board) Note: you will need the Xilinx ISE Webpack installed on your computer (or you
More informationTutorial on Quartus II Introduction Using Schematic Designs
Tutorial on Quartus II Introduction Using Schematic Designs (Version 15) 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD
More informationEE 361L Digital Systems and Computer Design Laboratory
University of Hawaii Department of Electrical Engineering EE 361L Digital Systems and Computer Design Laboratory Timing Simulation Version 1.0 10/10/2003 This document is a quick tutorial on performing
More informationFPGA Based Digital Design Using Verilog HDL
FPGA Based Digital Design Using Course Designed by: IRFAN FAISAL MIR ( Verilog / FPGA Designer ) irfanfaisalmir@yahoo.com * Organized by Electronics Division Integrated Circuits Uses for digital IC technology
More informationTo practice combinational logic on Logisim and Xilinx ISE tools. ...
ENGG1203: Introduction to Electrical and Electronic Engineering Second Semester, 2017 18 Lab 1 Objective: To practice combinational logic on Logisim and Xilinx ISE tools. 1 Find your lab partner You will
More informationChip Design with FPGA Design Tools
Chip Design with FPGA Design Tools Intern: Supervisor: Antoine Vazquez Janusz Zalewski Florida Gulf Coast University Fort Myers, FL 33928 V1.9, August 28 th. Page 1 1. Introduction FPGA is abbreviation
More informationEE 1315 DIGITAL LOGIC LAB EE Dept, UMD
EE 1315 DIGITAL LOGIC LAB EE Dept, UMD EXPERIMENT # 1: Logic building blocks The main objective of this experiment is to let you familiarize with the lab equipment and learn about the operation of the
More informationTutorial on Quartus II Introduction Using Verilog Code
Tutorial on Quartus II Introduction Using Verilog Code (Version 15) 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD flow
More informationEMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 7: VHDL and DE2 Board. Name: Date:
EXPERIMENT # 7: VHDL and DE2 Board Name: Date: Equipment/Parts Needed: Quartus II R Web Edition V9.1 SP2 software by Altera Corporation USB drive to save your files Objective: Learn how to create and modify
More informationProgrammable Logic Design I
Programmable Logic Design I Introduction In labs 11 and 12 you built simple logic circuits on breadboards using TTL logic circuits on 7400 series chips. This process is simple and easy for small circuits.
More informationECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II
ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II This lab manual presents an introduction to the Quartus II Computer Aided Design (CAD) system. This manual gives step-by-step
More informationUsing Synplify Pro, ISE and ModelSim
Using Synplify Pro, ISE and ModelSim VLSI Systems on Chip ET4 351 Rene van Leuken Huib Lincklaen Arriëns Rev. 1.2 The EDA programs that will be used are: For RTL synthesis: Synplicity Synplify Pro For
More informationECE 4305 Computer Architecture Lab #1
ECE 4305 Computer Architecture Lab #1 The objective of this lab is for students to familiarize with the FPGA prototyping system board (Nexys-2) and the Xilinx software development environment that will
More informationImplementing a Verilog design into the UWEE CPLD Development Board Using Xilinx s ISE 7.1i Software: A Tutorial
Implementing a Verilog design into the UWEE CPLD Development Board Using Xilinx s ISE 7.1i Software: A Tutorial Revision 0 By: Evan Gander Materials: The following are required in order to complete this
More informationPhysics 623. FPGA I Construction of a Synchronous Counter Aug. 4, 2008
Physics 623 FPGA I onstruction of a Synchronous ounter Aug. 4, 2008 1 The Goal of This Experiment You will design a small digital circuit, download the design to a Field Programmable Gate Array (FPGA)
More informationUsing ChipScope. Overview. Detailed Instructions: Step 1 Creating a new Project
UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Using ChipScope Overview ChipScope is an embedded, software based logic analyzer. By
More informationProgramming Xilinx SPARTAN 3 Board (Simulation through Implementation)
Programming Xilinx SPARTAN 3 Board (Simulation through Implementation) September 2008 Prepared by: Oluwayomi Adamo Class: Project IV University of North Texas FPGA Physical Description 4 1. VGA (HD-15)
More informationTutorial: ISE 12.2 and the Spartan3e Board v August 2010
Tutorial: ISE 12.2 and the Spartan3e Board v12.2.1 August 2010 This tutorial will show you how to: Use a combination of schematics and Verilog to specify a design Simulate that design Define pin constraints
More informationExperiment 3. Digital Circuit Prototyping Using FPGAs
Experiment 3. Digital Circuit Prototyping Using FPGAs Masud ul Hasan Muhammad Elrabaa Ahmad Khayyat Version 151, 11 September 2015 Table of Contents 1. Objectives 2. Materials Required 3. Background 3.1.
More informationTypical applications where a CPLD may be the best design approach:
By: Carlos Barberis, dba Bartek Technologies Description of Bartek s CPLD1 development board. For some of us CPLD s are familiar devices and for others just another acronym in the electronic device industry.
More informationEE 231 Fall Lab 1: Introduction to Verilog HDL and Altera IDE
Lab 1: Introduction to Verilog HDL and Altera IDE Introduction In this lab you will design simple circuits by programming the Field-Programmable Gate Array (FPGA). At the end of the lab you should be able
More information4. Verify that HDL is selected as the Top-Level Source Type, and click Next. The New Project Wizard Device Properties page appears.
Working with the GODIL Author: Ruud Baltissen Credits: Michael Randelzhofer, Ed Spittles Date: August 2010 What is it? This document describes a way to get familiar with the Xilinx FPGAs on OHO s Godil,
More informationXilinx Vivado/SDK Tutorial
Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping
More informationAdvanced module: Video en/decoder on Virtex 5
Advanced module: Video en/decoder on Virtex 5 Content 1. Advanced module: Video en/decoder on Virtex 5... 2 1.1. Introduction to the lab environment... 3 1.1.1. Remote control... 4 1.2. Getting started
More information2 nd Year Laboratory. Experiment: FPGA Design with Verilog. Department of Electrical & Electronic Engineering. Imperial College London.
Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment: FPGA Design with Verilog Objectives By the end of this experiment, you should know: How to design digital circuits using
More informationTutorial for Altera DE1 and Quartus II
Tutorial for Altera DE1 and Quartus II Qin-Zhong Ye December, 2013 This tutorial teaches you the basic steps to use Quartus II version 13.0 to program Altera s FPGA, Cyclone II EP2C20 on the Development
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based
More informationFPGA Design Flow 1. All About FPGA
FPGA Design Flow 1 In this part of tutorial we are going to have a short intro on FPGA design flow. A simplified version of FPGA design flow is given in the flowing diagram. FPGA Design Flow 2 FPGA_Design_FLOW
More informationINTRODUCTION TO DE2 SYSTEM INTERFACES
EECS:6660:0xxField Programmable Gate Arrays s08l5a.fm - 1 Lab Assignment #5 INTRODUCTION TO DE2 SYSTEM INTERFACES 1. OBJECTIVES - Becoming familiar with the system interface to seven segment LED displays
More informationSpartan-3E FPGA Design Guide for prototyping and production environment
3ème conférence Internationale des énergies renouvelables CIER-2015 Proceedings of Engineering and Technology - PET Spartan-3E FPGA Design Guide for prototyping and production environment Mohammed BOUDJEMA
More informationELEC 4200 Lab#0 Tutorial
1 ELEC 4200 Lab#0 Tutorial Objectives(1) In this Lab exercise, we will design and implement a 2-to-1 multiplexer (MUX), using Xilinx Vivado tools to create a VHDL model of the design, verify the model,
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
NIOS CPU Based Embedded Computer System on Programmable Chip 1 Lab Objectives EE8205: Embedded Computer Systems NIOS-II SoPC: PART-I This lab has been constructed to introduce the development of dedicated
More informationROCCC 2.0 Pico Port Generation - Revision 0.7.4
ROCCC 2.0 Pico Port Generation - Revision 0.7.4 June 4, 2012 1 Contents CONTENTS 1 Pico Interface Generation GUI Options 4 1.1 Hardware Configuration....................................... 4 1.2 Stream
More informationXilinx ISE Synthesis Tutorial
Xilinx ISE Synthesis Tutorial The following tutorial provides a basic description of how to use Xilinx ISE to create a simple 2-input AND gate and synthesize the design onto the Spartan-3E Starter Board
More informationADQ14 Development Kit
ADQ14 Development Kit Documentation : P Devices PD : ecurity Class: : Release : P Devices Page 2(of 21) ecurity class Table of Contents 1 Tools...3 2 Overview...4 2.1 High-level block overview...4 3 How
More informationActel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial
Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification
More informationNexys 2 board tutorial (Decoder, ISE 12.2) Jim Duckworth, August 2010, WPI. Digilent Adept Programming Steps added by Zoe (Zhu Fu)
Nexys 2 board tutorial (Decoder, ISE 12.2) Jim Duckworth, August 2010, WPI. Digilent Adept Programming Steps added by Zoe (Zhu Fu) Note: you will need the Xlinx ISE Webpack installed on your compuer (or
More informationTutorial. CASPER Reference Design
Tutorial Author: Henry Chen December 18, 2009 (v1.1) Hardware Platforms Used: IBOB FPGA Clock Rate: 100MHz Sampling Rate: N/A Software Environment: TinySH This tutorial walks through the process of building
More informationUniversity of Hawaii EE 361L. Getting Started with Spartan 3E Digilent Basys2 Board. Lab 4.1
University of Hawaii EE 361L Getting Started with Spartan 3E Digilent Basys2 Board Lab 4.1 I. Test Basys2 Board Attach the Basys2 board to the PC or laptop with the USB connector. Make sure the blue jumper
More informationLaboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication
Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.
More informationPhysics 623. Programmable Gate Array Experiment Nov. 30, 2006
Physics 623 Programmable Gate Array Experiment Nov. 30, 2006 1 The Goal of This Experiment You will design a small digital circuit, download the design to a Field Programmable Gate Array (FPGA) I, and
More informationENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim
ENGN 1630 Fall 2018 Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim You will use the Xilinx ISim simulation software for the required timing simulation of the XC9572XL CPLD programmable
More informationIntroduction. About this tutorial. How to use this tutorial
Basic Entry & not About this tutorial This tutorial consists of an introduction to creating simple circuits on an FPGA using a variety of methods. There are two ways to create the circuit: using or by
More informationXilinx ISE/WebPack: Introduction to Schematic Capture and Simulation
Xilinx ISE/WebPack: Introduction to Schematic Capture and Simulation Revision: February 7, 2003 Overview This document is intended to assist new entry-level users of the Xilinx ISE/WebPack software. It
More informationCSEE W4840 Embedded System Design Lab 1
CSEE W4840 Embedded System Design Lab 1 Stephen A. Edwards Due January 31, 2008 Abstract Learn to use the Altera Quartus development envrionment and the DE2 boards by implementing a small hardware design
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems NIOS-II SoPC: PART-II 1 Introduction This lab has been constructed to introduce the development of dedicated
More informationGR8BIT as a digital oscilloscope
July 01, 2013 Severity: Information Eugeny Brychkov, RU GR8BIT as a digital oscilloscope Introduction Background: In the course of development and testing of the GR8BUS master board, we faced the issue
More informationGetting Started with Xilinx WebPack 13.1
Getting Started with Xilinx WebPack 13.1 B. Ackland June 2011 (Adapted from S. Tewksbury notes WebPack 7.1) This tutorial is designed to help you to become familiar with the operation of the WebPack software
More informationLaboratory 4 Design a Muti-bit Counter and Programming a FPGA
Laboratory 4 Design a Muti-bit Counter and Programming a FPGA For your report: The problem written in English The flowchart or function table to solve the problem if it is necessary The design entry included
More informationBuilding Combinatorial Circuit Using Behavioral Modeling Lab
Building Combinatorial Circuit Using Behavioral Modeling Lab Overview: In this lab you will learn how to model a combinatorial circuit using behavioral modeling style of Verilog HDL. You will model a combinatorial
More informationProgrammable Logic Design Techniques I
PHY 440 Lab14: Programmable Logic Design Techniques I The design of digital circuits is a multi-step process. It starts with specifications describing what the circuit must do. Defining what a circuit
More informationUniversity of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA
University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring 2007 Lab 1: Using Nios 2 processor for code execution on FPGA Objectives: After the completion of this lab: 1. You will understand
More informationIMPLEMENTING COUNTERS
EECS:6660:0xxField Programmable Gate Arrays s11l1_fpga.fm - 1 Lab Assignment #1 Due Thursday, March 31 2011 IMPLEMENTING COUNTERS 1. OBJECTIVES - learning the VHDL implementation process using Language
More informationLecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)
Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University
More informationOVERVIEW OF FPGA AND EDA SOFTWARE
CHAPTER 2 OVERVIEW OF FPGA AND EDA SOFTWARE 2.1 INTRODUCTION Developing a large FPGA-based system is an involved process that consists of many complex transformations and optimization algorithms. Software
More informationProgrammable Logic Design I
Programmable Logic Design I Read through each section completely before starting so that you have the benefit of all the directions. Put on a grounded wrist strap (cf. Getting Started) before touching
More informationVerilog Design Entry, Synthesis, and Behavioral Simulation
------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize
More informationLecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration
TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction
More informationTutorial on FPGA Design Flow based on Xilinx ISE Webpack andisim. ver. 1.0
Tutorial on FPGA Design Flow based on Xilinx ISE Webpack andisim ver. 1.0 1 Prepared by Malik Umar Sharif and Dr. Kris Gaj The example codes used in this tutorial can be obtained from http://ece.gmu.edu/coursewebpages/ece/ece448/s11/labs/448_lab3.htm
More informationI also provide a purpose-built ADC/DAC board to support the lab experiment. This analogue I/O board in only needed for Part 3 and 4 of VERI.
1 2 I also provide a purpose-built ADC/DAC board to support the lab experiment. This analogue I/O board in only needed for Part 3 and 4 of VERI. However I will now be examining the digital serial interface
More informationChapter 2 Getting Hands on Altera Quartus II Software
Chapter 2 Getting Hands on Altera Quartus II Software Contents 2.1 Installation of Software... 20 2.2 Setting Up of License... 21 2.3 Creation of First Embedded System Project... 22 2.4 Project Building
More informationANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II
ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EEM 334 - Digital Systems II LAB 1 - INTRODUCTION TO XILINX ISE SOFTWARE AND FPGA 1. PURPOSE In this lab, after you learn to use
More informationDESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL
Arid Zone Journal of Engineering, Technology and Environment. August, 2013; Vol. 9, 17-26 DESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL Dibal, P.Y. (Department of Computer Engineering,
More information8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments
8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments QII51017-9.0.0 Introduction The Quartus II incremental compilation feature allows you to partition a design, compile partitions
More informationIntroduction to Simulation of VHDL Designs Using ModelSim Graphical Waveform Editor. 1 Introduction. For Quartus Prime 16.1
Introduction to Simulation of VHDL Designs Using ModelSim Graphical Waveform Editor For Quartus Prime 16.1 1 Introduction This tutorial provides an introduction to simulation of logic circuits using the
More informationTEST REPORT POWER SUPPLY AND THERMAL V2
CERN European Organization for Nuclear Research Beams Department Radio Frequency RF Feedbacks and Beam Control TEST REPORT POWER SUPPLY AND THERMAL V2 By: Petri Leinonen BE-RF-FB Date: 27.06.2012 TABLE
More informationDESIGN STRATEGIES & TOOLS UTILIZED
CHAPTER 7 DESIGN STRATEGIES & TOOLS UTILIZED 7-1. Field Programmable Gate Array The internal architecture of an FPGA consist of several uncommitted logic blocks in which the design is to be encoded. The
More informationBoise State University Digital Systems Laboratory
by S. M. Loo, Arlen Planting Department of Electrical and Computer Engineering Boise State University First Released: Spring 2005 with ISE 6.3i Updated: Fall 2006 with ISE 8.1i Updated: Spring 2009 with
More informationPlanAhead Software Tutorial
PlanAhead Software Tutorial RTL Design and IP Generation The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied. Xilinx does not
More informationBasic Concepts. Task One: The Basic Latch. Laboratory Nine Latches, RAM & Android Architecture
Laboratory Nine Latches, RAM & Android Architecture Basic Concepts 1. The most basic element of binary storage is the latch, consisting of 2 cross-coupled NAND (or NOR) gates. 2. The D-latch with Enable
More informationBoard-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE.
Board-Data Processing VHDL Exercises Exercise 1: Basics of VHDL Programming Stages of the Development process using FPGA s in Xilinx ISE. Basics of VHDL VHDL (Very High Speed IC Hardware description Language)
More informationQWaveSystems / Melon_S3_FPGA
QWaveSystems / Melon_S3_FPGA A Open-source Hardware : WiFi (ESP8266) FPGA Development Kit Edit Add topics 201 commits 1 branch 0 releases 1 contributor Branch: master New pull request Create new file Upload
More informationDigital Circuit Design Using Xilinx ISE Tools
Digital Circuit Design Using Xilinx ISE Tools Poras T. Balsara and Prashant Vallur Table of Contents 1. Introduction 2. Programmable logic devices: FPGA and CPLD 3. Creating a new project in Xilinx Foundation
More informationCSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools
CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools This is a tutorial introduction to the process of designing circuits using a set of modern design tools. While the tools we will be using (Altera
More informationTutorial StellarIP Interface To AXI Interface
Tutorial StellarIP Interface To AXI Interface 4DSP LLC Email: support@4dsp.com This document is the property of 4DSP LLC and may not be copied nor communicated to a third party without the written permission
More informationISE In-Depth Tutorial. UG695 (v13.1) March 1, 2011
ISE In-Depth Tutorial The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied. Xilinx does not assume any liability arising from
More informationMoving to Altium Designer from PADS Layout and OrCAD capture. Contents
Moving to Altium Designer from PADS Layout and OrCAD capture Contents Getting Started - Transferring Your PADS Layout Designs Using the Import Wizard for PADS Layout Files Layer Mapping for PADS PCB ASCII
More informationEvolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic
ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:
More informationCPLD Software Tutorial FOR ALTERA MAX+PLUS II
CPLD Software Tutorial FOR ALTERA MAX+PLUS II Note: This material was developed by William Kleitz for inclusion in his textbook Digital Electronics: A Practical Approach 6 th edition, (Prentice-Hall 2002).
More information