一种基于FPGA的可扩展的多端口DDR3控制器制造技术

技术编号:25396222 阅读:19 留言:0更新日期:2020-08-25 23:01
本发明专利技术涉及通讯技术领域,尤其涉及一种基于FPGA的可扩展的多端口DDR3控制器,包括仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块,所述仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块依次电连接;所述仲裁模块用于根据读写空间大小管理模块提供的读写剩余可用地址空间大小、各端口所对应的FIFO容量阈值和各端口按实际需求排列的优先级信息来综合仲裁管理各端口的读写请求。本发明专利技术具有标准FIFO读写接口形式、端口数量可配置、单次读写大小可配置、各端口地址空间大小总量可配置以及控制器内部提供各端口读写优先级仲裁。

【技术实现步骤摘要】
一种基于FPGA的可扩展的多端口DDR3控制器
本专利技术涉及通讯
,尤其涉及一种基于FPGA的可扩展的多端口DDR3控制器。
技术介绍
随着半导体存储器技术的飞速发展,其中DDR3内存颗粒具有大容量、高读写速率、运行稳定等优点,因此DDR3存储器在计算机、电子通信等领域得到了广泛应用。FPGA现场可编程门阵列具有超大逻辑门资源,可同时处理多路复杂数据流,且可以实现多种复杂的算法,因此在通信,图像处理等领域得到广泛应用。市场上最新的kintex-7系列FPGA的DDR3硬核资源接口实现了DDR3PHY的物理层连接,但其硬核IP只给用户提供了单个读写接口,包括读写地址输入app_addr、读写控制命令app_cmd、命令使能app_en、写数据app_wdf_data、写使能app_wdf_wren、写结束app_wdf_end、读数据app_rd_data、读使能app_wdf_wren、读结束app_rd_data_end、读有效app_rd_data_valid、读写准备app_rdy等。由于此接口方式只能进行一个端口数据流的读写操作且较为复杂,因此无法满足在需要同时处理多路高速复杂数据流缓存的多端口应用需求。为此,我们提出一种基于FPGA的可扩展的多端口DDR3控制器。
技术实现思路
基于
技术介绍
存在的技术问题,本专利技术提出了一种基于FPGA的可扩展的多端口DDR3控制器,具有读写操作更加便捷,让DDR3的使用效率更高的特点,解决了现有技术无法满足同时处理多路高速复杂数据流缓存的多端口应用需求的问题。本专利技术提供如下技术方案:一种基于FPGA的可扩展的多端口DDR3控制器,包括仲裁模块、读写空间大小管理模块、DDR3IP核控制模块和FIFO接口控制模块,所述仲裁模块、读写空间大小管理模块、DDR3IP核控制模块和FIFO接口控制模块依次电连接;所述仲裁模块用于根据读写空间大小管理模块提供的读写剩余可用地址空间大小、各端口所对应的FIFO容量阈值和各端口按实际需求排列的优先级信息来综合仲裁管理各端口的读写请求;所述读写空间大小管理模块用于管理每个端口读写过程,根据全局配置的单次读写大小和各端口地址空间大小总量,对每个端口每次的读写流程进行地址统计和管理后,计算更新每一次读写后当前的读写剩余可用地址空间大小;所述DDR3IP核控制模块用于控制IP核的Burst读写时序过程,所述FIFO接口控制模块用于控制各端口的FIFO读写时序过程。优选的,还包括信号接口逻辑控制模块,所述信号接口逻辑控制模块用于根据端口扩展需求配置端口数量,所述DDR3IP核控制模块和FIFO接口控制模块还用于发送和接收信号接口逻辑控制模块数据。优选的,所述仲裁模块根据设计需求排列各通道的读写优先级,然后读取读写空间大小管理模块计算反馈上来的各端口所对应的读写剩余可用地址空间大小;对于写入数据,判断若该剩余可用写地址空间大小大于等于全局配置的单次读写大小且写入数据流侧FIFO可读预空标志为0,则对应端口此次的写数据请求仲裁通过;对于读出数据,判断若该剩余可用读地址空间大小大于等于全局配置的单次读写大小且读出数据流侧FIFO可写预满标志0,则对应端口此次的读数据请求仲裁通过。优选的,所述读写空间大小管理模块,对写数据请求仲裁通过的端口,在写数据的过程中累加统计写数据量,当写数据量达到该端口所配置地址空间大小总量时,累加统计的写数据量清零并将写溢出标志位取反;对读数据请求仲裁通过的端口,在读数据的过程中累加统计读数据量,当读数据量达到该端口所配置地址空间大小总量时,累加统计的读数据量清零并将读溢出标志位取反。优选的,同一个端口的写溢出标志位与读溢出标志位包括四种逻辑关系:写溢出标志位逻辑0与读溢出标志位逻辑0、写溢出标志位逻辑0与读溢出标志位逻辑1、写溢出标志位逻辑1与读溢出标志位逻辑0、写溢出标志位逻辑1与读溢出标志位逻辑1,所述读写空间大小管理模块针对以上四种逻辑关系分别计算得到端口读写剩余可用地址空间大小。优选的,所述FIFO接口控制模块的FIFO信号接口中用户写入的数据信号为:端口N数据写请求fifochN_wrreq_ddr3;端口N写数据fifochN_data_ddr3;端口N写预满标志fifochN_prog_full_ddr3;其中N是指通道号,即端口编号。优选的,所述FIFO接口控制模块的FIFO信号接口中用户读出的数据信号为:端口N数据读请求fifochN_rdreq_ddr3;端口N读数据fifochN_q_ddr3;端口N读预空标志fifochN_prog_empty_ddr3;其中N是指通道号,即端口编号。优选的,所述FIFO接口控制模块中写数据流侧FIFO的prog_full预满的阈值计算是由FIFOdepth值减去1.5倍用户单次写数据流大小等于阈值,所述FIFO接口控制模块中写数据流侧FIFO的prog_empty预空的阈值计算由单次读写大小减去1等于阈值。优选的,所述FIFO接口控制模块中读数据流侧FIFO的prog_full预满的阈值计算是由FIFOdepth值减去1.5倍用户单次读数据流大小等于阈值,所述FIFO接口控制模块中读数据流侧FIFO的prog_empty预空的阈值计算是由单次读数据流大小减去1等于阈值。优选的,将所述读写空间大小管理模块替换为信号接口逻辑控制模块,所述信号接口逻辑控制模块用于根据端口扩展需求配置端口数量,所述DDR3IP核控制模块和FIFO接口控制模块还用于发送和接收信号接口逻辑控制模块数据。本专利技术提供了一种基于FPGA的可扩展的多端口DDR3控制器,用户可根据实际使用需求配置数据流通道数量,且读写接口采用标准FIFO接口形式,让读写操作更加便捷,同时隔离了不同时钟域数据读写,避免亚稳态的产生。用户可根据实际写入数据流逻辑和读出数据流逻辑来综合匹配数据流的写入带宽和读出带宽,让DDR3的使用效率更高。用户可根据各端口实际数据流缓存大小需求来设定访问地址空间的大小,节约了DDR3的内存空间。用户在使用该控制器时,无需关心DDR3的读写情况以及内部的读写带宽问题,只需要根据FIFO接口的prog_full和prog_empty来确定当前是否可写入数据或是否可读出数据。附图说明图1是一种基于FPGA的可扩展的多端口DDR3控制器结构图;图2是FIFO信号接口图;图3是核心模块之间的信号关系图;图4是读写数据流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供一种技术方案:实施例一本文档来自技高网...

