Determining When to Use Reentrant or Non-Reentrant SubVIs (FPGA Module)

LabVIEW 2018 FPGA Module Help

Edition Date: March 2018
Part Number: 371599P-01
View Product Info

DOWNLOAD (Windows Only)

LabVIEW 2016 FPGA Module Help
LabVIEW 2017 FPGA Module Help
LabVIEW 2018 FPGA Module Help
LabVIEW 2019 FPGA Module Help
LabVIEW 2020 FPGA Module Help

You can configure a subVI as reentrant or non-reentrant. By default, subVIs created under an FPGA target are reentrant. The following table provides recommendations for specific use cases.

SubVI Type Design
Reentrant Use when a subVI does not access shared resources, such as I/O.
Non-reentrant Use when a subVI accesses shared resources.
Non-reentrant Use when multiple instances of a subVI share data in a VI, such as functional global variables.

For other design implementations, use the estimated device utilization and timing reports from the Reports pull-down menu of the Compilation Status window to verify which subVI configuration meets the needs of your FPGA application. The Compilation Status window appears after you compile an FPGA VI. You may need to iterate several times before finding the subVI type that works best for your application.

Related Information

Frequently Asked Questions about SubVIs

Making SubVIs Non-Reentrant

Managing Shared Resources

Optimizing FPGA VIs for Speed and Size

Reentrancy: Allowing Simultaneous Calls to the Same SubVI

Using SubVIs in FPGA Applications


Not Helpful