When you include -march="<FPGA_family_or_part_number>" in your i++ command, the HLS compiler identifies the components and performs high-level
synthesis on them. It then generates an executable to run a verification
testbench.
The HLS compiler performs
the following tasks to generate the verification executable:
- Parses your design, and extracts the functions and symbols necessary for component synthesis to the FPGA. The HLS compiler also extracts the functions and symbols necessary for compiling the C++ testbench.
- Compiles the testbench code to generate an x86-64 executable that also runs the simulator.
- Compiles the code for component synthesis to the FPGA. This compilation generates RTL for the component and an interface to the x86-64 executable testbench.