CN115658588B - 一种axi总线的id压缩装置及方法 - Google Patents

一种axi总线的id压缩装置及方法 Download PDF

Info

Publication number
CN115658588B
CN115658588B CN202211609677.6A CN202211609677A CN115658588B CN 115658588 B CN115658588 B CN 115658588B CN 202211609677 A CN202211609677 A CN 202211609677A CN 115658588 B CN115658588 B CN 115658588B
Authority
CN
China
Prior art keywords
address channel
new
host side
mapping relation
side address
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.)
Active
Application number
CN202211609677.6A
Other languages
English (en)
Other versions
CN115658588A (zh
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.)
Core Microelectronics Technology Zhuhai Co ltd
Original Assignee
Core Microelectronics Technology Zhuhai 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 Core Microelectronics Technology Zhuhai Co ltd filed Critical Core Microelectronics Technology Zhuhai Co ltd
Priority to CN202211609677.6A priority Critical patent/CN115658588B/zh
Publication of CN115658588A publication Critical patent/CN115658588A/zh
Application granted granted Critical
Publication of CN115658588B publication Critical patent/CN115658588B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Bus Control (AREA)

Abstract

本发明公开了一种AXI总线的ID压缩装置及方法。AXI总线的ID压缩装置包括映射关系生成模块、第一映射模块和第二映射模块;映射关系生成模块用于生成与主机侧地址通道ID对应的新ID,以及生成主机侧地址通道ID与新ID的映射关系表;第一映射模块用于根据映射关系生成模块生成的新ID,生成从机侧地址通道ID;第二映射模块用于根据从机侧响应ID查找映射关系表,生成主机侧响应ID。本发明能够非常简便地对AXI总线的ID进行压缩,并且不会影响原有AXI总线传输的性能。

Description

