搜索
bottom↓
回复: 4

请教一下PCIE读DDR的逻辑

[复制链接]

出0入8汤圆

发表于 2023-12-22 11:39:52 | 显示全部楼层 |阅读模式
请教各位一个问题,FPGA一直往DDR里面写数据(按照地址从头写到尾),PCIE接口往DDR里面一直读数据(按照地址读)。
这一套逻辑是怎么样的?我怎么才能判断我写的数据没有覆盖我还没有读的数据呢?(就是读慢了,写的话已经覆盖了上一次的数据),用个寄存器报错?

出0入442汤圆

发表于 2023-12-22 12:32:50 | 显示全部楼层
有条件就加地址管理,满了就不要写了。要么就加片断,数据按块存放,每次读一块数据。

出0入8汤圆

 楼主| 发表于 2023-12-22 14:04:52 | 显示全部楼层
wye11083 发表于 2023-12-22 12:32
有条件就加地址管理,满了就不要写了。要么就加片断,数据按块存放,每次读一块数据。 ...
(引用自2楼)

谢谢!
再请教一下,如果按块存放的话,每次写完一个块,PC端读完一个块,是否要加个寄存器之类的做判断呢?
另外地址管理指的是啥?

出0入442汤圆

发表于 2023-12-22 16:07:59 | 显示全部楼层
opiviqo 发表于 2023-12-22 14:04
谢谢!
再请教一下,如果按块存放的话,每次写完一个块,PC端读完一个块,是否要加个寄存器之类的做判断 ...
(引用自3楼)

写完之后没有空块就等着。

出0入17汤圆

发表于 2023-12-25 10:48:06 | 显示全部楼层
测试了一下ChatGPT,以下是ChatGPT回答的内容:
------
在描述的场景中,FPGA(现场可编程门阵列)不断地向DDR内存写入数据,而通过PCIe接口,系统则不断地从DDR内存中读取数据。这种场景通常出现在高速数据采集、处理和传输应用中。为了确保写入的数据不会覆盖还未被读取的数据,可以采用以下策略:

环形缓冲区(Ring Buffer)

    定义环形缓冲区:在DDR内存中设置一个环形缓冲区。这意味着内存被划分为多个区块(比如称为“框架”或“页”)。

    写指针和读指针:使用两个指针(或地址寄存器),一个用于FPGA写操作(写指针),另一个用于PCIe读操作(读指针)。

    写入和读取逻辑:
        FPGA按顺序写入数据到当前的写指针指向的区块,完成一个区块后移动到下一个。
        PCIe从读指针指向的区块读取数据,完成后移动到下一个。

    检测和处理覆盖情况:
        在每次写操作前,检查写指针是否即将“追上”读指针。如果是,这意味着写入速度快于读取速度,可能会覆盖未读数据。
        如果检测到覆盖风险,可以采取措施,如暂停写操作、发出警告或将数据写入备用区域。

状态寄存器

设置一个状态寄存器或标志位来监控每个区块的状态(例如,“空闲”,“已写入”,“已读取”)。这可以帮助协调读写操作,确保数据一旦被读取,相应的区块状态会更新,从而避免数据被覆盖。
实现

    编写逻辑代码:在FPGA中实现上述逻辑,通常使用硬件描述语言(HDL)如VHDL或Verilog。

    测试和调试:在实际硬件上或使用仿真工具测试和调试逻辑,确保读写操作按预期运行。

    优化性能:根据实际需求调整缓冲区大小、数据块大小等参数,以优化性能和资源使用。

注意事项

    同步机制:确保读写操作之间正确的同步,尤其是在多线程或多进程环境中。
    缓冲区管理:合理管理缓冲区大小和数量,以避免内存浪费和性能瓶颈。
    硬件资源:注意FPGA和内存的硬件资源限制。

通过这样的设计,可以有效地管理FPGA到DDR的写操作和PCIe到DDR的读操作,确保数据的完整性和高效处理。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 06:00

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表