Coming from the virtual prototyping world, I envisioned FPGA-based prototyping as mostly a one on one application, meaning that the system resides with the end user or at least in a room close to the end user. However, it turns out that a lot of companies have moved towards a physical prototyping server farm setup.
Let’s look at what it means to have a prototyping server farm, the associated benefits and what capabilities enable this setup.
A prototyping server farm basically means that the FPGA prototypes are located in a central location and are typically stacked in a rack in a temperature-controlled room. The prototyping systems are configured and used remotely from around the world to perform software development, software-driven verification and hardware-software validation tasks.
The big advantage of this setup is that the systems can be used 24/7. When one test run is done, the next one can begin. Another advantage is that the prototyping team, the engineers responsible for creating the FPGA-based prototyping image of the IP, subsystem or SoC in development, can sit in a different location from the end-users, like verification engineers or software developers. This was possible in the past as well, but systems literally had to be shipped around the world to reach the end users. Other benefits include the ability to keep the systems at optimal temperature conditions and simplify system reconfiguration, such as changing cabling or daughter cards, which can all be done from a central location at once.
The key capability to enable a prototyping server farm is of course the ability to remotely access the physical prototype (see figure below), which is typically done through an Ethernet connection. For maximum productivity, the systems need to be reconfigurable remotely through tools that support build, job distribution and farm management and analysis.
To maximize the hardware utilization, multi-design mode is ideal, in that it allows flexible usage of any number of FPGAs available on the prototyping system. Such a capability supports prototyping of different size designs on multi-FPGA systems: IP prototyping on a single FPGA, CPU/GPU prototyping on single/multi-FPGA and SoC prototyping on multi-FPGA or many multi-FPGAs. The figure below illustrates how 4 different designs or 4 instances of the same design can be prototyped in parallel on a 4 FPGA prototyping system.
As designs and their embedded software stacks continue to grow in size and complexity, the need to leverage prototyping systems to develop and test hardware and software rises as well. Prototyping server farms offer the ideal setup to maximize utilization from your FPGA-based prototyping investment through global accessibility of the prototypes, scalability to support prototyping of IP through SoC and remote configuration, management and analysis of the test setups.