Vivado HLS 2018.2 - Unknown option '-disable_start_propagation' in set_directive_dataflow

75 views Asked by At

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.

1

There are 1 answers

0
Mikef On

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