LABVIEW FPGA. how to program FPGAs without any VHDL knowledge

Similar documents
Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

EET 310 Programming Tools

Hands-On: Introduction to Object-Oriented Programming in LabVIEW

Lab View with crio Tutorial. Control System Design Feb. 14, 2006

DSP Laboratory: Analog to Digital and Digital to Analog Conversion

USB - FPGA MODULE (PRELIMINARY)

Description: Multiparameter System (4 or 8 channels)

LabVIEW Day 1 Basics. Vern Lindberg. 1 The Look of LabVIEW

Lab 3: Introduction to Data Acquisition Cards

LogiCORE IP AXI Performance Monitor v2.00.a

DAC Digital To Analog Converter

Getting Started with the LabVIEW Mobile Module Version 2009

Getting Started with the LabVIEW Mobile Module

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

LabVIEW Day 6: Saving Files and Making Sub vis

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

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

Open Flow Controller and Switch Datasheet

System Considerations

International Journal of Advancements in Research & Technology, Volume 2, Issue3, March ISSN

DEVELOPMENT OF DEVICES AND METHODS FOR PHASE AND AC LINEARITY MEASUREMENTS IN DIGITIZERS

Introduction to LabVIEW

Freescale Semiconductor, I

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

Modeling a GPS Receiver Using SystemC

Short Manual Intellect v SP2 module Unipos Contents:

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

TERMINAL Debug Console Instrument

EasyC. Programming Tips

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

Data Acquisition Using NI-DAQmx

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

8051 MICROCONTROLLER COURSE

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

CoProcessor Design for Crypto- Applications using Hyperelliptic Curve Cryptography

Manage Software Development in LabVIEW with Professional Tools

ChipScope Pro Tutorial

C Programming. for Embedded Microcontrollers. Warwick A. Smith. Postbus 11. Elektor International Media BV. 6114ZG Susteren The Netherlands

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

