一种基于AXI协议的高性能DDR控制器及数据传输方法与流程

文档序号:11729287阅读:590来源:国知局

本发明涉及计算机应用技术领域,具体地说是一种实用性强、基于axi协议的高性能ddr控制器及数据传输方法。



背景技术:

随着电路设计、生产工艺等方面的进步,cpu处理能力不断高速提升,而处理器与dram工作频率的差异变大会大大降低整个系统的性能,提高总线的带宽和各设备的工作效率成为提高系统性能的关键。由于axi总线本身的高性能以及arm微处理器的广泛应用,使得axi成为soc设计中应用广泛的总线标准。在soc设计中,由于比普通计算机体系结构使用更少容量的缓存和更简化的存储体系,访存性能对整个系统的影响更为巨大,在存储器物理参数确定的情况下,存储接口的设计将直接影响存储部分的性能,从而影响整个系统的性能。

为此,提出一种基于axi协议的高性能ddr控制器及数据传输方法,其主要目的是设计出与axi协议兼容的ddr控制器,用于连接axi总线和存储器,完成高效的访存,提升整体系统的性能。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种实用性强、基于axi协议的高性能ddr控制器及数据传输方法。

一种基于axi协议的高性能ddr控制器,其数据输入端连接axi总线,数据输出端则连接ddr存储器,其结构包括axi接口模块、寄存器配置模块、数据缓存模块、控制模块、时序模块、数据传输模块,其中,

axi接口模块,与axi总线通信连接,并生成数据传输的信号;

寄存器配置模块,包括一组寄存器,通过对寄存器值的配置完成对该ddr控制器内其它模块参数的设置;

数据缓存模块,连接axi接口模块,并将从axi接口模块传输来的数据信号缓存,等待数据传输的控制信号;

控制模块,生成数据传输的控制信号并发送给数据缓存模块;

时序模块,配合控制模块的控制信号,控制数据传输模块的工作状态;

数据传输模块,完成axi总线与ddr存储器间的数据传输,即基于控制模块的控制信号,将数据缓存模块中缓存的数据传输到ddr控制器。

还包括状态模块、刷新模块,其中,

状态模块,记录当前ddr控制器所处的状态,通过监控时序模块的命令输出,记录当前axi总线与存储器的状态,控制模块在进行控制信号生成时,从状态模块读取相关状态信息,作为参考依据;

刷新模块,该刷新模块包括一个带置数功能的计数器,当计数器倒计至0时就会发出刷新请求信号,此时计数器停止;等到刷新过程结束时,时序模块发出刷新请求的应答信号,刷新模块就会从寄存器配置模块中取值并重新开始倒计数。

所述axi接口模块生成的数据传输信号包括数据传输的握手信号以及数据传输的响应信号,其中握手信号包括读地址通道握手信号、读数据通道握手信号、写地址通道握手信号、写数据通道握手信号、写响应通道握手信号;数据传输响应信号则基于axi总线规定生成。

所述寄存器配置模块是存储控制器的寄存器接口,包含一组寄存器,通过经由axi总线接口模块传输过来的总线数据完成对寄存器值的配置,各寄存器与ddr控制器内的其它模块相对应,将寄存器的值配置后完成对相应模块参数的设置。

所述数据缓存模块包括控制缓冲区和存储缓冲区两类,每类缓冲区均包含写命令缓冲区、读命令缓冲区、写数据缓冲区及读数据缓冲区,负责对经由axi接口模块传输过来数据信号进行判断分类,并分配到对应缓冲区中等待传输。

所述控制模块通过接收来自数据缓存模块及状态模块的数据完成仲裁,生成控制信号,具体为:控制模块进行读写命令的仲裁,根据信号的优先级以及当前存储器所处的状态来生成控制信号,即读写请求的传输顺序及传输开始、结束时间。

