一种基于FPGA的DDR3多通道读写控制器及控制方法技术

技术编号:24167557 阅读:30 留言:0更新日期:2020-05-16 01:55
本发明专利技术公开了一种基于FPGA的DDR3多通道读写控制器及控制方法,DDR3的多通道读写由FPGA实现,控制器包括多组数据写通道、多组数据读通道、读写控制状态机和DDR3芯片控制器。其中多组数据的写通道和读通道分别由异步的写地址FIFO、读地址FIFO和数据FIFO组成;读写控制模块轮询处理各通道的读写请求,并依据各通道状态动态改变每次处理的地址请求个数,通过DDR3芯片控制器依据各通道的优先级对DDR3芯片进行数据的读、写操作。采用这种控制方法的DDR3读写控制器能实现对DDR3芯片的多通道实时访问。

【技术实现步骤摘要】
一种基于FPGA的DDR3多通道读写控制器及控制方法
本专利技术涉及基于FPGA的DDR3读写控制器领域,涉及存储器的多通道数据读写。
技术介绍
DDR3SDRAM存储器,即第三代双倍速率同步动态随机存储器,以下简称DDR3,因其具有容量大、速度快、低功耗等优点,在计算机、电子通信等领域得到了广泛应用。FPGA,即现场可编程门阵列,由于其具有高速的并行能力,在信号处理、图像处理领域有大量应用,由于FPGA的片上BlockRam容量有限,当需要处理大量数据时,常使用DDR3芯片扩展存储。在一个包含FPGA和DDR3的系统中,DDR3作为大容量存储器,通常作为系统数据缓冲区使用,是各个模块数据交换的媒介。无论直接控制DDR3芯片或者使用IP核读写DDR3芯片,单个数据通道的DDR3芯片往往不能满足系统大量、高速的数据读写需求。因此,需要扩展读写通道,对DDR3进行多通道的同时读取与写入,其中的多通道控制器及相应的控制方法十分重要。
技术实现思路
针对FPGA系统中多个模块需要对一片DDR3芯片同时进行高速写入或读取的需求,本专利技术公开了一种基于FPGA的DDR3多通道读写控制器及控制方法,技术方案如下:DDR3的多通道读写控制采用FPGA实现,控制器包括:多组数据写通道、多组数据读通道、读写控制状态机和DDR3芯片控制器;其中多组数据写通道包括异步写地址FIFO和异步写数据FIFO;多组数据读通道包括异步读地址FIFO和异步读数据FIFO;读写控制状态机和DDR3芯片控制器组成读写控制模块,读写控制模块与数据读写通道都与DDR3芯片控制器相连接;异步写地址FIFO和异步写数据FIFO为数据写通道的地址和数据缓存,写时钟为用户操作时钟,读时钟为读写控制器工作时钟;异步读地址FIFO为数据读通道的地址缓存,写时钟为用户操作时钟,读时钟为读写控制器工作时钟;异步读数据FIFO为数据读通道的数据缓存,写时钟为读写控制器工作时钟,读时钟为用户操作时钟,并且配置程控写满标志;异步写地址FIFO和异步读地址FIFO的位宽与DDR3芯片控制器地址的位宽相同,异步写数据FIFO和异步读数据FIFO的位宽与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。本专利技术公开的一种基于FPGA的DDR3多通道读写控制器及控制方法,将DDR3芯片的写操作简化为将数据和地址写入FIFO,将DDR3芯片的读操作简化为将地址写入FIFO、将数据从FIFO中读出,降低了DDR3芯片的操作难度,提高了读写DDR3芯片的灵活性。附图说明图1是本专利技术的DDR3多通道读写控制器实施例的结构图图2是本专利技术的DDR3多通道读写控制方法的状态转移图。本文档来自技高网...

【技术保护点】
1.一种基于FPGA的DDR3多通道读写控制器及控制方法,其特征在于,DDR3的多通道读写控制采用FPGA实现,控制器包括:多组数据写通道、多组数据读通道、读写控制状态机和DDR3芯片控制器;其中多组数据写通道包括异步写地址FIFO和异步写数据FIFO;多组数据读通道包括异步读地址FIFO和异步读数据FIFO;读写控制状态机和DDR3芯片控制器组成读写控制模块,读写控制模块与数据读写通道都与DDR3芯片控制器相连接;异步写地址FIFO和异步写数据FIFO为数据写通道的地址和数据缓存,写时钟为用户操作时钟,读时钟为读写控制器工作时钟;异步读地址FIFO为数据读通道的地址缓存,写时钟为用户操作时钟,读时钟为读写控制器工作时钟;异步读数据FIFO为数据读通道的数据缓存,写时钟为读写控制器工作时钟,读时钟为用户操作时钟,并且配置程控写满标志;异步写地址FIFO和异步读地址FIFO的位宽与DDR3芯片控制器地址的位宽相同,异步写数据FIFO和异步读数据FIFO的位宽与DDR3芯片控制器数据的位宽相同。/n

【技术特征摘要】
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种状态,各状态的含义、执行操作及转移流...

【专利技术属性】
技术研发人员:王成栋黄齐马运超杨冬辰王成
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1