CN110912841B - 面向128bit位宽的SRIO协议控制字符与数据包分离系统 - Google Patents
面向128bit位宽的SRIO协议控制字符与数据包分离系统 Download PDFInfo
- Publication number
- CN110912841B CN110912841B CN201911131164.7A CN201911131164A CN110912841B CN 110912841 B CN110912841 B CN 110912841B CN 201911131164 A CN201911131164 A CN 201911131164A CN 110912841 B CN110912841 B CN 110912841B
- Authority
- CN
- China
- Prior art keywords
- bit
- control character
- srio
- data packet
- module
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于高速通信SRIO协议技术领域,具体涉及一种面向128位宽的SRIO协议控制字符与数据包分离系统。与现有技术相比较,本发明提供将包含的控制字符与数据包进行分离,形成只包含一种32bit控制字符或者128bit位宽数据包接收处理队列,保证每个处理周期只处理一种32bit位宽控制字符或者128bit位宽的数据包,由此,大幅提升SRIO协议的传输性能。
Description
技术领域
本发明属于高速通信SRIO协议技术领域,具体涉及一种面向128位宽的SRIO协议控制字符与数据包分离系统。
背景技术
SRIO是基于包交换的互连技术,在嵌入式高速通信互连领域有着广泛的应用。SRIO协议规定控制字符与数据包均为32bit位宽,所以在SRIO通信协议传输过程中,SRIO接收端每个处理周期内处理32bit位宽的控制字符或者32bit位宽的数据包。
随着SRIO传输性能的需求提升,每个处理周期内仅处理32bit位宽的控制字符或者数据包已不能满足系统需求,主流SRIO传输带宽已提升为64bit位宽,这样64bit位宽的SRIO协议会承载四类传输信息:
(1)高32bit位宽和低32bit位宽均为控制字符;
(2)高32bit位宽和低32bit位宽均为数据包;
(3)高32bit位宽为控制字符,低32bit位宽为数据包;
(4)高32bit位宽为数据包,低32bit位宽为控制字符。
目前市面上SRIO芯片与IP核的设计针对上述情况的处理方法都是每个处理周期内同时处理高32bit位宽和低32bit位宽传输包,所以需要针对四种情况分别处理,而控制字符根据协议规范又会分为多类控制字符信息,所以即使高32bit位宽和低32bit位宽均为控制字符,SRIO接收端也需要根据不同控制字符信息设计不同组合的处理方法。
这种做法的弊端即为SRIO传输性能的需求进一步提升,只能通过成倍提升处理时钟主频的方法,那么时钟主频会由一百M提高至几百M,增加处理功耗的同时,时序余量也十分紧张,所以目前市面基本不会考虑采用这种处理方法。但是如果提升处理位宽为128bit,那么128bit位宽的SRIO协议会承载24种类的传输信息,那么SRIO芯片与IP核的设计的复杂度会呈指数上升,这种处理方法更不会被考虑使用。所以目前SRIO传输性能的提升会达到一个相对的瓶颈,需要重新考虑同时含有控制字符和数据包的SRIO传输包的处理设计方法,并且需要考虑后续性能升级,不能随着位宽的增加设计复杂度呈几何式增长。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种面向128位宽的SRIO协议控制字符与数据包分离系统。
(二)技术方案
为解决上述技术问题,本发明提供一种面向128位宽的SRIO协议控制字符与数据包分离系统,所述SRIO协议控制字符与数据包分离系统基于计算缓存单元和队列缓存单元来实施,所述SRIO协议控制字符与数据包分离系统包括:空白数量计算模块、传输包读取模块、队列缓存单元形成模块、控制字符扫描模块、补齐模块;
所述空白数量计算模块用于以32bit位宽为单位统计计算缓存单元内的空白数量;
所述传输包读取模块用于当计算缓存单元空白数量大于等于N,读取一个周期的SRIO传输包;当计算缓存单元空白数量小于N,不读取SRIO传输包;
所述队列缓存单元形成模块用于在传输包读取模块已读取SRIO传输包的情况下,以计算缓存单元空白处左边界对齐,从最高位开始将当前读取的SRIO传输包放置于计算缓存单元空白处,形成队列缓存单元;如果传输包读取模块没有读取SRIO传输包,则队列缓存单元形成模块直接由当前的计算缓存单元形成队列缓存单元;
所述控制字符扫描模块用于对队列缓存单元从最高32bit位宽信息开始以32bit位宽为间隔依次扫描是否为控制字符,次数为M次,一旦找到控制字符,将32bit位宽控制字符分离剔除处理,如果M次都不是控制字符,则将该128bit数据包输出处理;
所述补齐模块用于针对被分离剔除的控制字符或者数据包的留空位置,由后面内容左移补齐,形成下一个周期计算缓存单元内容,然后重复执行空白数量计算模块的工作。
其中,所述计算缓存单元为256bit位宽的计算缓存单元。
其中,所述队列缓存单元为256bit位宽的队列缓存单元。
其中,所述256bit位宽的队列缓存单元负责将当前处理周期128bit位宽的SRIO传输包与上一处理周期的计算缓存单元的内容进行排列重组。
其中,所述控制字符扫描模块用于对256bit位宽的队列缓存单元从最高32bit位宽信息开始以32bit位宽为间隔依次扫描是否为控制字符,次数为M次,一旦找到控制字符,将32bit位宽控制字符分离剔除处理,如果M次都不是控制字符,则将128bit数据包输出处理。
其中,所述M为4。
其中,所述空白为32bit位宽的空白区域。
其中,所述N为4。
其中,所述补齐的方式为左补齐。
其中,所述系统每个处理周期只处理一种32bit位宽控制字符或者128bit位宽的数据包。
(三)有益效果
与现有技术相比较,本发明提供一种面向128位宽的SRIO协议控制字符与数据包分离系统,其将包含的控制字符与数据包进行分离,形成只包含一种32bit控制字符或者128bit位宽数据包接收处理队列,保证每个处理周期只处理一种32bit位宽控制字符或者128bit位宽的数据包,由此,大幅提升SRIO协议的传输性能。
附图说明
图1为SRIO协议控制字符与数据包分离处理方案原理流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为解决上述技术问题,本发明提供一种面向128位宽的SRIO协议控制字符与数据包分离系统,所述SRIO协议控制字符与数据包分离系统基于计算缓存单元和队列缓存单元来实施,所述SRIO协议控制字符与数据包分离系统包括:空白数量计算模块、传输包读取模块、队列缓存单元形成模块、控制字符扫描模块、补齐模块;
如图1所示,所述空白数量计算模块用于以32bit位宽为单位统计计算缓存单元内的空白数量;
所述传输包读取模块用于当计算缓存单元空白数量大于等于N,读取一个周期的SRIO传输包;当计算缓存单元空白数量小于N,不读取SRIO传输包;
所述队列缓存单元形成模块用于在传输包读取模块已读取SRIO传输包的情况下,以计算缓存单元空白处左边界对齐,从最高位开始将当前读取的SRIO传输包放置于计算缓存单元空白处,形成队列缓存单元;如果传输包读取模块没有读取SRIO传输包,则队列缓存单元形成模块直接由当前的计算缓存单元形成队列缓存单元;
所述控制字符扫描模块用于对队列缓存单元从最高32bit位宽信息开始以32bit位宽为间隔依次扫描是否为控制字符,次数为M次,一旦找到控制字符,将32bit位宽控制字符分离剔除处理,如果M次都不是控制字符,则将该128bit数据包输出处理;
所述补齐模块用于针对被分离剔除的控制字符或者数据包的留空位置,由后面内容左移补齐,形成下一个周期计算缓存单元内容,然后重复执行空白数量计算模块的工作。
其中,所述计算缓存单元为256bit位宽的计算缓存单元。
其中,所述队列缓存单元为256bit位宽的队列缓存单元。
其中,所述256bit位宽的队列缓存单元负责将当前处理周期128bit位宽的SRIO传输包与上一处理周期的计算缓存单元的内容进行排列重组。
其中,所述控制字符扫描模块用于对256bit位宽的队列缓存单元从最高32bit位宽信息开始以32bit位宽为间隔依次扫描是否为控制字符,次数为M次,一旦找到控制字符,将32bit位宽控制字符分离剔除处理,如果M次都不是控制字符,则将128bit数据包输出处理。
被分离剔除的控制字符或者数据包的留空位置由后面内容左移补齐,形成下一个周期待队列缓存单元处理的计算缓存单元内容。
其中,所述M为4。
其中,所述空白为32bit位宽的空白区域。
其中,所述N为4。
其中,所述补齐的方式为左补齐。
其中,所述系统每个处理周期只处理一种32bit位宽控制字符或者128bit位宽的数据包。
实施例
如图1所示,本实施例提供一种新型的面向128bit位宽的SRIO协议控制字符与数据包在接收端的分离处理方案。其将包含的控制字符与数据包进行分离,形成只包含一种32bit控制字符或者128bit位宽数据包接收处理队列,保证每个处理周期只处理一种32bit位宽控制字符或者128bit位宽的数据包。
面向128bit位宽的SRIO协议控制字符与数据包分离方法通过256bit位宽的队列缓存单元与256bit位宽的计算缓存单元实现SRIO协议控制字符与数据包分离与重组。256bit位宽的队列缓存单元负责将当前处理周期128bit位宽的SRIO传输包与上一处理周期计算缓存单元内容进行排列重组;256bit位宽的队列缓存单元负责从最高32bit位宽信息开始以32bit位宽为间隔依次扫描是否为控制字符,次数为4次,一旦找到控制字符,将32bit位宽控制字符分离剔除处理,如果4次都不是控制字符,则将128bit数据包输出处理。被分离剔除的控制字符或者数据包的留空位置由后面内容左移补齐,形成下一个周期待队列缓存单元处理的计算缓存单元内容。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种面向128位宽的SRIO协议控制字符与数据包分离系统,其特征在于,所述SRIO协议控制字符与数据包分离系统基于计算缓存单元和队列缓存单元来实施,所述SRIO协议控制字符与数据包分离系统包括:空白数量计算模块、传输包读取模块、队列缓存单元形成模块、控制字符扫描模块、补齐模块;
所述空白数量计算模块用于以32bit位宽为单位统计计算缓存单元内的空白数量;
所述传输包读取模块用于当计算缓存单元空白数量大于等于N,读取一个周期的SRIO传输包;当计算缓存单元空白数量小于N,不读取SRIO传输包;
所述队列缓存单元形成模块用于在传输包读取模块已读取SRIO传输包的情况下,以计算缓存单元空白处左边界对齐,从最高位开始将当前读取的SRIO传输包放置于计算缓存单元空白处,形成队列缓存单元;如果传输包读取模块没有读取SRIO传输包,则队列缓存单元形成模块直接由当前的计算缓存单元形成队列缓存单元;
所述控制字符扫描模块用于对队列缓存单元从最高32bit位宽信息开始以32bit位宽为间隔依次扫描是否为控制字符,次数为M次,一旦找到控制字符,将32bit位宽控制字符分离剔除处理,如果M次都不是控制字符,则将该128bit数据包输出处理;
所述补齐模块用于针对被分离剔除的控制字符或者数据包的留空位置,由后面内容左移补齐,形成下一个周期计算缓存单元内容,然后重复执行空白数量计算模块的工作。
2.如权利要求1所述的面向128位宽的SRIO协议控制字符与数据包分离系统,其特征在于,所述计算缓存单元为256bit位宽的计算缓存单元。
3.如权利要求2所述的面向128位宽的SRIO协议控制字符与数据包分离系统,其特征在于,所述队列缓存单元为256bit位宽的队列缓存单元。
4.如权利要求3所述的面向128位宽的SRIO协议控制字符与数据包分离系统,其特征在于,所述256bit位宽的队列缓存单元负责将当前处理周期128bit位宽的SRIO传输包与上一处理周期的计算缓存单元的内容进行排列重组。
5.如权利要求4所述的面向128位宽的SRIO协议控制字符与数据包分离系统,其特征在于,所述控制字符扫描模块用于对256bit位宽的队列缓存单元从最高32bit位宽信息开始以32bit位宽为间隔依次扫描是否为控制字符,次数为M次,一旦找到控制字符,将32bit位宽控制字符分离剔除处理,如果M次都不是控制字符,则将128bit数据包输出处理。
6.如权利要求5所述的面向128位宽的SRIO协议控制字符与数据包分离系统,其特征在于,所述M为4。
7.如权利要求1所述的面向128位宽的SRIO协议控制字符与数据包分离系统,其特征在于,所述空白为32bit位宽的空白区域。
8.如权利要求1所述的面向128位宽的SRIO协议控制字符与数据包分离系统,其特征在于,所述N为4。
9.如权利要求1所述的面向128位宽的SRIO协议控制字符与数据包分离系统,其特征在于,所述补齐的方式为左补齐。
10.如权利要求1所述的面向128位宽的SRIO协议控制字符与数据包分离系统,其特征在于,所述系统每个处理周期只处理一种32bit位宽控制字符或者128bit位宽的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911131164.7A CN110912841B (zh) | 2019-11-19 | 2019-11-19 | 面向128bit位宽的SRIO协议控制字符与数据包分离系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911131164.7A CN110912841B (zh) | 2019-11-19 | 2019-11-19 | 面向128bit位宽的SRIO协议控制字符与数据包分离系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110912841A CN110912841A (zh) | 2020-03-24 |
CN110912841B true CN110912841B (zh) | 2021-06-01 |
Family
ID=69817864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911131164.7A Active CN110912841B (zh) | 2019-11-19 | 2019-11-19 | 面向128bit位宽的SRIO协议控制字符与数据包分离系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110912841B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367310B (zh) * | 2020-10-28 | 2022-11-18 | 北京计算机技术及应用研究所 | 一种基于fpga的srio总线加密传输装置 |
CN112463655B (zh) * | 2020-11-14 | 2022-06-14 | 武汉汇迪森信息技术有限公司 | 一种高速数据采集存储系统的数据存储及读取方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818470B2 (en) * | 2007-09-27 | 2010-10-19 | Integrated Device Technology, Inc. | Adaptive interrupt on serial rapid input/output (SRIO) endpoint |
CN103970692A (zh) * | 2013-01-25 | 2014-08-06 | 北京旋极信息技术股份有限公司 | RapidIO串行数据处理方法 |
CN104023037A (zh) * | 2014-07-02 | 2014-09-03 | 浪潮集团有限公司 | 一种低系统开销的rapidio数据传输方法 |
CN105635176A (zh) * | 2016-02-19 | 2016-06-01 | 山东超越数控电子有限公司 | 一种基于RapidIO的网络数据传输方法 |
CN109286471A (zh) * | 2018-09-30 | 2019-01-29 | 中国人民解放军战略支援部队信息工程大学 | 面向srio控制器的crc校验方法及装置 |
CN109669903A (zh) * | 2018-12-07 | 2019-04-23 | 天津津航计算技术研究所 | 一种srio协议的桥接模块设计及优化方法 |
-
2019
- 2019-11-19 CN CN201911131164.7A patent/CN110912841B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818470B2 (en) * | 2007-09-27 | 2010-10-19 | Integrated Device Technology, Inc. | Adaptive interrupt on serial rapid input/output (SRIO) endpoint |
CN103970692A (zh) * | 2013-01-25 | 2014-08-06 | 北京旋极信息技术股份有限公司 | RapidIO串行数据处理方法 |
CN104023037A (zh) * | 2014-07-02 | 2014-09-03 | 浪潮集团有限公司 | 一种低系统开销的rapidio数据传输方法 |
CN105635176A (zh) * | 2016-02-19 | 2016-06-01 | 山东超越数控电子有限公司 | 一种基于RapidIO的网络数据传输方法 |
CN109286471A (zh) * | 2018-09-30 | 2019-01-29 | 中国人民解放军战略支援部队信息工程大学 | 面向srio控制器的crc校验方法及装置 |
CN109669903A (zh) * | 2018-12-07 | 2019-04-23 | 天津津航计算技术研究所 | 一种srio协议的桥接模块设计及优化方法 |
Non-Patent Citations (4)
Title |
---|
A high-speed serial transport platform based on SRIO for high-resolution image;Feng Zhang等;《 2010 3rd International Congress on Image and Signal Processing》;20101129;全文 * |
Application of SRIO in Radar Signal Processing;Yuxi Zhang等;《2016 CIE International Conference on Radar (RADAR)》;20171005;全文 * |
FPGA+DSP异构视频处理系统中基于SRIO的数据高效传输方法;姜宏旭等;《计算机学报》;20150630;第38卷(第6期);全文 * |
SRIO接口DMA传输控制器的研究与设计;蒲恺等;《信息通信》;20170415(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110912841A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230118809A1 (en) | Method and apparatus for sending and receiving multiframe, device, system, and storage medium | |
RU2006116496A (ru) | Интерфейс с высокой скоростью передачи данных | |
CN110912841B (zh) | 面向128bit位宽的SRIO协议控制字符与数据包分离系统 | |
CN110505161B (zh) | 一种报文处理方法及设备 | |
CN101146102B (zh) | Rru网络中hdlc数据下行、上行的方法及通讯装置 | |
CN105791777B (zh) | 基于fpga的千兆以太网视频多路采集传输系统 | |
US8576879B2 (en) | Communication system and method | |
CN106533652A (zh) | 一种基于xts-sm4的存储加解密方法及装置 | |
KR20110080175A (ko) | 다중 직렬 수신기용 자동 데이터 정렬기를 위한 방법, 장치, 및 시스템 | |
CN108521343A (zh) | 一种oam报文的处理方法及装置 | |
CN104536924A (zh) | 面向板级高速传输总线的多通道延迟斜偏纠正方法及装置 | |
CN112637080A (zh) | 一种基于fpga的负载均衡处理系统 | |
CN104333388A (zh) | 串行通信协议控制器及字符重对齐电路、8b10b解码器 | |
CN104393958A (zh) | 基于流水线的数据帧发送方法、接收方法 | |
CN101001199A (zh) | 一种高速多位并行数据总线的数据处理方法 | |
US9876709B1 (en) | Alignment detection in a multi-lane network interface | |
US20190044839A1 (en) | Technologies for timestamping with error correction | |
WO2016127953A1 (zh) | 基于软硬架构的高端容错计算机fpga专用调试方法及其装置 | |
CN110855689B (zh) | 面向128bit位宽的SRIO协议控制字符与数据包分离方法 | |
CN105263165B (zh) | 一种基于fpga的网络数据连包拆分方法 | |
CN103312577B (zh) | 一种处理mac数据的方法及装置 | |
CN102036420A (zh) | 一种高速接口及其传输数据的方法 | |
CN108681516A (zh) | 提升mipi协议层传输速度的方法、快速传输的mipi接口和计算机可读存储介质 | |
CN111901126A (zh) | 一种基于v2x协议栈网络层避免解密验签模块耗时的方法 | |
CN115086233B (zh) | 一种基于fpga的网络报文关键信息提取转发的方法 |
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 |