18
Deploying Large LabVIEW FPGA Applications ni.com/largeapps ni.com/community/ largeapps

Deploying Large LabVIEW FPGA Applications

  • Upload
    thelma

  • View
    76

  • Download
    0

Embed Size (px)

DESCRIPTION

Deploying Large LabVIEW FPGA Applications. ni.com/largeapps ni.com/community/largeapps. Managing FPGA Deployments. Managing FPGA Files on Disk Validating FPGA Logic During Development Deploying Stand-alone FPGA Applications Mass Deployment of an FPGA Application - PowerPoint PPT Presentation

Citation preview

Page 1: Deploying Large LabVIEW FPGA Applications

Deploying Large LabVIEW FPGA Applications

ni.com/largeappsni.com/community/largeapps

Page 2: Deploying Large LabVIEW FPGA Applications

2

Managing FPGA Deployments

• Managing FPGA Files on Disk• Validating FPGA Logic During Development• Deploying Stand-alone FPGA Applications• Mass Deployment of an FPGA Application• Maintaining Existing FPGA Applications

Page 3: Deploying Large LabVIEW FPGA Applications

3

Managing FPGA Files on Disk

Change in Specification

FPGA VI Developed

Compilation Process

Overwrites Bit file

• Versioning system often in place for LabVIEW FPGA VIs

• Versioning also needed for the associated bit files Compiled static file Ease of reference

Page 4: Deploying Large LabVIEW FPGA Applications

4

Managing FPGA Files on Disk

• Considerations when incorporating bit files into Source Code Control (SCC) Back up to location other than default folder Give the bit file a meaningful name before submitting it to

SCC

Page 5: Deploying Large LabVIEW FPGA Applications

5

Managing FPGA Files on Disk

• The versioning system used will affect how FPGA reference opened in the host Ensure that the appropriate file is

pointed to in the Configure Open FPGA reference

The reference points to a static path which is either an FPGA VI or bitfile

Page 6: Deploying Large LabVIEW FPGA Applications

6

Validating FPGA Logic During Development

• Interactive Front Panel communication often used to deploy Completes complex compilation each time Requires that target is available to deploy to FPGA is volatile therefore bit file lost on target reboot

Page 7: Deploying Large LabVIEW FPGA Applications

7

Validating FPGA Logic During Development

• Alternative to recompilation each time is simulation FPGA logic run on the development machine Use simulated or programmed I/O to test application Since running on PC cannot run at actual rates

Page 8: Deploying Large LabVIEW FPGA Applications

8

Deploying Stand-alone FPGA Applications

Is communication to a host VI required in the FPGA Application?

If Yes: Use Host Interaction Method

If No: Store the Bit file in Onboard Flash

Page 9: Deploying Large LabVIEW FPGA Applications

9

Deploying Stand-alone FPGA Applications

• Host interaction method Use an Open FPGA Reference in the host VI Reference embeds the FPGA bit file into the host VI

and/or executable

Page 10: Deploying Large LabVIEW FPGA Applications

10

Deploying Stand-alone FPGA Applications

• Host interaction method FPGA bit file is downloaded when reference is called if

“Run the FPGA VI” selected If not selected only opens a reference to the FPGA

Page 11: Deploying Large LabVIEW FPGA Applications

11

Deploying Stand-alone FPGA Applications

• Host interaction method Includes both host and FPGA files into one file Delay between power-up and FPGA running

• During this time the I/O lines are at unknown state

Page 12: Deploying Large LabVIEW FPGA Applications

12

Deploying Stand-alone FPGA Applications

• Storing bit file in on board flash Download to flash using the RIO Device Setup utility FPGA will automatically load bit file from flash based on

three configurations• Do not autoload VI• Autoload VI on Device Powerup• Autoload VI on Device Reboot

Page 13: Deploying Large LabVIEW FPGA Applications

13

Deploying Stand-alone FPGA Applications

• Storing bit file in on board flash Loading FPGA Immediately brings I/O up in known state Requires that the NI-RIO driver is installed on the

deploying machine

Page 14: Deploying Large LabVIEW FPGA Applications

14

Deploying Stand-alone FPGA Applications

• Using both Deployment Methodologies Conflicts may arise since bit file being downloaded from

two locations Some scenarios do require both

• “Run FPGA VI” unselected• Bit files must be identical• Host does not know state of FPGA when connecting

Page 15: Deploying Large LabVIEW FPGA Applications

15

Mass Deployment of an FPGA Application

• If using host interaction method Since bit file embedded into host VI use one of replication

tools for host• Real-Time Target System Replication API• Create Windows based installer• Develop a replication tool using FTP VIs

Page 16: Deploying Large LabVIEW FPGA Applications

16

Mass Deployment of an FPGA Application

• If utilizing on board flash, FPGA Target System Replication API available at ni.com Programmatic calls into RIO Device Setup Build into a custom host deployment application

Page 17: Deploying Large LabVIEW FPGA Applications

17

Maintaining Existing FPGA Applications

• Releasing updated application is same process as initial deployment

• Remote location deployment software requirements: Host Interaction – Technician only needs an FTP program Onboard Flash – NI-RIO driver is required on the

deployment machine

Page 18: Deploying Large LabVIEW FPGA Applications

18

Best-practices summary

• Backup FPGA bit files in order to establish a versioning system• Validate FPGA logic by simulation on development PC rather than compiling

and deploying to the actual target each time• Use the run button deployment method only during development• Embed the FPGA application into the host application if they are dependent on

one another otherwise download the application to the on board flash• In order to mass deploy an FPGA application

Use the FPGA Replication toolkit if the application is downloaded to the onboard flash Use the Real-Time Replication toolkit and/or a PC installer if the application is

embedded in a host application• Use the same method for maintenance deployment as for the initial

deployment