改善吞吐率
提高并行度
DATAFLOW 可以作用于函数和循环,是一种 ping-pong 操作的方式。任务级流水线,用来减少间隔
PIPELINE 减少了II(启动时间)
当 PIPELINE 作用于函数的时候是连续的,从 IO 的角度来看也是连续的。
当 PIPELINE 作用于循环的时候,在两次循环之间是有一个空挡的,从 IO 的角度来看有一个 Bubble。
改善时延
ARRAY_PARTITION 解决BRAM瓶颈问题
INLINE 提高延迟/间隔,减少函数调用开销。
LOOP_MERGE融合循环,减少总延迟
常用于改善时延的 directives 有 LATENCY、 LOOP_MERGE、LOOP_FLATTEN 等。
-
LATENCY 既可以作用于函数也可作用于循环。
- LOOP_MERGE 用于将顺序的 Loop 合并在一起。
- LOOP_FLATTEN 用于将嵌套的循环展开为一个大的循环。
3 改善资源
ALLOCATION 限制硬件数,实例个数