一种AXI总线的ID压缩装置及方法
技术领域
本发明属于数据处理技术领域,更具体地,涉及一种AXI总线的ID压缩装置及方法。
背景技术
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线,目前在SoC模块互联中被广泛应用。AXI总共有五个通道,分别为写地址通道(Write Address Channel,AW Channel)、写数据通道(Write DataChannel,W Channel)、写响应通道 (Write Response Channel,B Channel)、读地址通道(Read Address Channel,AR Channel)和读响应通道(Read Response Channel,RChannel)。
AXI总线的ID在AXI总线传输当中起到了标记传输序号的作用,读地址通道与读响应通道之间、以及写地址通道与写响应通道之间均依靠ID进行标识和匹配。AXI传输的发起者(即主机,Master)会有一个Master侧的ID,AXI传输的接收者(即从机,Slave)会有一个Slave侧的ID,具体传输的ID由Master侧决定。Master以及Slave一般都是一些具体的IP,例如ARM Core、SLC、DDR等,AXI总线的ID宽度可以配置,然而配置的AXI总线的ID位宽都有限制,并不是完全随意的。并且,为了避免总线死锁,在一些总线类的IP(例如CoreLink)中会对传递到Slave侧的ID位宽进行扩展。
当Master侧的ID位宽小于Slave侧的ID位宽时,从Master到Slave的ID可以选择在Slave侧进行补0,从Slave到Master的ID可以在Master侧截取,很容易解决这一类ID位宽不匹配的问题。而当Master侧的ID位宽大于Slave侧的ID位宽时,却无法这么做,因为从Master到Slave的ID如果进行截取的话会丢失信息,Master无法根据Slave回复的ID将请求以及响应的数据匹配上,导致无法进行正常传输。因此,当这种场景发生时,需要对AXI 总线的ID进行压缩。
而如果使用哈希的方式进行ID的散列,将压缩前的ID与压缩后的ID进行映射,则有可能出现哈希碰撞,导致两个不同的ID转换出来相同的ID,进而导致无法根据Slave回复的ID准确度查找出原始的ID。此外,在常见的系统中,AXI的Outstanding能力(是指AXI的Master不需要等到response,就可以持续发写命令的个数,也即是“在路上”的写命令个数)总是比ID的位宽所能表示的传输个数要小得多,因此,这样的完全映射也是不必要的。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种AXI总线的ID压缩装置及方法,能够非常简便地对AXI总线的ID进行压缩,并且不会影响原有AXI总线传输的性能。
为实现上述目的,按照本发明的一个方面,提供了一种AXI总线的ID压缩装置,包括:映射关系生成模块、第一映射模块和第二映射模块;映射关系生成模块用于生成与主机侧地址通道ID对应的新ID,以及生成主机侧地址通道ID与新ID的映射关系表;第一映射模块用于根据映射关系生成模块生成的新ID,生成从机侧地址通道ID;第二映射模块用于根据从机侧响应ID查找映射关系表,生成主机侧响应ID。
在一些实施方式中,AXI总线的ID压缩装置还包括计数器;映射关系生成模块还用于基于计数器的计数值生成索引,并将生成的索引写入映射关系表。
在一些实施方式中,在从机不会乱序返回时,映射关系生成模块还用于将收到的主机侧地址通道ID写入映射关系表中与当前索引对应的位置,并基于计数器的当前计数值,生成与当前主机侧地址通道ID对应的新ID;计数器的计数值在写入当前主机侧地址通道ID以及生成当前主机侧地址通道ID对应的新ID的过程中保持不变,在当前主机侧地址通道ID写入以及当前主机侧地址通道ID对应的新ID生成之后发生改变。
在一些实施方式中,在从机不会乱序返回时,映射关系生成模块还用于将生成的新ID发送给第一映射模块,而不将生成的新ID写入映射关系表。
在一些实施方式中,在从机会乱序返回时,映射关系生成模块还用于将收到的主机侧地址通道ID写入映射关系表中与当前索引对应的位置,检查映射关系表中是否存在与当前主机侧地址通道ID相同的旧ID,以及根据检查结果,按照不同的规则生成与当前主机侧地址通道ID对应的新ID,并将生成的新ID写入映射关系表中与当前索引对应的位置;其中,旧ID是指映射关系表中已有的主机侧地址通道ID;计数器的计数值在写入当前主机侧地址通道ID以及当前主机侧地址通道ID对应的新ID的过程中保持不变,在当前主机侧地址通道ID以及当前主机侧地址通道ID对应的新ID写入之后发生改变。
在一些实施方式中,在映射关系表中不存在与当前主机侧地址通道ID相同的旧ID时,映射关系生成模块基于计数器的当前计数值,生成与当前主机侧地址通道ID对应的新ID。
在一些实施方式中,在映射关系表中存在与当前主机侧地址通道ID相同的旧ID时,映射关系生成模块生成与当前主机侧地址通道ID对应的新ID,并使得生成的新ID等于相同的旧ID中与计数器的当前计数值对应的索引表项的索引距离最小的旧ID对应的新ID。
在一些实施方式中,在从机会乱序返回时,第二映射模块还用于根据从机侧响应ID对应的新ID,查找映射关系生成表,获取目标索引表项,目标索引表项中的新ID与从机侧响应ID对应的新ID一致;以及在仅存在一个目标索引表项时,将目标索引表项中的旧ID作为主机侧响应ID输出至主机;在存在多个目标索引表项时,选取该多个目标索引表项中与计数器的当前计数值对应的索引表项的索引距离最大者,将该索引距离最大的目标索引表项中的旧ID作为主机侧响应ID输出至主机。
在一些实施方式中,映射关系生成模块还用于在从机会乱序返回时,将有效标志位写入映射关系表,每个索引表项均包含有效标志位,有效标志位用于指示其所对应的索引表项是否处于有效状态。
在一些实施方式中,映射关系生成模块还用于将当前主机侧地址通道ID以及与当前主机侧地址通道ID对应的新ID写入映射关系表后,使得对应的有效标志位指示当前索引表项处于有效状态;以及将目标索引表项中的旧ID作为主机侧响应ID输出至主机后,使得对应的有效标志位指示该旧ID所在的目标索引表项处于无效状态。
根据本发明的另一方面,提供了一种片上系统,包括主机、从机以及上述AXI总线的ID压缩装置。
根据本发明的又一方面,提供了一种AXI总线的ID压缩方法,包括:
生成与主机侧地址通道ID对应的新ID;
生成主机侧地址通道ID与新ID的映射关系表;
根据生成的新ID,生成从机侧地址通道ID;
根据从机侧响应ID查找映射关系表,生成主机侧响应ID。
在一些实施方式中,生成主机侧地址通道ID与新ID的映射关系表包括:
基于计数器的计数值生成索引;
将生成的索引写入映射关系表。
在一些实施方式中,在从机不会乱序返回时,上述生成主机侧地址通道ID与新ID的映射关系表还包括:
将收到的主机侧地址通道ID写入映射关系表中与当前索引对应的位置;
基于计数器的当前计数值,生成与当前主机侧地址通道ID对应的新ID;
其中,计数器的计数值在写入当前主机侧地址通道ID以及生成当前主机侧地址通道ID对应的新ID的过程中保持不变,在当前主机侧地址通道ID写入以及当前主机侧地址通道ID对应的新ID生成之后发生改变。
在一些实施方式中,在从机不会乱序返回时,不将生成的新ID写入映射关系表。
在一些实施方式中,在从机会乱序返回时,上述生成主机侧地址通道ID与新ID的映射关系表还包括:
将收到的主机侧地址通道ID写入映射关系表中与当前索引对应的位置;
检查映射关系表中是否存在与当前主机侧地址通道ID相同的旧ID;
根据检查结果,按照不同的规则生成与当前主机侧地址通道ID对应的新ID;
将生成的新ID写入映射关系表中与当前索引对应的位置;
其中,旧ID是指映射关系表中已有的主机侧地址通道ID;计数器的计数值在写入当前主机侧地址通道ID以及当前主机侧地址通道ID对应的新ID的过程中保持不变,在当前主机侧地址通道ID以及当前主机侧地址通道ID对应的新ID写入之后发生改变。
在一些实施方式中,根据检查结果,按照不同的规则生成与当前主机侧地址通道ID对应的新ID包括:在映射关系表中不存在与当前主机侧地址通道ID相同的旧ID时,基于计数器的当前计数值,生成与当前主机侧地址通道ID对应的新ID。
在一些实施方式中,根据检查结果,按照不同的规则生成与当前主机侧地址通道ID对应的新ID包括:在映射关系表中存在与当前主机侧地址通道ID相同的旧ID时,生成与当前主机侧地址通道ID对应的新ID,并使得生成的新ID等于相同的旧ID中与计数器的当前计数值对应的索引表项的索引距离最小的旧ID对应的新ID。
在一些实施方式中,在从机会乱序返回时,上述根据从机侧响应ID查找映射关系表,生成主机侧响应ID包括:
根据从机侧响应ID对应的新ID,查找映射关系生成表,获取目标索引表项,目标索引表项中的新ID与从机侧响应ID对应的新ID一致;
在仅存在一个目标索引表项时,将目标索引表项中的旧ID作为主机侧响应ID输出至主机;
在存在多个目标索引表项时,选取该多个目标索引表项中与计数器的当前计数值对应的索引表项的索引距离最大者,将该索引距离最大的目标索引表项中的旧ID作为主机侧响应ID输出至主机。
在一些实施方式中,在从机会乱序返回时,上述生成主机侧地址通道ID与新ID的映射关系表还包括:将有效标志位写入映射关系表,每个索引表项均包含有效标志位,用于指示其所对应的索引表项是否处于有效状态。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:设置映射关系生成模块,用于根据主机输出的主机侧地址通道ID生成新的ID,并生成主机侧地址通道ID与新的ID的映射关系表;设置第一映射模块,用于根据映射关系生成模块生成的新的ID,生成从机侧地址通道ID发送给从机;设置第二映射模块,用于根据从机侧响应ID查找映射关系表,生成主机侧响应ID发送给主机。这种设计不仅结构简单,节省了面积和功耗的开销,而且使得从主机侧地址通道ID到从机侧地址通道ID,以及从从机侧响应ID到主机侧响应ID之间没有时钟周期上的延时,因此,AXI协议的其他数据信号和控制信号不需要寄存,能够有效节省存储资源,同时避免了寄存器对信号传输效率的负面影响。此外,根据从机是否会乱序返回,对映射关系表的生成规则做了区分,在从机不会乱序返回时,能够有效节省存储资源。因此,本发明在目前最常用的AXI4协议下,也能够非常简便地对AXI总线的ID进行压缩,并且不会影响原有AXI总线传输的性能。
附图说明
图1是本发明实施例的AXI总线的ID压缩装置进行写地址通道ID信号传输的示意图;
图2是本发明实施例的从机不会乱序返回时,映射关系生成模块生成的映射关系表的结构示意图;
图3是本发明实施例的从机会乱序返回时,映射关系生成模块生成的映射关系表的结构示意图;
图4是本发明实施例的从机会乱序返回时,映射关系生成模块生成的映射关系表的示例;
图5是本发明实施例的AXI总线的ID压缩装置进行读地址通道ID信号传输的示意图;
图6是本发明实施例的AXI总线的ID压缩方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。正如本领域技术人员可以认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
本发明实施例的AXI总线的ID压缩装置包括映射关系生成模块、第一映射模块和第二映射模块。其中,映射关系生成模块用于生成与主机输出的主机侧地址通道ID对应的新ID,并进一步生成主机侧地址通道ID与新的ID的映射关系表。第一映射模块用于根据映射关系生成模块生成的新ID,生成从机侧地址通道ID发送给从机。第二映射模块用于根据从机侧响应ID查找映射关系表,生成主机侧响应ID发送给主机。
下文以写地址通道AW和写响应通道B的ID信号传输为例,对本发明实施例的AXI总线的ID压缩装置的工作原理进行详细说明。
如图1所示,主机向第一映射模块和映射关系生成模块发送主机侧写地址通道标识信号AWID_M和主机侧写地址通道有效信号AWVALID_M。主机向从机发送主机侧写地址通道有效信号AWVALID_M。
映射关系生成模块根据写地址通道预备信号AWREADY_S,判断是否启动工作;根据主机侧写地址通道有效信号AWVALID_M,判断主机侧写地址通道标识信号AWID_M是否有效。映射关系生成模块在启动工作且主机侧写地址通道标识信号AWID_M有效时,生成新的ID,标记为GEN_ID,并将GEN_ID发送给第一映射模块。在一些实施方式中,写地址通道预备信号AWREADY_S为高电平时,映射关系生成模块判断启动工作;写地址通道预备信号AWREADY_S为低电平时,映射关系生成模块判断不启动工作。在一些实施方式中,主机侧写地址通道有效信号AWVALID_M为高电平时,映射关系生成模块判断主机侧写地址通道标识信号AWID_M有效;主机侧写地址通道有效信号AWVALID_M为低电平时,映射关系生成模块判断主机侧写地址通道标识信号AWID_M无效。
映射关系生成模块基于主机侧写地址通道标识信号AWID_M和GEN_ID,生成映射关系表。
第一映射模块根据主机侧写地址通道有效信号AWVALID_M,判断主机侧写地址通道标识信号AWID_M有效时,输出从机侧写地址通道标识信号AWID_S发往从机,且AWID_S =GEN_ID。在一些实施方式中,第一映射模块判断主机侧写地址通道标识信号AWID_M有效时,输出从机侧写地址通道标识信号AWID_S发往从机,且AWID_S与GEN_ID一一对应。在一些实施方式中,主机侧写地址通道有效信号AWVALID_M为高电平时,第一映射模块判断主机侧写地址通道标识信号AWID_M有效;主机侧写地址通道有效信号AWVALID_M为低电平时,第一映射模块判断主机侧写地址通道标识信号AWID_M无效,第一映射模块输出从机侧写地址通道标识信号AWID_S发往从机,且AWID_S = 0。
从机接收主机侧写地址通道有效信号AWVALID_M,并使得从机侧写地址通道有效信号AWVALID_S = AWVALID_M。从机根据从机侧写地址通道有效信号AWVALID_S,判断从机侧写地址通道标识信号AWID_S有效时,向第二映射模块输出从机侧写响应标识信号BID_S,且BID_S = AWID_S。在一些实施方式中,从机在判断从机侧写地址通道标识信号AWID_S有效时,向第二映射模块输出从机侧写响应标识信号BID_S,且BID_S与AWID_S一一对应。在一些实施方式中,从机侧写地址通道有效信号AWVALID_S为高电平时,从机判断从机侧写地址通道标识信号AWID_S有效;从机侧写地址通道有效信号AWVALID_S为低电平时,从机判断从机侧写地址通道标识信号AWID_S无效。
从机向映射关系生成模块发送写地址通道预备信号AWREADY_S,向第二映射模块输出从机侧写响应有效信号BVALID_S。从机向主机发送从机侧写响应有效信号BVALID_S。
映射关系生成模块根据写地址通道预备信号AWREADY_S,判断是否启动工作,在映射关系生成模块启动工作时,将映射关系表发往第二映射模块。在一些实施方式中,在映射关系生成模块启动工作时,允许第二映射模块从映射关系生成模块读取映射关系表。在一些实施方式中,地址通道预备信号AWREADY_S为高电平时,映射关系生成模块将映射关系表发往第二映射模块或允许第二映射模块读取映射关系表;地址通道预备信号AWREADY_S为低电平时,映射关系生成模块不向第二映射模块发送映射关系表或不允许第二映射模块读取映射关系表。
第二映射模块根据从机侧写响应有效信号BVALID_S,判断从机侧写响应标识信号BID_S有效时,查找映射关系生成表,得到与从机侧写响应标识信号BID_S对应的主机侧写响应标识信号BID_M。在一些实施方式中,映射关系生成模块不向第二映射模块发送映射关系表或不允许第二映射模块读取映射关系表时,第二映射模块等待,直至映射关系生成模块将映射关系表发往第二映射模块或允许第二映射模块读取映射关系表。
主机接收从机侧写响应有效信号BVALID_S,并使得主机侧写响应有效信号BVALID_M = BVALID_S。主机根据主机侧写响应有效信号BVALID_M,判断主机侧写响应标识信号BID_M有效时,主机判断写地址通道ID信号传输-响应完成。在一些实施方式中,主机侧写响应有效信号BVALID_M为高电平时,主机判断主机侧写响应标识信号BID_M有效;主机侧写响应有效信号BVALID_M为高电平时,主机判断主机侧写响应标识信号BID_M有效,进而判断写地址通道ID信号传输-响应未完成。
如前所述,映射关系生成模块用于生成新的ID,并基于主机侧写地址通道标识信号AWID_M和新的ID生成映射关系表。AXI协议有同ID保序的需求,因此,在从机不会乱序返回时,可以将主机发送的相同的ID映射为不同的ID,即,将相同的AWID_M映射为不同的GEN_ID;在从机会乱序返回时,必须将主机发送的相同的ID映射为相同的ID,即,将相同的AWID_M映射为相同的GEN_ID,才能在不缓存数据做重新排序的情况下满足ID信号传输的需要。基于此,本发明实施例根据从机是否会乱序返回,对映射关系表的生成规则做了区分。
具体地,在从机不会乱序返回时,利用计数器对映射关系表进行索引,计数器的计数范围为0至2N-1,其中,N为GEN_ID的宽度,N的取值应当满足2N大于AXI的Outstanding能力。计数器的值记为REMAP_COUNTER,GEN_ID恒等于REMAP_COUNTER。计数器复位时,REMAP_COUNTER = 0。当主机侧写地址通道标识信号AWID_M有效且映射关系生成模块启动工作时,映射关系生成模块将接收到的主机侧写地址通道标识信号AWID_M写入映射关系表中与基于REMAP_COUNTER(REMAP_COUNTER = 0)的索引对应的位置,作为旧ID,并生成GEN_ID = 0,在主机侧写地址通道标识信号AWID_M写入映射关系表后,计数器的值加1,即REMAP_COUNTER = REMAP_COUNTER + 1 = 1。映射关系生成模块再次将接收到的主机侧写地址通道标识信号AWID_M写入映射关系表中与基于REMAP_COUNTER(REMAP_COUNTER = 1)的索引对应的位置,作为旧ID,并生成GEN_ID = 1,在主机侧写地址通道标识信号AWID_M写入映射关系表后,计数器的值再加1,即REMAP_COUNTER = REMAP_COUNTER + 1 = 2。通过上述过程,映射关系生成模块不断更新映射关系表。
具体地,如图2所示,映射关系生成模块将基于REMAP_COUNTER的索引REMAP_TABLE[REMAP_COUNTER]写入映射关系表的第一列,将主机侧写地址通道标识信号AWID_M写入映射关系表的第二列,作为旧ID。开始时,REMAP_COUNTER = 0,索引REMAP_TABLE[0]写入映射关系表的第一列第一行。映射关系生成模块收到主机侧写地址通道标识信号AWID_M后,将其写入映射关系表的第二列第一行,作为旧ID,计数器的值加1,索引REMAP_TABLE[1]写入映射关系表的第一列第二行。映射关系生成模块再次收到主机侧写地址通道标识信号AWID_M后,将其写入映射关系表的第二列第二行,作为旧ID,计数器的值再加1,索引REMAP_TABLE[2]写入映射关系表的第一列第三行。通过上述过程,索引REMAP_TABLE[0]、REMAP_TABLE[1]、REMAP_TABLE[2]…依次被写入映射关系表的第一列,映射关系生成模块接收到的主机侧写地址通道标识信号AWID_M依次被写入映射关系表的第二列。REMAP_COUNTER最大可以为2N-1,因此,映射关系表的第一列最多可以写入2N行,即,从REMAP_TABLE[0]一直到REMAP_TABLE[2N-1]。
从机回复时,第二映射模块收到从机侧写响应标识信号BID_S,在判断从机侧写响应标识信号BID_S有效且映射关系生成模块启动工作时,第二映射模块查找映射关系生成表。具体地,从机侧写响应标识信号BID_S依次对应GEN_ID = 0、GEN_ID = 1、GEN_ID =2、…,查找映射关系生成表,依次得到与目标索引REMAP_TABLE[0]、REMAP_TABLE[1]、REMAP_TABLE[2]、…对应的主机侧写地址通道标识信号AWID_M,将其作为主机侧写响应标识信号BID_M输出至主机。
下面以单个主机侧写地址通道标识信号的传输为例对本实施例的方案进行详细说明。
主机向映射关系生成模块和第一映射模块发送主机侧写地址通道标识信号AWID_M,映射关系生成模块启动工作时,计数器复位,REMAP_COUNTER = 0,第一映射模块判断主机侧写地址通道标识信号AWID_M有效时,将主机侧写地址通道标识信号AWID_M写入映射关系表中与REMAP_TABLE[0]对应的位置,生成GEN_ID = 0。第一映射模块判断主机侧写地址通道标识信号AWID_M有效时,输出从机侧写地址通道标识信号AWID_S发往从机,且AWID_S= GEN_ID = 0。从机判断从机侧写地址通道标识信号AWID_S有效时,向第二映射模块输出从机侧写响应标识信号BID_S,且BID_S = AWID_S = 0。第二映射模块判断写响应标识信号BID_S有效且映射关系生成模块启动工作时,查找映射关系生成表,得到与目标索引REMAP_TABLE[0]对应的主机侧写地址通道标识信号AWID_M,将其作为主机侧写响应标识信号BID_M输出至主机。主机侧写地址通道标识信号AWID_M的传输-响应完成。
可以理解的是,在一个主机侧写地址通道标识信号的传输过程中,主机还会不断地向从机发送主机侧写地址通道标识信号,且这些后来的主机侧写地址通道标识信号也按照类似的方式进行传输,并按序返回至主机。
本实施例中,由于映射关系表的项目数2N大于AXI的Outstanding能力,也就是说,表格刷新一轮时,被刷新的内容必然已经得到了从机的回复,因此不会发生溢出或者被覆盖的问题。此外,映射关系表只需存储索引和旧的ID,无需单独存储新的ID,因此,在满足Outstanding需要的同时,能够以简便的方式、较小的开销实现AXI总线的ID压缩这一需求。
在从机会乱序返回时,同样存在计数器,计数器的计数范围为0至2N-1,计数器的值即为REMAP_COUNTER。计数器复位时,REMAP_COUNTER = 0。当主机侧写地址通道标识信号AWID_M有效且映射关系生成模块启动工作时,映射关系生成模块将接收到的主机侧写地址通道标识信号AWID_M写入映射关系表中与基于REMAP_COUNTER(REMAP_COUNTER = 0)的索引对应的第一位置,作为旧ID,并生成GEN_ID = 0,将GEN_ID写入映射关系表中与基于REMAP_COUNTER(REMAP_COUNTER = 0)的索引对应的第二位置,作为新ID;在主机侧写地址通道标识信号AWID_M写入映射关系表后,计数器的值加1,即REMAP_COUNTER = REMAP_COUNTER + 1 = 1。映射关系生成模块再次将接收到的主机侧写地址通道标识信号AWID_M写入映射关系表中与基于REMAP_COUNTER(REMAP_COUNTER = 1)的索引对应的第一位置,作为旧ID,同时查询映射关系表。如果映射关系表中不存在与当前主机侧写地址通道标识信号AWID_M相同的旧ID,则生成GEN_ID = REMAP_COUNTER = 1,与从机不会乱序返回时生成GEN_ID的规则一致,再将GEN_ID写入映射关系表中与基于REMAP_COUNTER(REMAP_COUNTER= 1)的索引对应的第二位置,作为新ID;如果映射关系表中存在与当前主机侧写地址通道标识信号AWID_M相同的旧ID,则生成GEN_ID,使得GEN_ID等于相同的旧ID中与当前计数器值对应的索引表项(包括索引对应的旧ID和新ID)的索引距离最小的旧ID对应的新ID,将GEN_ID写入映射关系表中与基于REMAP_COUNTER(REMAP_COUNTER = 1)的索引对应的第二位置,作为新ID;在主机侧写地址通道标识信号AWID_M写入映射关系表后,计数器的值加1,即REMAP_COUNTER = REMAP_COUNTER + 1 = 2。
此后,映射关系生成模块在每次接收到主机侧写地址通道标识信号AWID_M后,均会查询映射关系表,如果映射关系表中不存在与当前主机侧写地址通道标识信号AWID_M相同的旧ID,则生成GEN_ID = REMAP_COUNTER,与从机不会乱序返回时生成GEN_ID的规则一致。如果映射关系表中存在与当前主机侧写地址通道标识信号AWID_M相同的旧ID,则生成GEN_ID,使得GEN_ID等于相同的旧ID中与当前计数器值对应的索引表项的索引距离最小的旧ID对应的新ID。通过上述过程,映射关系生成模块不断更新映射关系表。
具体地,如图3所示,映射关系生成模块将基于REMAP_COUNTER的索引REMAP_TABLE[REMAP_COUNTER]写入映射关系表的第一列,将主机侧写地址通道标识信号AWID_M写入映射关系表的第二列,作为旧ID,将生成的GEN_ID写入映射关系表的第三列,作为新ID。
开始时,REMAP_COUNTER = 0,索引REMAP_TABLE[0]写入映射关系表的第一列第一行。映射关系生成模块收到主机侧写地址通道标识信号AWID_M后,将其写入映射关系表的第二列第一行,作为旧ID,并生成GEN_ID = 0,将GEN_ID写入映射关系表的第三列第一行,作为新ID,计数器的值加1,索引REMAP_TABLE[1]写入映射关系表的第一列第二行。映射关系生成模块再次收到主机侧写地址通道标识信号AWID_M后,将其写入映射关系表的第二列第二行,作为旧ID,同时查询映射关系表,如果映射关系表中不存在与当前主机侧写地址通道标识信号AWID_M相同的旧ID,则生成GEN_ID = REMAP_COUNTER = 1,与前述从机不会乱序返回时一致;如果映射关系表中存在与当前主机侧写地址通道标识信号AWID_M相同的旧ID,则生成GEN_ID,使得GEN_ID等于相同的旧ID中与当前计数器值对应的索引表项的索引距离最小的旧ID对应的新ID;将生成的GEN_ID写入映射关系表中的第三列第二行,作为新ID,计数器的值加1,索引REMAP_TABLE[2]写入映射关系表的第一列第三行。此后,在映射关系生成模块每次收到主机侧写地址通道标识信号AWID_M后,都会查询映射关系表,并根据映射关系表中是否存在与当前主机侧写地址通道标识信号AWID_M相同的旧ID,确定生成的新ID。REMAP_COUNTER最大可以为2N-1,因此,映射关系表的第一列最多可以写入2N行,即,从REMAP_TABLE[0]一直到REMAP_TABLE[2N-1]。
从机回复时,第二映射模块收到从机侧写响应标识信号BID_S,在判断从机侧写响应标识信号BID_S有效且映射关系生成模块启动工作时,第二映射模块根据从机侧写响应标识信号BID_S对应的GEN_ID,查找映射关系生成表,获取目标索引表项,其中,目标索引表项中的新ID与该GEN_ID一致,即,只有新ID的值与该GEN_ID相等的索引表项才能成为目标索引表项。在仅存在一个目标索引表项时,将目标索引表项中的旧ID作为主机侧写响应标识信号BID_M输出至主机;在存在多个目标索引表项时,选取该多个目标索引表项中与计数器的当前计数值对应的索引表项的索引距离最大者,将该索引距离最大的目标索引表项中的旧ID作为主机侧写响应标识信号BID_M输出至主机。
在一些实施方式中,目标索引表项中的旧ID被作为主机侧写响应标志信号BID_M输出至主机后,映射关系生成模块清除该目标索引表项。
在一些实施方式中,映射关系表还包括第四列,用于存储有效标志位,每个索引表项均包含有效标志位。根据该有效标志位,第二映射模块能够判断有效标志位所对应的索引表项是否处于有效状态。在一些实施方式中,有效标志位的长度为1。在一些实施方式中,有效标志位为1时,其对应的索引表项处于有效状态;有效标志位为0时,其对应的索引表项处于无效状态。在一些实施方式中,目标索引表项中的旧ID被作为主机侧写响应标志信号BID_M输出至主机后,映射关系生成模块更新该目标索引表项的有效标志位,使其从有效状态变更至无效状态。在一些实施方式中,第二映射模块在查找映射关系表时,仅查找处于有效状态的索引表项,忽略处于无效状态的索引表项。
下面以单个主机侧写地址通道标识信号的传输为例,对本实施例的方案进行详细说明。
如图4所示,主机向映射关系生成模块和第一映射模块发送主机侧写地址通道标识信号AWID_M,映射关系生成模块启动工作时,计数器复位,REMAP_COUNTER = 0,第一映射模块判断主机侧写地址通道标识信号AWID_M有效时,将主机侧写地址通道标识信号AWID_M(标记为AWID_M[0])写入映射关系表中与REMAP_TABLE[0]对应的位置,生成GEN_ID = 0,对应的有效标志位置1(图中未示出)。
此后,主机不断地向从机发送主机侧写地址通道标识信号,分别标记为AWID_M[1]、AWID_M[2]、…、AWID_M[2N-1]。其中,AWID_M[1]与AWID_M[0]不同(假设此时AWID_M[0]对应的有效标志位为1,即AWID_M[0]所在的索引表项在映射关系生成表的查找范围内),因此,AWID_M[1]对应的新ID为1;AWID_M[2] = AWID_M[1] = M(假设此时AWID_M[1]对应的有效标志位为1),因此,AWID_M[2]对应的新ID为AWID_M[1]对应的新ID,即为1;假设生成AWID_M[2N-1]对应的新ID时,AWID_M[0]对应的有效标志位为0,AWID_M[1]至AWID_M[2N-2]对应的有效标志位均为1,AWID_M[2N-1] = AWID_M[2] = M,且AWID_M[2]到AWID_M[2N-1]的索引距离最小,因此,AWID_M[2N-1]对应的新ID为AWID_M[2]对应的新ID,即为1,AWID_M[2N-1]对应的有效标志位置1。
从机回复时,第一映射模块判断主机侧写地址通道标识信号AWID_M有效时,输出从机侧写地址通道标识信号AWID_S发往从机,且AWID_S= GEN_ID = 1。从机判断从机侧写地址通道标识信号AWID_S有效时,向第二映射模块输出从机侧写响应标识信号BID_S,且BID_S = AWID_S = 1。第二映射模块判断写响应标识信号BID_S有效且映射关系生成模块启动工作时,查找映射关系生成表,得到3个目标索引表项,即AWID_M[1]、AWID_M[2]和AWID_M[2N-1]所在的索引表项,其中,AWID_M[1]所在的索引表项与计数器的当前计数值对应的索引表项的索引距离最大,因此将AWID_M[1]作为主机侧写响应标识信号BID_M输出至主机,清除AWID_M[1]所在的索引表项,或者将AWID_M[1]所在的索引表项中的有效标志位置0(图中未示出)。
其他主机侧写地址通道标识信号也按照类似的方式进行传输,并返回至主机,在此不再赘述。
相较于从机不会乱序返回时,在从机会乱序返回时的控制逻辑要复杂一些,但能够实现对全功能的AXI总线的ID进行压缩。此外,在计数器的值改变之前,就能完成AXI总线ID的压缩操作,即,在计数器维持在某个值的时钟周期内,就能完成从旧ID生成新ID的ID压缩操作。
如图5所示,读地址通道AR和读响应通道R的ID信号传输过程涉及的信号包括:主机侧读地址通道标识信号ARID_M、主机侧读地址通道有效信号ARVALID_M、读地址通道预备信号ARREADY_S、从机侧读地址通道标识信号ARID_S、从机侧读地址通道有效信号ARVALID_S、从机侧读响应标识信号RID_S、从机侧读响应有效信号BVALID_S、主机侧读响应标识信号RID_M以及主机侧读响应有效信号BVALID_M。这些信号与图1中写地址通道AW和写响应通道B的ID信号传输中涉及的信号对应,读地址通道AR和读响应通道R的ID信号传输过程与写地址通道AW和写响应通道B的ID信号传输过程完全一致,本发明对此不再赘述。
在一些实施方式中,计数器作为单独的模块存在,映射关系生成模块获取计数器的计数值。在一些实施方式中,计数器集成在映射关系生成模块内部。
如图6所示,本发明实施例的AXI总线的ID压缩方法包括:
步骤601:生成与主机侧地址通道ID对应的新ID;
步骤603:生成主机侧地址通道ID与新ID的映射关系表;
具体包括:
基于计数器的计数值生成索引。
将生成的索引写入映射关系表。
在从机不会乱序返回时,执行如下步骤:
将收到的主机侧地址通道ID写入映射关系表中与当前索引对应的位置;
基于计数器的当前计数值,生成与当前主机侧地址通道ID对应的新ID;
其中,计数器的计数值在写入当前主机侧地址通道ID以及生成当前主机侧地址通道ID对应的新ID的过程中保持不变,在当前主机侧地址通道ID写入以及当前主机侧地址通道ID对应的新ID生成之后发生改变。
在一些实施方式中,在从机不会乱序返回时,不将生成的新ID写入映射关系表。
在从机会乱序返回时,执行如下步骤:
将收到的主机侧地址通道ID写入映射关系表中与当前索引对应的位置;
检查映射关系表中是否存在与当前主机侧地址通道ID相同的旧ID;
根据检查结果,按照不同的规则生成与当前主机侧地址通道ID对应的新ID;将生成的新ID写入映射关系表中与当前索引对应的位置;
其中,旧ID是指映射关系表中已有的主机侧地址通道ID;计数器的计数值在写入当前主机侧地址通道ID以及当前主机侧地址通道ID对应的新ID的过程中保持不变,在当前主机侧地址通道ID以及当前主机侧地址通道ID对应的新ID写入之后发生改变。
在一些实施方式中,在映射关系表中不存在与当前主机侧地址通道ID相同的旧ID时,基于计数器的当前计数值,生成与当前主机侧地址通道ID对应的新ID。
在一些实施方式中,在映射关系表中存在与当前主机侧地址通道ID相同的旧ID时,生成与当前主机侧地址通道ID对应的新ID,并使得生成的新ID等于相同的旧ID中与计数器的当前计数值对应的索引表项的索引距离最小的旧ID对应的新ID。
在一些实施方式中,从机会乱序返回时,进一步将有效标志位写入映射关系表,每个索引表项均包含有效标志位,用于指示其所对应的索引表项是否处于有效状态。
在一些实施方式中,在当前主机侧地址通道ID以及与当前主机侧地址通道ID对应的新ID写入映射关系表后,对应的有效标志位指示当前索引表项处于有效状态;将目标索引表项中的旧ID作为主机侧响应ID输出至主机后,对应的有效标志位指示该旧ID所在的目标索引表项处于无效状态。
步骤605:根据生成的新ID,生成从机侧地址通道ID;
步骤607:根据从机侧响应ID查找映射关系表,生成主机侧响应ID。
在从机不会乱序返回时,具体包括:
根据从机侧响应ID,查找映射关系表,获取目标索引;
获取目标索引对应的主机侧地址通道ID,将其作为主机侧响应ID输出至主机。
在从机会乱序返回时,具体包括:
根据从机侧响应ID对应的新ID,查找映射关系生成表,获取目标索引表项,目标索引表项中的新ID与从机侧响应ID对应的新ID一致;
在仅存在一个目标索引表项时,将目标索引表项中的旧ID作为主机侧响应ID输出至主机;
在存在多个目标索引表项时,选取该多个目标索引表项中与计数器的当前计数值对应的索引表项的索引距离最大者,将该索引距离最大的目标索引表项中的旧ID作为主机侧响应ID输出至主机。
本发明实施例的AXI总线的ID压缩方法在进一步实现时,可参考前述实施例中对AXI总线的ID压缩装置的描述,本发明在此不再赘述。
本发明不仅结构简单,节省了面积和功耗的开销,而且使得从主机侧地址通道ID到从机侧地址通道ID,以及从从机侧响应ID到主机侧响应ID之间没有时钟周期上的延时,因此,AXI协议的其他数据信号和控制信号不需要寄存,能够有效节省存储资源,同时避免了寄存器对信号传输效率的负面影响。此外,根据从机是否会乱序返回,对映射关系表的生成规则做了区分,在从机不会乱序返回时,能够有效节省存储资源。通过本发明压缩后的ID宽度小于从机侧AXI总线的ID宽度时,同样可将其归纳为主机侧ID小于从机侧 ID的场景,即,从Master到Slave的ID可以选择在Slave侧进行补0,从Slave到Master的ID可以在Master侧截取,使用方便。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个(两个或两个以上)用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (16)