【技术保护点】
1.一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:包括仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块,所述仲裁模块、读写空间大小管理模块、DDR3 IP核控制模块和FIFO接口控制模块依次电连接;/n所述仲裁模块用于根据读写空间大小管理模块提供的读写剩余可用地址空间大小、各端口所对应的FIFO容量阈值和各端口按实际需求排列的优先级信息来综合仲裁管理各端口的读写请求;/n所述读写空间大小管理模块用于管理每个端口读写过程,根据全局配置的单次读写大小和各端口地址空间大小总量,对每个端口每次的读写流程进行地址统计和管理后,计算更新每一次读写后当前的读写剩余可用地址空间大小;/n所述DDR3 IP核控制模块用于控制IP核的Burst读写时序过程,所述FIFO接口控制模块用于控制各端口的FIFO读写时序过程。/n

【技术特征摘要】
1.一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:包括仲裁模块、读写空间大小管理模块、DDR3IP核控制模块和FIFO接口控制模块,所述仲裁模块、读写空间大小管理模块、DDR3IP核控制模块和FIFO接口控制模块依次电连接;
所述仲裁模块用于根据读写空间大小管理模块提供的读写剩余可用地址空间大小、各端口所对应的FIFO容量阈值和各端口按实际需求排列的优先级信息来综合仲裁管理各端口的读写请求;
所述读写空间大小管理模块用于管理每个端口读写过程,根据全局配置的单次读写大小和各端口地址空间大小总量,对每个端口每次的读写流程进行地址统计和管理后,计算更新每一次读写后当前的读写剩余可用地址空间大小;
所述DDR3IP核控制模块用于控制IP核的Burst读写时序过程,所述FIFO接口控制模块用于控制各端口的FIFO读写时序过程。


2.根据权利要求1所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:还包括信号接口逻辑控制模块,所述信号接口逻辑控制模块用于根据端口扩展需求配置端口数量,所述DDR3IP核控制模块和FIFO接口控制模块还用于发送和接收信号接口逻辑控制模块数据。


3.根据权利要求1所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:所述仲裁模块根据设计需求排列各通道的读写优先级,然后读取读写空间大小管理模块计算反馈上来的各端口所对应的读写剩余可用地址空间大小;对于写入数据,判断若该剩余可用写地址空间大小大于等于全局配置的单次读写大小且写入数据流侧FIFO可读预空标志为0,则对应端口此次的写数据请求仲裁通过;对于读出数据,判断若该剩余可用读地址空间大小大于等于全局配置的单次读写大小且读出数据流侧FIFO可写预满标志0,则对应端口此次的读数据请求仲裁通过。


4.根据权利要求3所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在于:所述读写空间大小管理模块,对写数据请求仲裁通过的端口,在写数据的过程中累加统计写数据量,当写数据量达到该端口所配置地址空间大小总量时,累加统计的写数据量清零并将写溢出标志位取反;对读数据请求仲裁通过的端口,在读数据的过程中累加统计读数据量,当读数据量达到该端口所配置地址空间大小总量时,累加统计的读数据量清零并将读溢出标志位取反。


5.根据权利要求4所述的一种基于FPGA的可扩展的多端口DDR3控制器,其特征在...

【专利技术属性】
技术研发人员:夏明敏李正刚朱天雄
申请(专利权)人:武汉中科牛津波谱技术有限公司
类型:发明
国别省市:湖北;42

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

1