CN112559399A - 一种多axi接口的ddr控制器及其控制方法 - Google Patents

一种多axi接口的ddr控制器及其控制方法 Download PDF

Info

Publication number
CN112559399A
CN112559399A CN202011357784.5A CN202011357784A CN112559399A CN 112559399 A CN112559399 A CN 112559399A CN 202011357784 A CN202011357784 A CN 202011357784A CN 112559399 A CN112559399 A CN 112559399A
Authority
CN
China
Prior art keywords
read
interface
write
module
axi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011357784.5A
Other languages
English (en)
Inventor
贾学强
满宏涛
伍峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202011357784.5A priority Critical patent/CN112559399A/zh
Publication of CN112559399A publication Critical patent/CN112559399A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本申请公开了一种多AXI接口的DDR控制器,包括:参数自定义模块、寄存器配置模块、接口配置模块、缓存仲裁模块、读写操作模块。该DDR控制器中参数自定义模块允许灵活定义AXI接口参数,即接口配置参数,接口配置模块能够根据接口配置参数例化多个AXI接口,结合缓存仲裁模块和读写操作模块,能够满足多用户对DDR存储器的访问需求。此外,本申请还提供了一种多AXI接口的DDR控制器的控制方法,其技术效果与上述DDR控制器的技术效果相对应。

Description

