CN117349213B - 自主重发写命令和写数据的axi传输装置及工作方法 - Google Patents
自主重发写命令和写数据的axi传输装置及工作方法 Download PDFInfo
- Publication number
- CN117349213B CN117349213B CN202311640157.6A CN202311640157A CN117349213B CN 117349213 B CN117349213 B CN 117349213B CN 202311640157 A CN202311640157 A CN 202311640157A CN 117349213 B CN117349213 B CN 117349213B
- Authority
- CN
- China
- Prior art keywords
- write
- command
- module
- write data
- write command
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims abstract description 13
- 230000004044 response Effects 0.000 claims abstract description 27
- 230000001960 triggered effect Effects 0.000 claims abstract description 7
- 230000003993 interaction Effects 0.000 abstract description 4
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
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/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开自主重发写命令和写数据的AXI传输装置及工作方法,装置位于AXI总线和主控设备之间,当AXI总线返回的写响应为错误时,触发重发使能模块,重发使能模块利用接收到的bid与写命令缓存模块中的awid进行比对,如果一致,将该命令重新发送到选择器,选择器中选择信号bresp为错误,选择重新发送的写命令发送到AXI总线上,将旧的写命令和写数据删除,新的写命令依旧按序写入写命令缓存模块中已存在的命令之后,新的写数据依旧按序写入写数据缓存模块中已存在的数据之后,从而实现当接收到写响应错误时自主重发写命令和写数据,不需要主控设备进行额外交互,不增加本地主控设备的设计,简化了主控设备写传输的流程。
Description
技术领域
本发明涉及通信网络的技术领域,尤其涉及一种自主重发写命令和写数据的AXI传输装置,还涉及一种自主重发写命令和写数据的AXI传输装置的工作方法。
背景技术
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA 4.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。AXI协议既丰富了现有的AMBA标准内容,又满足了超高性能和复杂的片上***设计的需求,因此AXI协议是目前使用最广泛的总线传输协议。AXI协议包含五个独立通道,写命令通道、写数据通道、写响应通道、读命令通道和读数据通道。AXI高性能总线***主要由主控设备、受控设备、基础架构三部分构成。整个AXI总线上的读写传输申请都是由主控设备发出,由受控设备负责回应。根据AXI协议规定,主控设备向AXI总线发出写命令和写数据,经过AXI总线中的地址译码器,将写命令和写数据发送到受控设备,数据传输完成后,受控设备向AXI总线返回写响应,AXI总线再返回到主控设备。写响应分为错误和正确两大类,当写响应正确时,表示写传输正常完成;当写响应为错误时,主控设备需要重发写命令和写数据,因此主控设备需要支持重发功能,这样会造成主控设备设计复杂,或者对已经设计好的主控设备进行改造。
发明内容
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种自主重发写命令和写数据的AXI传输装置,其能够当接收到写响应错误时自主重发写命令和写数据,不需要主控设备进行额外交互,不增加本地主控设备的设计,简化了主控设备写传输的流程。
本发明的技术方案是:这种自主重发写命令和写数据的AXI传输装置,其包括:写命令计数模块、写命令缓存模块、写数据计数模块、写数据缓存模块、选择器、写响应计数模块、比较器和重发使能模块;
写命令通道接收主控设备发送的写命令,当awvalid和awready同时为1时,写命令计数模块加1,同时将该笔命令发送到AXI总线,并且将该笔命令缓存到写命令缓存模块中;
写数据通道接收主控设备发送的写数据,当wlast、wvalid和wready同时为1时,写数据计数模块加1;当wvalid和wready同时为1时,将写数据缓存到写数据缓存模块中,同时将写数据发送到AXI总线;
当AXI总线返回写响应时,若bvalid和bready同时为1,写响应计数模块加1,将bresp进行比较,如果bresp为ok,将bresp返回主控设备,当bresp为错误,触发重发使能模块;
重发使能模块利用接收到的bid与写命令缓存模块中的awid进行比对,如果一致,将该命令重新发送到选择器;
选择器中选择信号bresp为错误,选择重新发送的写命令发送到AXI总线上;
当写命令和写数据重新发送到AXI总线后或者接收到的bresp为ok时,该写命令从写命令缓存模块中删除,该写数据从写数据缓存模块中删除,写命令缓存模块中该命令后面的命令往前提,index减1,写数据缓存模块中该数据后面的数据往前提,index减1;
新的写命令依旧按序写入写命令缓存模块中已存在的命令之后,index加1,新的写数据依旧按序写入写数据缓存模块中已存在的数据之后,index加1。
本发明的自主重发写命令和写数据的AXI传输装置位于AXI总线和主控设备之间,当AXI总线返回的写响应为错误时,触发重发使能模块,重发使能模块利用接收到的bid与写命令缓存模块中的awid进行比对,如果一致,将该命令重新发送到选择器,选择器中选择信号bresp为错误,选择重新发送的写命令发送到AXI总线上,将旧的写命令和写数据删除,新的写命令依旧按序写入写命令缓存模块中已存在的命令之后,新的写数据依旧按序写入写数据缓存模块中已存在的数据之后,从而实现当接收到写响应错误时自主重发写命令和写数据,不需要主控设备进行额外交互,不增加本地主控设备的设计,简化了主控设备写传输的流程。
还提供了一种自主重发写命令和写数据的AXI传输装置的工作方法,该方法包括以下步骤:
(1)写命令通道接收主控设备发送的写命令,当awvalid和awready同时为1时,写命令计数模块加1,同时将该笔命令发送到AXI总线,并且将该笔命令缓存到写命令缓存模块中;
(2)写数据通道接收主控设备发送的写数据,当wlast、wvalid和wready同时为1时,写数据计数模块加1;当wvalid和wready同时为1时,将写数据缓存到写数据缓存模块中,同时将写数据发送到AXI总线;
(3)当AXI总线返回写响应时,若bvalid和bready同时为1,写响应计数模块加1,将bresp进行比较,如果bresp为ok,将bresp返回主控设备,当bresp为错误,触发重发使能模块;
(4)重发使能模块利用接收到的bid与写命令缓存模块中的awid进行比对,如果一致,将该命令重新发送到选择器;
(5)选择器中选择信号bresp为错误,选择重新发送的写命令发送到AXI总线上;
(6)当写命令和写数据重新发送到AXI总线后或者接收到的bresp为ok时,该写命令从写命令缓存模块中删除,该写数据从写数据缓存模块中删除,写命令缓存模块中该命令后面的命令往前提,index减1,写数据缓存模块中该数据后面的数据往前提,index减1;
(7)新的写命令依旧按序写入写命令缓存模块中已存在的命令之后,index加1,新的写数据依旧按序写入写数据缓存模块中已存在的数据之后,index加1。
附图说明
图1是根据本发明的自主重发写命令和写数据的AXI传输装置的原理框图。
图2是根据本发明的自主重发写命令和写数据的AXI传输装置的工作方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了使本揭示内容的叙述更加详尽与完备,下文针对本发明的实施方式与具体实施例提出了说明性的描述;但这并非实施或运用本发明具体实施例的唯一形式。实施方式中涵盖了多个具体实施例的特征以及用以建构与操作这些具体实施例的方法步骤与其顺序。然而,亦可利用其它具体实施例来达成相同或均等的功能与步骤顺序。
如图1所示,这种自主重发写命令和写数据的AXI传输装置,其包括:写命令计数模块、写命令缓存模块、写数据计数模块、写数据缓存模块、选择器、写响应计数模块、比较器和重发使能模块;
写命令通道接收主控设备发送的写命令,当awvalid和awready同时为1时,写命令计数模块加1,同时将该笔命令发送到AXI总线,并且将该笔命令缓存到写命令缓存模块中;
写数据通道接收主控设备发送的写数据,当wlast、wvalid和wready同时为1时,写数据计数模块加1;当wvalid和wready同时为1时,将写数据缓存到写数据缓存模块中,同时将写数据发送到AXI总线;
当AXI总线返回写响应时,若bvalid和bready同时为1,写响应计数模块加1,将bresp进行比较,如果bresp为ok,将bresp返回主控设备,当bresp为错误,触发重发使能模块;
重发使能模块利用接收到的bid与写命令缓存模块中的awid进行比对,如果一致,将该命令重新发送到选择器;
选择器中选择信号bresp为错误,选择重新发送的写命令发送到AXI总线上;
当写命令和写数据重新发送到AXI总线后或者接收到的bresp为ok时,该写命令从写命令缓存模块中删除,该写数据从写数据缓存模块中删除,写命令缓存模块中该命令后面的命令往前提,index减1,写数据缓存模块中该数据后面的数据往前提,index减1;
新的写命令依旧按序写入写命令缓存模块中已存在的命令之后,index加1,新的写数据依旧按序写入写数据缓存模块中已存在的数据之后,index加1。
本发明的自主重发写命令和写数据的AXI传输装置位于AXI总线和主控设备之间,当AXI总线返回的写响应为错误时,触发重发使能模块,重发使能模块利用接收到的bid与写命令缓存模块中的awid进行比对,如果一致,将该命令重新发送到选择器,选择器中选择信号bresp为错误,选择重新发送的写命令发送到AXI总线上,将旧的写命令和写数据删除,新的写命令依旧按序写入写命令缓存模块中已存在的命令之后,新的写数据依旧按序写入写数据缓存模块中已存在的数据之后,从而实现当接收到写响应错误时自主重发写命令和写数据,不需要主控设备进行额外交互,不增加本地主控设备的设计,简化了主控设备写传输的流程。
优选地,所述选择器中,利用写命令缓存模块中比对成功的写命令对应的index,提取写数据缓存模块中对应的写数据,将写数据发送到选择器,选择器中选择信号bresp为错误,选择重新发送的写数据发送到AXI总线上。
如图2所示,还提供了一种自主重发写命令和写数据的AXI传输装置的工作方法,该方法包括以下步骤:
(1)写命令通道接收主控设备发送的写命令,当awvalid和awready同时为1时,写命令计数模块加1,同时将该笔命令发送到AXI总线,并且将该笔命令缓存到写命令缓存模块中;
(2)写数据通道接收主控设备发送的写数据,当wlast、wvalid和wready同时为1时,写数据计数模块加1;当wvalid和wready同时为1时,将写数据缓存到写数据缓存模块中,同时将写数据发送到AXI总线;
(3)当AXI总线返回写响应时,若bvalid和bready同时为1,写响应计数模块加1,将bresp进行比较,如果bresp为ok,将bresp返回主控设备,当bresp为错误,触发重发使能模块;
(4)重发使能模块利用接收到的bid与写命令缓存模块中的awid进行比对,如果一致,将该命令重新发送到选择器;
(5)选择器中选择信号bresp为错误,选择重新发送的写命令发送到AXI总线上;
(6)当写命令和写数据重新发送到AXI总线后或者接收到的bresp为ok时,该写命令从写命令缓存模块中删除,该写数据从写数据缓存模块中删除,写命令缓存模块中该命令后面的命令往前提,index减1,写数据缓存模块中该数据后面的数据往前提,index减1;
(7)新的写命令依旧按序写入写命令缓存模块中已存在的命令之后,index加1,新的写数据依旧按序写入写数据缓存模块中已存在的数据之后,index加1。
优选地,所述步骤(5)中,利用写命令缓存模块中比对成功的写命令对应的index,提取写数据缓存模块中对应的写数据,将写数据发送到选择器,选择器中选择信号bresp为错误,选择重新发送的写数据发送到AXI总线上。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
Claims (4)
1.自主重发写命令和写数据的AXI传输装置,其特征在于:其包括:写命令计数模块、写命令缓存模块、写数据计数模块、写数据缓存模块、选择器、写响应计数模块、比较器和重发使能模块;
写命令通道接收主控设备发送的写命令,当awvalid和awready同时为1时,写命令计数模块加1,同时将该笔命令发送到AXI总线,并且将该笔命令缓存到写命令缓存模块中;
写数据通道接收主控设备发送的写数据,当wlast、wvalid和wready同时为1时,写数据计数模块加1;当wvalid和wready同时为1时,将写数据缓存到写数据缓存模块中,同时将写数据发送到AXI总线;
当AXI总线返回写响应时,若bvalid和bready同时为1,写响应计数模块加1,将bresp进行比较,如果bresp为ok,将bresp返回主控设备,当bresp为错误,触发重发使能模块;
重发使能模块利用接收到的bid与写命令缓存模块中的awid进行比对,如果一致,将该命令重新发送到选择器;
选择器中选择信号bresp为错误,选择重新发送的写命令发送到AXI总线上;
当写命令和写数据重新发送到AXI总线后或者接收到的bresp为ok时,该写命令从写命令缓存模块中删除,该写数据从写数据缓存模块中删除,写命令缓存模块中该命令后面的命令往前提,index减1,写数据缓存模块中该数据后面的数据往前提,index减1;
新的写命令依旧按序写入写命令缓存模块中已存在的命令之后,index加1,新的写数据依旧按序写入写数据缓存模块中已存在的数据之后,index加1。
2.根据权利要求1所述的自主重发写命令和写数据的AXI传输装置,其特征在于:所述选择器中,利用写命令缓存模块中比对成功的写命令对应的index,提取写数据缓存模块中对应的写数据,将写数据发送到选择器,选择器中选择信号bresp为错误,选择重新发送的写数据发送到AXI总线上。
3.根据权利要求1所述的自主重发写命令和写数据的AXI传输装置的工作方法,其特征在于:该方法包括以下步骤:
(1)写命令通道接收主控设备发送的写命令,当awvalid和awready同时为1时,写命令计数模块加1,同时将该笔命令发送到AXI总线,并且将该笔命令缓存到写命令缓存模块中;
(2)写数据通道接收主控设备发送的写数据,当wlast、wvalid和wready同时为1时,写数据计数模块加1;当wvalid和wready同时为1时,将写数据缓存到写数据缓存模块中,同时将写数据发送到AXI总线;
(3)当AXI总线返回写响应时,若bvalid和bready同时为1,写响应计数模块加1,将bresp进行比较,如果bresp为ok,将bresp返回主控设备,当bresp为错误,触发重发使能模块;
(4)重发使能模块利用接收到的bid与写命令缓存模块中的awid进行比对,如果一致,将该命令重新发送到选择器;
(5)选择器中选择信号bresp为错误,选择重新发送的写命令发送到AXI总线上;
(6)当写命令和写数据重新发送到AXI总线后或者接收到的bresp为ok时,该写命令从写命令缓存模块中删除,该写数据从写数据缓存模块中删除,写命令缓存模块中该命令后面的命令往前提,index减1,写数据缓存模块中该数据后面的数据往前提,index减1;
(7)新的写命令依旧按序写入写命令缓存模块中已存在的命令之后,index加1,新的写数据依旧按序写入写数据缓存模块中已存在的数据之后,index加1。
4.根据权利要求3所述的自主重发写命令和写数据的AXI传输装置的工作方法,其特征在于:所述步骤(5)中,利用写命令缓存模块中比对成功的写命令对应的index,提取写数据缓存模块中对应的写数据,将写数据发送到选择器,选择器中选择信号bresp为错误,选择重新发送的写数据发送到AXI总线上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311640157.6A CN117349213B (zh) | 2023-12-04 | 2023-12-04 | 自主重发写命令和写数据的axi传输装置及工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311640157.6A CN117349213B (zh) | 2023-12-04 | 2023-12-04 | 自主重发写命令和写数据的axi传输装置及工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117349213A CN117349213A (zh) | 2024-01-05 |
CN117349213B true CN117349213B (zh) | 2024-03-15 |
Family
ID=89359777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311640157.6A Active CN117349213B (zh) | 2023-12-04 | 2023-12-04 | 自主重发写命令和写数据的axi传输装置及工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117349213B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254368A (zh) * | 2021-07-15 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 从axi总线到opb总线的数据写入方法及读取方法 |
-
2023
- 2023-12-04 CN CN202311640157.6A patent/CN117349213B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254368A (zh) * | 2021-07-15 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 从axi总线到opb总线的数据写入方法及读取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117349213A (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107209644B (zh) | 一种数据处理方法以及NVMe存储器 | |
CN108989432B (zh) | 用户态的文件发送方法、文件接收方法和文件收发装置 | |
CN101866328B (zh) | 一种自动访问的串行总线读写控制方法 | |
EP4220415A2 (en) | Method and apparatus for compressing addresses | |
JP2005258918A (ja) | ストレージシステムおよびストレージシステムのキャッシュメモリ制御方法 | |
US10637509B2 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
US20220404973A1 (en) | Data Processing Method for Memory Device, Apparatus, and System | |
CN104881337A (zh) | 扩充scsi机箱新功能的方法 | |
CN117349213B (zh) | 自主重发写命令和写数据的axi传输装置及工作方法 | |
CN109710550B (zh) | 一种基于双缓存的帧长度不固定rs422数据通信*** | |
CN111221757B (zh) | 一种低延迟pcie dma数据传输方法及控制器 | |
CN114415959B (zh) | 一种sata磁盘动态加速访问方法和装置 | |
CN103558813B (zh) | 用于记录mvb网络物理层数据帧的记录方法及记录装置 | |
CN113094319B (zh) | 两主机间单向数据传输同步控制***及方法 | |
CN112631809B (zh) | 一种基于fpga的周期消息接收缓存方法 | |
CN113099490B (zh) | 一种基于5g通信的数据包传输方法和*** | |
CN112486874B (zh) | 宽端口场景下i/o指令的保序管理方法及装置 | |
CN107870885A (zh) | 通信***、装置及方法 | |
CN113886297A (zh) | 一种基于dma的spi并发通讯se装置及方法 | |
CN110673554A (zh) | 一种应用于工业控制***的数据缓存处理机制 | |
CN111181696A (zh) | 信道数据的处理方法和计算机存储介质 | |
CN110347535B (zh) | 一种提升双控制器写性能的方法 | |
CN113220620B (zh) | 一种用于数据流格式转换的***以及数据流传输*** | |
CN117857537A (zh) | 网卡的存储流量断点续传方法、装置、设备和存储介质 | |
CN204256731U (zh) | 一种fpga高速读取usb设备数据装置 |
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 |