-
Notifications
You must be signed in to change notification settings - Fork 23
Generating Hardware IP (Verilog)
There are several examples in Halide-HLS/apps/hls_examples. The supported example applications are listed in Halide-HLS/apps/hls_examples/app.txt. They have similar file structure and can be built with the make command.
-
generating hardware accelerator design.
cd Halide-HLS/apps/hls_examples/[app_name] make pipeline_hls.cppThe command generates a HLS kernel (
hls_target.cpp) and a C test wrapper (pipeline_hls.cpp) for the application. The accelerator kernel designhls_target.cppcan be synthesized to Verilog using Vivado HLS compiler. -
Running C simulation. The simulation verifies the functionality of HLS C design by checking the outputs with the Halide CPU implementation reference.
make out.png -
Synthesizing HLS C with Vivado HLS (version 2015.4 required).
vivado_hlscommand needs to be found in PATH.make run_hlsThe default script
Halide-HLS/apps/hls_examples/hls_support/run_hls.tclruns through C simulation, C synthesis, post-synthesis simulation (usually slow), and IP packaging. Comment out corresponding commands in the script to skip any stages. -
Analyzing HLS results using Vivado HLS GUI. Refer to the HLS tool document for more usage.
vivado_hls -p hls_prj