You can group common sections of code for reuse as subVIs on the diagram.
When developing FPGA applications, use subVIs for the following purposes:
- Use multiple FPGA VIs—You can create only one top-level FPGA VI, but you can
implement multiple FPGA VIs by calling them as subVIs from the top-level FPGA
VI.
- Conserve FPGA resources—Panel objects in subVIs do not communicate directly with the
host VI and therefore do not consume additional FPGA resources.
- Reuse code across multiple projects—Creating reusable, modular code helps you
efficiently organize, manage, test, and debug your application by allowing for
easier code review and updates and by avoiding code duplication.
The VI reentrancy of subVIs on an FPGA
target is set to Stateful by default. Use this option if a subVI
accesses shared resources, such as I/O, or if multiple instances of the subVI share data
in a VI, such as functional global variables. To verify if subVI configuration meets the
resource and timing needs of your application, compile the application
and check the Estimated resource usage report and
Timing Violations tab when the compilation completes.

Note
Stateless subVIs behave the same as
stateful subVIs when running on an FPGA target.