FPGA Prototyping also referred to as FPGA-based prototyping, ASIC prototyping, or system-on-chip (SoC) prototyping, is the method to prototype system-on-chip and application-specific IC (integrated circuit) designs on FPGAs for hardware verification and early software development by porting their RTL to FPGAs (field programmable gate array).
FPGA prototyping can meet the diversified requirements of different chip design scales and design scenarios. The high performance also makes it possible for the device under test to interact with real-world data to catch real-world bugs. FPGA prototyping is a lower cost option than hardware emulation.
Today, there is a big need for prototypes. The three key use models that drive the demand are software development, architecture exploration, and functional verification.
The main benefit of FPGA-based prototyping is that they can operate quickly, producing tens of MIPS per modeled CPU, while maintaining RTL accuracy. They are frequently accessible later in the design flow.
Here are the main benefits of FPGA Prototyping:
10-100 times faster than emulation, 1000-10000 times faster than simulation
Verify hardware, firmware, and application software design functionality before code freeze
Early Software Development
tart software development and validation before the first silicon
Accelerate Time-to-market (TTM)
Shorten the design cycle by 6-9 months.
We all know that complexities in design and shrinking time-to-market windows are driving up design and verification costs. More and more engineers are turning to FPGA-based Prototyping for their quest to verify their designs on time. To figure out if FPGA-based prototyping is the optimal choice for your design and verification flow, you should ask yourself these questions.
Is testing of my design in real-time critical to design success?
To answer this question, you should analyze the importance and complexities of your design’s functionality. As mentioned earlier, simulation can only get you so far when dealing with complex device behavior. Deep and accurate assessment can’t be achieved simply through simulation no matter how many regressions are done. Confidence in a design can often only be achieved through the ability to test it in real-time scenarios especially for designs heavily dependent on timing accuracy.
Many applications need to be tested in real time or close to real time to assess the quality of the design. Examples of this are Video and Audio applications. In addition, some designs require real-world testing involving outside environments, noise, or interfacing with 3rd party designs and infrastructures.
How many tests will you need to run and what is the time window that needs to be achieved between testing and implementation?
As your design stabilizes and matures, validating the software components come into play. At this stage, emulation and prototyping have distinct advantages. If you need to get your model up and running quickly with only the need to run a few tests, then emulation is ripe for your application. Emulation may only need a few hours to set up and get going, while an FPGA prototype can take weeks. However, if the number of tests you need to perform are more significant and you need faster performance for software development and compatibility testing, then FPGA prototyping might serve your needs better. Although it may take much longer to set up, FPGA prototyping is unarguably much faster than emulation. Typical emulation speeds run at about 500 KHz where prototyping can easily run between 10 and 50 MHz with some reaching as much as 100MHz.
Given these speed differences, the point of performance/testing crossover between these two solutions is strikingly short (even with FPGA prototyping’s long set up time) and the performance gap grows dramatically thereafter. The difference in performance is particularly steep when prototype replicates (copies) are used in parallel. The cost advantage that FPGA-based prototypes enjoy – typically 5 to 1 – allows multiple platforms to be deployed, thereby accelerating overall performance. Therefore, you can complete exponentially more tests in a shorter amount of time when using FPGA prototyping.
What is your budget?
A simplistic view is that emulation is expensive when compared to FPGA prototyping. However, a deeper analysis of this idea is merited. Most companies can afford to implement a few emulators for early design verification, but when implementing for a large number of replicates for software development and compatibility testing, the costs of emulation soar. As mentioned in the answer to question 2, the cost advantage of FPGA prototyping is 5 to 1 compared to emulation for even faster and more cost effective performance.
Worldwide leader of FPGA-based prototyping