NI has architected the LabVIEW FPGA compile system with three fundamental software components, resulting in a modular, scalable compile solution. The compile system is split into three parts: the development computer, the server, and any number of workers.
Development Machine —The LabVIEW development environment is where you create your LabVIEW FPGA VI. When you compile your LabVIEW FPGA VI, the compiler completes the Generating Intermediate Files step. After generation, the development computer sends the intermediate files through web services communication to the FPGA compile server. All communication between the development computer and the FPGA compile server is sent over an encrypted channel. For more information on the LabVIEW FPGA compilation process, see the whitepaper LabVIEW FPGA Compilation Process: From Run Button to Bitfile.
Compile Server—The server accepts compile jobs from many LabVIEW FPGA development systems and looks for available workers to farm out the compilation jobs. If no workers are available, the server holds the compile job in a queue until a worker becomes available.
Compile Workers—The workers have the Xilinx compilation tools installed for FPGA design synthesis, mapping, placing, and routing. With these tools, a worker executes the compile on the design and eventually generates a bit file that it sends back to the server, where the server sends it back to the development computer.
Figure 1: The compile system is split into three parts: the development machine, the compile server, and the compile workers.