CN112231261A - 一种用于axi总线的id号压缩装置 - Google Patents
一种用于axi总线的id号压缩装置 Download PDFInfo
- Publication number
- CN112231261A CN112231261A CN202011153566.XA CN202011153566A CN112231261A CN 112231261 A CN112231261 A CN 112231261A CN 202011153566 A CN202011153566 A CN 202011153566A CN 112231261 A CN112231261 A CN 112231261A
- Authority
- CN
- China
- Prior art keywords
- fifo
- data
- axi bus
- module
- actual
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
Abstract
本发明公开了一种用于AXI总线的ID号压缩装置,所述ID号压缩装置设置于AXI总线中,所述ID号压缩装置包括ID号存储单元和同步FIFO模块;所述ID号存储单元,用于存储同步FIFO模块中的有效数据,用于实际ID号到虚拟ID号的映射和虚拟ID号到实际ID号的映射;所述同步FIFO模块,包括FIFO存储、状态生成模块、读地址生成模块、写地址生成模块和MUX,状态生成模块用于生成FIFO存储的空间占用状态;系统上电后,共享存储处于空闲状态,FIFO状态为满,进行初始化。本发明将主设备多余的ID号进行压缩转换后发送给从设备,用于解决AXI总线中当主设备ID号位数大于从设备时造成的数据传输错误问题。
Description
技术领域
本发明属于多核片上系统中AXI总线技术领域,具体地涉及一种用于AXI总线的ID号压缩装置。
背景技术
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持显著传输访问和乱序访问,并更加容易就行时序收敛。AXI 技术丰富了现有的AMBA 标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。AXI 特点:单向通道体系结构。信息流只以单方向传输,简化时钟域间的桥接,减少门数量。当信号经过复杂的片上系统时,减少延时。支持多项数据交换。通过并行执行猝发操作,极大地提高了数据吞吐能力,可在更短的时间内完成任务,在满足高性能要求的同时,又减少了功耗。独立的地址和数据通道。地址和数据通道分开,能对每一个通道进行单独优化,可以根据需要控制时序通道,将时钟频率提到最高,并将延时降到最低。
AXI协议目前广泛应用于高性能SoC中,AXI总线协议通过ID号区分多个事件,但是SoC中IP较多,会出现ID号不匹配情况,如当主设备ID号位数大于从设备ID号时,此时不是此ID号的数据信息返回出错(这是因为ID号1001和ID号0001会被认为同一个事件,实际不是同一个事件),造成系统错误。这需要大批量数据仿真才会发现错误,此时发现错误再返回修改总线,工作繁琐,周期变长。本发明因此而来。
发明内容
针对上述存在的技术问题,本发明目的是:提供了一种用于AXI总线的ID号压缩装置,本发明将主设备多余的ID号进行压缩转换后发送给从设备,以保证数据正确有效的传输,不会出现数据误传输导致总线堵塞问题,用于解决AXI总线中当主设备ID号位数大于从设备时造成的数据传输错误问题。
本发明的技术方案是:
一种用于AXI总线的ID号压缩装置,所述ID号压缩装置设置于AXI总线中,所述ID号压缩装置包括ID号存储单元和同步FIFO模块;
所述ID号存储单元,用于存储同步FIFO模块中的有效数据,用于实际ID号到虚拟ID号的映射和虚拟ID号到实际ID号的映射;
所述同步FIFO模块,包括FIFO存储、状态生成模块、读地址生成模块、写地址生成模块和MUX,状态生成模块用于生成FIFO存储的空间占用状态;系统上电后,共享存储处于空闲状态, FIFO状态为满,进行初始化。
优选的技术方案中,所述同步FIFO模块中,当FIFO状态为空时,总线中的ready信号拉低;当FIFO状态为满时,ready信号为高;当FIFO状态为非空时,ready信号为高。
优选的技术方案中,所述同步FIFO模块以环形队列的方式存储共享中的空闲地址,当数据从共享存储读取并删除后,将该地址写入到同步FIFO模块中。
优选的技术方案中,所述ID号压缩装置设置于AXI总线的主设备接口和从设备接口之间,从设备接口用于接收主设备的数据,并进行总线协议的转换,并将数据存储在共享存储中,同时进行相应的地址更新;主设备接口用于与从设备接口的数据通信,握手信号与ID号的协议转换。
优选的技术方案中,所述ID号存储单元以实际ID号为存储地址,取出同步FIFO模块中的有效数据存储至ID号存储单元同时将对应的有效标记置高,实现实际ID号到虚拟ID号的映射。
优选的技术方案中,所述ID号存储单元以虚拟ID号为存储地址,读取ID存储中的有效数据,取出实际ID号,实现虚拟ID号到实际ID号的映射。
与现有技术相比,本发明的优点是:
1、本发明将主设备多余的ID号进行压缩转换后发送给从设备,以保证数据正确有效的传输,不会出现数据误传输导致总线堵塞问题,用于解决AXI总线中当主设备ID号位数大于从设备时造成的数据传输错误问题。
2、本发明ID号压缩装置,避免修改总线设计。本发明采用定制的同步FIFO模块,采用FIFO环形存储空闲虚拟ID号,以实际ID号为地址,通过存储方式,将写和读分离。关键路径为读取存储实际数据的一组mux延迟,有效降低了组合路径延迟。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1是本发明用于AXI总线的ID号压缩装置在系统的位置示意图;
图2是本发明用于AXI总线的ID号压缩装置的读结构示意图;
图3是本发明用于 AXI 总线的ID号压缩装置的写结构示意图;
图4是本发明同步FIFO模块的结构示意图;
图5是组合路径延迟对比效果示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
实施例:
AXI总线的ID号压缩装置的主要组成包括:ID号存储单元、一个同步FIFO模块、AXI总线主设备接口(MASTER)、AXI总线从设备接口(SLAVE)和其他逻辑组成。其挂接在系统总线中,介于总线的主设备接口和从设备接口之间,其在系统中的位置见图1所示。
上述装置中ID号存储单元用于存储同步FIFO模块中有效数据(此数据为映射后的虚拟ID号),以实际的ID号为存储地址,取出FIFO中的有效数据存储至ID号存储单元同时将对应的有效标记置高,实现实际ID号到虚拟ID号的映射。当事件完成后,以返回的ID号为ID号的存储地址取出真实的ID号,返回给主设备,实现虚拟ID号到实际ID号的映射。
如图4所示,为了实现ID号压缩功能,需要一个定制的同步FIFO模块,上述同步FIFO模块,包括FIFO存储、状态生成模块、读地址生成模块、写地址生成模块和MUX,状态生成模块用于生成FIFO存储的空间占用状态。
FIFO是 first input first output 的缩写,即先进先出队列,FIFO一般用作不同时钟域的缓冲器。FIFO根据读和写的时钟是否为同一时钟分为同步FIFO和异步FIFO。
上述同步FIFO模块控制着本装置与AXI主设备接口的握手,当FIFO状态为空时表明共享存储已被完全占用,其他设备无法使用,此时总线中的ready信号拉低;当FIFO状态满时,表明共享存储为完全空闲状态,主设备都可以使用,此时ready信号为高;当处于非空时,表明共享存储已有部分被占用,还有空余空间可用,此时ready信号为高。系统上电后,共享存储处于空闲状态,因此同步FIFO模块处于满状态,并初始化相关的值(这与传统的FIFO状态相反)。同步FIFO模块以环形队列的方式存储共享中的空闲地址,所以FIFO中的下一个地址就是存放新数据的地址,而当数据从共享存储读取并删除后就将这个地址写入到同步FIFO中。
AXI从设备接口用于接收主设备的数据,并进行总线协议的转换,并将数据存储在共享存储中,同时进行相应的地址更新。AXI主设备接口实现与从设备接口的数据通信功能,实现握手信号与ID号的协议转换功能。
根据操作流程,该ID号压缩装置的ID号压缩分为读操作和写操作过程,具体如下:
(1)读操作压缩过程,如图2所示:
1)AXI总线的事件发起时,首先接受主设备的读地址信息,当装置空闲(ARREADYS为高),ARVALID有效后,以ARIDS为存储地址,从FIFO中取出有效数据存储到装置中ID存储中,同时将FIFO数据为压缩后的新的ARID号,传输至从设备,同时FIFO读地址更新指向下一个读地址空间(此时FIFO读使能信号READ_EN与ARVALIDS、ARREADYS相关)。
2)其次接受读数据信息。当RVALID、RREADY有效时,以当前的RIDM为ID存储地址,读取ID存储中的有效数据,取出的ID号为此时读事件的实际ID号,实现虚拟ID号到实际ID号的映射。需注意的是,只有当RLAST有效号(即最后一个数据完成读传输,事件完成后),将此时的RIDM数据存储至FIFO中,表示事件传输完成,ID号释放。
(2)写操作过程,如图3所示:
1)AXI总线的事件发起时,首先接受主设备的写地址信息,当装置空闲(AWREADYS为高),AWVALID有效后,以AWIDS为存储地址从FIFO中取出有效数据存储到装置中ID存储中,同时将FIFO数据为压缩后的新的AWID号AWIDM传输至从设备。FIFO读地址更新指向下一个有效读空间。(此时FIFO读使能信号READ_EN与AWREADY、AWVALID相关)。
2)其次接受写数据信息。写数据操作时,以WID为地址读取相关的ID地址中的有效数据为新的ID号传输至从设备。需要注意的是,只有当BVALDM、BIDM信号有效时(即写操作成功完成后),将此时的BIDM数据存储至FIFO中,同时读取ID存储中的有效数据传输至主设备,实现ID号的解压缩映射过程。
组合路径延迟对比
如图5所示,采用传统纯组合的方式进行ID号压缩,组合路径经过ID号存储前比较器、存储后比较器、mux选择和或门等多层组合路径,组合逻辑路径较长,延迟较大。
本发明采用FIFO环形存储空闲虚拟ID号,以实际ID号为地址,通过存储方式,将写和读分离。关键路径为读取存储实际数据的一组mux延迟,有效降低了组合路径延迟。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (6)
1.一种用于AXI总线的ID号压缩装置,其特征在于,所述ID号压缩装置设置于AXI总线中,所述ID号压缩装置包括ID号存储单元和同步FIFO模块;
所述ID号存储单元,用于存储同步FIFO模块中的有效数据,用于实际ID号到虚拟ID号的映射和虚拟ID号到实际ID号的映射;
所述同步FIFO模块,包括FIFO存储、状态生成模块、读地址生成模块、写地址生成模块和MUX,状态生成模块用于生成FIFO存储的空间占用状态;系统上电后,共享存储处于空闲状态, FIFO状态为满,进行初始化。
2.根据权利要求1所述的用于AXI总线的ID号压缩装置,其特征在于,所述同步FIFO模块中,当FIFO状态为空时,总线中的ready信号拉低;当FIFO状态为满时,ready信号为高;当FIFO状态为非空时,ready信号为高。
3.根据权利要求1所述的用于AXI总线的ID号压缩装置,其特征在于,所述同步FIFO模块以环形队列的方式存储共享中的空闲地址,当数据从共享存储读取并删除后,将该地址写入到同步FIFO模块中。
4.根据权利要求1所述的用于AXI总线的ID号压缩装置,其特征在于,所述ID号压缩装置设置于AXI总线的主设备接口和从设备接口之间,从设备接口用于接收主设备的数据,并进行总线协议的转换,并将数据存储在共享存储中,同时进行相应的地址更新;主设备接口用于与从设备接口的数据通信,握手信号与ID号的协议转换。
5.根据权利要求1-4任一项所述的用于AXI总线的ID号压缩装置,其特征在于,所述ID号存储单元以实际ID号为存储地址,取出同步FIFO模块中的有效数据存储至ID号存储单元同时将对应的有效标记置高,实现实际ID号到虚拟ID号的映射。
6.根据权利要求1-4任一项所述的用于AXI总线的ID号压缩装置,其特征在于,所述ID号存储单元以虚拟ID号为存储地址,读取ID存储中的有效数据,取出实际ID号,实现虚拟ID号到实际ID号的映射。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011153566.XA CN112231261A (zh) | 2020-10-26 | 2020-10-26 | 一种用于axi总线的id号压缩装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011153566.XA CN112231261A (zh) | 2020-10-26 | 2020-10-26 | 一种用于axi总线的id号压缩装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112231261A true CN112231261A (zh) | 2021-01-15 |
Family
ID=74109763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011153566.XA Pending CN112231261A (zh) | 2020-10-26 | 2020-10-26 | 一种用于axi总线的id号压缩装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231261A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658588A (zh) * | 2022-12-15 | 2023-01-31 | 芯动微电子科技(珠海)有限公司 | 一种axi总线的id压缩装置及方法 |
-
2020
- 2020-10-26 CN CN202011153566.XA patent/CN112231261A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658588A (zh) * | 2022-12-15 | 2023-01-31 | 芯动微电子科技(珠海)有限公司 | 一种axi总线的id压缩装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6526462B1 (en) | Programmable multi-tasking memory management system | |
US7363396B2 (en) | Supercharge message exchanger | |
US20180074757A1 (en) | Switch and memory device | |
EP0185609A2 (en) | Coherent interface with wraparound receive and transmit memories | |
JP3992100B2 (ja) | 伝送リンク層コア速度を高くするためのネットワーク | |
CN110309088B (zh) | Zynq fpga芯片及其数据处理方法、存储介质 | |
CN111338996B (zh) | 一种支持多协议的复合总线控制器 | |
US6154796A (en) | Apparatus and method in a network interface device for storing receiving frame status in a holding register | |
CN112306924A (zh) | 一种数据交互方法、装置、系统及可读存储介质 | |
CN112035389A (zh) | 一种plb-axi总线转换桥及其工作方法 | |
JP2000155740A (ja) | 多重論理fifoによる1対多バスブリッジ | |
US7558285B2 (en) | Data processing system and data interfacing method thereof | |
US10601723B2 (en) | Bandwidth matched scheduler | |
US6925519B2 (en) | Automatic translation from SCSI command protocol to ATA command protocol | |
CN114153775B (zh) | 一种基于AXI总线的FlexRay控制器 | |
US20060112184A1 (en) | Adapter card for on-demand formatting of data transfers between network devices | |
CN115344200A (zh) | 一种基于NVMe接口的存储系统 | |
CN113377288B (zh) | 硬件队列管理系统、方法、固态硬盘控制器及固态硬盘 | |
CN112231261A (zh) | 一种用于axi总线的id号压缩装置 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算系统 | |
CN108664335A (zh) | 通过代理进行队列通信的方法与装置 | |
WO2022095439A1 (zh) | 一种用于数据处理的硬件加速系统及芯片 | |
CN109840233A (zh) | 基于fpga的60x总线桥接系统、方法及介质 | |
EP4070204A1 (en) | Data transfers between a memory and a distributed compute array | |
CN104598404A (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 |