std::vector vector< int > p; vector< int > q; vector <int> reverse_p; vector <int> bandwidth; vector< int > sort_array; Dynamic memory is not allowed in sythesizable code… as such STL items such a vector are not allowed. You can use a fixed (known maximum sized) array instead.