[发明专利]一种基于FPGA的乱序内存控制器及其实现方法有效

专利信息
申请号: 201210357658.9 申请日: 2012-09-24
公开(公告)号: CN102945213A 公开(公告)日: 2013-02-27
发明(设计)人: 张庆敏;张衡;胡刚 申请(专利权)人: 无锡众志和达存储技术股份有限公司
主分类号: G06F13/16 分类号: G06F13/16
代理公司: 北京中恒高博知识产权代理有限公司 11249 代理人: 宋敏
地址: 214028 江苏省无锡市新*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 fpga 内存 控制器 及其 实现 方法
【权利要求书】:

1.一种基于FPGA的乱序内存控制器,其特征在于,主要包括:

前端部分:用于基于系统的读写内存请求命令,主要负责系统总线请求和仲裁,并向后端部分发送读写请求命令、数据和地址信息; 

后端部分:用于负责实现基于FPGA的乱序内存控制器的包括内存映射逻辑、标签管理逻辑和内存控制读写逻辑以及内存命令生成器逻辑的硬件控制逻辑;在后端部分中,内存命令生成器输出的命令行信号接口,直接与SDRAM器件的输入接口连接,用于实现对SDRAM的读写控制;

数据路径:穿过所述前端部分和后端部分,用于提供单独的读通道和写通道,实现读写数据在系统端和内存之间的数据通路。

2.根据权利要求1所述的基于FPGA的乱序内存控制器,其特征在于,所述后端部分也就是内存控制读写硬件逻辑,包括内存映射逻辑模块、标签管理逻辑模块和内存命令生成器;所述乱序内存控制器逻辑模块接收前端部分的系统请求和仲裁信息,通过内存控制逻辑模块实现逻辑地址到内存物理地址的映射,通过标签管理逻辑模块和统一的调度机制实现对内存控制命令的产生和管理内存的读写;所述乱序内存控制器的内存命令生成器模块的下端,与内存硬件接口相连。

3.根据权利要求2所述的基于FPGA的乱序内存控制器,其特征在于,所述内存命令生成器的SDRAM内存控制命令的产生,符合SDRAM协议规定的读写时序要求,主要是基于内存命令生成器乱序内存控制逻辑的时序状态机模块和时序状态缓存模块,时序状态机模块实现命令控制状态的跳转和时序要求,时序状态缓存模块实现对命令信号的缓存控制;所述内存命令生成器的上端,连接乱序内存控制器的内存控制读写硬件逻辑。

4.根据权利要求3所述的基于FPGA的乱序内存控制器,其特征在于,所述内存控制器读写模块,用于实现内存控制器主要读写逻辑;内存控制读写硬件逻辑,由Bank状态机模块来实现统一的读写调度和乱序控制,乱序逻辑控制通过标签管理逻辑模块的硬件逻辑实现。

5.根据权利要求3所述的基于FPGA的乱序内存控制器,其特征在于,所述后端部分的内存控制读写硬件逻辑,处理总线请求和仲裁信息包括系统请求缓存模块、bank缓存模块、bank状态机模块和命令时序发生器模块,以及读缓存控制模块和写缓存控制模块。

6.一种根据权利要求1所述的基于FPGA的乱序内存控制器的实现方法,其特征在于,包括:

在乱序内存控制器的后端部分的逻辑控制中,标签管理逻辑模块处理内存控制器模块解析总线请求和仲裁的地址和数据信息,对映射逻辑地址到内存地址的读写请求分别做一个读写的标签管理,对每次读写的标签信息通过标签寄存器来寄存;

读写标签代表每一次请求读写突发数据操作;

当一次读突发数据没有完成而有写内存请求时,可以通过写标签来判断写内存的地址进行对内存的写操作;当一次写突发数据没有完成而有读内存请求时,可以通过读标签来判断读内存的地址进行对内存的读操作。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡众志和达存储技术股份有限公司,未经无锡众志和达存储技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210357658.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top