一、Dataflow区域说明1.应用dataflow指令的区域各个子模块之间的通信全部综合为通道2.对应scalar标量变量这个再dataflow区域会被综合为depth比较小的FIFO;3.对于废标量变量例如数组这个在dataflow区域可以被指定为FIFO前提是数组的访问是顺序的4.对于数组在dataflow区域优化如果是随机访问的被指定乒乓PIPO缓存二、Dataflow设计模型三、关于hls::stream,array在datflow区域的应用1.hls::stream定义类型不可以进行索引访问hls::streamap_uintxxx line_buff;#pragma HLS STREAM variableline_buff off depthCOLS dim1虽然这个被指定为RAM关闭FIFO但是综合还是FIFO不要使用索引访问2.static ap_uintxxx line_buff[COLS];上述数组可以指定为FIFO或者RAM但是这里要注意你指定为FIFO会存在一个问题如果你的生产者-消费者模型设计在两个函数中那么C仿真是不可能正确的所以如果你要使用RAM来进行多个task之间并行处理必须把两块逻辑写在一起才行不要写到两个函数或者写到两个分离的循环。3.双模块通信如果要free-run设计的双模块通信也就是生产者-消费者设计只能使用hls::stream和普通标量是不能使用array来通信的因为C仿真无法完成这个建模设计。