A const
type specifies that the value of the
variable is never updated. The variable is read but never written to and therefore must
be initialized. For most const
variables, this typically
means that they are reduced to constants in the RTL design. Vitis HLS performs constant propagation and removes any unnecessary
hardware).
In the case of arrays, the const
variable is
implemented as a ROM in the final RTL design (in the absence of any auto-partitioning
performed by Vitis HLS on small arrays). Arrays
specified with the const
qualifier are (like statics)
initialized in the RTL and in the FPGA bitstream. There is no need to reset them,
because they are never written to.