CN115658576A - PCIe和RapidIO复合任务包传递系统及方法 - Google Patents
PCIe和RapidIO复合任务包传递系统及方法 Download PDFInfo
- Publication number
- CN115658576A CN115658576A CN202211179969.0A CN202211179969A CN115658576A CN 115658576 A CN115658576 A CN 115658576A CN 202211179969 A CN202211179969 A CN 202211179969A CN 115658576 A CN115658576 A CN 115658576A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- module
- rapidio
- pcie
- 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
-
- 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
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种PCIe和RapidIO复合任务包传递系统及方法,属于计算机通信技术领域。该系统包括PCIe收发端、AXI4‑Stream复合任务数据包传递通路、AXI4‑Lite维护事务传递通路、RapidIO收发端;PCIe收发端包括复合任务数据包构建模块、PCIe根联合体驱动模块、PCIe物理链路和PCIe端点电路模块。本发明采用单次发送、多次执行的复合任务数据包传递方式,并采取适当的数据包配置及编解码方式,能够在保证通道灵活可配置的情况下进一步提升多数据包的转换性能。
Description
技术领域
本发明涉及计算机通信技术领域,特别是指一种PCIe和RapidIO复合任务包传递系统及方法。
背景技术
在通信系统的组网过程中,显控终端常采用PCIe总线协议接口对外进行数据交互,内部模块通常采用串行RapidIO协议进行集群交互,控制和数据信息在PCIe接口和串行RapidIO接口间的正确稳定传输决定了系统的稳定性。
目前,现有技术中已有基于桥接类芯片的转换系统和基于FPGA的硬件可编程桥接系统两种。其中,前者可配置性有限;后者具有较强的灵活性,用户可配置程度高,例如,授权公告号为CN214474972U的专利“一种PCIE和RapidIO数据转换装置”,通过DMA实现了带仲裁机制的数据传输,提高了单数据包的转换性能。
为了在保证通道灵活可配置的情况下进一步提升多数据包的转换性能,有必要设计一种单次发送、多次执行的复合任务数据包传递方式。
发明内容
有鉴于此,本发明提出一种PCIe和RapidIO复合任务包传递系统及方法,能实现PCIe端和RapidIO端的复合任务数据包传递。
为了实现上述目的,本发明采用的技术方案为:
一种PCIe和RapidIO复合任务包传递系统,包括PCIe收发端、AXI4-Stream复合任务数据包传递通路、AXI4-Lite维护事务传递通路、RapidIO收发端;PCIe收发端包括复合任务数据包构建模块、PCIe根联合体驱动模块、PCIe物理链路和PCIe端点电路模块;
所述复合任务数据包构建模块根据所需传输的任务数量、任务类型和具体事务数据对任务包进行编码,生成复合任务包;
PCIe根联合体驱动模块接收复合任务数据包构建模块产生的数据包,并将其发送到PCIe物理链路进行差分传输;
PCIe端点电路模块接收来自PCIe物理链路的数据,完成PCIe收发端的地址空间和AXI4-Stream复合任务数据包传递通路的地址空间之间的数据迁移;
AXI4-Lite维护事务传递通路基于双端口跨时钟域先进先出队列实现,完成维护事务的传输;
AXI4-Stream复合任务数据包传递通路接收PCIe收发端发送的事务包,通过数据跨时钟域同步处理后,进行解码、分配、传输操作,最终将数据传输到RapidIO收发端;
RapidIO收发端用于接收AXI4-Stream复合任务数据包传递通路解码后发送的各格式包事务数据,以及AXI4-Lite维护事务传递通路发送的维护事务。
进一步地,任务数量和任务类型由数据帧头决定,任务类型包含三类,其中,I类任务为包头编码逻辑层优化格式数据包传递事务,II类任务为端口初始化事务,III类任务为链路自环测试事务;
输入复合任务数据包构建模块的单一任务数据包由数据帧头、数据载荷长度、设备ID信号数据、HELLO格式数据包和数据载荷构成;其中,单一任务数据包的数据帧头采用独热码进行编码,复合任务包由多个单一任务数据包组成,有且仅有一个数据帧头。
进一步地,所述AXI4-Stream复合任务数据包传递通路包括数据跨时钟域同步模块、第一边沿检测模块、任务分配模块、重播缓冲模块、任务仲裁模块、第二边沿检测模块、事务数据分配模块、数据校验模块;所述RapidIO收发端包括RapidIO电路接口模块、RapidIO物理链路和外围RapidIO设备;
第一边沿检测模块通过对寄存的次态握手信号tvalid_qn和现态握手信号tvalid_qn1运算以捕获上升沿,抓取携带任务数量和任务类型信息的帧头数据,作为任务分配模块的选择信号;
任务分配模块包括一个由第一边沿检测器控制的选择信号输入端口、一个由重播缓冲模块控制的任务分配使能端口、一个连接数据跨时钟域同步模块的事务数据输入端口和3个不同类型任务传输输出通路;任务分配模块通过对选择信号输入端口输入的数据进行查表判断,解码出事务类型和事务数量,对任务进行分配输出,并加以帧尾校验后缀,发送到任务仲裁模块和重播缓冲模块;
任务仲裁模块具有优先级配置接口,任务仲裁模块通过优先级仲裁方式来决定多个任务包同时抵达时的传输先后顺序;在默认配置情况下,II类任务优先级高于III类任务优先级,III类任务优先级高于I类任务优先级;
第二边沿检测模块和事务数据分配模块用于抓取并分割任务仲裁模块输出的第I和第III类任务的用户自定信号和数据信号,其中用户自定信号直接输出到RapidIO电路接口模块的用户自定信号端口,数据信号连接到数据校验模块;
数据校验模块含有两个数据输入端口、两个帧尾输出端口和两类事务数据输出端口;帧尾输出端口与重播缓冲模块进行连接,两类事务数据输出端口分别为I/III类RapidIO基础数据包输出端口和II类配置数据包输出端口,I/III类RapidIO基础数据包输出端口连接RapidIO电路接口模块的数据信号端口;
重播缓冲模块基于FPGA中高速率且低延的专用随机存取存储器块实现,对任务分配模块输出的各通路信号进行缓冲暂存,并将接收到数据校验模块发送的帧尾信号与暂存的事务帧尾进行比较,若比对结果一致,则释放对应任务暂存的数据,反馈至任务分配模块的任务分配使能端口,进行下一任务的传输;若比对结果不一致,则将传递失败的任务发送到任务分配模块的事务数据输入端口进行重传,若重播设定的次数后仍失败,则将对应的失败任务反馈至PCIe收发端;
RapidIO电路接口模块根据I/III类任务特定的HELLO格式包头完成事务的传输,并通过高速收发器发送至RapidIO物理链路,等待外围RapidIO设备接收。
一种PCIe和RapidIO复合任务包传递方法,基于如上任一项所述的PCIe和RapidIO复合任务包传递系统实现,其中,PCIe收发端对任务包进行编码,发送到AXI4-Stream复合任务数据包传递通路,AXI4-Stream复合任务数据包传递通路对任务包的数量、类型进行解码,然后进行分配、传输操作,最终将数据传输到RapidIO收发端。
进一步地,包括以下步骤:
步骤1,复合任务数据包构建模块根据所需传输的任务数量、任务类型和事务数据对任务包进行编码,编码后的复合任务数据包通过PCIe 根联合体驱动模块和PCIe链路发送到PCIe 端点电路模块;
步骤2,PCIe端点电路模块通过内部的主机到卡通道将复合任务数据包发送至AXI4-Stream复合任务数据包传递通路;
步骤3,数据包通AXI4-Stream复合任务数据包传递通路传递到RapidIO电路接口模块;
步骤4,RapidIO电路接口模块接收到来自AXI4-Stream复合任务数据包传递通路的数据包,完成HELLO格式解包操作,通过RapidIO物理链路传输至外围RapidIO设备。
进一步地,步骤1的具体方式如下:
(101)PCIe收发端中的复合任务数据包构建模块根据待发送的任务数量和任务类型对帧头进行编码,采用首个8 Byte数据信号进行传输,其中任务数量通过二进制进行计数,单一类型采用独热码进行编码,复合任务帧头采用多个单一任务的或运算进行编码;
(102)包头编码完毕后,若传递I类任务,则第三个数据信号传输用户自定信号信息,然后对待发送事务进行HELLO格式封装,数据紧随其后;若传递II类任务,则传输电平使能信号连接到RapidIO收发端,通过RapidIO收发端内部的状态机控制初始化过程,检查链路状态并切换链路操作模式;若传递III类任务,则在RapidIO收发端对物理层收发链路直接回环,上位机终端模拟I类任务进行传输;
(103)各任务数据编码完毕后,复合任务数据包通过PCIe根联合体驱动模块和PCIe物理链路发送到PCIe端点电路模块。
进一步地,步骤3的具体方式如下:
(301)数据包首先通过数据跨时钟域同步模块进行同步;
(302)数据同步后,第一边沿检测模块抓取首8 Byte数据帧头,作为任务分配模块的选择信号;任务分配模块通过对首8 Byte数据帧头进行查表以获取任务数量和任务类型,并结合数据输入通路的次8 Byte数据载荷长度字段对不同任务进行分割并添加帧尾校验码;
(303)任务分配模块将分割好的带校验码的数据发送到对应任务通路I/II/III进行传输,与此同时,数据也被发送到重播缓冲模块中进行暂存;
(304)各任务通路的数据连接到任务仲裁模块,任务仲裁模块对复合任务数据包按照固定优先级事务顺序进行先后传输;任务仲裁模块的I类和III类任务输出通道的数据信号连接一数据分配模块,数据分配模块连接一个由D触发器和逻辑门结构组成的第二边沿检测模块,第二边沿检测模块的输出信号作为数据分配模块的选择信号,从而将数据信号的首个数据作为ID号传递到RapidIO电路接口模块的用户自定信号上,其余数据传递到数据校验模块;II类任务数据直接传递到数据校验模块;
(305)数据校验模块抓取并剥离各任务数据包的帧尾校验包,将校验包反馈至重播缓冲模块,将去除帧尾的I/III类任务数据传递至RapidIO电路接口模块的数据信号端口;对于II类任务,则传输电平使能信号连接到RapidIO收发端,通过RapidIO收发端内部的状态机控制初始化过程,检查链路状态并切换链路操作模式;
(306)重播缓冲模块对步骤(303)中任务分配模块发送的任务数据进行暂存,待接收到步骤(305)中数据校验模块反馈的校验包后,与暂存的任务分配模块发送的校验信号进行比对,如果比对结果一致,则释放对应任务暂存的数据,进行下一任务的传输;若比对结果不一致,则对传递失败的任务发送到任务分配模块进行重传,重复步骤(302)~(306);若重播设定的次数后仍失败,则将对应的失败任务反馈至PCIe收发端。
本发明的有益效果在于:
1、本发明采用单次发送、多次执行的复合任务数据包传递方式,并采取适当的数据包配置及编解码方式,能够在保证通道灵活可配置的情况下进一步提升多数据包的转换性能。
2、本发明在支持SWRITE、NWRITE_R、NWRITE、NREAD、DOORBELL、MESSAGE、MAINTENANCE等事务的双向转换基础上,在数据包上添加帧头前缀来对多任务进行标志,并在数据跨时钟域传递后添加解码、重播缓冲、数据分配等过程,能够实现对多任务进行分配、传输。
3、本发明能够对多类任务进行统一编码,能够单次实现多任务的传递,在保证完成SWRITE、NWRITE_R、NWRITE、NREAD、DOORBELL、MESSAGE、MAINTENANCE等基本事务的双向转换的基础上,更大限度地利用了PCIe带宽。
4、本发明具备重播缓冲机制,能够对传输失败的任务进行自动重播。多次重播失败后将放弃重播,对任务数据包进返回,并自动传递下一任务,以避免系统死锁、传递通道阻塞等问题。
附图说明
图1为复合任务数据包传递系统结构图。
图2为数据包传递传输时格式变化图。
图中:1-PCIe收发端;2- AXI4-Stream复合任务数据包传递通路;3-AXI4-Lite维护事务传递通路;4- RapidIO收发端;5-复合任务数据包构建模块;6-PCIe根联合体驱动模块;7-PCIe物理链路;8-PCIe端点电路模块;9-数据跨时钟域同步模块;10-第一边沿检测模块;11-任务分配模块;12-重播缓冲模块;13-任务仲裁模块;14-第二边沿检测模块;15-事务数据分配模块;16-数据校验模块;17-RapidIO电路接口模块;18-RapidIO物理链路;19-外围RapidIO设备。
具体实施方式
如图1所示,一种PCIe和RapidIO复合任务包传递系统,包括PCIe收发端1、AXI4-Stream复合任务数据包传递通路2、AXI4-Lite维护事务传递通路3、RapidIO收发端4四个部分。PCIe收发端1包括复合任务数据包构建模块5、PCIe根联合体驱动模块6、PCIe物理链路7和PCIe端点电路模块8;AXI4-Stream复合任务数据包传递通路2包括数据跨时钟域同步模块9、第一边沿检测模块10、任务分配模块11、重播缓冲模块12、任务仲裁模块13、第二边沿检测模块14、事务数据分配模块15、数据校验模块16;RapidIO收发端4包括RapidIO电路接口模块17、RapidIO物理链路18和外围RapidIO设备19构成。
所述复合任务数据包构建模块5根据所需传输的任务数量、任务类型和具体事务数据对任务包进行编码,生成复合任务包;任务数量和任务类型由8 Byte数据帧头决定,任务类型包含三类,其中,I类任务为包头编码逻辑层优化格式数据包传递事务,II类任务为端口初始化事务,III类任务为链路自环测试事务。
如图2-①所示,为统一各任务数据包格式,单一任务数据包由8 Byte数据帧头、8Byte数据载荷长度、8 Byte设备ID信号数据(II类任务保留项)、8 Byte HELLO格式数据包(II类任务保留项)和至多256 Byte数据载荷构成。其中,单一任务的数据帧头采用独热码进行编码,复合任务的帧头通过单一任务帧头或运算进行编码,以次简化多任务编码逻辑、方便任务分配,有利于任务数量和任务类型扩展。复合任务包由多个单一任务数据包组成,有且仅含一个数据帧头。
PCIe根联合体驱动模块6接收复合任务数据包构建模块5产生的数据包,发送到PCIe物理链路7进行差分传输,PCIe端点电路模块8接收来自PCIe物理链路7的数据,完成PCIe收发端1地址空间和AXI4-Stream复合任务数据包传递通路2地址空间之间的高性能数据迁移。
AXI4-Lite维护事务传递通路3基于双端口跨时钟域先进先出队列进行实现,完成维护事务的传输。AXI4-Stream复合任务数据包传递通路2接收PCIe收发端1发送的事务包,通过数据跨时钟域同步模块9同步处理后,进行解码分配传输等操作,最终将数据传输到RapidIO收发端4。
第一边沿检测模块10通过对寄存的次态握手信号tvalid_qn和现态握手信号tvalid_qn1运算以捕获上升沿,抓取携带任务数量和任务类型信息的首8 Byte数据,作为任务分配器11的选择信号。
任务分配模块11包括一个由第一边沿检测器10控制的选择信号输入端口、一个由重播缓冲模块控制的任务分配使能端口、一个连接数据跨时钟域同步模块9的事务数据输入端口和3个不同类型任务传输输出通路。该模块通过对选择信号输入端口输入的数据进行查表判断,解码出事务类型和事务数量,对任务进行分配输出,并加以帧尾校验后缀,发送到任务仲裁模块13和重播缓冲模块12。
任务分配模块11中的组合逻辑延时难以预判,任务传输输出通路I/II/III的数据可能同时到事务数据分配模块15。在上述两模块之间增加一任务仲裁模块13,该模块集成一优先级可配置的固定优先级仲裁算法,用于决定多个任务包同时抵达时的传输先后顺序。在默认配置情况下,II类任务优先级高于III类任务优先级,III类任务优先级高于I类任务优先级。任务仲裁模块13的优先级配置接口加以物理实体约束,可随着任务类型的增、删、改而进行配置。
第二边沿检测模块14和事务数据分配模块15用于抓取并分割任务仲裁模块输出的第I和III类任务的用户自定信号tuser和数据信号tdata。其中用户自定信号tuser直接输出到RapidIO电路接口模块17的tuser信号输入端口。数据信号连接到数据校验模块16。
数据校验模块16含有两个数据输入端口、两个帧尾输出端口和两类事务数据输出端口。帧尾输出端口与重播缓冲模块12进行连接,两类事务数据输出端口分别为I/III类RapidIO基础数据包输出端口和II类配置数据包输出端口,I/III类RapidIO基础数据包输出端口连接RapidIO电路接口模块17的tdata端口。
重播缓冲模块13基于FPGA中高速率且低延的专用随机存取存储器块(BlockRamdom Access Memory, BRAM)实现,对任务分配模块11输出的各通路信号进行缓冲暂存,直到接收到数据校验模块16发送的帧尾信号,与暂存的事务帧尾进行比较。如果比对结果一致,则释放对应任务暂存的数据,反馈至任务分配模块11的任务分配使能端口,进行下一任务的传输。若比对结果不一致,则对传递失败的任务发送到任务分配模块11的事务数据输入端口进行重传,若重播设定的次数后扔失败,则将对应的失败任务反馈至PCIe收发端1,重播次数可设定。
RapidIO收发端4用于接收AXI4-Stream复合任务数据包传递通路2解码后发送的各格式包事务数据和AXI4-Lite维护事务传递通路3发送的维护事务。RapidIO电路接口模块17根据I/III类任务特定的HELLO格式包头完成事务的传输,并通过高速收发器发送至RapidIO物理链路18,等待外围RapidIO设备19接收。
一种PCIe和RapidIO复合任务包传递方法,用于在实现PCIe和RapidIO基本I/O事务传输基础上,加入复合任务数据包构建模块5和复合任务数据包传递通路2,完成复合任务数据包的编解码,从而在实际的应用中实现一次传输多个任务,更大限度地利用PCIe传输带宽。该方法基于上述系统实现,其中,PCIe收发端1对任务包进行编码,发送到AXI4-Stream复合任务数据包传递通路2,AXI4-Stream复合任务数据包传递通路2对任务包的数量、类型进行解码,发送到对应数据通道I/II/III,结合任务仲裁模块13和重播缓冲模块12,最终传递到RapidIO收发端4。该方法的具体步骤如下:
步骤1,复合任务数据包构建模块5根据所需传输的任务数量、任务类型和事务数据对任务包进行编码,编码后的复合任务数据包通过PCIe 根联合体驱动模块和PCIe链路发送到PCIe 端点电路模块。步骤1的具体方式如下:
(101)PCIe收发端1中的复合任务数据包构建模块5根据待发送的任务数量和任务类型对帧头进行编码,采用首个8 Byte数据信号tdata进行传输,其中任务数量通过二进制进行计数,单一类型采用独热码进行编码,复合任务帧头采用多个单一任务的或运算进行编码。
(102)包头编码完毕后,若传递I类任务,则第三个数据信号tdata传输用户自定信号tuser信息,后对待发送事务进行HELLO格式封装,数据紧随其后。若传递II类任务,则传输电平使能信号连接到RapidIO收发端4,通过RapidIO收发端4内部的状态机控制初始化过程,检查链路状态并切换链路操作模式。若传递III类任务,则在RapidIO收发端4对物理层收发链路直接回环,上位机终端模拟I类任务进行传输即可。
(103)各任务数据编码完毕后,复合任务数据包通过PCIe根联合体驱动模块6和PCIe物理链路7发送到PCIe端点电路模块8。
步骤2,PCIe端点电路模块8通过内部的主机到卡通道将复合任务数据包发送至AXI4-Stream复合任务数据包传递通路2。
步骤3,数据包通AXI4-Stream复合任务数据包传递通路2传递到RapidIO电路接口模块17。
(301)数据包首先通过数据跨时钟域同步模块9进行同步。
(302)数据同步后,第一边沿检测模块10抓取首8 Byte数据帧头,作为任务分配模块11的选择信号。任务分配模块11通过对该8 Byte数据进行查表以获取任务数量和任务类型,并结合数据输入通路的次8 Byte数据载荷长度字段对不同任务进行分割并添加帧尾校验码。
(303)如图2-②所示数据包格式,任务分配模块11将分割好的带校验码的数据发送到对应任务通路I/II/III进行传输,与此同时,数据也被发送到重播缓冲模块12中进行暂存。
(304)各任务通路的数据连接到任务仲裁模块13,任务仲裁模块13对复合任务数据包按照固定优先级事务顺序进行先后传输,保证配置、测试和数据事务传输的稳定性。任务仲裁模块13的I类和III类任务输出通道的数据信号tdata连接一数据分配模块15,数据分配模块15连接一个由D触发器和逻辑门结构组成的第二边沿检测模块14,第二边沿检测模块14的输出信号作为数据分配模块15的选择信号。该结构实现将数据信号tdata的首个数据作为ID号传递到RapidIO电路接口模块17的用户自定信号tuser上,其余数据传递到数据校验模块16;II类任务数据直接传递到数据校验模块16。
(305)如图2-③所示数据包格式,数据校验模块16抓取并剥离各任务数据包的帧尾校验包,将校验包反馈至重播缓冲模块12,将去除帧尾的I/III类任务数据传递至RapidIO电路接口模块17的数据信号端口tdata,II类任务如(102)所述传输。
(306)重播缓冲模块12对(303)所述任务分配模块11发送的任务数据进行暂存,待接收到(305)所述数据校验模块16反馈的校验包后,与暂存的任务分配模块11发送的校验信号进行比对,如果比对结果一致,则释放对应任务暂存的数据,进行下一任务的传输。若比对结果不一致,则对传递失败的任务发送到任务分配模块11进行重传,重复步骤(302)~(306),若重播设定的次数后仍失败,则将对应的失败任务反馈至PCIe收发端1,重播次数可设定。
步骤4,RapidIO电路接口模块17接收到来自AXI4-Stream复合任务数据包传递通路2的数据包,完成HELLO格式解包等操作,通过RapidIO物理链路18,传输至外围RapidIO设备19。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此。本发明的基本思路在于,在传统PCIe到RapidIO数据传输系统的基础上,加入复合任务数据包构建模块和复合任务数据包传递模块,完成复合任务数据包的编解码,实现一个任务包传输多个RapidIO事务/配置的功能,以便进一步利用硬件资源和传输带宽。
Claims (7)
1.一种PCIe和RapidIO复合任务包传递系统,其特征在于,包括PCIe收发端、AXI4-Stream复合任务数据包传递通路、AXI4-Lite维护事务传递通路、RapidIO收发端;PCIe收发端包括复合任务数据包构建模块、PCIe根联合体驱动模块、PCIe物理链路和PCIe端点电路模块;
所述复合任务数据包构建模块根据所需传输的任务数量、任务类型和具体事务数据对任务包进行编码,生成复合任务包;
PCIe根联合体驱动模块接收复合任务数据包构建模块产生的数据包,并将其发送到PCIe物理链路进行差分传输;
PCIe端点电路模块接收来自PCIe物理链路的数据,完成PCIe收发端的地址空间和AXI4-Stream复合任务数据包传递通路的地址空间之间的数据迁移;
AXI4-Lite维护事务传递通路基于双端口跨时钟域先进先出队列实现,完成维护事务的传输;
AXI4-Stream复合任务数据包传递通路接收PCIe收发端发送的事务包,通过数据跨时钟域同步处理后,进行解码、分配、传输操作,最终将数据传输到RapidIO收发端;
RapidIO收发端用于接收AXI4-Stream复合任务数据包传递通路解码后发送的各格式包事务数据,以及AXI4-Lite维护事务传递通路发送的维护事务。
2.根据权利要求1所述的一种PCIe和RapidIO复合任务包传递系统,其特征在于,任务数量和任务类型由数据帧头决定,任务类型包含三类,其中,I类任务为包头编码逻辑层优化格式数据包传递事务,II类任务为端口初始化事务,III类任务为链路自环测试事务;
输入复合任务数据包构建模块的单一任务数据包由数据帧头、数据载荷长度、设备ID信号数据、HELLO格式数据包和数据载荷构成;其中,单一任务数据包的数据帧头采用独热码进行编码,复合任务包由多个单一任务数据包组成,有且仅有一个数据帧头。
3.根据权利要求2所述的一种PCIe和RapidIO复合任务包传递系统,其特征在于,所述AXI4-Stream复合任务数据包传递通路包括数据跨时钟域同步模块、第一边沿检测模块、任务分配模块、重播缓冲模块、任务仲裁模块、第二边沿检测模块、事务数据分配模块、数据校验模块;所述RapidIO收发端包括RapidIO电路接口模块、RapidIO物理链路和外围RapidIO设备;
第一边沿检测模块通过对寄存的次态握手信号tvalid_qn和现态握手信号tvalid_qn1运算以捕获上升沿,抓取携带任务数量和任务类型信息的帧头数据,作为任务分配模块的选择信号;
任务分配模块包括一个由第一边沿检测器控制的选择信号输入端口、一个由重播缓冲模块控制的任务分配使能端口、一个连接数据跨时钟域同步模块的事务数据输入端口和3个不同类型任务传输输出通路;任务分配模块通过对选择信号输入端口输入的数据进行查表判断,解码出事务类型和事务数量,对任务进行分配输出,并加以帧尾校验后缀,发送到任务仲裁模块和重播缓冲模块;
任务仲裁模块具有优先级配置接口,任务仲裁模块通过优先级仲裁方式来决定多个任务包同时抵达时的传输先后顺序;在默认配置情况下,II类任务优先级高于III类任务优先级,III类任务优先级高于I类任务优先级;
第二边沿检测模块和事务数据分配模块用于抓取并分割任务仲裁模块输出的第I和第III类任务的用户自定信号和数据信号,其中用户自定信号直接输出到RapidIO电路接口模块的用户自定信号端口,数据信号连接到数据校验模块;
数据校验模块含有两个数据输入端口、两个帧尾输出端口和两类事务数据输出端口;帧尾输出端口与重播缓冲模块进行连接,两类事务数据输出端口分别为I/III类RapidIO基础数据包输出端口和II类配置数据包输出端口,I/III类RapidIO基础数据包输出端口连接RapidIO电路接口模块的数据信号端口;
重播缓冲模块基于FPGA中高速率且低延的专用随机存取存储器块实现,对任务分配模块输出的各通路信号进行缓冲暂存,并将接收到数据校验模块发送的帧尾信号与暂存的事务帧尾进行比较,若比对结果一致,则释放对应任务暂存的数据,反馈至任务分配模块的任务分配使能端口,进行下一任务的传输;若比对结果不一致,则将传递失败的任务发送到任务分配模块的事务数据输入端口进行重传,若重播设定的次数后仍失败,则将对应的失败任务反馈至PCIe收发端;
RapidIO电路接口模块根据I/III类任务特定的HELLO格式包头完成事务的传输,并通过高速收发器发送至RapidIO物理链路,等待外围RapidIO设备接收。
4.一种PCIe和RapidIO复合任务包传递方法,基于如权利要求1~3中任一项所述的PCIe和RapidIO复合任务包传递系统实现,其中,PCIe收发端对任务包进行编码,发送到AXI4-Stream复合任务数据包传递通路,AXI4-Stream复合任务数据包传递通路对任务包的数量、类型进行解码,然后进行分配、传输操作,最终将数据传输到RapidIO收发端。
5.根据权利要求4所述的一种PCIe和RapidIO复合任务包传递方法,其特征在于,包括以下步骤:
步骤1,复合任务数据包构建模块根据所需传输的任务数量、任务类型和事务数据对任务包进行编码,编码后的复合任务数据包通过PCIe 根联合体驱动模块和PCIe链路发送到PCIe 端点电路模块;
步骤2,PCIe端点电路模块通过内部的主机到卡通道将复合任务数据包发送至AXI4-Stream复合任务数据包传递通路;
步骤3,数据包通AXI4-Stream复合任务数据包传递通路传递到RapidIO电路接口模块;
步骤4,RapidIO电路接口模块接收到来自AXI4-Stream复合任务数据包传递通路的数据包,完成HELLO格式解包操作,通过RapidIO物理链路传输至外围RapidIO设备。
6.根据权利要求5所述的一种PCIe和RapidIO复合任务包传递方法,其特征在于,步骤1的具体方式如下:
(101)PCIe收发端中的复合任务数据包构建模块根据待发送的任务数量和任务类型对帧头进行编码,采用首个8 Byte数据信号进行传输,其中任务数量通过二进制进行计数,单一类型采用独热码进行编码,复合任务帧头采用多个单一任务的或运算进行编码;
(102)包头编码完毕后,若传递I类任务,则第三个数据信号传输用户自定信号信息,然后对待发送事务进行HELLO格式封装,数据紧随其后;若传递II类任务,则传输电平使能信号连接到RapidIO收发端,通过RapidIO收发端内部的状态机控制初始化过程,检查链路状态并切换链路操作模式;若传递III类任务,则在RapidIO收发端对物理层收发链路直接回环,上位机终端模拟I类任务进行传输;
(103)各任务数据编码完毕后,复合任务数据包通过PCIe根联合体驱动模块和PCIe物理链路发送到PCIe端点电路模块。
7.根据权利要求5所述的一种PCIe和RapidIO复合任务包传递方法,其特征在于,步骤3的具体方式如下:
(301)数据包首先通过数据跨时钟域同步模块进行同步;
(302)数据同步后,第一边沿检测模块抓取首8 Byte数据帧头,作为任务分配模块的选择信号;任务分配模块通过对首8 Byte数据帧头进行查表以获取任务数量和任务类型,并结合数据输入通路的次8 Byte数据载荷长度字段对不同任务进行分割并添加帧尾校验码;
(303)任务分配模块将分割好的带校验码的数据发送到对应任务通路I/II/III进行传输,与此同时,数据也被发送到重播缓冲模块中进行暂存;
(304)各任务通路的数据连接到任务仲裁模块,任务仲裁模块对复合任务数据包按照固定优先级事务顺序进行先后传输;任务仲裁模块的I类和III类任务输出通道的数据信号连接一数据分配模块,数据分配模块连接一个由D触发器和逻辑门结构组成的第二边沿检测模块,第二边沿检测模块的输出信号作为数据分配模块的选择信号,从而将数据信号的首个数据作为ID号传递到RapidIO电路接口模块的用户自定信号上,其余数据传递到数据校验模块;II类任务数据直接传递到数据校验模块;
(305)数据校验模块抓取并剥离各任务数据包的帧尾校验包,将校验包反馈至重播缓冲模块,将去除帧尾的I/III类任务数据传递至RapidIO电路接口模块的数据信号端口;对于II类任务,则传输电平使能信号连接到RapidIO收发端,通过RapidIO收发端内部的状态机控制初始化过程,检查链路状态并切换链路操作模式;
(306)重播缓冲模块对步骤(303)中任务分配模块发送的任务数据进行暂存,待接收到步骤(305)中数据校验模块反馈的校验包后,与暂存的任务分配模块发送的校验信号进行比对,如果比对结果一致,则释放对应任务暂存的数据,进行下一任务的传输;若比对结果不一致,则对传递失败的任务发送到任务分配模块进行重传,重复步骤(302)~(306);若重播设定的次数后仍失败,则将对应的失败任务反馈至PCIe收发端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211179969.0A CN115658576A (zh) | 2022-09-27 | 2022-09-27 | PCIe和RapidIO复合任务包传递系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211179969.0A CN115658576A (zh) | 2022-09-27 | 2022-09-27 | PCIe和RapidIO复合任务包传递系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658576A true CN115658576A (zh) | 2023-01-31 |
Family
ID=84984909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211179969.0A Pending CN115658576A (zh) | 2022-09-27 | 2022-09-27 | PCIe和RapidIO复合任务包传递系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658576A (zh) |
-
2022
- 2022-09-27 CN CN202211179969.0A patent/CN115658576A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240291750A1 (en) | System and method for facilitating efficient event notification management for a network interface controller (nic) | |
US5949799A (en) | Minimum-latency data mover with auto-segmentation and reassembly | |
CN111131091B (zh) | 一种面向片上网络的片间互连方法和系统 | |
KR101727874B1 (ko) | 고성능 패브릭 내에서의 qos를 위한 방법, 장치 및 시스템 | |
US5247626A (en) | Fddi controller having flexible buffer management | |
US5519693A (en) | High speed transmission line interface | |
US4488289A (en) | Interface facility for a packet switching system | |
CN102185833B (zh) | 一种基于fpga的fc i/o并行处理方法 | |
EP0244251A2 (en) | Packet switching network | |
CN112468209B (zh) | 一种基于SpaceWire总线实现的在轨高速注入系统及方法 | |
US6452927B1 (en) | Method and apparatus for providing a serial interface between an asynchronous transfer mode (ATM) layer and a physical (PHY) layer | |
US5953345A (en) | Reduced pin-count 10Base-T MAC to transceiver interface | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
US6081866A (en) | Interruptible state machine | |
CN100375484C (zh) | Pos-phy总线与pci总线间的数据包转发的装置 | |
CN109710550B (zh) | 一种基于双缓存的帧长度不固定rs422数据通信系统 | |
US6377587B1 (en) | Data packet format and handling for serial communications with embedded reverse channel responses | |
JP2986798B2 (ja) | データ伝送制御方法およびデータ通信装置 | |
CN110830386B (zh) | 报文保序的方法、装置和系统 | |
CN117331881A (zh) | 一种适用于宇航chiplet互联协议的数据传输系统 | |
CN110830137B (zh) | 一种基于srio的多节点时间同步控制系统及其同步控制方法 | |
CN115658576A (zh) | PCIe和RapidIO复合任务包传递系统及方法 | |
CN106209307A (zh) | 多颗fpga片间互联方法与系统 | |
CN1917519B (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 |