1.一种AXI总线的ID压缩装置,其特征在于,包括:映射关系生成模块、第一映射模块、第二映射模块和计数器;所述映射关系生成模块用于生成与主机侧地址通道ID对应的新ID,生成主机侧地址通道ID与新ID的映射关系表,以及基于所述计数器的计数值生成索引,并将生成的索引写入映射关系表;所述第一映射模块用于根据所述映射关系生成模块生成的新ID,生成从机侧地址通道ID;所述第二映射模块用于根据从机侧响应ID查找映射关系表,生成主机侧响应ID;
在从机不会乱序返回时,所述映射关系生成模块还用于将收到的主机侧地址通道ID写入映射关系表中与当前索引对应的位置,并基于所述计数器的当前计数值,生成与当前主机侧地址通道ID对应的新ID;所述计数器的计数值在写入当前主机侧地址通道ID以及生成当前主机侧地址通道ID对应的新ID的过程中保持不变,在当前主机侧地址通道ID写入以及当前主机侧地址通道ID对应的新ID生成之后发生改变。
2.如权利要求1所述的AXI总线的ID压缩装置,其特征在于,在从机不会乱序返回时,所述映射关系生成模块还用于将生成的新ID发送给所述第一映射模块,而不将生成的新ID写入映射关系表。
3.一种AXI总线的ID压缩装置,其特征在于,包括:映射关系生成模块、第一映射模块、第二映射模块和计数器;所述映射关系生成模块用于生成与主机侧地址通道ID对应的新ID,生成主机侧地址通道ID与新ID的映射关系表,以及基于所述计数器的计数值生成索引,并将生成的索引写入映射关系表;所述第一映射模块用于根据所述映射关系生成模块生成的新ID,生成从机侧地址通道ID;
在从机会乱序返回时,所述映射关系生成模块还用于将收到的主机侧地址通道ID写入映射关系表中与当前索引对应的位置,检查映射关系表中是否存在与当前主机侧地址通道ID相同的旧ID,以及根据检查结果,按照不同的规则生成与当前主机侧地址通道ID对应的新ID,并将生成的新ID写入映射关系表中与当前索引对应的位置;其中,旧ID是指映射关系表中已有的主机侧地址通道ID;所述计数器的计数值在写入当前主机侧地址通道ID以及当前主机侧地址通道ID对应的新ID的过程中保持不变,在当前主机侧地址通道ID以及当前主机侧地址通道ID对应的新ID写入之后发生改变。
4.如权利要求3所述的AXI总线的ID压缩装置,其特征在于,在映射关系表中不存在与当前主机侧地址通道ID相同的旧ID时,所述映射关系生成模块基于所述计数器的当前计数值,生成与当前主机侧地址通道ID对应的新ID。
5.如权利要求3所述的AXI总线的ID压缩装置,其特征在于,在映射关系表中存在与当前主机侧地址通道ID相同的旧ID时,所述映射关系生成模块生成与当前主机侧地址通道ID对应的新ID,并使得生成的新ID等于相同的旧ID中与所述计数器的当前计数值对应的索引表项的索引距离最小的旧ID对应的新ID。
6.如权利要求3至5中任一项所述的AXI总线的ID压缩装置,其特征在于,在从机会乱序返回时,所述第二映射模块还用于根据从机侧响应ID对应的新ID,查找映射关系生成表,获取目标索引表项,目标索引表项中的新ID与从机侧响应ID对应的新ID一致;以及在仅存在一个目标索引表项时,将目标索引表项中的旧ID作为主机侧响应ID输出至主机;在存在多个目标索引表项时,选取该多个目标索引表项中与所述计数器的当前计数值对应的索引表项的索引距离最大者,将该索引距离最大的目标索引表项中的旧ID作为主机侧响应ID输出至主机。
7.如权利要求6所述的AXI总线的ID压缩装置,其特征在于,所述映射关系生成模块还用于在从机会乱序返回时,将有效标志位写入映射关系表,每个索引表项均包含有效标志位,有效标志位用于指示其所对应的索引表项是否处于有效状态。
8.如权利要求7所述的AXI总线的ID压缩装置,其特征在于,所述映射关系生成模块还用于将当前主机侧地址通道ID以及与当前主机侧地址通道ID对应的新ID写入映射关系表后,使得对应的有效标志位指示当前索引表项处于有效状态;以及将目标索引表项中的旧ID作为主机侧响应ID输出至主机后,使得对应的有效标志位指示该旧ID所在的目标索引表项处于无效状态。
9.一种片上系统,其特征在于,包括主机、从机以及权利要求1至8中任一项所述的AXI总线的ID压缩装置。
10.一种AXI总线的ID压缩方法,其特征在于,包括:
生成与主机侧地址通道ID对应的新ID;
生成主机侧地址通道ID与新ID的映射关系表,包括:基于计数器的计数值生成索引,以及将生成的索引写入映射关系表;
根据生成的新ID,生成从机侧地址通道ID;
根据从机侧响应ID查找映射关系表,生成主机侧响应ID;
在从机不会乱序返回时,所述生成主机侧地址通道ID与新ID的映射关系表还包括:
将收到的主机侧地址通道ID写入映射关系表中与当前索引对应的位置;
基于计数器的当前计数值,生成与当前主机侧地址通道ID对应的新ID;
其中,计数器的计数值在写入当前主机侧地址通道ID以及生成当前主机侧地址通道ID对应的新ID的过程中保持不变,在当前主机侧地址通道ID写入以及当前主机侧地址通道ID对应的新ID生成之后发生改变。
11.如权利要求10所述的AXI总线的ID压缩方法,其特征在于,在从机不会乱序返回时,不将生成的新ID写入映射关系表。
12.一种AXI总线的ID压缩方法,其特征在于,包括:
生成与主机侧地址通道ID对应的新ID;
生成主机侧地址通道ID与新ID的映射关系表,包括:基于计数器的计数值生成索引,以及将生成的索引写入映射关系表;
根据生成的新ID,生成从机侧地址通道ID;
根据从机侧响应ID查找映射关系表,生成主机侧响应ID;
在从机会乱序返回时,所述生成主机侧地址通道ID与新ID的映射关系表还包括:
将收到的主机侧地址通道ID写入映射关系表中与当前索引对应的位置;
检查映射关系表中是否存在与当前主机侧地址通道ID相同的旧ID;
根据检查结果,按照不同的规则生成与当前主机侧地址通道ID对应的新ID;
将生成的新ID写入映射关系表中与当前索引对应的位置;
其中,旧ID是指映射关系表中已有的主机侧地址通道ID;计数器的计数值在写入当前主机侧地址通道ID以及当前主机侧地址通道ID对应的新ID的过程中保持不变,在当前主机侧地址通道ID以及当前主机侧地址通道ID对应的新ID写入之后发生改变。
13.如权利要求12所述的AXI总线的ID压缩方法,其特征在于,所述根据检查结果,按照不同的规则生成与当前主机侧地址通道ID对应的新ID包括:在映射关系表中不存在与当前主机侧地址通道ID相同的旧ID时,基于计数器的当前计数值,生成与当前主机侧地址通道ID对应的新ID。
14.如权利要求12所述的AXI总线的ID压缩方法,其特征在于,所述根据检查结果,按照不同的规则生成与当前主机侧地址通道ID对应的新ID包括:在映射关系表中存在与当前主机侧地址通道ID相同的旧ID时,生成与当前主机侧地址通道ID对应的新ID,并使得生成的新ID等于相同的旧ID中与计数器的当前计数值对应的索引表项的索引距离最小的旧ID对应的新ID。
15.如权利要求12至14中任一项所述的AXI总线的ID压缩方法,其特征在于,在从机会乱序返回时,所述根据从机侧响应ID查找映射关系表,生成主机侧响应ID包括:
根据从机侧响应ID对应的新ID,查找映射关系生成表,获取目标索引表项,目标索引表项中的新ID与从机侧响应ID对应的新ID一致;
在仅存在一个目标索引表项时,将目标索引表项中的旧ID作为主机侧响应ID输出至主机;
在存在多个目标索引表项时,选取该多个目标索引表项中与计数器的当前计数值对应的索引表项的索引距离最大者,将该索引距离最大的目标索引表项中的旧ID作为主机侧响应ID输出至主机。
16.如权利要求12至14中任一项所述的AXI总线的ID压缩方法,其特征在于,在从机会乱序返回时,所述生成主机侧地址通道ID与新ID的映射关系表还包括:将有效标志位写入映射关系表,每个索引表项均包含有效标志位,用于指示其所对应的索引表项是否处于有效状态。
CN202211609677.6A 2022-12-15 2022-12-15 一种axi总线的id压缩装置及方法 Active CN115658588B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211609677.6A CN115658588B (zh) 2022-12-15 2022-12-15 一种axi总线的id压缩装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211609677.6A CN115658588B (zh) 2022-12-15 2022-12-15 一种axi总线的id压缩装置及方法