一种多AXI接口的DDR控制器及其控制方法
技术领域
本申请涉及计算机技术领域,特别涉及一种多AXI接口的DDR控制器及一种多AXI接口的DDR控制器的控制方法。
背景技术
在现代SoC(片上系统)设计中,随着SoC设计复杂性和CPU处理能力的不断提升,不同设计单元之间的数据交互能力成为设计关键。一个高性能的总线结构,能够使SoC获得更小的面积、更低的功耗,获得更加优异的性能。
AXI(Advanced eXtensible Interface)总线协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。AXI总线协议,满足超高性能和复杂的SoC设计的需求,在SoC设计中被广泛采用。
DDR(Double Data Rate),全称为DDR SDRAM,即双倍数据速率同步动态随机存储器。DDR控制器是连接主机与DDR存储器的中介,用于按照DDR时序要求完成主机对DDR存储器发起的初始化、读、写、刷新等操作。
目前,在基于IP的FPGA设计中,DDR控制器仅能连接一个AXI接口,当多路AXI接口均存在对DDR存储器的访问需求时,需要通过仲裁决定哪一路AXI接口获得访问DDR存储器的权限。这种设计方式,仲裁方法不灵活,设计面积大,功耗高,十分不利于SoC设计中对于小尺寸、低功耗、高性能的要求。
综上,如何克服目前的DDR控制器不支持多路AXI接口带来的诸多缺陷,是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种多AXI接口的DDR控制器及一种多AXI接口的DDR控制器的控制方法,用以解决目前的DDR控制器不支持多路AXI接口的问题。其具体方案如下:
首先,本申请提供了一种多AXI接口的DDR控制器,包括:
参数自定义模块:用于获取寄存器配置参数和接口配置参数;
寄存器配置模块:用于根据所述寄存器配置参数,对可选总线接口进行例化,以便于主机通过所述可选总线接口对DDR控制器进行初始化配置和状态监测;
接口配置模块:用于根据所述接口配置参数,例化两个以上的AXI接口,实现与两个以上主机用户之间的基于AXI总线协议的通信,所述AXI接口与所述主机用户一一对应;
缓存仲裁模块:用于接收并缓存所述接口配置模块传输的所述两个以上主机用户的读写请求;根据仲裁策略确定所述读写请求的处理顺序,按照所述处理顺序将所述读写请求发送至读写操作模块;
读写操作模块:用于将所述读写请求转换为DFI协议格式,并传输至DDR底层协议接口,以实现对DDR芯片的读写。
优选的,所述接口配置参数包括:自定义数量,所述自定义数量大于等于2;
所述接口配置模块用于根据所述接口配置参数,例化所述自定义数量的AXI接口。
优选的,所述接口配置参数包括:每个AXI接口的协议版本、接口数据位宽、接口地址位宽。
优选的,所述接口配置模块用于:
根据所述接口配置参数,例化两个以上的AXI接口,每个所述AXI接口包括:写地址通道、读地址通道、写数据通道、读数据通道和写响应信号通道。
优选的,所述寄存器配置参数包括:总线协议,所述总线协议的配置选项包括:AXI、AHB和APB。
优选的,所述缓存仲裁模块具体用于:
接收所述接口配置模块传输的所述两个以上主机用户的读请求和写请求;
将所述读请求中的读命令和所述写请求中的写命令存储至命令缓存中;将所述写请求中的写数据存储至下行数据缓存中。
优选的,所述缓存仲裁模块具体用于:
根据仲裁策略对所述命令缓存中的读命令和写命令进行仲裁,根据仲裁结果生成命令指针,将所述命令指针顺序存储至命令指针缓存中;
依次读取所述命令指针缓存中的命令指针;
在读取到的命令指针指向写命令时,根据所述命令指针,从所述命令缓存中读取目标写命令,并从所述下行数据缓存中读取目标写数据,将携带所述目标写命令和所述目标写数据的写请求发送至所述读写操作模块的写操作单元;
在读取到的命令指针指向读命令时,根据所述命令指针,从所述命令缓存中读取目标读命令,将携带所述目标读命令的读请求发送至所述读写操作模块的读操作单元;
从所述读写操作模块的读操作单元获取读数据,并将所述读数据传输至所述接口配置模块。
优选的,所述缓存仲裁模块还用于:
在将携带所述目标写命令和所述目标写数据的写请求发送至所述读写操作模块的写操作单元之后,生成写响应信号,并将所述写响应信号传输至所述接口配置模块。
优选的,所述缓存仲裁模块具体用于:
在所述读写请求携带目标带外信号时,根据所述目标带外信号确定所述读写请求的优先等级;
对于同一优先等级的读写请求,根据仲裁策略确定处理顺序,按照所述处理顺序将所述读写请求发送至读写操作模块。
此外,本申请提供了一种多AXI接口的DDR控制器的控制方法,包括:
从参数自定义模块获取寄存器配置参数和接口配置参数;
根据所述寄存器配置参数,利用寄存器配置模块对可选总线接口进行例化,以便于主机通过所述可选总线接口对DDR控制器进行初始化配置和状态监测;
根据所述接口配置参数,在接口配置模块例化两个以上的AXI接口,实现所述接口配置模块与两个以上主机用户之间的基于AXI总线协议的通信,所述AXI接口与所述主机用户一一对应;
利用缓存仲裁模块接收并缓存所述接口配置模块传输的所述两个以上主机用户的读写请求;根据仲裁策略确定所述读写请求的处理顺序,按照所述处理顺序将所述读写请求发送至读写操作模块;
利用读写操作模块将所述读写请求转换为DFI协议格式,并传输至DDR底层协议接口,以实现对DDR芯片的读写。
本申请所提供的一种多AXI接口的DDR控制器,包括:参数自定义模块、寄存器配置模块、接口配置模块、缓存仲裁模块、读写操作模块。其中,参数自定义模块用于获取寄存器配置参数和接口配置参数;寄存器配置模块用于根据寄存器配置参数,对可选总线接口进行例化,以便于主机通过可选总线接口对DDR控制器进行初始化配置和状态监测;接口配置模块用于根据接口配置参数,例化两个以上的AXI接口,实现与两个以上主机用户之间的基于AXI总线协议的通信;缓存仲裁模块用于接收并缓存接口配置模块传输的两个以上主机用户的读写请求;根据仲裁策略确定读写请求的处理顺序,按照该处理顺序将读写请求发送至读写操作模块;读写操作模块用于将读写请求转换为DFI协议格式,并传输至DDR底层协议接口,以实现对DDR芯片的读写。
可见,该DDR控制器中参数自定义模块允许灵活定义AXI接口参数,即上述接口配置参数,接口配置模块能够根据接口配置参数例化多个AXI接口,结合缓存仲裁模块和读写操作模块,能够满足多用户对DDR存储器的访问需求。
此外,本申请还提供了一种多AXI接口的DDR控制器的控制方法,其技术效果与上述DDR控制器的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种多AXI接口的DDR控制器实施例一的示意图;
图2为本申请所提供的一种多AXI接口的DDR控制器实施例二的局部示意图;
图3为本申请所提供的一种多AXI接口的DDR控制器实施例二中一种仲裁过程的流程图;
图4为本申请所提供的一种多AXI接口的DDR控制器实施例二中另一种仲裁过程的流程图;
图5为本申请所提供的一种多AXI接口的DDR控制器的控制方法实施例的流程图。
具体实施方式
本申请的核心是提供一种多AXI接口的DDR控制器及其控制方法,允许灵活定义AXI接口参数,即接口配置参数,根据接口配置参数例化多个AXI接口,满足多用户对DDR存储器的访问需求。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的一种多AXI接口的DDR控制器实施例一进行介绍,图1为实施例一的结构图,其中实线部分为DDR控制器的结构,虚线部分为DDR控制器的外接设备。参见图1,实施例一包括:
参数自定义模块:用于获取寄存器配置参数和接口配置参数;
寄存器配置模块:用于根据所述寄存器配置参数,对可选总线接口进行例化,以便于主机通过所述可选总线接口对DDR控制器进行初始化配置和状态监测;
接口配置模块:用于根据所述接口配置参数,例化两个以上的AXI接口,实现与两个以上主机用户之间的基于AXI总线协议的通信,所述AXI接口与所述主机用户一一对应;
缓存仲裁模块:用于接收并缓存所述接口配置模块传输的所述两个以上主机用户的读写请求;根据仲裁策略确定所述读写请求的处理顺序,按照所述处理顺序将所述读写请求发送至读写操作模块;
读写操作模块:用于将所述读写请求转换为DFI协议格式,并传输至DDR底层协议接口,以实现对DDR芯片的读写。
本实施例中,参数自定义模块允许用户自定义寄存器配置参数和接口配置参数,然后,寄存器配置参数传输至寄存器配置模块,接口配置参数传输至接口配置模块。
其中,寄存器配置参数包括但不限于可选总线接口的总线协议。如图1所示,上述可选总线接口是指寄存器配置模块与主机的控制模块之间的通信接口。在实际应用中,可以为总线协议提供一些配置选项,例如总线协议的配置选项包括:AXI、AHB和APB。
上述接口配置参数具体可以包括:每个AXI接口的协议版本、接口数据位宽、接口地址位宽、时钟频率等信息。本实施例的目的在于实现支持多个AXI接口的DDR控制器,其中AXI接口的数量可以为预先设置的,也可以根据实际项目需求在参数自定义模块对其进行自定义。当在参数自定义模块对AXI接口的数量进行自定义时,上述接口配置参数还包括自定义数量,该自定义数量的取值范围为大于等于2。
本实施例中,寄存器配置模块用于根据寄存器配置参数例化可选总线接口,完成主机与DDR控制器各模块中的控制寄存器、状态寄存器的读写操作,实现主机对DDR控制器的初始化配置和状态监测等工作。
本实施例中,接口配置模块用于根据接口配置参数例化两个以上的AXI接口,从而实现与两个以上主机用户之间的基于AXI总线协议的通信,每个AXI接口包括:写地址通道、读地址通道、写数据通道、读数据通道和写响应信号通道。如图1所示,主机用户与AXI接口一一对应。在与上述两个以上主机用户进行通信的过程中,接口配置模块主要用于接收各个主机用户发送的读写请求,并传输至缓存仲裁模块。
本实施例中,缓存仲裁模块主要用于接收接口配置模块传输的上述两个以上主机用户的读写请求,并对读写请求进行缓存。考虑到多主机用户的场景下,可能存在并发需求,因此,本实施例的缓存仲裁模块设置了仲裁策略。根据仲裁策略可以确定各个读写请求的处理顺序,然后按照该处理顺序,依次将读写请求传输至读写操作模块。
本实施例中,读写操作模块主要用于将读写请求转换为DFI(DDR PHY Interface)协议格式,传输至DDR协议接口,其中DFI协议接口是连接DDR控制器与物理层协议的一种通用标准接口。
本实施例所提供一种多AXI接口的DDR控制器,包括:参数自定义模块、寄存器配置模块、接口配置模块、缓存仲裁模块、读写操作模块。其中,参数自定义模块允许灵活定义AXI接口参数,即上述接口配置参数,接口配置模块能够根据接口配置参数例化多个AXI接口,结合缓存仲裁模块和读写操作模块,能够满足多用户对DDR存储器的访问需求。
下面开始详细介绍本申请提供的一种多AXI接口的DDR控制器实施例二,实施例二以实施例一为基础,并在以下方面进行了展开介绍:
1、缓存仲裁模块中读写请求的缓存方式。
2、缓存仲裁模块中读写请求的仲裁过程。
3、缓存仲裁模块中,还允许根据带外信号对读写请求进行优先级设置。
本实施例中,参数自定义模块中的接口配置参数设置如下:
#define USER_PORT_NUM 3 //自定义接口数量
#define AXI3 0 //接口协议版本
#define AXI4 1
#define USER_PORT0 AXI3 //定义AXI接口协议
#define USER_PORT1 AXI3
#define USER_PORT2 AXI3
#define USER_PORT0_WDATA 32 //AXI接口数据位宽
#define USER_PORT1_WDATA 32
#define USER_PORT2_WDATA 128
#define USER_PORT0_WADDR 32 //AXI接口地址位宽
#define USER_PORT1_WADDR 32
#define USER_PORT2_WADDR 32
寄存器配置参数设置如下:
#define USER_REG_INTF APB //寄存器接口协议
#define USER_REG_INTF_WDATA 32 //寄存器接口数据位宽
#define USER_REG_INTF_WADDR 16 //寄存器接口地址位宽
接口处理模块首先根据接口配置参数完成多AXI接口例化,如上所示,本实施例中自定义数量为3,因此完成对3个AXI接口的例化。然后接口处理模块实现以下两方面功能:
一方面,通过AXI总线、AXI接口与3个主机用户进行基于AXI总线协议的通信,每路AXI接口包括写地址通道、读地址通道、写数据通道、读数据通道和写响应信号通道;
另一方面,将AXI地址、数据、命令、响应等接口转变为独立的接口,与缓存仲裁模块相互配合,从而将各个主机用户发起的读写命令存储至缓存仲裁模块的命令缓存,将写数据存储至缓存仲裁模块的下行数据缓存中,从缓存仲裁模块的上行数据通道中获取读数据以及写响应信号。
综上,本实施例中,缓存仲裁模块用于为各个主机用户发送的读写请求进行缓存,如图2所示,具体缓存媒介包括:命令缓存RAM、下行数据缓存RAM、命令指针缓存FIFO和上行数据通道。基于以上,缓存仲裁模块对读写请求的缓存过程具体为:接收所述接口配置模块传输的各个主机用户的读请求和写请求;将所述读请求中的读命令和所述写请求中的写命令存储至命令缓存中;将所述写请求中的写数据存储至下行数据缓存中。
缓存完成后,缓存仲裁模块对并发读写请求通过一定的仲裁策略进行仲裁,具体可以采用轮询、超时相结合的仲裁策略,在保证各主机用户访问需求的同时,兼顾提升DDR访问带宽。具体的,如图3所示,缓存仲裁模块对读写请求的仲裁过程包括:
S301、根据仲裁策略对所述命令缓存中的读命令和写命令进行仲裁,根据仲裁结果生成命令指针,将所述命令指针顺序存储至命令指针缓存中。
S302、依次读取所述命令指针缓存中的命令指针。
S303、在读取到的命令指针指向写命令时,根据所述命令指针,从所述命令缓存中读取目标写命令,并从所述下行数据缓存中读取目标写数据,将携带所述目标写命令和所述目标写数据的写请求发送至所述读写操作模块的写操作单元。
具体的,在将携带目标写命令和目标写数据的写请求发送至写操作单元之后,可以通知相应的主机用户写操作完成。具体的,生成写响应信号,并将所述写响应信号传输至所述接口配置模块。
S304、在读取到的命令指针指向读命令时,根据所述命令指针,从所述命令缓存中读取目标读命令,将携带所述目标读命令的读请求发送至所述读写操作模块的读操作单元。
S305、从所述读写操作模块的读操作单元获取读数据,并将所述读数据传输至所述接口配置模块。
具体的,在将读数据传输至接口处理模块之后,可以通知相应的主机用户读请求完成。
作为一种优选的实施方式,对于个别特殊的读写请求,可以通过带外信号声明其优先级,使其优先级临时提升至最大,上述带外信号具体可以选用独立信号cmd_urgent。因此,在对读写请求进行仲裁之前,先确定其带外信号声明的优先级,在仲裁过程中,保证优先级高的读写请求先被处理,优先级低的读写请求后被处理,同一优先级的读写请求则通过仲裁策略确定处理顺序。此时,如图4所示,缓存仲裁模块对读写请求的仲裁过程如下:
S401、在所述读写请求携带目标带外信号时,根据所述目标带外信号确定所述读写请求的优先等级;
S402、按照优先等级从高到低的顺序,对处于同一优先等级的读写请求,根据仲裁策略确定处理顺序,按照所述处理顺序将所述读写请求发送至读写操作模块。
本实施例中,写操作单元连接缓存仲裁模块,将传入的写命令和写数据转化为标准DFI接口,输出至DDR底层协议接口。由DDR底层协议接口转化为符合DDR标准规范的DDR总线操作,实现对DDR芯片的写操作。
本实施例中,读操作单元连接缓存仲裁模块,将传入的读命令转化为标准DFI接口,输出至DDR底层协议接口。由DDR底层协议接口转化为符合DDR标准规范的DDR总线操作,实现对DDR芯片的读操作。将DDR底层协议接口读出的DDR数据通过读操作单元传输至缓存仲裁模块。
可见,本实施例提供的一种多AXI接口的DDR控制器,主要目的是提供一种基于AXI协议的多接口DDR控制器,可根据项目需求,通过接口配置模块灵活定义AXI接口数量、每个AXI接口的数据位宽等参数,满足多用户对DDR存储器的访问需求。克服了现有技术方案中多主机用户时仲裁方法不灵活、设计面积大、功耗高的缺陷,有利于达到SoC设计中对于小尺寸、低功耗、高性能的要求,提升了整体系统的性能。该方案具有应用范围广、使用灵活、面积小、功耗低、性能优异等特点。
下面对本申请实施例提供的一种多AXI接口的DDR控制器的控制方法进行介绍,下文描述的多AXI接口的DDR控制器的控制方法基于上文描述的多AXI接口的DDR控制器实现。
如图5所示,本实施例的多AXI接口的DDR控制器的控制方法,包括:
S501、从参数自定义模块获取寄存器配置参数和接口配置参数;
S502、根据所述寄存器配置参数,利用寄存器配置模块对可选总线接口进行例化,以便于主机通过所述可选总线接口对DDR控制器进行初始化配置和状态监测;
S503、根据所述接口配置参数,在接口配置模块例化两个以上的AXI接口,实现所述接口配置模块与两个以上主机用户之间的基于AXI总线协议的通信,所述AXI接口与所述主机用户一一对应;
S504、利用缓存仲裁模块接收并缓存所述接口配置模块传输的所述两个以上主机用户的读写请求;根据仲裁策略确定所述读写请求的处理顺序,按照所述处理顺序将所述读写请求发送至读写操作模块;
S505、利用读写操作模块将所述读写请求转换为DFI协议格式,并传输至DDR底层协议接口,以实现对DDR芯片的读写。
本实施例的多AXI接口的DDR控制器的控制方法基于上文描述的多AXI接口的DDR控制器实现,因此该方法的具体实施方式可见前文中的多AXI接口的DDR控制器的实施例部分,在此不再展开介绍。
另外,由于本实施例的多AXI接口的DDR控制器的控制方法基于上文描述的多AXI接口的DDR控制器实现,因此其作用与上述方法的作用相对应,这里不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种多AXI接口的DDR控制器,其特征在于,包括:
参数自定义模块:用于获取寄存器配置参数和接口配置参数;
寄存器配置模块:用于根据所述寄存器配置参数,对可选总线接口进行例化,以便于主机通过所述可选总线接口对DDR控制器进行初始化配置和状态监测;
接口配置模块:用于根据所述接口配置参数,例化两个以上的AXI接口,实现与两个以上主机用户之间的基于AXI总线协议的通信,所述AXI接口与所述主机用户一一对应;
缓存仲裁模块:用于接收并缓存所述接口配置模块传输的所述两个以上主机用户的读写请求;根据仲裁策略确定所述读写请求的处理顺序,按照所述处理顺序将所述读写请求发送至读写操作模块;
读写操作模块:用于将所述读写请求转换为DFI协议格式,并传输至DDR底层协议接口,以实现对DDR芯片的读写。
2.如权利要求1所述的多AXI接口的DDR控制器,其特征在于,所述接口配置参数包括:自定义数量,所述自定义数量大于等于2;
所述接口配置模块用于根据所述接口配置参数,例化所述自定义数量的AXI接口。
3.如权利要求2所述的多AXI接口的DDR控制器,其特征在于,所述接口配置参数包括:每个AXI接口的协议版本、接口数据位宽、接口地址位宽。
4.如权利要求3所述的多AXI接口的DDR控制器,其特征在于,所述接口配置模块用于:
根据所述接口配置参数,例化两个以上的AXI接口,每个所述AXI接口包括:写地址通道、读地址通道、写数据通道、读数据通道和写响应信号通道。
5.如权利要求1所述的多AXI接口的DDR控制器,其特征在于,所述寄存器配置参数包括:总线协议,所述总线协议的配置选项包括:AXI、AHB和APB。
6.如权利要求1所述的多AXI接口的DDR控制器,其特征在于,所述缓存仲裁模块具体用于:
接收所述接口配置模块传输的所述两个以上主机用户的读请求和写请求;
将所述读请求中的读命令和所述写请求中的写命令存储至命令缓存中;将所述写请求中的写数据存储至下行数据缓存中。
7.如权利要求6所述的多AXI接口的DDR控制器,其特征在于,所述缓存仲裁模块具体用于:
根据仲裁策略对所述命令缓存中的读命令和写命令进行仲裁,根据仲裁结果生成命令指针,将所述命令指针顺序存储至命令指针缓存中;
依次读取所述命令指针缓存中的命令指针;
在读取到的命令指针指向写命令时,根据所述命令指针,从所述命令缓存中读取目标写命令,并从所述下行数据缓存中读取目标写数据,将携带所述目标写命令和所述目标写数据的写请求发送至所述读写操作模块的写操作单元;
在读取到的命令指针指向读命令时,根据所述命令指针,从所述命令缓存中读取目标读命令,将携带所述目标读命令的读请求发送至所述读写操作模块的读操作单元;
从所述读写操作模块的读操作单元获取读数据,并将所述读数据传输至所述接口配置模块。
8.如权利要求7所述的多AXI接口的DDR控制器,其特征在于,所述缓存仲裁模块还用于:
在将携带所述目标写命令和所述目标写数据的写请求发送至所述读写操作模块的写操作单元之后,生成写响应信号,并将所述写响应信号传输至所述接口配置模块。
9.如权利要求1-8任意一项所述的多AXI接口的DDR控制器,其特征在于,所述缓存仲裁模块具体用于:
在所述读写请求携带目标带外信号时,根据所述目标带外信号确定所述读写请求的优先等级;
对于同一优先等级的读写请求,根据仲裁策略确定处理顺序,按照所述处理顺序将所述读写请求发送至读写操作模块。
10.一种多AXI接口的DDR控制器的控制方法,其特征在于,包括:
从参数自定义模块获取寄存器配置参数和接口配置参数;
根据所述寄存器配置参数,利用寄存器配置模块对可选总线接口进行例化,以便于主机通过所述可选总线接口对DDR控制器进行初始化配置和状态监测;
根据所述接口配置参数,在接口配置模块例化两个以上的AXI接口,实现所述接口配置模块与两个以上主机用户之间的基于AXI总线协议的通信,所述AXI接口与所述主机用户一一对应;
利用缓存仲裁模块接收并缓存所述接口配置模块传输的所述两个以上主机用户的读写请求;根据仲裁策略确定所述读写请求的处理顺序,按照所述处理顺序将所述读写请求发送至读写操作模块;
利用读写操作模块将所述读写请求转换为DFI协议格式,并传输至DDR底层协议接口,以实现对DDR芯片的读写。
CN202011357784.5A 2020-11-27 2020-11-27 一种多axi接口的ddr控制器及其控制方法 Pending CN112559399A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011357784.5A CN112559399A (zh) 2020-11-27 2020-11-27 一种多axi接口的ddr控制器及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011357784.5A CN112559399A (zh) 2020-11-27 2020-11-27 一种多axi接口的ddr控制器及其控制方法