所述时序模块负责进行具体的存储总线时序的产生,即把控制模块传输来的命令转换为实际的存储总线时序操作,控制数据传输模块的工作状态;控制模块只负责进行数据传输操作的仲裁,而对ddr存储器包括初始化操作、刷新操作的特殊操作由时序模块来控制完成。

当axi总线数据宽度与存储总线的数据宽带不一样时,数据传输模块完成数据位宽间的转换,在满足各自的传输协议的前提下,完成axi总线与ddr存储器间的数据传输。

一种基于axi协议的高性能数据传输方法,基于上述ddr控制器,其实现过程为:

首先传输数据经axt总线进入axi接口模块,axi接口模块生成的数据传输信号,该数据传输信号包括数据传输的握手信号以及数据传输的响应信号,其中握手信号包括读地址通道握手信号、读数据通道握手信号、写地址通道握手信号、写数据通道握手信号、写响应通道握手信号;数据传输响应信号则基于axi总线规定生成;

数据传输信号进入数据缓存模块中暂存,该数据缓存模块对经由axi接口模块传输过来数据信号进行判断分类,并分配到对应缓冲区中等待传输,所述对应缓冲区包括控制缓冲区和存储缓冲区两类,每类缓冲区均包含写命令缓冲区、读命令缓冲区、写数据缓冲区及读数据缓冲区;

通过控制模块进行读写命令的仲裁,即通过接收来自数据缓存模块及状态模块的数据完成仲裁,生成控制信号,该控制信号包括读写请求的传输顺序及传输开始、结束时间;

时序模块根据控制模块的控制信号,把控制模块传输来的命令转换为实际的存储总线时序操作,控制数据传输模块的工作状态;

最后由数据传输模块完成axi总线与ddr存储器间的数据传输。

所述数据传输周期性自动完成,该周期控制通过刷新模块实现,具体为:该刷新模块配置一个带置数功能的计数器,当计数器倒计至0时就会发出刷新请求信号,此时计数器停止;等到刷新过程结束时,时序模块发出刷新请求的应答信号,刷新模块就会从寄存器配置模块中取值并重新开始倒计数。

本发明的一种基于axi协议的高性能ddr控制器及数据传输方法,具有以下优点:

该发明的一种基于axi协议的高性能ddr控制器及数据传输方法,本发明的ddr存储控制器作为axi总线和存储器间的一个接口,用于完成高效访存的工作,提高了整体系统的性能,同时可以更好的满足项目需求,降低项目预算,本发明的方法则对ddr控制器内部逻辑和结构进行了良好的改进,有效提高数据传输效率,实用性强,易于实现,易于推广。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

附图1为本发明的实现示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如附图1所示,一种基于axi协议的高性能ddr控制器,此存储控制器作为axi总线和存储器间的一个接口,用于完成高效访存的工作。其数据输入端连接axi总线,数据输出端则连接ddr存储器,本发明给出了该ddr控制器的整体结构和模块划分,描述了存储控制器各个子模块的功能及设计方法。本模型结构主要包括以下模块:axi接口模块、寄存器配置模块、数据缓存模块、控制模块、时序模块、数据传输模块。

其中,

axi接口模块,与axi总线通信连接,并生成数据传输的信号;

寄存器配置模块,包括一组寄存器,通过对寄存器值的配置完成对该ddr控制器内其它模块参数的设置;

数据缓存模块,连接axi接口模块,并将从axi接口模块传输来的数据信号缓存,等待数据传输的控制信号;

控制模块,生成数据传输的控制信号并发送给数据缓存模块;

时序模块,配合控制模块的控制信号,控制数据传输模块的工作状态;

数据传输模块,完成axi总线与ddr存储器间的数据传输,即基于控制模块的控制信号,将数据缓存模块中缓存的数据传输到ddr控制器。

还包括状态模块、刷新模块,其中,

状态模块,记录当前ddr控制器所处的状态,通过监控时序模块的命令输出,记录当前axi总线与存储器的状态,控制模块在进行控制信号生成时,从状态模块读取相关状态信息,作为参考依据;

