Change Array Length

In reply to Ankelih:

Verilog does not allow operands with dynamically sized widths. You can create a bitwise mask to do this

tmp_array = data & (512'b1 << data_len_code*8) - 1