Publications (1)

Publication Number Publication Date
CN112559399A true CN112559399A (zh) 2021-03-26

Family

ID=75046370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011357784.5A Pending CN112559399A (zh) 2020-11-27 2020-11-27 一种多axi接口的ddr控制器及其控制方法

Country Status (1)

Country Link
CN (1) CN112559399A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948293A (zh) * 2021-02-26 2021-06-11 浪潮电子信息产业股份有限公司 一种多用户接口的ddr仲裁器及ddr控制器芯片
CN113360424A (zh) * 2021-06-16 2021-09-07 上海创景信息科技有限公司 基于多通路独立axi总线的rldram3控制器
CN113377290A (zh) * 2021-06-03 2021-09-10 电子科技大学 基于axi协议的具有深存储和双捕获功能的数据采集装置
CN113641603A (zh) * 2021-10-15 2021-11-12 南京芯驰半导体科技有限公司 一种基于axi协议的ddr仲裁与调度方法及系统
CN113743599A (zh) * 2021-08-08 2021-12-03 苏州浪潮智能科技有限公司 一种卷积神经网络的运算装置及服务器
CN114721983A (zh) * 2022-04-13 2022-07-08 山东浪潮科学研究院有限公司 一种ddr4加速读写装置
CN115951836A (zh) * 2023-01-12 2023-04-11 上海奎芯集成电路设计有限公司 Dfi命令和数据通道通用控制器及其读写方法
CN116680088A (zh) * 2023-08-03 2023-09-01 青岛本原微电子有限公司 一种针对多寄存器存储的多模块同时访问系统及访问方法
CN116776781A (zh) * 2023-08-17 2023-09-19 浪潮电子信息产业股份有限公司 一种寄存器参数的管理方法、系统、设备及存储介质
CN116974963A (zh) * 2023-09-25 2023-10-31 上海云豹创芯智能科技有限公司 一种访问存储器的装置及其方法、芯片、存储介质
CN117171070A (zh) * 2023-11-03 2023-12-05 太初(无锡)电子科技有限公司 一种基于axi接口的交叉存取系统
CN118132472A (zh) * 2024-05-07 2024-06-04 西安智多晶微电子有限公司 一种基于多接口ddr内存控制器的实现方法及装置

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324869A (zh) * 2008-07-03 2008-12-17 北京中星微电子有限公司 一种基于axi总线的多路复用器
CN202472634U (zh) * 2012-02-14 2012-10-03 福州瑞芯微电子有限公司 一种快速响应写数据的sdram控制器
CN103039044A (zh) * 2010-06-03 2013-04-10 安通斯公司 具有服务质量特征的芯片上网络
CN103198856A (zh) * 2013-03-22 2013-07-10 烽火通信科技股份有限公司 一种ddr控制器及请求调度方法
CN105468797A (zh) * 2014-08-22 2016-04-06 深圳市中兴微电子技术有限公司 一种信息处理方法及装置
CN105868134A (zh) * 2016-04-14 2016-08-17 烽火通信科技股份有限公司 高性能多口ddr控制器及其实现方法
US20180113648A1 (en) * 2016-10-21 2018-04-26 Advanced Micro Devices, Inc. Software mode register access for platform margining and debug
CN108776647A (zh) * 2018-06-04 2018-11-09 中国电子科技集团公司第十四研究所 基于axi总线的多ddr控制器管理模块
CN109446125A (zh) * 2018-10-09 2019-03-08 武汉正维电子技术有限公司 Ddr读写仲裁器及方法
CN110399317A (zh) * 2019-07-15 2019-11-01 西安微电子技术研究所 一种嵌入式系统的软件自适应的多功能控制器
CN111091854A (zh) * 2019-11-21 2020-05-01 中国航空工业集团公司西安航空计算技术研究所 一种命令处理器与ddr读写访问电路
CN111143257A (zh) * 2019-12-02 2020-05-12 深圳市奥拓电子股份有限公司 Ddr仲裁控制器、视频缓存装置及视频处理系统
CN111209244A (zh) * 2018-11-21 2020-05-29 上海寒武纪信息科技有限公司 数据处理装置及相关产品
CN111813717A (zh) * 2020-06-10 2020-10-23 烽火通信科技股份有限公司 一种数据帧存储切换的装置及方法
CN111949578A (zh) * 2020-08-04 2020-11-17 西安电子科技大学 基于dfi标准的ddr3控制器
CN111984562A (zh) * 2020-09-07 2020-11-24 盛科网络(苏州)有限公司 寄存器突发访问控制的方法、电子设备及存储介质

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324869A (zh) * 2008-07-03 2008-12-17 北京中星微电子有限公司 一种基于axi总线的多路复用器
CN103039044A (zh) * 2010-06-03 2013-04-10 安通斯公司 具有服务质量特征的芯片上网络
CN202472634U (zh) * 2012-02-14 2012-10-03 福州瑞芯微电子有限公司 一种快速响应写数据的sdram控制器
CN103198856A (zh) * 2013-03-22 2013-07-10 烽火通信科技股份有限公司 一种ddr控制器及请求调度方法
CN105468797A (zh) * 2014-08-22 2016-04-06 深圳市中兴微电子技术有限公司 一种信息处理方法及装置
CN105868134A (zh) * 2016-04-14 2016-08-17 烽火通信科技股份有限公司 高性能多口ddr控制器及其实现方法
US20180113648A1 (en) * 2016-10-21 2018-04-26 Advanced Micro Devices, Inc. Software mode register access for platform margining and debug
CN108776647A (zh) * 2018-06-04 2018-11-09 中国电子科技集团公司第十四研究所 基于axi总线的多ddr控制器管理模块
CN109446125A (zh) * 2018-10-09 2019-03-08 武汉正维电子技术有限公司 Ddr读写仲裁器及方法
CN111209244A (zh) * 2018-11-21 2020-05-29 上海寒武纪信息科技有限公司 数据处理装置及相关产品
CN110399317A (zh) * 2019-07-15 2019-11-01 西安微电子技术研究所 一种嵌入式系统的软件自适应的多功能控制器
CN111091854A (zh) * 2019-11-21 2020-05-01 中国航空工业集团公司西安航空计算技术研究所 一种命令处理器与ddr读写访问电路
CN111143257A (zh) * 2019-12-02 2020-05-12 深圳市奥拓电子股份有限公司 Ddr仲裁控制器、视频缓存装置及视频处理系统
CN111813717A (zh) * 2020-06-10 2020-10-23 烽火通信科技股份有限公司 一种数据帧存储切换的装置及方法
CN111949578A (zh) * 2020-08-04 2020-11-17 西安电子科技大学 基于dfi标准的ddr3控制器
CN111984562A (zh) * 2020-09-07 2020-11-24 盛科网络(苏州)有限公司 寄存器突发访问控制的方法、电子设备及存储介质

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948293A (zh) * 2021-02-26 2021-06-11 浪潮电子信息产业股份有限公司 一种多用户接口的ddr仲裁器及ddr控制器芯片
CN113377290A (zh) * 2021-06-03 2021-09-10 电子科技大学 基于axi协议的具有深存储和双捕获功能的数据采集装置
CN113377290B (zh) * 2021-06-03 2022-07-26 电子科技大学 基于axi协议的具有深存储和双捕获功能的数据采集装置
CN113360424B (zh) * 2021-06-16 2024-01-30 上海创景信息科技有限公司 基于多通路独立axi总线的rldram3控制器
CN113360424A (zh) * 2021-06-16 2021-09-07 上海创景信息科技有限公司 基于多通路独立axi总线的rldram3控制器
CN113743599A (zh) * 2021-08-08 2021-12-03 苏州浪潮智能科技有限公司 一种卷积神经网络的运算装置及服务器
CN113743599B (zh) * 2021-08-08 2023-08-25 苏州浪潮智能科技有限公司 一种卷积神经网络的运算装置及服务器
CN113641603A (zh) * 2021-10-15 2021-11-12 南京芯驰半导体科技有限公司 一种基于axi协议的ddr仲裁与调度方法及系统
CN114721983A (zh) * 2022-04-13 2022-07-08 山东浪潮科学研究院有限公司 一种ddr4加速读写装置
CN114721983B (zh) * 2022-04-13 2023-06-16 山东浪潮科学研究院有限公司 一种ddr4加速读写装置
CN115951836A (zh) * 2023-01-12 2023-04-11 上海奎芯集成电路设计有限公司 Dfi命令和数据通道通用控制器及其读写方法
CN115951836B (zh) * 2023-01-12 2023-09-05 上海奎芯集成电路设计有限公司 Dfi命令和数据通道通用控制器及其读写方法
CN116680088A (zh) * 2023-08-03 2023-09-01 青岛本原微电子有限公司 一种针对多寄存器存储的多模块同时访问系统及访问方法
CN116680088B (zh) * 2023-08-03 2023-10-13 青岛本原微电子有限公司 一种针对多寄存器存储的多模块同时访问系统及访问方法
CN116776781B (zh) * 2023-08-17 2023-11-07 浪潮电子信息产业股份有限公司 一种寄存器参数的管理方法、系统、设备及存储介质
CN116776781A (zh) * 2023-08-17 2023-09-19 浪潮电子信息产业股份有限公司 一种寄存器参数的管理方法、系统、设备及存储介质
CN116974963A (zh) * 2023-09-25 2023-10-31 上海云豹创芯智能科技有限公司 一种访问存储器的装置及其方法、芯片、存储介质
CN116974963B (zh) * 2023-09-25 2023-12-15 上海云豹创芯智能科技有限公司 一种访问存储器的装置及其方法、芯片、存储介质
CN117171070A (zh) * 2023-11-03 2023-12-05 太初(无锡)电子科技有限公司 一种基于axi接口的交叉存取系统
CN117171070B (zh) * 2023-11-03 2024-03-26 太初(无锡)电子科技有限公司 一种基于axi接口的交叉存取系统
CN118132472A (zh) * 2024-05-07 2024-06-04 西安智多晶微电子有限公司 一种基于多接口ddr内存控制器的实现方法及装置
CN118132472B (zh) * 2024-05-07 2024-07-30 西安智多晶微电子有限公司 一种基于多接口ddr内存控制器的实现方法及装置

