《基于FPGA的DDR3多端口读写存储管理的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于FPGA的DDR3多端口读写存储管理的设计与实现.docx(5页珍藏版)》请在第一文库网上搜索。
1、基于FPGA的DDR3多端口读写存储管理的设计与实现摘要:为了解决视频图形显示系统中多个端口访问DDR3的数据存储冲突,设计并实现了基于EEGA的DDR3存储管理系统。DDR3存储器控制模块使用MIG生成DDR3控制器,只需通过用户接口信号就能完成DDR3读写操作。DDR3用户接口仲裁控制模块将中断请求分成多个子请求,实现视频中断和图形中断的并行处理。帧地址控制模块确保当前输出帧输出的是量断写满的帧。结果表明,设计的DDR3存储管理系统简化了多端口读写DDR3的复杂度,提高并行处理的速度。引言机载视频图形显示系统主要实现2D图形的绘制,构成各种飞行参数画面,同时叠加实时的外景视频。由于FPGA
2、具有强大逻辑资源、丰富IP核等优点,基于FPGA的嵌入式系统架构1是机载视频图形显示系统理想的架构选择。视频处理和图形生成需要存储海量数据,FPGA内部的存储资源无法满足存储需求,因此需要配置外部存储器。与DDR2SDRAM相比,DDR3SDRAM带宽更好高、传输速率更快且更省电23,能够满足吞吐量大、功耗低的需求,因此选择DDR3SDRAM作为机载视频图形显示系统的外部存储器。本文以Xi1inx公司的Kintex-7系列XC7K410TFPGA芯片和两片Micron公司的MT41J128M16DDR3SDRAM芯片为硬件平台,设计并实现了基于FPGA的视频图形显示系统的DDR3多端口存储管理
3、。1总体架构设计机载视频图形显示系统中,为了实现多端口对DDR3的读写访问,设计的DDR3存储管理系统如图1所示。主要包括DDR3存储器控制模块、DDR3用户接口仲裁控制模块和帧地址控制模块。图1DDR3存储管理系统设计框图DDR3存储器控制模块采用Xi1inx公司的MIG4(MemoryInterfaceGenerator)方案,通过用户接口建立FPGA内部控制逻辑蓟DDR3的连接,用户不需要管理DDR3初始化、寄存器配置等复杂的控制逻辑,只需要控制用户接口的读写操作。DDR3用户接口仲裁控制模块将每一个数据读写请求设置成中断,借鉴中断处理思想来进行仲裁控制,从而解决数据存储的冲突。帧地址控
4、制模块控制帧地址的切换。为了提高并行处理的速度,简化数据读写冲突,将图形数据和视频数据分别存储在不同的DDR3中。2DDR3存储器控制模块设计MIG生成的DDR3控制器的逻辑框图5如图2所示,只需要通过用户接口信号就能完成DDR3读写操作,大大简化了DDR3的设计复杂度。用户接11NnG生力支DDR3控制器物理接口dd3ddrhddr3bahddr3casn用户设计app_cInd/.app/ddfapp_en.一app_fdyapp_wdfjh%appjvd口XUS5.二PP-WdfJrdyappwdfend.用户接U模块内存控制器模块物理房模块本地接口MCPHY接11IIIOBddr3ck
5、ddr3_ck_n.ddf3_cke/ddr3c$n.!7ddr3dm/ddr3Odtddr3-paritddr3rasnddr3resetddr3wenDDR3SDRAM.岫3_dq/瞥3_dqs_).平理生./apPd_data颦_fd_data_va1id掌d_data_end图2DDR3控制器的逻辑框图2.1 DDR3控制模块用户接口写操作设计DDR3存储器控制模块用户接口写操作有两套系统,一套是地址系统,一套是数据系统。用户接口写操作信号说明如表1所示。表1DDR3控制器用户接口写操作信号说明信号名称方向位宽功能描述地app_cmdO33,b000写址app_addrO28输入写地址
6、系appenO1地址系统使能信号统app_rdyI1准备接收写命令数据系-统appwdfmaskO16数据掩码信号app_vvdf_rdyI1准备接收写数据appvdfdataapp_wd1Wrenapp_wdfendOOO12811写入DDR3的数据写数据有效信号bmst谕人较宿地址系统的内容是app冶dr和app_cmd,两者对齐绑定,app_cmd为OOo时为写命令,当app_rdy(DDR3控制)和app_cn(用户控制)同时拉高时,将app_addr和app_cmd写到相应FIFO中。数据系统的内容是app_wdf_data,它在app_wdf_rdy(DDR3控制)和app_wdf
7、_wren(用户控制)同时拉高时,将写数据存到写FIFOo为了简化设计,本文设计的用户接口写操作时序如图3所示,使两套系统在时序上完全对齐。app_cmdapp_addrapp_en.PP-fapp_wdfmask/)UJi1b/J(OOO)(Addra)(OOoXOOOXOOO)(Addrb戈AddrCXAddrd)iCZZ(ZZZr、Ij11111ha迎a?Maskb)卜Maskc)IIMaskdX/e1kapp_wdf_dataapp_wdf_wrenapp_wdf_end图3DDR3写操作时序图(突发长度B1=8)2.2 DDR3控制模块用户接口读操作设计用户接口读操作也分为地址系统和
8、数据系统。用户接口读操作信号说明如表2所示。表2DDR3控制器川户接I1读操作信号说明信号名称方向位宽功能描述地app_cmdO33,b001读址app_addrO28输入读地址系app_enO1地址系统使能信号统app_rdyI1准备接收读命令数app_rd_dataI128DDR3读出的数据读数据有效信号app_rd_data_Iva1id地址系统与写操作相同,在时钟上升沿且HDDr相为高电平时,用户端口同时发出读命令(app_cmd二Oo1)和读地址,并将app_en拉高,将读命令和地址写到FIFo中。对于数据系统,当app_rd_data_va1id有效,则读数据有效,读回的数据顺序与地址/控制总线请求命令的顺序相同。读操作地址系统和数据系统一般是不对齐的,因为地址系统发送到DDR3后,DDR3需要一定的反应时间,读操作时序如图4所示。cik厂VjVVWWJr藏而一MZ尸必物”Iapp.addrWWZi1mfUnTnJjI卿.6yI_i1!appdy!IIjI藐茸声位而THMT而而?E上EId1IIr图4DDR3读操作时序图(突发长度B1=8)