HLS高层次设计综合技巧--数组优化设计
一、数组优化概述1.HLS高层次综合的三大部件函数循环和数组2.可见数组在HLS高层次综合中的重要性二、数组对应硬件1.数组综合后通常作为RAM,ROM,FIFO来实现2.顶层函数接口的数组作为RTL端口来进行综合的其内存都是外挂的三、数组对于HLS优化设计存在瓶颈1.数组的访问通常会造成性能瓶颈2.数组的优化设计至关重要3.数组作为RAM,ROM或者FIFO端口数量是至关重要的4.数组端口的数量是对设计的性能和瓶颈至关重要端口的数量并不是越多越好端口太多会造成LUT资源爆炸5.数组的初始化至关重要是否要初始化如何进行初始化都是一门学问6.数组初始化如未谨慎执行则可能导致 RTL 中不必要的长时间复位和初始化。7.如果要进行读写指定为RAM如果只读指定为ROM四、数组优化1.使用数组最优化指令Array_Partition、Array_Map 或 Array_Reshape来重新配置数组结构从而重新配置 I/O 端口数量。2.使用数组备份的方式来进行优化间接的扩大数组的的端口数量