Similar Documents

Publication Publication Date Title
CN112559399A (zh) 一种多axi接口的ddr控制器及其控制方法
US10540306B2 (en) Data copying method, direct memory access controller, and computer system
US7185126B2 (en) Universal serial bus hub with shared transaction translator memory
US20180357199A1 (en) Slave-to-slave communication in i3c bus topology
KR20110113351A (ko) 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치
US10031674B2 (en) DIMM SSD addressing performance techniques
JP5641754B2 (ja) インターフェースカードシステム
CN108268414B (zh) 基于spi模式的sd卡驱动器及其控制方法
KR20140035776A (ko) 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법
US20230315298A1 (en) Flash controller for asic and control method therefor
WO2016000339A1 (zh) 一种芯片互连的方法、芯片及装置
TW202009699A (zh) 具有分散式信箱架構的多處理器系統及其溝通方法
US20070124527A1 (en) Virtual Serial Apparatus
KR100944892B1 (ko) 버스 시스템 및 버스 인터페이스
TWI412934B (zh) 嵌入式控制器記憶體之外部直接記憶體存取
CN115033520A (zh) Iic数据传输方法、装置、单片机设备及存储介质
US6425071B1 (en) Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus
US10503657B2 (en) DIMM SSD Addressing performance techniques
US20090138673A1 (en) Internal memory mapped external memory interface
CN116166581A (zh) 用于pcie总线的队列式dma控制器电路及数据传输方法
WO2022126398A1 (zh) 消息通知方法及装置
WO2021089430A1 (en) Bus system and method for operating a bus system
CN116601616A (zh) 一种数据处理装置、方法及相关设备
CN111475437A (zh) 固态硬盘soc芯片fpga原型验证ddr的装置、方法、计算机设备及存储介质
WO2023202235A1 (zh) 内存控制器、内存、内存控制方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210326

RJ01 Rejection of invention patent application after publication