From 8:00 PM Friday, July 23 - 7:00 PM CDT Saturday, July 24, ni.com will be undergoing system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Data Logging, Control, and Monitoring Part 2: LabVIEW FPGA Course Overview

The Data Logging, Control, and Monitoring Part 2: LabVIEW FPGA course delivers hands-on training for designing, prototyping, and deploying reliable FPGA code for your application. At the end of the course, you will be able to translate your embedded system requirements into a scalable software architecture, choose appropriate methods for inter-process communication, design, deploy and replicate your FPGA code for your datalogging, control, and/or monitoring application.

Course Details:

Data Logging, Control, and Monitoring Part 2: LabVIEW FPGA Course Outline

Lesson Overview Topics

Course Welcome

 

This lesson welcomes you to the Datalogging, Control and Monitoring (DCM) course and introduces the course topics, learning objectives, and course materials.

 

  • Overview of course lessons and topics.
  • Learning objectives for each lesson.
  • Overview of course learning tools.

Programming Using LabVIEW FPGA

In this lesson, you learn how to program the FPGA using the LabVIEW FPGA Module. You gain a high-level understanding of how logic is implemented on the FPGA and how LabVIEW code is translated and compiled into FPGA hardware. After you develop an FPGA VI, you test, debug, compile and then execute on an FPGA target. You examine different reports generated during compilation and learn techniques to optimize your code for size.

 

  • Developing the FPGA VI
  • Simulating the FPGA VI
  • Compiling the FPGA VI
  • Basic optimizations

Using FPGA I/O and Timing  

In this lesson, you learn how to add FPGA I/O to your LabVIEW project and access it on the block diagram using FPGA I/O Nodes. You also learn how to set FPGA loop rates, add delays between events, and benchmark your FPGA code.   

  • Using FPGA I/O
  • Handling FPGA I/O errors
  • Implementing loop execution rates
  • Synchronizing C Series Multifunction I/O Modules
  • Creating delays between events
  • Measuring time between events
  • Benchmarking loop periods

Signal Processing in LabVIEW FPGA

 

In this lesson, you learn a variety of ways to process your data signals in LabVIEW FPGA. Specifically, this lesson focuses on working with Fixed-Point vs. Single precision floating point arithmetic as well as configuring and using FPGA math and analysis functions.

  • Using fixed-point data types
  • Using single-precision floating-point
  • Performing FPGA math and analysis
  • Integrating third-party intellectual property (IP)

Inter-process Communication in LabVIEW FPGA.

In this lesson, you learn how to transfer data between multiple loops on your FPGA VI. You examine data sharing methods including variables, memory items, register items, and FPGA FIFOs. You learn the benefits of each technique and when each should be used.

 

  • Transferring latest data (tag)
  • Transferring buffered data (stream, message)
  • Comparing data sharing methods

Communicating Between the FPGA and RT

 

In this lesson, you learn how to transfer data between your FPGA VI and RT VI including tag, stream and message data. Emphasis is placed on the use of DMA FIFOs for high-speed data transfer.

  • Programmatically communicating with the FPGA from RT
  • Deploying an FPGA VI
  • Transferring latest data (tag)
  • Transferring buffered data (stream, message)
  • Synchronizing the host VI and FPGA VI
  • Implementing an FPGA watchdog

Optimizing the FPGA

In this lesson, you learn how to use various techniques to optimize for speed or FPGA size if necessary.

  • When should you optimize?
  • Optimization techniques for FPGA size
  • Optimization techniques for FPGA speed/throughput
  • Executing code in Single-Cycle Timed Loops (SCTL)
  • Pipelining
  • Four-wire handshaking

Get started with Data Logging, Control, and Monitoring Part 2: LabVIEW FPGA today