CN112350897A - 基于动态连接端到端可靠传输协议的网络测试装置 - Google Patents
基于动态连接端到端可靠传输协议的网络测试装置 Download PDFInfo
- Publication number
- CN112350897A CN112350897A CN202011233573.0A CN202011233573A CN112350897A CN 112350897 A CN112350897 A CN 112350897A CN 202011233573 A CN202011233573 A CN 202011233573A CN 112350897 A CN112350897 A CN 112350897A
- Authority
- CN
- China
- Prior art keywords
- connection
- message
- sending
- module
- state
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于动态连接端到端可靠传输协议的网络测试装置,包括源端单元和目的端单元,源端单元包括:第一随机码产生器、第二随机码产生器、连接产生器、连接FIFO、报文发送模块及超时计时器;目的端单元包括存储模块、报文载荷检测模块、报文检查模块、错误收集模块、有限状态机FSM及应答报文ACK处理模块。本发明以极小的硬件代价实现了端到端报文的可靠传输,结点间通信、错误追踪与定位无需软件参与,由硬件独立完成,可直接应用于复杂网络环境下互连芯片功能正确性验证;可充分利用发送与接收端处理机制的异同,通过高效合并、裁剪发送/接收端连接控制与维护操作,有效降低连接资源,提高了通信规模的可扩展性。
Description
技术领域
本发明主要涉及HPC(High PerformanceComputing,高性能计算)领域,具体涉及一种基于动态连接端到端可靠传输协议的网络测试装置,可用于大规模网络的数据传输以及自适应路由验证。
背景技术
对于大规模互连网络来说,其功能验证及性能评测复杂而且困难,软件模拟效果不理想。利用成熟的FPGA(Field-Programmable Gate Array,现场可编程门阵列)平台,通过开发虚拟激励源模拟多结点的行为,构建硬件+网络+虚拟激励源的层次化模型,以模拟验证大规模复杂网络环境下的芯片设计正确性,并对互连网络的延迟、吞吐率、缓冲区深度等参数进行评测,可为设计者提供大量的有价值的参考信息与数据。但是,具体如何实现基于动态连接端到端可靠传输协议的自适应路由验证,则仍然是一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于动态连接端到端可靠传输协议的网络测试装置,本发明以极小的硬件代价实现了端到端报文的可靠传输,结点间通信、连接错误追踪与定位无需软件参与,由硬件独立完成,可直接应用于复杂网络环境下互连芯片功能正确性验证;可充分利用发送与接收端处理机制的异同,通过高效合并、裁剪发送/接收端连接控制与维护操作,有效降低了连接资源,提高了通信规模的可扩展性。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于动态连接端到端可靠传输协议的网络测试装置,包括源端单元,所述源端单元包括:
第一随机码产生器,用于生成随机码;
第二随机码产生器,用于生成报文载荷;
连接产生器,用于根据随机码随机生成不同虚通道VC的连接;
连接FIFO,与虚通道VC一一对应,用于存储对应虚通道VC的连接信息;
报文发送模块,用于采用轮询的方式调度各个虚通道VC的连接信息,并在链路信用可用且连接优先级最高时则基于报文载荷在线生成并发送调度出的连接所对应的通信报文;
超时计时器,用于在发送通信报文之后开始计时,若在设置时间内接收到相应应答报文ACK则释放相应连接号,超时则记录出错连接释放相应连接。
可选地,所述连接FIFO中采用第一连接控制块存储连接信息,所述第一连接控制块的字段包括连接号ID、目的端口号dest、连接总切片数目flit_num和状态status,其中连接号ID为第一连接控制块的唯一标识,目的端口号dest、连接总切片数目flit_num为根据随机码随机生成,状态status包括初始化完成、发送中、发送完毕三种状态,针对每一个连接:当连接的第一连接控制块初始化生成后状态status处于初始化完成状态,当报文发送模块开始发送连接对应的切片后处于发送中状态,当发送的切片数量等于连接总切片数目flit_num时进入发送完毕状态,且在发送完毕后回收该连接的连接号ID。
可选地,所述第一随机码产生器和第二随机码产生器均为伪随机二进制序列生成电路。
可选地,所述源端单元还包括用于记录超时未收到应答报文ACK的超时向量寄存器。
可选地,还包括目的端单元,所述目的端单元包括:
存储模块,用于存储与源端单元建立的连接信息;
报文载荷检测模块,用于校验通信报文中报文载荷的正确性;
报文检查模块,用于通信报文的合法性检查;
错误收集模块,用于收集异常连接的错误信息以用于功能调试;
有限状态机FSM,用于维护、更新、清除所有连接,包括接收状态RECV、空闲状态IDLE,针对每一个连接:有限状态机FSM初始位于空闲状态IDLE,当接收到第一个切片时有限状态机FSM进入接收状态RECV并对收到的切片进行计数更新已接收的报文数,若报文载荷正确、合法性检查通过则生成应答报文ACK;当已接收的报文数等于连接总切片数目flit_num,则有限状态机FSM进入空闲状态IDLE;
应答报文ACK处理模块,用于缓存并发送应答报文ACK,包括用于缓存应答报文ACK的应答报文先入先出队列ACK_FIFO。
可选地,所述存储模块为随机访问存储器RAM,且随机访问存储器RAM中存储的连接信息为第二连接控制块,所述随机访问存储器RAM中采用第二连接控制块存储连接信息,所述第二连接控制块的字段包括连接号ID、源端口号Source、连接总切片数目flit_num和状态status,其中连接号ID为第一连接控制块的唯一标识,源端口号Source为报文的源端口号,连接总切片数目flit_num为报文中携带的连接总切片数目,状态status包括可用、初始化、接收异常或接收完毕三种状态,接收完毕的连接将自动清除并回到可用状态。
可选地,所述报文载荷检测模块校验通信报文中报文载荷的正确性具体是指针对校验通信报文中的报文载荷进行ECC校验和CRC校验。
可选地,所述目的端单元还包括请求重传模块,所述有限状态机FSM还包括比较状态CMP,在空闲状态IDLE下当报文载荷检测模块检测发现指定错误的时候向源端单元发送包含错误类型信息的错误编码,且有限状态机FSM进入比较状态CMP;所述报文发送模块在收到请求重传模块发送的错误编码后,重新发送对应的切片,并修正已发送的切片数量;若在比较状态CMP下收到头切片,则有限状态机FSM重新进入接收状态RECV。
可选地,所述应答报文ACK携带的信息包括{目的端口号,连接号,虚通道VC号}。
此外,本发明还提供一种FPGA芯片,所述FPGA芯片中包含有所述基于动态连接端到端可靠传输协议的网络测试装置。
和现有技术相比,本发明具有下述优点:
1、本发明为封闭自测试,即硬件不依赖任何上层通信软件,通过设计可综合虚拟激励源模拟结点通信行为,覆盖各种复杂的通信模式,完成复杂网络环境下互连芯片功能正确性验证。这是一种完全基于硬件的内建自测试方法,通常在芯片软模拟验证之后,软硬件协同验证之前启动,无需上层驱动、操作系统及应用环境配置,可直接应用于芯片FPGA验证平台。为排查芯片早期硬件逻辑设计问题、网络路由与接口芯片各自独立并行测试提供了手段,加速了软硬件协同验证周期缩短了系统研制时间。
2、本发明以极小的硬件代价实现了端到端报文的可靠传输,结点间通信、连接错误追踪与定位无需软件参与,由硬件独立完成,可直接应用于复杂网络环境下互连芯片功能正确性验证。
3、发送端采用超时机制监测每个连接的异常状态,仅维护有限数目的活跃连接,通过连接控制块的动态回收和循环使用,降低连接硬件开销;接收端则负责维护每个连接的实时通信状态,统计输出异常、错误状态。本发明充分利用发送与接收端处理机制的异同,通过高效合并、裁剪发送/接收端连接控制与维护操作,有效降低了连接资源,提高了通信规模的可扩展性。
附图说明
图1为本发明实施例中自适应路由验证装置的结构示意图。
图2为本发明实施例中第一连接控制块的结构示意图。
图3为本发明实施例中第二连接控制块的结构示意图。
图4为本发明实施例中异常报文错误域的结构定义。
具体实施方式
针对目前HPC互连网络广泛支持的自适应路由功能,开发可综合虚拟激励源,支持作业数据完整性、乱序报文正确性检测,并能够提供完整的错误信息用于芯片功能调试。在完全没有上层软件参与的条件下,由硬件模拟结点通信行为,追踪每个通信数据完整性及乱序报文的正确性具有相当的技术难度。Ethernet网络允许丢包,硬件对单跳之间的数据完整性不做检测,HPC互连网络为保证高可靠无损传输,链路传输层基于滑动窗口协议的报文重传机制保证了单跳报文传输的可靠性。然而,在大规模复杂网络环境下,端到端的报文可靠传输及校验通常是由软件来完成的,例如传输控制协议TCP/IP(TransmissionControl Protocol/Internet Protocol),由硬件检测端到端报文传输的正确性及完整性涉及大量通信状态的监控和维护,难以兼顾可扩展性、性能及资源之间的平衡设计。
如图1所示,本实施例基于动态连接端到端可靠传输协议的网络测试装置括源端单元,源端单元包括:
第一随机码产生器,用于生成随机码;
第二随机码产生器,用于生成报文载荷;
连接产生器,用于根据随机码随机生成不同虚通道VC的连接;
连接FIFO,与虚通道VC一一对应,用于存储对应虚通道VC的连接信息;
报文发送模块,用于采用轮询的方式调度各个虚通道VC的连接信息,并在链路信用可用且连接优先级最高时则基于报文载荷在线生成并发送调度出的连接所对应的通信报文;
超时计时器,用于在发送通信报文之后开始计时,若在设置时间内接收到相应应答报文ACK则释放相应连接号,超时则记录出错连接释放相应连接。
作为一种可选的实施方式,连接FIFO中采用第一连接控制块存储连接信息,如图2所示,第一连接控制块的字段包括连接号ID、目的端口号dest、连接总切片数目flit_num和状态status,其中连接号ID为第一连接控制块的唯一标识,目的端口号dest、连接总切片数目flit_num为根据随机码随机生成,状态status包括初始化完成、发送中、发送完毕三种状态,针对每一个连接:当连接的第一连接控制块初始化生成后状态status处于初始化完成状态,当报文发送模块开始发送连接对应的切片后处于发送中状态,当发送的切片数量等于连接总切片数目flit_num时进入发送完毕状态,且在发送完毕后回收该连接的连接号ID。
本实施例中,第一随机码产生器和第二随机码产生器均为伪随机二进制序列生成电路。
参见图2,每个第一连接控制块的目的端口号dest及本次连接需发送的切片(flit)数目flit_num均由PRBS(Pseud-random Binary Sequenc,伪随机二进制序列)电路随机产生。连接号ID是连接控制块的唯一标识,连接控制块可回收,收到目的端应答报文ACK后,则回收该连接,释放相应ID号,连接生成器则循环使用被释放的连接号ID生成新的连接。发送端每个连接都会经历初始化、发送报文、发送完成三个状态,发送完成后若长时间没有收到应答报文则触发连接超时报错,成功接收到应答报文则释放连接资源并生成新的连接至FIFO队列等待调度。
本实施例中,源端单元还包括用于记录超时未收到应答报文ACK的超时向量寄存器。
如图1所示,本实施例基于动态连接端到端可靠传输协议的网络测试装置还包括目的端单元,目的端单元包括:
存储模块,用于存储与源端单元建立的连接信息;
报文载荷检测模块,用于校验通信报文中报文载荷的正确性;
报文检查模块,用于通信报文的合法性检查;
错误收集模块,用于收集异常连接的错误信息以用于功能调试;
有限状态机FSM,用于维护、更新、清除所有连接,包括接收状态RECV、空闲状态IDLE,针对每一个连接:有限状态机FSM初始位于空闲状态IDLE,当接收到第一个切片时有限状态机FSM进入接收状态RECV并对收到的切片进行计数更新已接收的报文数,若报文载荷正确、合法性检查通过则生成应答报文ACK;当已接收的报文数等于连接总切片数目flit_num,则有限状态机FSM进入空闲状态IDLE;
应答报文ACK处理模块,用于缓存并发送应答报文ACK,包括用于缓存应答报文ACK的应答报文先入先出队列ACK_FIFO。
如图1所示,存储模块为随机访问存储器RAM,且随机访问存储器RAM中存储的连接信息为第二连接控制块,随机访问存储器RAM中采用第二连接控制块存储连接信息,如图3所示,第二连接控制块的字段包括连接号ID、源端口号Source、连接总切片数目flit_num和状态status,其中连接号ID为第一连接控制块的唯一标识,源端口号Source为报文的源端口号,连接总切片数目flit_num为报文中携带的连接总切片数目,状态status包括可用、初始化、接收异常或接收完毕三种状态,接收完毕的连接将自动清除并回到可用状态。
本实施例中,报文载荷检测模块校验通信报文中报文载荷的正确性具体是指针对校验通信报文中的报文载荷进行ECC校验和CRC校验。
本实施例中,目的端单元还包括请求重传模块,有限状态机FSM还包括比较状态CMP,在空闲状态IDLE下当报文载荷检测模块检测发现指定错误的时候向源端单元发送包含错误类型信息的错误编码,且有限状态机FSM进入比较状态CMP;报文发送模块在收到请求重传模块发送的错误编码后,重新发送对应的切片,并修正已发送的切片数量;若在比较状态CMP下收到头切片,则有限状态机FSM重新进入接收状态RECV。
本实施例中,应答报文ACK携带的信息包括{目的端口号,连接号,虚通道VC号}。
参见图3,每个第二连接控制块中连接号、源端口号由连接请求报文或者本连接第一个flit初始化得到,接收Flit_num则通过计数已接收的本连接报文来统计。目的端口接收完毕某个连接的flit且无PRBS及CRC错,即向源端发送应答报文ACK并回收相应连接资源,应答报文ACK缓存在应答报文ACK队列中由发送模块调度发出,应答报文ACK队列具有比第二连接控制块FIFO队列更高的调度优先级,以实现源端连接资源的快速释放。若存在数据错或者重复接收报文则收集报错信息,本连接状态为异常。接收端每个第二连接控制块经历可用、初始化、接收异常或接收完毕三种状态,接收完毕的连接将自动清除并回到可用状态。
为模拟结点通信行为,并方便检测自适应路由环境下端到端数据通信的正确性及完整性,本实施例中提出了一种基于动态连接的可靠传输协议,通过在通信双方建立连接,并在发送、接收方维护每个连接上下文状态,保证结点通信的可靠性及自适应路由的正确性。这种基于动态连接的报文注入方式将作为可综合虚拟激励源,可直接应用于路由芯片自适应路由的FPGA验证平台。基于动态连接端到端可靠传输协议设计的基本思路为:源端为每个VC(Virtual Channel,虚拟通道)维护一个连接控制块FIFO(先进先出队列),其数据结构如图1所示,每个第一连接控制块的目的端口号dest及本次连接需发送的切片(切片)数目flit_num均由PRBS(Pseud-random Binary Sequenc,伪随机二进制序列)电路随机产生。连接号(ID)是连接控制块的唯一标识,连接控制块可回收,收到目的端应答报文ACK(ACKnowledgement,应答)后,连接将被回收,即释放相应ID号。每个徐端口VC所支持最大连接数可配,源端依次处理FIFO中的连接,并以轮询方式调度不同VC的连接。每个连接的通信数据以随机报文的方式注入到互连网络,报文长度随机,报文负载由PRBS码填充,直至连接指定的通信数据发送完毕,即报文发送总切片数目等于连接指定的flit_num数目,此时该连接在发送端处理完毕,可调度下一个VC的连接控制块。目的端接收完毕通信连接指定的所有数据后,发送应答报文到源端,源端接收到应答报文ACK后,将回收连接。长时间为未收到应答报文ACK的连接应予以清除,同时记录出错的连接,每个连接从产生到回收依次经历初始化,发送中,发送完毕三种状态。为方便查错,超时连接号记录在超时向量寄存器中,因此不需要读出所有连接控制块来定位错误连接。
源端与目的端的连接建立过程可采用两种方式,一种方式是源端向目的端发送连接建立请求,目的端确认相应的连接资源后返回请求许可报文,源端收到许可报文后启动数据传输。目的端口接收完毕相应connector的切片后发送应答报文ACK至源端,同时捎带相应VC可用的连接数目。源端随机选择目的端时需考虑目的端可用连接资源是否超过预设阀值,这样可以降低连接建立失败的风险。另一种方式跳过连接握手过程,直接建立连接。假设源端每个VC支持16个活跃连接,验证规模为32块路由芯片板,则目的端每个vc需要支持24x25=29个连接可保证资源无冲突。若连接建立之前省略了源与目的握手过程,源端发送连接的第一个切片需携带ID,soure(源结点号),flit_num等信息,用于初始化目的端连接控制块,目的端根据相应的连接信息直接生成连接控制块,若此时目的端无可用连接资源则发送连接失败报文到源端。目的端连接控制块数据结构如图2所示,每个连接控制块中连接号、源端口号由连接请求报文或者本连接第一个切片初始化得到,接收切片数目则通过计数已接收的报文数flit_num来统计。目的端口接收完毕某个连接的切片且无PRBS及CRC(循环冗余校验,Cyclic Redundant Check)错,即向源端发送应答报文ACK并回收相应连接,应答报文ACK缓存在应答报文ACK队列中(应答报文ACK_queue)由发送模块调度发出,应答报文ACK队列具有比连接控制块FIFO队列更高的调度优先级,以实现源端连接资源的快速释放。若存在数据错或者重复接收报文则收集报错信息,本连接状态为异常。接收端每个连接控制块经历可用、初始化、接收异常或接收完毕三种状态,接收完毕的连接将自动清除并回到可用状态。
本实施例方法中能够检测每个连接报文的完整性,通过超时方式报告出错连接。若在发送/接收端均为每个连接建立独立的超时机制将耗费大量资源,发送端连接数比较固定且可控性好,而接收端连接庞杂错误定位困难,因此考虑仅在发送端为每个连接建立超时计数器;同一VC的全部连接共享一个超时模块,为该VC每个连接提供时间计数。若在设定时间内未收到应答报文,或者未完成连接,则记录出错信息,为节省资源出错信息直接记录在连接控制块中,该连接控制块对应的连接号将不再被循环使用。异常连接到达一定数量后将无可用的连接。接收端连接控制块保存在RAM(Random Access Memory)中,为简化设计接收端不再为每个连接建立超时机制,所有异常连接均通过发送端超时机制来反映,接收端保存每个连接的状态。本实施例方法支持芯片功能调试的错误状态收集及错误定位方法。每个切片载荷由PRBS码填充,接收端通过PRBS在线检测模块校验每个切片数据的正确性,报文尾切片中CRC值用于验证整个报文的数据正确性。接收端通过检索连接控制块,统计每个连接通信切片数目,以检测切片完整性。基于动态连接的端到端通信机制支持报文的乱序传输。作为一种可选的实施方式,本实施例中通信报文格式的定义如下:
表1:通信报文格式。
作为一种可选的实施方式,本实施例中接收端每个VC连接管理模块输出错误向量,错误域解析如下:
表2:输出错误向量含义。
为防止连接超时时间设置不合理,发送端接收到应答报文ACK后,清除相应的连接超时向量。若是自适应路由模式下收到出错类型为0001的报文,则将该报文丢弃,并修正接收Flit数目。
作为一种可选的实施方式,本实施例中异常报文错误域解析如图4所示。其中,错误编码Err的宽度为1位,报文编号Cur_ID为20位,端口号Port为5位,描述信息info为4位。描述信息info的信息编码如下:
表3:链路传输层报文错误编码。
综上所述,本实施例基于动态连接端到端可靠传输协议的网络测试装置以极小的硬件代价实现了端到端报文的可靠传输,结点间通信、连接错误追踪与定位无需软件参与,由硬件独立完成,可直接应用于复杂网络环境下互连芯片功能正确性验证。每个连接控制块存储开销仅为32bits,包括10bits的连接号、结点号、flit数目以及2bit的连接状态,发送端为每个VC维护一个连接控制块队列采用轮询方式调度处理不同队列的连接通信,接收端根据头切片中连接号及源端口号{Connector ID,Source port ID}生成目的端连接控制块的检索号即读地址,用于监测每个连接的通信状态和错误信息收集。本实施例基于动态连接端到端可靠传输协议的网络测试装置采用CRC及PRBS编码实现通信数据校验机制进行错误检测,并在接收端通过检索连接控制块,统计相关连接状态,检测通信数据完整性,基于动态连接的报文自检测机制支持报文的乱序传输可验证自适应路由机制正确性。发送端采用超时机制监测每个连接的异常状态,仅维护有限数目的活跃连接,通过连接控制块的动态回收和循环使用,降低连接硬件开销;接收端则负责维护每个连接的实时通信状态,统计输出异常、错误状态。本发明充分利用发送与接收端处理机制的异同,通过高效合并、裁剪发送/接收端连接控制与维护操作,有效降低了连接资源,提高了通信规模的可扩展性。
此外,本实施例还提供一种FPGA芯片,该FPGA芯片中包含有前述基于动态连接端到端可靠传输协议的网络测试装置。图3是本发明应用于国防科大天河2 3D Torus网络拓扑自适应路由自测试环境的一个实例,给出了本发明发送/接收路径模块级硬件实现图,通过将本发明可综合电路实现于FPGA验证平台,可以模拟真实应用场景下的网络行为,功能上支持网络芯片组功能正确性验证和网络路由机制正确性验证。为进一步降低存储资源,提高数据传输效率,在此实例中我们跳过了连接握手过程,采用直接建立连接的方式,源端发送连接的第一个切片需携带ID,source(源结点号),切片_num等信息,用于初始化目的端连接控制块,若目的端无可用连接资源则发送N应答报文ACK(Negative应答报文ACKnowledgement)报文到源端,也可以通过源端应答报文ACK超时清除相应连接。如图3所示,发送端连接产生器采用PRBS码,随机生成不同VC每个连接的目的端口及连接通信切片数目,每个VC保持一定数量的活跃连接,首次初始化连接控制块FIFO队列时,连接号按顺序产生,当FIFO缓冲区满时,则等待应答报文ACK释放连接资源,循环使用连接号。报文发送模块以轮询(Round-robin)方式处理每个VC的连接,当链路信用可用且连接优先级最高时则在线生成并发送该连接的通信报文,报文如表1所示的控制域信息包括切片数目,连接号,源端口,目的端口,报文序列号等根据连接控制块信息填入,报文载荷则由PRBS码填充。发送端为每个连接维护一个超时计数器,报文发送完毕后开始计时,若在设置时间内接收到相应应答报文ACK则释放相应连接号,超时则记录出错连接释放相应连接。接收方通过连接的第一个报文初始化连接控制块,所有连接集中保存在RAM中,{Connector ID,Sourceport ID}为每个连接的索引地址,其中Connector ID为第二连接控制块的ID,Source portID为源端口号。报文载荷检测模块采用PRBS检查器校验报文PRBS载荷的正确性,报文检查模块负责报文合法性检查,包括头尾完整性,路由正确性,长度合法性,信息完整性等等,对于异常连接则收集并输出错误信息用于芯片功能调试。若报文正确,则计入该连接通信切片数目,当接收切片数目等于连接通信切片数目则表明该连接已完成通信,将完成连接{目的端口号,连接号,VC号}写入应答报文ACK FIFO队列,由报文发送模块生成应答报文ACK发送到源端,用于回收相应连接,连接超时计数器归位。接收方采用有限状态机FSM(FiniteState Machine),用于维护、更新、清除所有连接,RECV状态用于初始化连接,接收报文头切片;IDLE状态用于接收尾切片,计数正确切片数目,更新连接状态;CMP状态用于控制连接控制块的重用,数据正确性检查及控制块状态更新写合并操作。通过将本发明基于动态连接端到端可靠传输协议的网络测试装置综合于FPGA,采用真实结点和虚拟结点相结合的方式扩大网络验证规模,功能上支持网络芯片组功能正确性验证和网络路由机制正确性验证。为排查芯片早期硬件逻辑设计问题、网络路由与接口芯片各自独立并行测试提供了手段,加速了软硬件协同验证周期缩短了系统研制时间。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于动态连接端到端可靠传输协议的网络测试装置,其特征在于,包括源端单元,所述源端单元包括:
第一随机码产生器,用于生成随机码;
第二随机码产生器,用于生成报文载荷;
连接产生器,用于根据随机码随机生成不同虚通道VC的连接;
连接FIFO,与虚通道VC一一对应,用于存储对应虚通道VC的连接信息;
报文发送模块,用于采用轮询的方式调度各个虚通道VC的连接信息,并在链路信用可用且连接优先级最高时则基于报文载荷在线生成并发送调度出的连接所对应的通信报文;
超时计时器,用于在发送通信报文之后开始计时,若在设置时间内接收到相应应答报文ACK则释放相应连接号,超时则记录出错连接释放相应连接。
2.根据权利要求1所述的基于动态连接端到端可靠传输协议的网络测试装置,其特征在于,所述连接FIFO中采用第一连接控制块存储连接信息,所述第一连接控制块的字段包括连接号ID、目的端口号dest、连接总切片数目flit_num和状态status,其中连接号ID为第一连接控制块的唯一标识,目的端口号dest、连接总切片数目flit_num为根据随机码随机生成,状态status包括初始化完成、发送中、发送完毕三种状态,针对每一个连接:当连接的第一连接控制块初始化生成后状态status处于初始化完成状态,当报文发送模块开始发送连接对应的切片后处于发送中状态,当发送的切片数量等于连接总切片数目flit_num时进入发送完毕状态,且在发送完毕后回收该连接的连接号ID。
3.根据权利要求1所述的基于动态连接端到端可靠传输协议的网络测试装置,其特征在于,所述第一随机码产生器和第二随机码产生器均为伪随机二进制序列生成电路。
4.根据权利要求1所述的基于动态连接端到端可靠传输协议的网络测试装置,其特征在于,所述源端单元还包括用于记录超时未收到应答报文ACK的超时向量寄存器。
5.根据权利要求1~4中任意一项所述的基于动态连接端到端可靠传输协议的网络测试装置,其特征在于,还包括目的端单元,所述目的端单元包括:
存储模块,用于存储与源端单元建立的连接信息;
报文载荷检测模块,用于校验通信报文中报文载荷的正确性;
报文检查模块,用于通信报文的合法性检查;
错误收集模块,用于收集异常连接的错误信息以用于功能调试;
有限状态机FSM,用于维护、更新、清除所有连接,包括接收状态RECV、空闲状态IDLE,针对每一个连接:有限状态机FSM初始位于空闲状态IDLE,当接收到第一个切片时有限状态机FSM进入接收状态RECV并对收到的切片进行计数更新已接收的报文数,若报文载荷正确、合法性检查通过则生成应答报文ACK;当已接收的报文数等于连接总切片数目flit_num,则有限状态机FSM进入空闲状态IDLE;
应答报文ACK处理模块,用于缓存并发送应答报文ACK,包括用于缓存应答报文ACK的应答报文先入先出队列ACK_FIFO。
6.根据权利要求5所述的基于动态连接端到端可靠传输协议的网络测试装置,其特征在于,所述存储模块为随机访问存储器RAM,且随机访问存储器RAM中存储的连接信息为第二连接控制块,所述随机访问存储器RAM中采用第二连接控制块存储连接信息,所述第二连接控制块的字段包括连接号ID、源端口号Source、连接总切片数目flit_num和状态status,其中连接号ID为第一连接控制块的唯一标识,源端口号Source为报文的源端口号,连接总切片数目flit_num为报文中携带的连接总切片数目,状态status包括可用、初始化、接收异常或接收完毕三种状态,接收完毕的连接将自动清除并回到可用状态。
7.根据权利要求5所述的基于动态连接端到端可靠传输协议的网络测试装置,其特征在于,所述报文载荷检测模块校验通信报文中报文载荷的正确性具体是指针对校验通信报文中的报文载荷进行ECC校验和CRC校验。
8.根据权利要求5所述的基于动态连接端到端可靠传输协议的网络测试装置,其特征在于,所述目的端单元还包括请求重传模块,所述有限状态机FSM还包括比较状态CMP,在空闲状态IDLE下当报文载荷检测模块检测发现指定错误的时候向源端单元发送包含错误类型信息的错误编码,且有限状态机FSM进入比较状态CMP;所述报文发送模块在收到请求重传模块发送的错误编码后,重新发送对应的切片,并修正已发送的切片数量;若在比较状态CMP下收到头切片,则有限状态机FSM重新进入接收状态RECV。
9.根据权利要求5所述的基于动态连接端到端可靠传输协议的网络测试装置,其特征在于,所述应答报文ACK携带的信息包括{目的端口号,连接号,虚通道VC号}。
10.一种FPGA芯片,其特征在于,所述FPGA芯片中包含有权利要求1~9中任意一项所述基于动态连接端到端可靠传输协议的网络测试装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011233573.0A CN112350897B (zh) | 2020-11-06 | 2020-11-06 | 基于动态连接端到端可靠传输协议的网络测试装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011233573.0A CN112350897B (zh) | 2020-11-06 | 2020-11-06 | 基于动态连接端到端可靠传输协议的网络测试装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112350897A true CN112350897A (zh) | 2021-02-09 |
CN112350897B CN112350897B (zh) | 2022-08-12 |
Family
ID=74429324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011233573.0A Active CN112350897B (zh) | 2020-11-06 | 2020-11-06 | 基于动态连接端到端可靠传输协议的网络测试装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112350897B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116908751A (zh) * | 2023-09-13 | 2023-10-20 | 合肥安迅精密技术有限公司 | 用于工业系统外设接口检测的测试用板、检测系统及方法 |
CN117614880A (zh) * | 2024-01-22 | 2024-02-27 | 广东广宇科技发展有限公司 | 一种基于动态数组的通信线路实时监测方法 |
US11994938B2 (en) | 2021-11-11 | 2024-05-28 | Samsung Electronics Co., Ltd. | Systems and methods for detecting intra-chip communication errors in a reconfigurable hardware system |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060064528A (ko) * | 2004-12-08 | 2006-06-13 | 한국전자통신연구원 | Tcp 프로토콜의 재전송 및 지연확인 타이머 관리 장치및 방법 |
CN102394732A (zh) * | 2011-09-06 | 2012-03-28 | 中国人民解放军国防科学技术大学 | 一种多微包并行处理结构 |
CN103309780A (zh) * | 2013-06-27 | 2013-09-18 | 哈尔滨工业大学 | 载荷数据处理器的模拟装置及其实现方法 |
CN104917645A (zh) * | 2015-04-17 | 2015-09-16 | 浪潮电子信息产业股份有限公司 | 一种在线检测报文传输超时的方法与装置 |
CN108040034A (zh) * | 2017-11-15 | 2018-05-15 | 中国航空无线电电子研究所 | 分布式实时通信中间件 |
CN108683553A (zh) * | 2018-03-30 | 2018-10-19 | 北京华为数字技术有限公司 | 故障注入的方法和装置 |
WO2019015462A1 (zh) * | 2017-07-18 | 2019-01-24 | 华为技术有限公司 | 一种检测块发送和接收的方法、网络设备和系统 |
CN109756332A (zh) * | 2019-03-04 | 2019-05-14 | 重庆捷思芯创电子科技有限公司 | 一种sram型fpga与外置密钥管理芯片的通讯系统 |
CN110910660A (zh) * | 2019-11-13 | 2020-03-24 | 苏州中亿通智能系统有限公司 | 一种道路交通信号控制器 |
CN111030747A (zh) * | 2019-11-22 | 2020-04-17 | 中国科学院国家空间科学中心 | 一种基于FPGA的SpaceFibre节点IP核 |
-
2020
- 2020-11-06 CN CN202011233573.0A patent/CN112350897B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060064528A (ko) * | 2004-12-08 | 2006-06-13 | 한국전자통신연구원 | Tcp 프로토콜의 재전송 및 지연확인 타이머 관리 장치및 방법 |
CN102394732A (zh) * | 2011-09-06 | 2012-03-28 | 中国人民解放军国防科学技术大学 | 一种多微包并行处理结构 |
CN103309780A (zh) * | 2013-06-27 | 2013-09-18 | 哈尔滨工业大学 | 载荷数据处理器的模拟装置及其实现方法 |
CN104917645A (zh) * | 2015-04-17 | 2015-09-16 | 浪潮电子信息产业股份有限公司 | 一种在线检测报文传输超时的方法与装置 |
WO2019015462A1 (zh) * | 2017-07-18 | 2019-01-24 | 华为技术有限公司 | 一种检测块发送和接收的方法、网络设备和系统 |
CN108040034A (zh) * | 2017-11-15 | 2018-05-15 | 中国航空无线电电子研究所 | 分布式实时通信中间件 |
CN108683553A (zh) * | 2018-03-30 | 2018-10-19 | 北京华为数字技术有限公司 | 故障注入的方法和装置 |
CN109756332A (zh) * | 2019-03-04 | 2019-05-14 | 重庆捷思芯创电子科技有限公司 | 一种sram型fpga与外置密钥管理芯片的通讯系统 |
CN110910660A (zh) * | 2019-11-13 | 2020-03-24 | 苏州中亿通智能系统有限公司 | 一种道路交通信号控制器 |
CN111030747A (zh) * | 2019-11-22 | 2020-04-17 | 中国科学院国家空间科学中心 | 一种基于FPGA的SpaceFibre节点IP核 |
Non-Patent Citations (1)
Title |
---|
刘路等: "基于动态连接的RDMA可靠传输协议设计", 《计算机工程与科学》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11994938B2 (en) | 2021-11-11 | 2024-05-28 | Samsung Electronics Co., Ltd. | Systems and methods for detecting intra-chip communication errors in a reconfigurable hardware system |
CN116908751A (zh) * | 2023-09-13 | 2023-10-20 | 合肥安迅精密技术有限公司 | 用于工业系统外设接口检测的测试用板、检测系统及方法 |
CN116908751B (zh) * | 2023-09-13 | 2024-04-19 | 合肥安迅精密技术有限公司 | 用于工业系统外设接口检测的测试用板、检测系统及方法 |
CN117614880A (zh) * | 2024-01-22 | 2024-02-27 | 广东广宇科技发展有限公司 | 一种基于动态数组的通信线路实时监测方法 |
CN117614880B (zh) * | 2024-01-22 | 2024-04-19 | 广东广宇科技发展有限公司 | 一种基于动态数组的通信线路实时监测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112350897B (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112350897B (zh) | 基于动态连接端到端可靠传输协议的网络测试装置 | |
CN100369423C (zh) | 网络仿真测试系统及方法 | |
US7693070B2 (en) | Congestion reducing reliable transport packet retry engine | |
US20060259542A1 (en) | Integrated testing approach for publish/subscribe network systems | |
US20130166960A1 (en) | Byte By Byte Received Data Integrity Check | |
CN103973482A (zh) | 具有全局通信事务管理能力的容错片上网络系统及方法 | |
CN111835579B (zh) | 一种网络流量调度仿真有效性的测试方法及系统 | |
CN104243536B (zh) | 一种高速列车控制网络半实物仿真系统 | |
JP2012191622A (ja) | Tcp接続を検査するためのメタデータキャプチャ | |
CN101667953B (zh) | 一种快速环网物理链路状态的上报方法及装置 | |
Gaughan et al. | Distributed, deadlock-free routing in faulty, pipelined, direct interconnection networks | |
CN111682966B (zh) | 带故障主动报告功能的网络通信装置,系统及其方法 | |
CN105763375B (zh) | 一种数据包发送方法、接收方法及微波站 | |
CN117278486A (zh) | 一种可靠udp组播的fpga硬件加速系统及方法 | |
CN100571183C (zh) | 一种基于胖树拓扑的屏障操作网络系统、装置及方法 | |
Yu et al. | A flexible parallel simulator for networks-on-chip with error control | |
CN114205218B (zh) | 一种容器网络故障的诊断方法和系统 | |
US8370478B2 (en) | Testing a data communication architecture | |
CN109474496A (zh) | 网络测试方法及装置、存储介质及网元 | |
CN111352781B (zh) | 用于重传部件模块级验证的报文自动比对正确性检查方法及装置 | |
CN111083115A (zh) | 数据传输方法和系统 | |
Toso et al. | Testing network protocols via the DESERT underwater framework: The CommsNet'13 experience | |
CN117640511B (zh) | 一种有线通信系统及其通信芯片、通信方法及介质 | |
CN110519116B (zh) | 循环冗余校验码存储比较模块及交换设备性能测试系统 | |
Li | Network Implementation with TCP Protocol: A server on FPGA handling multiple connections |
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 |