如何对任意精度类型的变量初始化
对于ap_[u]int类型
在C/C++里,是通过变量类型+变量名+数值,来对一个变量初始化,同样,对于任意精度的数据类型,我们也可以采用这种方式来进行变量初始化。在Vivado Hls里是支持copy initialization(Y)和direct initialization(Y)这两种方式来进行初始化,但不支持uniform initialization,同时,对于任意精度的数据类型,还可以采用基数符号+数值+基数,例如:
int data_i = 5;
ap_int<8> a_8bit_data_c = 18;
ap_int<8> a_8bit_data_d (18);
ap_int<8> a_8bit_data_r2("0b010010",2);
ap_int<8> a_8bit_data_r8("0o22",8);
ap_int<8> a_8bit_data_r10("18",10);
ap_int<8> a_8bit_data_r16("0x12",16);
注意:上面的基数符号是可以去掉的,在初始化的时候,尽可能每一行只初始化一个变量,避免在一行初始化多个变量
对于ap_[u]fixed类型
前面我们提到ap_[u]fixed< W