NI architected the LabVIEW FPGA compile system with three fundamental software components, which results in a modular, scalable compile solution. The compile system is split into three parts: the development computer, the compile server, and any number of compile workers.LabVIEW FPGA Module Development Environment —The LabVIEW development environment that you are familiar with is where you create your application. Clicking Run on your FPGA VI completes the generating intermediate files step (see LabVIEW FPGA Compilation Process for more information). After generation, the development computer sends the intermediate files through web services communication to the compile server.Compile Server—The compile server accepts compile jobs from one or many LabVIEW FPGA development systems and looks for available compile workers to farm out compile jobs to. If no compile workers are available, the compile server holds the compile job in a queue until a compile worker becomes available.Compile Worker—The compile worker has the Xilinx compilation tools installed for FPGA design synthesis, mapping, placing, and routing. With these tools, a compile worker implements the design and generates a bitfile. The compile worker sends the bitfile back to the compile server, which, in turn, sends the bitfile back to the development computer.
Figure 1. The LabVIEW FPGA compile system architecture includes three parts: the development computer, the compile server, and the compile worker(s). The compile server functionality may run on the development computer or on separate computer.
Installation Media – The installation process requires the Xilinx compilation tools DVD, found in your FPGA kit. If you did not receive this DVD with your purchase, you can download the installation materials online. Refer to this support document to determine which Xilinx compilation tools you need in order to compile on your operating system with your hardware.Dedicated Computer – A computer with a minimum of 8GB of RAM per core.Note: Faster hard drives or solid state disks do not add significant gains to remote compile speeds. When selecting a computer to run remote compiles on Linux, select for high CPU speed over number of cores.64-bit Linux OS – Red Hat Enterprise Linux (RHEL) or CentOS. Refer to the readme for your Xilinx Compilation Tools for the specific version required. Familiarity with Linux – Installing and configuring the Linux compile worker does not require advanced Linux knowledge. However, you should have some familiarity with Linux.
For small development teams, consider offloading compiles to a single Linux computer. The following image represents the computers and software necessary for two developers to offload their compiles to the Linux compile worker.
Note: In this example, though two development computers can communicate with the Linux compile worker, only one can offload a compile at one time.
LabVIEW FPGA Development Computer (Compile Server)
Xilinx Compilation Tools
If the Linux compile worker connects to the Windows computer, the compile appears in the Status field in the compile worker window.Note: In Linux, closing the compile worker window closes the program.
Linux Compile Worker
When you initiate a compile using any configured Windows computer, the compile appears in the Status field in the compile worker window.If you receive an error or are unable to connect to the compile worker, follow these steps on your development computer:
For larger teams, offload compiles to a farm of multiple Linux computers. The following image represents the computers and software necessary for multiple developers to offload their compiles to a Linux compile farm.
LabVIEW FPGA Compile Farm Server
Linux Compile Workers
LabVIEW FPGA Development Computers
Configure LabVIEW FPGA to compile to the FPGA Compile Farm Server. For more information about configuring LabVIEW compile servers, refer to the Compiling an FPGA VI Remotely (FPGA Module) topic in the LabVIEW FPGA Module Help.
Refer to the instructions for configuring a Linux Compile Worker under Offloading One Parallel Compile at a Time.
Collaborate with other users in our discussion forums
A valid service agreement may be required, and support options vary by country.