CN115526142A - 以太网降速方法、系统、介质及fpga验证平台 - Google Patents
以太网降速方法、系统、介质及fpga验证平台 Download PDFInfo
- Publication number
- CN115526142A CN115526142A CN202211166210.9A CN202211166210A CN115526142A CN 115526142 A CN115526142 A CN 115526142A CN 202211166210 A CN202211166210 A CN 202211166210A CN 115526142 A CN115526142 A CN 115526142A
- Authority
- CN
- China
- Prior art keywords
- ethernet
- verification platform
- ethernet packet
- packet
- fpga
- 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
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/12—Printed circuit boards [PCB] or multi-chip modules [MCM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种以太网降速方法、系统、介质及FPGA验证平台;所述方法包括以下步骤:接收所述外部设备发送的第一以太包;基于所述第一以太包监测FIFO状态;在所述FIFO状态满足第一预设条件时,发送暂停帧至所述外部设备,以使所述外部设备暂停向所述FPGA验证平台发送所述第一以太包;本发明通过对FPGA验证平台的FIFO状态进行实时监测,以在该FIFO状态满足第一预设条件时,主动向外部设备发送暂停帧,以使该外部设备暂停向该FPGA验证平台发送以太包,从而有效弥补了用户网表与外部设备之间的速率差,解决了低时钟频率的FPGA验证平台与外部设备的连接的问题。
Description
技术领域
本发明属于以太网测试技术领域,特别是涉及一种以太网降速方法、系统、介质及FPGA验证平台。
背景技术
随着芯片集成度的不断提升和性能发展的多元化,致使芯片设计也变得越来越复杂,一个很小的芯片上要集成数百亿颗晶体管,这样细微并且庞大的工程,早就不是单单人力范围就可以覆盖解决的了,因此,基于FPGA的验证平台成为了开发者检验设计的最佳选择。
但是由于容量和性能等要求,对于大型的芯片设计,一片FPGA往往容纳不下,这时就需要将多片FPGA互连起来才能完成整个设计的验证;多片FPGA互联,导致出现大量的Cross-FPGA信号,同时芯片设计还有大量的深层次组合逻辑的存在,这两点原因致使FPGA时序收敛困难,往往时钟频率只能达到几兆赫兹(MHZ),但是存在一些外部环境或者控制器是需要满足标准规范的,并不能无限制的降低时钟频率。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种以太网降速方法、系统、介质及FPGA验证平台,用于解决现有技术中存在的上述问题。
为实现上述目的及其他相关目的,本发明提供一种以太网降速方法,应用于FPGA验证平台,所述FPGA验证平台用于通过PHY芯片与外部设备连接,所述FPGA验证平台上存有待验证的用户网表;所述方法包括以下步骤:接收所述外部设备发送的第一以太包;基于所述第一以太包监测FIFO状态;在所述FIFO状态满足第一预设条件时,发送暂停帧至所述外部设备,以使所述外部设备暂停向所述FPGA验证平台发送所述第一以太包。
于本发明的一实施例中,所述方法还包括以下步骤:在所述外部设备暂停向所述FPGA验证平台发送所述第一以太包的步骤之后,判断所述FIFO状态是否满足第二预设条件;在所述FIFO状态满足所述第二预设条件时,发送启动帧至所述外部设备,以使所述外部设备重新开始向所述FPGA验证平台发送所述第一以太包。
于本发明的一实施例中,在所述FPGA验证平台接收到所述第一以太包后,所述第一以太包经所述用户网表后对应产生第二以太包;所述方法还包括以下步骤:对所述第一以太包和所述第二以太包进行检测,以基于检测结果验证所述用户网表;其中,对所述第一以太包和所述第二以太包的检测至少包括以下任意一种检测手段:包计数统计、包长检测、CRC校验及MAC地址提取。
于本发明的一实施例中,所述基于所述第一以太包监测FIFO状态包括以下步骤:对所述第一以太包进行包计数统计,以基于包计数统计结果实现实时监测所述FIFO状态。
于本发明的一实施例中,所述方法还包括以下步骤:基于所述用户网表的速率和所述外部设备的速率进行位宽转换,和/或基于所述用户网表的速率对接口进行相应的标准封装。
本发明提供一种以太网降速系统,应用于FPGA验证平台,包括:接收模块、监测模块及发送模块;所述接收模块用于接收所述外部设备发送的第一以太包;所述监测模块用于基于所述第一以太包监测FIFO状态;所述发送模块用于在所述FIFO状态满足第一预设条件时,发送暂停帧至所述外部设备,以使所述外部设备暂停向所述FPGA验证平台发送所述第一以太包。
本发明提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的以太网降速方法。
本发明提供一种FPGA验证平台,包括:处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述FPGA验证平台执行上述的以太网降速方法。
本发明提供一种以太网降速系统,包括:外部设备、PHY芯片及上述的FPGA验证平台;所述PHY芯片分别与所述外部设备和所述FPGA验证平台连接。
于本发明的一实施例中,所述外部设备包括:以太网测试仪和/或PC机。
如上所述,本发明所述的以太网降速方法、系统、介质及FPGA验证平台,具有以下有益效果:
(1)与现有技术相比,本发明通过对FPGA验证平台的FIFO状态进行实时监测,以在该FIFO状态满足第一预设条件时,主动向外部设备发送暂停帧,以使该外部设备暂停向该FPGA验证平台发送以太包,从而有效弥补了用户网表与外部设备之间的速率差,解决了低时钟频率的FPGA验证平台与外部设备的连接的问题。
(2)本发明提供了位宽转换及接口标准封装功能,从而实现了对多种以太网协议的支持,以及提供了对以太包的检测功能,如包数量检测、包长检测和CRC校验,实现了对用户网表的验证。
附图说明
图1显示为本发明的以太网降速方法于一实施例中的工作原理框图。
图2显示为本发明的以太网降速方法于一实施例中的原理流程框图。
图3显示为本发明的以太网降速方法于一实施例中的流程图。
图4显示为本发明的以太网降速系统于一实施例中的结构示意图。
图5显示为本发明的以太网降速系统于另一实施例中的结构示意图。
标号说明
11 FPGA验证平台
111 降速模块
12 PHY芯片
13 外部设备
14 用户网表
41 接收模块
42 监测模块
43 发送模块
51 外部设备
52 PHY芯片
53 FPGA验证平台
S1~S5 步骤
具体实施方式
以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的以太网降速方法、系统、介质及FPGA验证平台,与现有技术相比,本发明通过对FPGA验证平台的FIFO状态进行实时监测,以在该FIFO状态满足第一预设条件时,主动向外部设备发送暂停帧,以使该外部设备暂停向该FPGA验证平台发送以太包,从而有效弥补了用户网表与外部设备之间的速率差,解决了低时钟频率的FPGA验证平台与外部设备的连接的问题;本发明提供了位宽转换及接口标准封装功能,从而实现了对多种以太网协议的支持,以及提供了对以太包的检测功能,如包数量检测、包长检测和CRC校验,实现了对用户网表的验证。
本发明的存储介质上存储有计算机程序,该计算机程序被处理器执行时实现下述的以太网降速方法。所述存储介质包括:只读存储器(Read-Only Memory,ROM)、随机访问存储器(Random Access Memory,RAM)、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
可以采用一个或多个存储介质的任意组合。存储介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
本发明的FPGA验证平台包括处理器及存储器。
所述存储器用于存储计算机程序;优选地,所述存储器包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使所述FPGA验证平台执行下述的以太网降速方法。
优选地,所述处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
如图1所示,于一实施例中,将本发明的以太网降速方法应用于图1中的FPGA验证平台11。
具体地,所述FPGA验证平台11用于通过PHY芯片12与外部设备13连接,所述FPGA验证平台11上存有待验证的用户网表14。
需要说明的是,该外部设备13特指以太网测试工具,诸如,以太网测试仪或者PC机;通常,以太网测试仪或PC机的速率为1Gbps,对应地,该PHY芯片12的速率也为1Gbps;1Gbps的速率在FPGA内部为125M的时钟(但FPGA验证平台11的主时钟频率只能跑到几兆赫兹),这就会导致外部设备13和FPGA验证平台11不能直接连接,需要降速连接。
进一步地,以太网测试仪需要通过网线和以太网降速桥子卡与FPGA验证平台11相连接,PHY芯片12位于子卡上,负责接收网线的模拟信号,并转换成数字信号,然后通过SGMII接口交给FPGA验证平台11进行处理。
需要说明的是,通过1GbpsPHY芯片12与外部设备13相连接,经过降速后与用户网表14相连接,实现真实场景的测试功能。
如图2所示,于一实施例中,于所述FPGA验证平台11上设降速模块111。
具体地,所述降速模块111至少包括:sgmii模块、mac_rx_dpkge模块、mac_rx_clksw模块、mac_tx_clksw模块、mac_tx_pkge模块及MII接口转换模块。
其中,所述sgmii模块用于完成FPGA验证平台11与PHY芯片12之间的sgmii接口互联和通过MDIO接口配置PHY芯片12的工作,sgmii模块封装对外接口为GMII接口格式。
需要说明的是,该MDIO接口是PHY芯片12上的,sgmii模块主要作用为通过该MDIO接口配置PHY芯片12和把SGMII接口转换为GMII接口。
所述mac_rx_dpkge模块为检测模块,主要功能为包计数统计、包长检测、CRC校验和MAC地址提取功能;其中,包计数统计主要记录外部环境(如以太网测试仪)输入给FPGA验证平台11的以太包总数量;包长检测主要记录外部环境(如以太网测试仪)输入给FPGA验证平台11的不符合以太网标准的长度的以太包;CRC校验主要记录外部环境(如以太网测试仪)输入给FPGA验证平台11的错误包;MAC地址提取功能主要完成对外部环境(如以太网测试仪)输入给FPGA验证平台11的以太包完成MAC地址锁存,以便供其他模块使用。
需要说明的是,上述的包计数统计、包长检测、CRC校验和MAC地址提取均是按照以太网协议进行的,其均是采用领域内的常规技术手段,故在此也不再详细赘述。
需要说明的是,以太网测试仪会发送以太包至FPGA验证平台11,该以太包经用户网表14(对应图2中的DUT)后,会再发送至该以太网测试仪(如图2所示)。
所述mac_rx_clksw模块主要完成三部分功能:
1、实现真实时钟域到FPGA验证平台11的慢速时钟域的转换。
具体地,通过FPGA验证平台11内部的FIFO和BRAM来进行跨时钟域转换。
2、根据模块内FIFO状态,向发送模块(mac_tx_pkge模块)提供发送暂停(pause)帧使能。
3、根据不同以太网速率和不同需求实现不同位宽转换。
举个例子:若用户需要测试10Gbps以太网,则需要32bit位宽的MII接口,即完成8bit位宽到32bit位宽转换;若用户需要测试25Gbps、40Gbps、50Gbps以太网,则需要64bit位宽的MII接口,即完成8bit位宽到64bit位宽的转换;若用户需要测试100Gbps以太网,则需要128bit位宽的MII接口,即完成8bit位宽到128bit位宽转换;若用户需要测试200Gbps以太网,则需要256bit位宽的MII接口,即完成8bit位宽到256bit位宽转换;若用户需要测试400Gbps以太网,则需要512bit位宽的MII接口,即完成8bit位宽到512bit位宽转换。
所述mac_tx_clksw模块主要完成FPGA验证平台11的慢速时钟域到真实时钟域的转换。
所述mac_tx_pkge模块主要完成三部分的功能:
1、在接收到接收模块(mac_rx_clksw模块)发送的pause帧使能时,根据mac_rx_dpkge锁存的MAC地址向以太网测试仪打包发送该pause帧,以使该以太网测试仪停止发送以太包,实现对该以太网测试仪的流量控制,防止接收模块FIFO溢出导致丢包。
2、支持帧间隔配置功能。
需要说明的是,以太包之间是有最小帧间隔要求的,在读取完BRAM内存储的以太包之后,根据配置的帧间隔,停止读取,到达停止读取时间之后,再继续读取,根据此方法实现帧间隔功能。
3、进行发送包(是指用户网表DUT发送至以太网测试仪的以太包)数量统计。
具体地,根据以太包的包尾信息进行计数器统计。
所述MII接口转换模块主要实现两部分功能:
1、把mac_tx_clksw模块和mac_rx_clksw模块的接口转换成标准的MII接口格式。
举个例子:若用户需要测试10Gbps以太网,则完成XGMII的标准封装,若用户需要40Gbps以太网,则完成XLGMII的标准封装。
需要说明的是,上述针对不同的测试需求,进行相应的封装是预先设置好的规则。
2、对用户侧(DUT)发送过来的高位宽MII接口进行CRC校验,完成错误包计数。
需要说明的是,本发明主要解决了低时钟频率的FPGA验证平台与真实以太网测试工具的连接问题,并且在使用过程中提供多种功能:
1、提供对多种以太网协议的支持,MII接口标准位宽支持32bit到512bit。
2、提供对外部测试仪发送给用户DUT的以太包的监测功能:如包数量检测、包长检测和CRC校验。
3、提供对用户DUT发送的以太包的检测功能:如包数量检测、包长检测和CRC校验。
进一步地,通过提供上述功能可以方便用户在使用过程中:
1、在线实时切换不同速率的测试。
2、对出现的问题可以进行快速定位。
下面将结合上述进一步解释说明本发明的以太网降速方法的具体工作原理。
如图3所示,于一实施例中,所述以太网降速方法包括以下步骤:
步骤S1、接收所述外部设备发送的第一以太包。
具体地,该外部设备对应上述的外部设备13(特指以太网测试仪);该第一以太包对应上述的,以太网测试仪发送至FPGA验证平台11的以太包。
步骤S2、基于所述第一以太包监测FIFO状态。
具体地,基于该第一以太包实时监测FPGA验证平台的FIFO状态。
于一实施例中,所述基于所述第一以太包监测FIFO状态包括以下步骤:对所述第一以太包进行包计数统计,以基于包计数统计结果实现实时监测所述FIFO状态。
步骤S3、在所述FIFO状态满足第一预设条件时,发送暂停帧至所述外部设备,以使所述外部设备暂停向所述FPGA验证平台发送所述第一以太包。
需要说明的是,该第一预设条件是预先设置好的,其具体内容不作为限制本发明的条件,在实际应用中,可根据具体应用场景来设定;诸如,于一实施例中,可将该第一预设条件设置为:FIFO的存储量大于第一预设阈值。
进一步地,该第一预设阈值也是预先设定好的,其具体设为多少也不作为限制本发明的条件,在实际应用中,可根据具体应用场景来设定;诸如,于一实施例中,可将该第一预设阈值设为FIFO状态为满时,对应的存储量;也可以于另一实施例中,将该第一预设阈值设为一值,且该值小于FIFO状态为满时,对应的存储量。
具体地,通过步骤S2实时监测FPGA验证平台的FIFO状态,以在该FIFO状态满足上述的第一预设条件时,使该FPGA验证平台向外部设备发送暂停帧,以使该外部设备停止向该FPGA验证平台发送以太包,从而避免该FPGA验证平台出现溢包的现象。
于一实施例中,所述方法还包括以下步骤:
在所述外部设备暂停向所述FPGA验证平台发送所述第一以太包的步骤之后,执行步骤S4。
步骤S4、判断所述FIFO状态是否满足第二预设条件。
需要说明的是,该第二预设条件是预先设置好的,其具体内容不作为限制本发明的条件,在实际应用中,可根据具体应用场景来设定;诸如,于一实施例中,可将该第二预设条件设置为:FIFO的存储量小于第二预设阈值。
进一步地,该第二预设阈值小于上述的第一预设阈值,且该第二预设阈值也是预先设定好的,其具体设为多少也不作为限制本发明的条件,在实际应用中,可根据具体应用场景来设定;诸如,于一实施例中,可将该第二预设阈值设为FIFO状态为空时,对应的存储量;也可以于另一实施例中,将该第二预设阈值设为一值,且该值大于FIFO状态为空时,对应的存储量。
步骤S5、在所述FIFO状态满足所述第二预设条件时,发送启动帧至所述外部设备,以使所述外部设备重新开始向所述FPGA验证平台发送所述第一以太包。
具体地,在经上述的步骤S3,使外部设备停止向FPGA验证平台发送以太包后,再经该步骤S5,使外部设备继续向该FPGA验证平台发送以太包。
于一实施例中,在所述FPGA验证平台接收到所述第一以太包后,所述第一以太包经所述用户网表后对应产生第二以太包。
具体地,结合上述,在外部设备向FPGA验证平台发送以太包后,该以太包会经该FPGA验证平台上的用户网表后再发送至外部设备。
于一实施例中,所述方法还包括以下步骤:对所述第一以太包和所述第二以太包进行检测,以基于检测结果验证所述用户网表。
具体地,通过对该第一以太包和第二以太包的检测,以实现对用户网表的验证。
于一实施例中,对所述第一以太包和所述第二以太包的检测至少包括但并不限于以下任意一种检测手段:包计数统计、包长检测、CRC校验及MAC地址提取。
于一实施例中,所述方法还包括以下步骤:基于所述用户网表的速率和所述外部设备的速率进行位宽转换。
于一实施例中,所述方法还包括以下步骤:基于所述用户网表的速率对接口进行相应的标准封装。
下面通过具体实施例来进一步解释说明本发明的以太网降速方法。
将1Gbps以太网测试仪通过网线与以太网降速桥子卡(该子卡为FPGA验证平台与以太网测试仪相互连接的硬件子母卡,上边仅有PHY芯片,上述降速模块均跑在FPGA验证平台中的FPGA之上)连接,把以太网降速桥子卡插在FPGA验证平台上,该FPGA验证平台的型号为VU440,用于存放以太网降速桥的代码和用户DUT。
因用户待测以太网代码为10Gpbs以太网并且不测试以太网巨帧,所以设置降速桥MII接口位宽为32bit,最短包长为64字节,最长包长为1518字节;把生成的以太网降速桥IP(是指将上述的降速模块封装成FPGA的IP,方便用户进行调用,IP的封装方法为使用FPGA的综合工具生成DCP文件即可)与用户DUT连接,跑出FPGA版本。
将生成好的FPGA版本加载到FPGA验证平台中,工具系统建立之后,把以太网测试仪设置为流量测试5000包,并开始测试。
测试完成之后,查看以太网测试仪和以太网降速桥内部以太包监测计数器是否出现错误;若都无错误,说明验证无误。
需要说明的是,该以太网降速方法的具体工作原理可参考上述对于FPGA验证平台工作原理的论述,故在此也不再详细赘述。
需要说明的是,本发明所述的以太网降速方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
如图4所示,于一实施例中,本发明的以太网降速系统应用于FPGA验证平台,包括:接收模块41、监测模块42及发送模块43。
所述接收模块41用于接收所述外部设备发送的第一以太包。
所述监测模块42用于基于所述第一以太包监测FIFO状态。
所述发送模块43用于在所述FIFO状态满足第一预设条件时,发送暂停帧至所述外部设备,以使所述外部设备暂停向所述FPGA验证平台发送所述第一以太包。
需要说明的是,所述接收模块41、所述监测模块42及所述发送模块43的结构及原理与上述以太网降速方法中的步骤S1~步骤S3一一对应,故在此不再赘述。
需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个数字信号处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip,简称SOC)的形式实现。
如图5所示,于一实施例中,本发明的以太网降速系统包括外部设备51、PHY芯片52及上述的FPGA验证平台53。
具体地,所述PHY芯片52分别与所述外部设备51和所述FPGA验证平台53连接。
于一实施例中,所述外部设备51包括以太网测试仪和/或PC机。
需要说明的是,该以太网降速系统的工作原理与上述以太网降速方法的工作原理相同,故在此不再详细赘述。
需要说明的是,本发明的以太网降速系统可以实现本发明的以太网降速方法,但本发明的以太网降速方法的实现装置包括但不限于本实施例列举的以太网降速系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
综上所述,本发明的以太网降速方法、系统、介质及FPGA验证平台,与现有技术相比,本发明通过对FPGA验证平台的FIFO状态进行实时监测,以在该FIFO状态满足第一预设条件时,主动向外部设备发送暂停帧,以使该外部设备暂停向该FPGA验证平台发送以太包,从而有效弥补了用户网表与外部设备之间的速率差,解决了低时钟频率的FPGA验证平台与外部设备的连接的问题;本发明提供了位宽转换及接口标准封装功能,从而实现了对多种以太网协议的支持,以及提供了对以太包的检测功能,如包数量检测、包长检测和CRC校验,实现了对用户网表的验证;所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种以太网降速方法,应用于FPGA验证平台,其特征在于,所述FPGA验证平台用于通过PHY芯片与外部设备连接,所述FPGA验证平台上存有待验证的用户网表;所述方法包括以下步骤:
接收所述外部设备发送的第一以太包;
基于所述第一以太包监测FIFO状态;
在所述FIFO状态满足第一预设条件时,发送暂停帧至所述外部设备,以使所述外部设备暂停向所述FPGA验证平台发送所述第一以太包。
2.根据权利要求1所述的以太网降速方法,其特征在于,所述方法还包括以下步骤:
在所述外部设备暂停向所述FPGA验证平台发送所述第一以太包的步骤之后,判断所述FIFO状态是否满足第二预设条件;
在所述FIFO状态满足所述第二预设条件时,发送启动帧至所述外部设备,以使所述外部设备重新开始向所述FPGA验证平台发送所述第一以太包。
3.根据权利要求1所述的以太网降速方法,其特征在于,在所述FPGA验证平台接收到所述第一以太包后,所述第一以太包经所述用户网表后对应产生第二以太包;所述方法还包括以下步骤:对所述第一以太包和所述第二以太包进行检测,以基于检测结果验证所述用户网表;其中,对所述第一以太包和所述第二以太包的检测至少包括以下任意一种检测手段:包计数统计、包长检测、CRC校验及MAC地址提取。
4.根据权利要求1所述的以太网降速方法,其特征在于,所述基于所述第一以太包监测FIFO状态包括以下步骤:对所述第一以太包进行包计数统计,以基于包计数统计结果实现实时监测所述FIFO状态。
5.根据权利要求1所述的以太网降速方法,其特征在于,所述方法还包括以下步骤:
基于所述用户网表的速率和所述外部设备的速率进行位宽转换,和/或
基于所述用户网表的速率对接口进行相应的标准封装。
6.一种以太网降速系统,应用于FPGA验证平台,其特征在于,包括:接收模块、监测模块及发送模块;
所述接收模块用于接收所述外部设备发送的第一以太包;
所述监测模块用于基于所述第一以太包监测FIFO状态;
所述发送模块用于在所述FIFO状态满足第一预设条件时,发送暂停帧至所述外部设备,以使所述外部设备暂停向所述FPGA验证平台发送所述第一以太包。
7.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5中任一项所述的以太网降速方法。
8.一种FPGA验证平台,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述FPGA验证平台执行权利要求1至5中任一项所述的以太网降速方法。
9.一种以太网降速系统,其特征在于,包括:外部设备、PHY芯片及权利要求8中所述的FPGA验证平台;
所述PHY芯片分别与所述外部设备和所述FPGA验证平台连接。
10.根据权利要求9所述的以太网降速系统,其特征在于,所述外部设备包括:以太网测试仪和/或PC机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211166210.9A CN115526142A (zh) | 2022-09-21 | 2022-09-21 | 以太网降速方法、系统、介质及fpga验证平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211166210.9A CN115526142A (zh) | 2022-09-21 | 2022-09-21 | 以太网降速方法、系统、介质及fpga验证平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115526142A true CN115526142A (zh) | 2022-12-27 |
Family
ID=84700215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211166210.9A Pending CN115526142A (zh) | 2022-09-21 | 2022-09-21 | 以太网降速方法、系统、介质及fpga验证平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115526142A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116996590A (zh) * | 2023-07-03 | 2023-11-03 | 芯启源(上海)半导体科技有限公司 | Fpga原型验证平台的以太网降速器及数据传输方法 |
-
2022
- 2022-09-21 CN CN202211166210.9A patent/CN115526142A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116996590A (zh) * | 2023-07-03 | 2023-11-03 | 芯启源(上海)半导体科技有限公司 | Fpga原型验证平台的以太网降速器及数据传输方法 |
CN116996590B (zh) * | 2023-07-03 | 2024-04-05 | 芯启源(上海)半导体科技有限公司 | Fpga原型验证平台的以太网降速器及数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190108111A1 (en) | Bit error rate prediction | |
US9135130B2 (en) | Debugging method, chip, board, and system | |
TWI731898B (zh) | 串列輸入輸出(i/o)功能測試器 | |
Khalilzad et al. | FPGA implementation of real-time Ethernet communication using RMII interface | |
CN115526142A (zh) | 以太网降速方法、系统、介质及fpga验证平台 | |
CN105827476A (zh) | 高速PING实现方法和Ping测试方法 | |
CN108628784A (zh) | 串行通信器及串行通信系统 | |
CN102291274A (zh) | 一种实现网络测试仪表自动适配的系统及方法 | |
CN107294814A (zh) | 一种片上网络的测试方法及装置 | |
WO2015131697A1 (zh) | 多路帧随机数据验证处理方法及装置 | |
CN116405420A (zh) | 一种网络测试仪、网络测试系统和网络测试方法 | |
JP6987303B2 (ja) | 安全通信装置、安全通信システム、安全通信方法、及び、安全通信プログラム | |
CN111475414A (zh) | 模拟多个ap客户端实现在服务端产品上线的方法及系统 | |
CN113872826B (zh) | 网卡端口稳定性测试方法、系统、终端及存储介质 | |
Goel et al. | UVM based controller area network verification IP (VIP) | |
CN114301991B (zh) | 通信方法、设备、系统及计算机可读存储介质 | |
CN115190030A (zh) | 一种实现can fd的硬件装置和uvm验证平台 | |
JP2021036425A (ja) | テスト機能を持つ装置およびそのテストの方法 | |
Romashikhin et al. | Hardware-Software Complex for Prototyping NoCs Using a Few FPGA Chips | |
CN115408043B (zh) | 一种数据处理方法、系统、电子设备及存储介质 | |
CN116320052B (zh) | 用于通用验证方法学验证平台的网络报文自动生成方法 | |
CN111464291B (zh) | 一种量子密钥随机性检测设备 | |
CN115859876A (zh) | 基于uvm的从设备接口压力测试平台及测试方法 | |
CN112445659B (zh) | 一种多协议高速serdes测试实现方法及系统 | |
KR20120021855A (ko) | Sdl?opnet 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법 |
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 |