刷新模块,该刷新模块包括一个带置数功能的计数器,当计数器倒计至0时就会发出刷新请求信号,此时计数器停止;等到刷新过程结束时,时序模块发出刷新请求的应答信号,刷新模块就会从寄存器配置模块中取值并重新开始倒计数。

所述axi接口模块生成的数据传输信号包括数据传输的握手信号以及数据传输的响应信号,即axi接口模块分别生成axi总线定义了五条独立通道上的握手信号,握手信号具体包括读地址通道握手信号、读数据通道握手信号、写地址通道握手信号、写数据通道握手信号、写响应通道握手信号;数据传输响应信号则基于axi总线规定生成。

所述寄存器配置模块是存储控制器的寄存器接口,包含一组寄存器,各寄存器与其它模块相对应,将寄存器的值配置成特定含义的数值即可完成对相应模块参数的设置。例如,刷新周期寄存器内的数值为控制器中刷新模块所需要的计数器预设值,每次刷新完成后,刷新模块会重新从寄存器中取出数值。本模块通过经由axi总线接口模块传输过来的总线数据完成对寄存器值的配置。

所述数据缓存模块包括控制缓冲区和存储缓冲区两类,每类缓冲区均包含写命令缓冲区、读命令缓冲区、写数据缓冲区及读数据缓冲区,负责对经由axi接口模块传输过来数据信号进行判断分类,并分配到对应缓冲区中等待传输。

所述控制模块通过接收来自数据缓存模块及状态模块的数据完成仲裁,根据信号的优先级以及当前存储器所处的状态来生成控制信号,具体为:控制模块进行读写命令的仲裁,根据信号的优先级以及当前存储器所处的状态来生成控制信号,即读写请求的传输顺序及传输开始、结束时间。

所述时序模块负责进行具体的存储总线时序的产生,即把控制模块传输来的命令转换为实际的存储总线时序操作,控制数据传输模块的工作状态。控制模块只负责进行数据传输操作的仲裁,而ddr存储器的特殊操作如初始化操作及刷新操作等则由时序模块来控制完成。

当axi总线数据宽度与存储总线的数据宽带不一样时,数据传输模块完成数据位宽间的转换,在满足各自的传输协议的前提下,完成axi总线与ddr存储器间的数据传输。

一种基于axi协议的高性能数据传输方法,基于上述ddr控制器,其实现过程为:

首先传输数据经axt总线进入axi接口模块,axi接口模块生成的数据传输信号,该数据传输信号包括数据传输的握手信号以及数据传输的响应信号,其中握手信号包括读地址通道握手信号、读数据通道握手信号、写地址通道握手信号、写数据通道握手信号、写响应通道握手信号;数据传输响应信号则基于axi总线规定生成;

数据传输信号进入数据缓存模块中暂存,该数据缓存模块对经由axi接口模块传输过来数据信号进行判断分类,并分配到对应缓冲区中等待传输,所述对应缓冲区包括控制缓冲区和存储缓冲区两类,每类缓冲区均包含写命令缓冲区、读命令缓冲区、写数据缓冲区及读数据缓冲区;

通过控制模块进行读写命令的仲裁,即通过接收来自数据缓存模块及状态模块的数据完成仲裁,生成控制信号,该控制信号包括读写请求的传输顺序及传输开始、结束时间;

时序模块根据控制模块的控制信号,把控制模块传输来的命令转换为实际的存储总线时序操作,控制数据传输模块的工作状态;

最后由数据传输模块完成axi总线与ddr存储器间的数据传输。

所述数据传输周期性自动完成,该周期控制通过刷新模块实现,具体为:该刷新模块配置一个带置数功能的计数器,当计数器倒计至0时就会发出刷新请求信号,此时计数器停止;等到刷新过程结束时,时序模块发出刷新请求的应答信号,刷新模块就会从寄存器配置模块中取值并重新开始倒计数。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

以上对本发明所提供的一种基于axi协议的高性能ddr控制器及数据传输方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1