[发明专利]一种基于FPGA的DDR3多通道读写控制器及控制方法在审
申请号: | 201911373430.7 | 申请日: | 2019-12-26 |
公开(公告)号: | CN111158633A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 王成栋;黄齐;马运超;杨冬辰;王成 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F5/06 | 分类号: | G06F5/06;G06F13/16;G06F13/18 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga ddr3 通道 读写 控制器 控制 方法 | ||
1.一种基于FPGA的DDR3多通道读写控制器及控制方法,其特征在于,DDR3的多通道读写控制采用FPGA实现,控制器包括:多组数据写通道、多组数据读通道、读写控制状态机和DDR3芯片控制器;其中多组数据写通道包括异步写地址FIFO和异步写数据FIFO;多组数据读通道包括异步读地址FIFO和异步读数据FIFO;读写控制状态机和DDR3芯片控制器组成读写控制模块,读写控制模块与数据读写通道都与DDR3芯片控制器相连接;异步写地址FIFO和异步写数据FIFO为数据写通道的地址和数据缓存,写时钟为用户操作时钟,读时钟为读写控制器工作时钟;异步读地址FIFO为数据读通道的地址缓存,写时钟为用户操作时钟,读时钟为读写控制器工作时钟;异步读数据FIFO为数据读通道的数据缓存,写时钟为读写控制器工作时钟,读时钟为用户操作时钟,并且配置程控写满标志;异步写地址FIFO和异步读地址FIFO的位宽与DDR3芯片控制器地址的位宽相同,异步写数据FIFO和异步读数据FIFO的位宽与DDR3芯片控制器数据的位宽相同。
2.根据权利要求1所述的一种基于FPGA的DDR3多通道读写控制器及控制方法,其特征在于,读写控制模块以写通道的写地址FIFO读空信号为低作为写请求,以读通道的读地址FIFO读空信号为低且读数据FIFO程控写满标志为低作为读请求,根据通道的优先级通过DDR3芯片控制器对DDR3芯片进行数据的读、写操作;读写控制模块中的读写控制状态机包含A、B、C、D、E共5种状态,各状态的含义、执行操作及转移流程如下:
状态A:状态A为初始状态,执行的操作包括:复位各通道FIFO,初始化各通道处理标记和各通道最大转移数据个数,并为每个通道设置优先级,通过DDR3芯片控制器初始化DDR3芯片,等待DDR3芯片初始化完成,然后转移至状态B;
状态B:状态B为空闲状态,执行的操作包括:检查未处理的各通道是否有请求,若各通道均无请求,则重置通道处理标记;否则,选择未处理的各请求通道中优先级最高的通道作为待处理数据通道;若选通的待处理数据通道为写通道,则转移至状态C;若选通的待处理数据通道为读通道,则转移至状态E;
状态C:状态C为写入状态,执行的操作包括:读取状态B所选通的写通道的写地址FIFO中的缓存地址,同时读取写数据FIFO中的缓存数据,通过DDR3芯片控制器将数据写入DDR3芯片;当写地址FIFO读空或写入数据个数等于当前通道最大转移数据个数时,停止写入,并将通道标记设置为已处理,转移至状态D;
状态D:状态D为数据更新状态,执行的操作包括:检查该通道是否有读写请求,若有请求,则增加该通道的最大转移数据个数;否则,减少该通道的最大转移数据个数;转移至状态B;
状态E:状态E为读出状态,执行的操作包括:读取状态B所选通的读通道的读地址FIFO中的缓存地址,通过DDR3芯片控制器从DDR3芯片中读出地址所对应的数据,并将数据写入读数据FIFO;当读地址FIFO读空,或读数据FIFO程控写满,或读出数据个数等于当前通道最大转移数据个数时,停止读出,并将通道标记设置为已处理,转移至状态D。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911373430.7/1.html,转载请声明来源钻瓜专利网。