Publications (2)

Publication Number Publication Date
CN115658588A CN115658588A (zh) 2023-01-31
CN115658588B true CN115658588B (zh) 2023-03-28

Family

ID=85023524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211609677.6A Active CN115658588B (zh) 2022-12-15 2022-12-15 一种axi总线的id压缩装置及方法

Country Status (1)

Country Link
CN (1) CN115658588B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472815A (zh) * 2023-09-11 2024-01-30 芯动微电子科技(珠海)有限公司 一种axi协议下的存储模块转换接口及其转换方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140006644A1 (en) * 2012-06-28 2014-01-02 Lsi Corporation Address Remapping Using Interconnect Routing Identification Bits
CN108228492B (zh) * 2016-12-21 2020-11-17 深圳市中兴微电子技术有限公司 一种多通道ddr交织控制方法及装置
CN112231261A (zh) * 2020-10-26 2021-01-15 中国兵器工业集团第二一四研究所苏州研发中心 一种用于axi总线的id号压缩装置
GB202107390D0 (en) * 2021-05-24 2021-07-07 Nordic Semiconductor Asa Transaction mapping module

Also Published As

Publication number Publication date
CN115658588A (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
US11237728B2 (en) Method for accessing extended memory, device, and system
CN111984562A (zh) 寄存器突发访问控制的方法、电子设备及存储介质
KR20160046729A (ko) 키-값 저장 엔진 및 그것의 효과적인 키 충돌 관리 방법
US20150113230A1 (en) Directory storage method and query method, and node controller
US10733101B2 (en) Processing node, computer system, and transaction conflict detection method
US8447897B2 (en) Bandwidth control for a direct memory access unit within a data processing system
CN111459919B (zh) 数据查询方法、加载组件、搜索组件和存储介质
JPS63231550A (ja) 多重仮想空間制御方式
CN115658588B (zh) 一种axi总线的id压缩装置及方法
WO2013097246A1 (zh) 高速缓冲存储器控制方法、装置和系统
CN114265872B (zh) 一种用于总线的互联装置
CN105095254A (zh) 一种实现数据一致性的方法及装置
US20170300255A1 (en) Method and Apparatus for Detecting Transaction Conflict and Computer System
TWI744111B (zh) 查找表建立暨記憶體位址查詢方法、主機記憶體位址查找表建立方法與主機記憶體位址查詢方法
US8688890B2 (en) Bit ordering for communicating an address on a serial fabric
US11586384B2 (en) Overhead reduction in data transfer protocol for data storage devices
CN114036077A (zh) 数据处理方法及相关装置
US20120303848A1 (en) System and method for allocating transaction id in a system with a plurality of processing modules
CN116126763B (zh) 总线互联系统、数据处理方法、装置、电子设备及介质
US7743179B2 (en) Data transmission methods
CN111651400B (zh) 一种具有匹配查询索引结构的存储空间访问方法及系统
CN117971711B (zh) 一种多级页表遍历方法、装置、电子设备及存储介质
WO2024061344A1 (zh) 数据迁移方法、装置、芯片以及计算机可读存储介质
CN117851289B (zh) 页表获取方法、系统、电子组件及电子设备
CN115640241B (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
GR01 Patent grant
GR01 Patent grant