LabVIEW FPGA: 2 days
Application development for LabVIEW FPGA ModuleThis
lesson describes some of the issues involved when developing LabVIEW
FPGA applications, including the design process, testing the
application, and compiling the application. You learn how to think in
terms of coding in LabVIEW for a hardware target.
Topics include:
* Design process overview
* Interactive and Emulation modes
* Using the Compile Server
* Basics of LabVIEW FPGA Module application design
FPGA Module VI Design TechniquesThis
lesson describes developing applications to communicate through the
reconfigurable I/O (RIO) hardware. The first part of the lesson
illustrates how to configure I/O nodes for use with RIO devices. The
second part of the lesson focuses on programming techniques to attain
the maximum results with the FPGA application while illustrating some
simple examples.
Topics include:
* Communicating to the RIO hardware input and output
* Timing and shared resource considerations for deterministic loop rate development
* Good programming techniques to optimize for speed
* Creating custom counters
* Utilizing onboard memory
* Handling integer overflow
Synchronizing the FPGA application with the HostThis
lesson illustrates methods of controlling and monitoring an FPGA
application from a host application. In earlier lessons, you developed
your own customized hardware. In this lesson, you create the
driver-level software needed to interact with your customized RIO
hardware. Several techniques for synchronizing with the host
application including handshaking strategies will be reviewed.
Topics include:
* Controlling and interacting with an FPGA application
* Techniques for synchronization with the host
* Interrupt driven versus polling strategies
Using the LabVIEW Real-Time Module with the LabVIEW FPGA ModuleThis
lesson describes the use of the LabVIEW Real-Time Module to create
multithreaded and deterministic applications in conjunction with the
LabVIEW FPGA Module. Use of LabVIEW FPGA provides a real-time,
deterministic host for your LabVIEW FPGA VI, but it is not required.
(You can use LabVIEW for Windows if you choose.)
Topics include:
* Prioritizing loops for maximum efficiency
* Considerations for multithreaded applications