2.1. High Level Synthesis Design Flow
- Creating your component and testbench.
You can write a complete C++ application that contains both your component code and your testbench code.
For details, see Creating a High-Level Synthesis Component and Testbench.
- Verify the functionality of your component algorithm and testbench.
Verify the functionality by compiling your design to an x86-64 executable and running the executable. For details, see Verifying the Functionality of Your Design.
- Optimize and refine the FPGA performance of your component.
Optimize the FPGA performance of your component by compiling your design to an FPGA target and reviewing the high-level design report to see where you can optimize your component. This step generates RTL code for your component. For details, see Optimizing and Refining Your Component.
After initial optimizations, you can see where to further refine your component by simulating it. For details, see Verifying Your IP with Simulation.
- Synthesize your component with Intel® Quartus® Prime.
For details, see Synthesize your Component IP with Intel Quartus Prime Pro Edition.
Synthesizing your component generates accurate quality-of-results (QoR) metrics like FPGA area utilization and fMAX.
- Integrate your IP into a system with Intel® Quartus® Prime or Platform Designer (formerly Qsys).
For details, see Integrating your IP into a System.
For an example of the Intel® HLS Compiler design flow, watch the HLS Walkthrough series at the Intel FPGA channel on YouTube or complete the full-design tutorial found in <quartus_installdir>/hls/examples/tutorials/usability.