How To Develop An Iterio Data Acquisition System For A Frustreo (Farc) (Iterio) (Fcfc) (For Aterio (Fpc) (Orterio).Org) (Ater

LLRF. Digital RF Stabilization System

Modeling Latches and Flip-flops

Lab 1: Introduction to Xilinx ISE Tutorial

Introduction to Xilinx System Generator Part II. Evan Everett and Michael Wu ELEC Spring 2013

Exercise 10: Basic LabVIEW Programming

How To Use First Robot With Labview

Designing VM2 Application Boards

The goal is to program the PLC and HMI to count with the following behaviors:

System on Chip Platform Based on OpenCores for Telecommunication Applications

Simplifying Embedded Hardware and Software Development with Targeted Reference Designs

Use the below instructions to configure your wireless settings to connect to the secure wireless network using Microsoft Windows Vista/7.

Modbus and ION Technology

Modeling Registers and Counters

2. TEACHING ENVIRONMENT AND MOTIVATION

PCB Project (*.PrjPcb)

2-Serial/1-Parallel Port PCI Adapter RC303 User Manual

40G MACsec Encryption in an FPGA

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Lab 1: Full Adder 0.0

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

Chapter 2 Logic Gates and Introduction to Computer Architecture

LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters

LabVIEW Advanced Programming Techniques

Storing Measurement Data

Creating the program. TIA Portal. SIMATIC Creating the program. Loading the block library. Deleting program block Main [OB1] Copying program blocks

MP3 Player CSEE 4840 SPRING 2010 PROJECT DESIGN.

Part Number Revision A, January Monitoring System Rack Configuration and Utilities Guide

Accurate Measurement of the Mains Electricity Frequency

INFORMATION BROCHURE Certificate Course in Web Design Using PHP/MySQL

Getting Started with the LabVIEW Embedded Module for ARM Microcontrollers 1.0 For the Keil MCB2300

3. Programming the STM32F4-Discovery

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

Computer Organization and Components

FPGA Prototyping Primer

Xenomai: integration and qualification of a real time operating system ARMadeus Systems

Chapter 3. Operating Systems

Data Acquisition in LabVIEW

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

Access the TCNJ Palo Alto Networks VPN using the GlobalProtect VPN client

Chapter 13 Embedded Operating Systems

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

STEP 7 MICRO/WIN TUTORIAL. Step-1: How to open Step 7 Micro/WIN

LabVIEW DSP Test Integration Toolkit for TI DSP

How to read this guide

ONBASE OUTLOOK CLIENT GUIDE for 2010 and 2013

ELAD FDM-SW1 USER MANUAL. Ver. 1.0

Introduction to LabVIEW for Control Design & Simulation Ricardo Dunia (NI), Eric Dean (NI), and Dr. Thomas Edgar (UT)

Post-Configuration Access to SPI Flash Memory with Virtex-5 FPGAs Author: Daniel Cherry

Technical Training Module ( 30 Days)

Operating Systems. Lecture 03. February 11, 2013

Microcontroller Based Low Cost Portable PC Mouse and Keyboard Tester

AC : PRACTICAL DESIGN PROJECTS UTILIZING COMPLEX PROGRAMMABLE LOGIC DEVICES (CPLD)

Visual Basic 2010 Essentials

WiSER: Dynamic Spectrum Access Platform and Infrastructure

T-BOXN12R. First steps with T-BOXN12R. You can make it wireless. Date: Version 1.0

Visual Basic. murach's TRAINING & REFERENCE

AUTOMATIC NIGHT LAMP WITH MORNING ALARM USING MICROPROCESSOR

TECHNICAL BULLETIN. Checking the products and their versions that we have confirmed the operation on Windows 8 and Windows 8.1.

Transcription:

LABVIEW FPGA how to program FPGAs without any VHDL knowledge

New Labview project: target FPGA math.vi is no longer targeted to a PC, but to a FPGA

F=(A+B)CD Basic FPGA VI

LabVIEW Mapped to FPGA Implementing Logic on FPGA: F =(A+B)CD F A B C D

FPGA palette FPGA specific functions Programming structures Device I/O Arithmetic and Boolean Logic Arrays and clusters Timing Math and control functions Synchronization and FIFOs Look-up tables

FPGA palette limitations Some LabVIEW VIs and functions are not available or have restrictions in FPGA VIs. The following LabVIEW features are not available for FPGA VIs: Floating-point functions Variable-size and multidimensional arrays Error clusters or strings Dialog boxes File I/O Printing

Integer Math No floating point Singles and doubles type are not supported

Integer Math For variable scaling, you can determine and set the scaling factor and bit shift from the host application For example: Scaling Factor: 11 Downshift: -4 bits Result Multiplication: 11 / 16 = 0.6875

Compile Process and Server Convert LV diagram to intermediate files Send intermediate files to the compile server Compiles VIs for FPGA Returns FPGA bitstream to LabVIEW Bitstream is stored in VI LabVIEW environment is a client Compile Server Can disconnect from server and reconnect while compiling

Download Windows OS LabVIEW FPGA Module FPGA VI Occurs automatically after a compile initiated by the run button Target FPGA Bit File Embedded Download FPGA VI (actually the bit file)

Interactive Mode Windows OS LabVIEW FPGA Module Interact with VI on FPGA through Front Panel No Debugging VI is running in the FPGA FPGA VI (Front Panel) Updates Target FPGA FPGA VI (running)

Interactive Mode

Host PC Interactive Mode Windows OS Interact with FPGA through host PC based Front Panel Allows you to do other processing in Host VI VI (Front Panel) Updates Target FPGA FPGA VI (running) Host VI FPGA VI

Host PC Interactive Mode

Windows Target Mode Windows OS LabVIEW FPGA Module (targeted to Windows) FPGA VI Run FPGA VI on Windows Software Emulation No hardware timing Debugging possible Check logic before compile

Benchmark timing performances

Exercise: timing benchmark Create a VI which adds two numbers and runs a benchmark in parallel that determines how fast code is running

Speed Size IOBs Input/Output Blocks MULT18X18s - multipliers SLICEs Combination of LookUp Tables (LUTs) and Flip Flops (FFs) BUFGMUXs portal to the clock net, which is used to clock FFs Benchmarking VIs Size

Configuring FPGA I/O

Using FPGA I/O Nodes Two ways to use FPGA I/O: Drag and drop from LabVIEW Project Drop empty I/O node on block diagram and select I/O by left clicking

Exercise

Timing Control Functions

Configure Timing Functions Counter Units Ticks µsec msec Size of Internal Counter 32 Bit 16 Bit 8 Bit

Timing Using the Single-Cycle Timed Loop Execute multiple functions in a single clock cycle Loop executes at compile clock speed by default Increases code speed and efficiency All code must execute within one clock tick 50 MHz Clock = Spartan 3E HW

Multiple Clock Domains Derive different clock domains based off 50 MHz Different Single-Cycle Timed Loops can have different clocks Used for: Generating clocks Local speed optimization

Trigger example Triggering when multiple digital signals match a logic condition

Designing counters using the single-cycled timed loop

Designing counters using the while loop with a wait inside

Parallel Loop Execution Dictate Loop Execution Order Structures such as FIFOs and occurrences can determine program flow and loop execution order These structures can also synchronize the execution of parallel loops Data Sharing Can pass data between parallel loops on the FPGA Use FIFOs, memory, or local variables

Loop Ordering With FIFOs FPGA Acquisition FPGA FIFO FPGA FIFO Indicator FPGA FIFO passes data between parallel loops FIFO determines loop execution order Acquisition writes data to FIFO Read FIFO to display data on indicators Data Flow

Parallel Execution Graphical programming promotes parallel code architectures LabVIEW FPGA implements truly parallel execution

1 Xilinx tools: ISE + Chipscope Labview compatible 2 Xilinx tools: ISE + Chipscope NO Labview

RS232 ADC RS232 interface DAC ADC interface PS2 interface DAC interface LCD display PS2

Task assignment proposal 1. RS232 interface: VHDL Labview (both FW & SW) 2. ADC interface VHDL Labview 3. DAC interface VHDL Labview 4. PS2 interface both ways 5. LCD display your choice