Xilinx-SDSoC-FPGA #pragma SDS data access_pattern 指令将BRAM 用作RAM/FIFO 解析

本文介绍了在ZCU102平台上,使用Xilinx SDSoC开发环境中,如何通过#pragma SDS data access_pattern指令控制FPGA综合生成的硬件接口类型。该指令可以将数据数组综合为RAM或FIFO,影响数据的读取顺序和次数。RAM(Sequential)提供流接口,适合顺序读取,而FIFO(Random)则允许任意位置的读写,且具有先入先出特性。同时提到了单口RAM、双口RAM和伪双口RAM的概念,以及与FIFO的区别。指令的配合使用还包括#pragma SDS data sys_port和#pragma SDS data data_mover,用于优化PS-PL间的数据交互和传输设置。
摘要由CSDN通过智能技术生成

平台:ZCU102

开发环境:SDSoC


在做PS端与PL端数据通信时, 需要通过 #pragma SDS data access_pattern指令来指定FPGA综合生成PL端的硬件接口是RAM还是FIFO;

指令语法:

#pragma SDS data access_pattern(ArrayName:<pattern> )

ArrayName: 传递的参数名

<patten>: 有两种模式:SEQUENTIAL   or     RANDOM,   默认是RANDOM;

如果access_pattern是SEQUENTIAL,Array会被综合成一个FIFO接口(流接口),如ap_fifo,FIFO接口的特性是只能按顺序读取数据,如A[0],A[1],A[2],A[3]......A[1023],并且每个数据只能被读取一次;如果是RANDOM,Array会被综合成一个RAM,RAM的特性是每个数据可以被读取一次或多次。

下面是RAM和FIFO在读写上具体的区别(具体到时钟周期),具体参考请点击这里

RAM又分单口RAM与双口RAM:

双口RAM:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值