I'm working on a Vivado HLS project using version 2018.2, and I'm encountering an issue with the set_directive_dataflow command in my TCL script.
The specific error message is:
ERROR: [HLS 200-101] 'set_directive_dataflow': Unknown option '-disable_start_propagation'
.
Additional Information:
Vivado HLS Version: 2018.2
Operating System: Windows 10
TCL Scripts:
gen_proj.tcl:
open_project nnet_stream
set_top nnet
add_files nnet.cpp
add_files -tb nnet_test.cpp
open_solution "solution1"
set_part {xc7z020clg400-1} -tool vivado
create_clock -period 13 -name default
source "directives.tcl"
directives.tcl:
set_directive_dataflow -disable_start_propagation "nnet"
set_directive_unroll "conv_layer1/conv_layer1_label6"
set_directive_unroll "conv_layer1/conv_layer1_label7"
set_directive_unroll "conv_layer1/conv_layer1_label8"
set_directive_unroll "conv_layer1/conv_layer1_label2"
set_directive_pipeline -II 8 "conv_layer1/conv_layer1_label9"
set_directive_unroll "conv_layer2/conv_layer2_label10"
set_directive_unroll "conv_layer2/conv_layer2_label11"
set_directive_pipeline "conv_layer2/conv_layer2_label12"
set_directive_unroll "conv_layer2/conv_layer2_label13"
set_directive_unroll "conv_layer2/conv_layer2_label3"
set_directive_unroll "conv_layer1/conv_layer1_label0"
set_directive_unroll "conv_layer1/conv_layer1_label1"
set_directive_unroll "pool_layer1/pool_layer1_label14"
set_directive_unroll "pool_layer1/pool_layer1_label15"
set_directive_unroll "pool_layer1/pool_layer1_label16"
set_directive_unroll "pool_layer1/pool_layer1_label17"
set_directive_unroll "pool_layer1/pool_layer1_label18"
set_directive_unroll "pool_layer1/pool_layer1_label19"
set_directive_unroll "pool_layer1/pool_layer1_label20"
set_directive_unroll "pool_layer1/pool_layer1_label21"
set_directive_pipeline -II 232 "pool_layer1/pool_layer1_label6"
set_directive_unroll "pool_layer1/pool_layer1_label22"
set_directive_unroll "pool_layer1/pool_layer1_label23"
set_directive_pipeline "pool_layer1/pool_layer1_label7"
set_directive_unroll "pool_layer2/pool_layer2_label24"
set_directive_unroll "pool_layer2/pool_layer2_label25"
set_directive_unroll "pool_layer2/pool_layer2_label26"
set_directive_unroll "pool_layer2/pool_layer2_label27"
set_directive_pipeline "pool_layer2/pool_layer2_label8"
set_directive_unroll "pool_layer2/pool_layer2_label29"
set_directive_unroll "pool_layer2/pool_layer2_label16"
set_directive_pipeline "pool_layer2/pool_layer2_label9"
set_directive_unroll "fc_layer1/fc_layer1_label30"
set_directive_unroll "fc_layer2/fc_layer2_label31"
set_directive_unroll "fc_layer3/fc_layer3_label32"
set_directive_unroll "pool_layer1/pool_layer1_label33"
set_directive_unroll "pool_layer1/pool_layer1_label34"
set_directive_unroll "pool_layer1/pool_layer1_label35"
set_directive_unroll "pool_layer2/pool_layer2_label36"
set_directive_unroll "pool_layer2/pool_layer2_label37"
set_directive_unroll "pool_layer2/pool_layer2_label38"
set_directive_unroll "pool_layer2/pool_layer2_label39"
set_directive_unroll "pool_layer2/pool_layer2_label0"
set_directive_pipeline "pool_layer2/pool_layer2_label28"
set_directive_unroll "conv_layer2/conv_layer2_label4"
set_directive_unroll -factor 4 "fc_layer2/fc_layer2_label41"
set_directive_unroll -factor 4 "fc_layer1/fc_layer1_label40"
set_directive_unroll -factor 4 "fc_layer3/fc_layer3_label42"
I am using the following command to run run the project, vivado_hls -f gen_project.tcl. The github repository that I am following is: https://github.com/amiq-consulting/CNN-using-HLS
I understand that the -disable_start_propagation option is not recognized in Vivado HLS, and removing it from the directives.tcl makes "running sources" to run forever.
This error can happen if there is an unexpected character in the project path (for example, white spaces, Non-English standard characters, Backslashes).
Users can solve this issue by renaming the project path to avoid unexpected characters.
See : AMD