基于FPGA的DDR3多端口读写存储管理系统设计

基于FPGA的DDR3多端口读写存储管理系统设计

来源:电子技术设计作者:佚名  2015年04月07日 15:52  8805次阅读

http://www.elecfans.com/d/public/images/u298.png 0

  机载视频图形显示系统主要实现2D图形的绘制,构成各种飞行参数画面,同时叠加实时的外景视频。由于FPGA具有强大逻辑资源、丰富IP核等优点,基于 FPGA的嵌入式系统架构是机载视频图形显示系统理想的架构选择。视频处理和图形生成需要存储海量数据,FPGA内部的存储资源无法满足存储需求,因此需要配置外部存储器。

  与DDR2 SDRAM相比,DDR3 SDRAM带宽更好高、传输速率更快且更省电,能够满足吞吐量大、功耗低的需求,因此选择DDR3 SDRAM作为机载视频图形显示系统的外部存储器。

  本文以Kintex-7系列XC7K410T FPGA芯片和两片MT41J128M16 DDR3 SDRAM芯片为硬件平台,设计并实现了基于FPGA的视频图形显示系统的DDR3多端口存储管理。

  1 总体架构设计

  机载视频图形显示系统中,为了实现多端口对DDR3的读写访问,设计的DDR3存储管理系统如图 1所示。主要包括DDR3存储器控制模块、DDR3用户接口仲裁控制模块和帧地址控制模块。

  

  DDR3存储器控制模块采用MIG(Memory Interface Generator)方案,通过用户接口建立FPGA内部控制逻辑到DDR3的连接,用户不需要管理DDR3初始化、寄存器配置等复杂的控制逻辑,只需要控制用户接口的读写操作。

  DDR3用户接口仲裁控制模块将每一个数据读写请求设置成中断,借鉴中断处理思想来进行仲裁控制,从而解决数据存储的冲突。

  帧地址控制模块控制帧地址的切换。为了提高并行处理的速度,简化数据读写冲突,将图形数据和视频数据分别存储在不同的DDR3中。

  2 DDR3存储器控制模块设计

  MIG生成的DDR3控制器的逻辑框图如图 2所示,只需要通过用户接口信号就能完成DDR3读写操作,大大简化了DDR3的设计复杂度。

  

  2.1 DDR3控制模块用户接口写操作设计

  DDR3存储器控制模块用户接口写操作有两套系统,一套是地址系统,一套是数据系统。用户接口写操作信号说明如表 1所示。

  

  地址系统的内容是app_addr和app_cmd,两者对齐绑定,app_cmd为000时为写命令,当app_rdy(DDR3控制)和 app_en(用户控制)同时拉高时,将app_addr和app_cmd写到相应FIFO中。数据系统的内容是app_wdf_data,它在 app_wdf_rdy(DDR3控制)和app_wdf_wren(用户控制)同时拉高时,将写数据存到写FIFO。

  为了简化设计,本文设计的用户接口写操作时序如图 3所示,使两套系统在时序上完全对齐。

  

  2.2 DDR3控制模块用户接口读操作设计

  用户接口读操作也分为地址系统和数据系统。用户接口读操作信号说明如表 2所示。

  

  地址系统与写操作相同,在时钟上升沿且app_rdy为高电平时,用户端口同时发出读命令(app_cmd=001)和读地址,并将app_en拉高,将读命令和地址写到FIFO中。对于数据系统,当app_rd_data_valid有效,则读数据有效,读回的数据顺序与地址/控制总线请求命令的顺序相同。

  读操作地址系统和数据系统一般是不对齐的,因为地址系统发送到DDR3后,DDR3需要一定的反应时间,读操作时序如图 4所示。

  

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA(现场可编程逻辑门阵列)与DDR3(双数据速率3)内存控制器结合使用时,可以实现多端口并行读取数据的功能。 首先,FPGA需要具备一个DDR3控制器来管理DDR3内存,并提供读写控制信号。DDR3控制器是FPGA中的一个硬核IP(智能属性)模块,通常由FPGA供应商提供。 接下来,我们需要配置DDR3控制器以支持多端口读取数据。多端口读取数据涉及多个读通道,可以同时从不同的内存地址读取数据,提高读取的效率。通过配置DDR3控制器,我们可以设置读通道的数量和每个读通道的地址范围。 然后,在FPGA的逻辑设计中,我们可以使用并行结构来读取DDR3内存中的数据。每个读通道都可以被看作一个独立的端口,通过读通道的地址范围和读取控制信号来访问对应的内存地址。当需要读取数据时,可以同时读取多个读通道的数据,并在逻辑设计中进行处理或存储。 在进行并行读取数据时,需要考虑DDR3内存访问的速度和带宽,以及FPGA的处理能力和资源限制。合理利用并行读取的方法,可以提高数据传输的速度和效率。 总结起来,FPGADDR3内存结合使用时,可以通过配置DDR3控制器来实现多端口并行读取数据的功能。在FPGA的逻辑设计中,可以使用多个读通道来同时读取DDR3内存中的数据,并进行后续处理或存储操作。这样可以提高读取数据的速度和效率,满足特定应用的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值