CN102497295B - 一种以太网交换芯片队列管理器的rtl级验证方法及系统 - Google Patents
一种以太网交换芯片队列管理器的rtl级验证方法及系统 Download PDFInfo
- Publication number
- CN102497295B CN102497295B CN201110411755.7A CN201110411755A CN102497295B CN 102497295 B CN102497295 B CN 102497295B CN 201110411755 A CN201110411755 A CN 201110411755A CN 102497295 B CN102497295 B CN 102497295B
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- test
- stream
- detection model
- management device
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种以太网交换芯片队列管理器的RTL级验证方法及系统,该验证方法融合现有硬件仿真平台和软件仿真平台的优点,通过搭建仿真环境,并建立产生测试流的测试激励及测试检测模型,以控制输入流的数量,种类,顺序以及带宽,并通过动态带宽调整器实时校正带宽,同时测试检测模型对输出不同流的带宽进行自动检测并给出测试结果,在仿真过程中实时检测队列调度和整形功能是否正确,以提高验证的效率,及时有效地发现代码缺陷。
Description
技术领域
本发明涉及计算机网络技术,尤其涉及在以太网交换机芯片中队列管理器对网路流量管理的RTL(Register Transfer Level,寄存器传输级)验证方法。
背景技术
在以太网交换机芯片中,队列管理器是对以太网进行流量拥塞管理的模块。当芯片入口方向的流量大于出口方向的流量时,这时候队列中的数据包发生拥塞而需要排队等候出去,队列管理器开始发挥作用。队列管理器模块按功能分为进队列排队,队列调度,流量整形以及出口资源管理四个部分。
随着以太网交换机芯片队列管理器功能的不断增强和扩容,并且每一个部分都将涉及非常复杂的逻辑操作和运算,因此RTL级仿真和验证工作难度越来越大,对其行为的正确性和精确度变得难以把握。并且列管理器行为的准确性需要大量发包测试才能确定正确与否。
通常的做法是通过FPGA硬件仿真平台,产生精确的输入流量进行测试。但是由于硬件仿真平台建立时间长,定位问题和查错非常困难,且现有RTL软件仿真方法对队列管理器的行为存在难以准确产生输入流量,难以自动并准确检测输出流量行为,验证效率比较低下的弊端。因此,需要提出一种高效而准确的RTL级软件验证和仿真方法,以克服现有技术的缺陷。
发明内容
本发明目的在于提出一种以太网交换芯片队列管理器的RTL级验证方法及系统,该方法融合现有硬件仿真平台和软件仿真平台的优点,通过搭建基于芯片RTL级的仿真环境,能够控制输入流的数量,种类,顺序以及带宽,同时能对输出不同流的带宽进行自动检测并给出测试结果。在仿真过程中能实时检测队列调度和整形功能是否正确,以提高验证的效率,及时有效地发现代码缺陷,同时能覆盖尽可能多的测试点。
为实现上述目的,本发明提出如下技术方案:一种以太网交换芯片队列管理器的RTL级验证方法,包括:
a.搭建基于芯片RTL级的仿真验证环境;
b.在仿真验证环境中建立测试用的测试激励和测试检测模型;
c.测试激励产生包括不同优先级数据包的测试流;
d.带宽动态调整器动态调整所述测试流的带宽;
e.测试检测模型对调整后输出的带宽进行检测。
更进一步地说,所述仿真验证环境为用硬件语言搭建的仿真验证环境。
在所述仿真环境中通过硬件语言设置一个循环计数器,循环计数器中的步长和所述每个流中的令牌桶中的令牌值相对应,通过配置不同的步长和令牌值实现对测试流的带宽的调整,且当令牌桶里的令牌值的和大于所述数据包的包长时,所述数据包将送出。
带宽动态调整器中设置测试流的带宽的期望值,并根据期望值对流进行动态校正。
所述测试检测模型通过模拟队列管理器的功能对经过队列管理器调度和流量整形后输出的带宽进行检测。
所述测试检测模型首先对所述队列管理器按功能划分成子模块进行分别检测,然后再将子模块整合后进行测试。
所述测试检测模型通过设置时间窗,对时间窗内的测试流中所有数据包长取和,然后除以时间窗得到当前流带宽的方式进行当前流带宽的测试。
本发明还提出一种实现以太网交换芯片队列管理器的RTL级验证方法的系统,所述验证系统包括仿真验证环境,测试激励模块,带宽动态调整器和测试检测模型,其中:
所述仿真验证环境为用硬件语言建立的验证环境;
所述测试激励模块用于产生不同优先级数据包的测试流;
所述带宽动态调整器用于动态调整测试流带宽的模块;
所述测试检测模型用于对调整后输出的测试流的带宽进行检测的模型。
更进一步地,所述带宽动态调整器根据与测试流对应的令牌桶中的令牌值动态调整测试流的带宽,且当令牌桶中的令牌值大于所要数据包的包长时,由裁决器将所述数据包送出。
所述测试检测模型通过模拟队列管理器的功能,将队列管理器按功能分为入队列排队,调度出队列,流量整形和共享模块的子模块,测试检测模块在所述自模块中设置复数监测点,并通过共享模块实现检测点的共享。
与现有技术相比,本发明融合现有硬件仿真平台和软件仿真平台的优点,能大大提高验证的效率,及时有效地发现代码缺陷,同时能覆盖尽可能多的测试点。
附图说明
图1是本发明测试激励模块对带宽控制的示意图;
图2是本发明测试激励模块动态调整带宽的示意图;
图3是测试模型的结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明优选实施例中的技术方案进行清楚、完整的描述。
本发明揭示的一种以太网交换芯片队列管理器的RTL级验证方法,用于测试并控制以太网中的输入流的数量,种类,顺序以及带宽,在测试前,首先要搭建一个基于芯片RTL级的仿真验证环境,然后在该仿真验证环境中建立测试用的激励和测试检测用的模型,本实施例中的仿真验证环境是用硬件语言verilog搭建的。
测试激励能够产生不同种类的数据流,每一条流里面包含不同优先级的数据包,测试激励能够随意控制数据包的数量和顺序,且每一条流的带宽也能准确控制。数据包的种类,长度,数量和顺序比较容易控制,可以通过verilog仿真器的PLI函数,用C语言来模拟。
而数据包中流的带宽控制在本发明中采用了流量管理器中令牌桶的概念和统计学里期望值的概念。如图1所示,根据带宽=比特数/时间,也就是单位时间内数据包的比特数,用verilog实现一个循环计数器,计数器每增加一个步长的时候都会对每个流所对应的令牌桶里增加一个令牌,这里的步长和令牌的值都是可配的。当令牌桶里的令牌值的和大于所要数据包的包长时,这个包就会被送出去。通过改变不同的步长和令牌值,可以任意调节流的burst(突发流量)值,图1中的令牌,令牌桶以及裁决器就构成了所述测试流的带宽产生模型。
通过上述方法产生不同带宽的测试流之后,接下来则对测试流的带宽进行动态校正,本实施例中采用统计学里期望值的概念,这个期望值就是想要的带宽值,也是可以配置的。这里根据时间出来的流和期望值的差,设计了几个level(等级),不同的level会有不同的credit(信任值)。
如果level的绝对值越大,说明带宽偏离期望值越大,其credit值也将越小,这个流接下来产生的概率也就变低,从而动态地调节了输出带宽。如图2所示的曲线为输出流的带宽值,level0是期望的带宽,当时间带宽偏离的时候,就用credit的值将带宽拽回level0,如果偏离越大,拽回来的强度也将越大。
完成对测流量的动态调整后,接下来由测试检测模型模拟队列管理器的功能,快速有效地发现错误,同时能正确地检测队列管理器调度行为和流量整形之后的输出带宽是否满足要求。
检测时,如图3所示,首先需要对队列管理器按功能准确划分为入队列排队,调度出队列,流量整形和共享模块四个功能块,分别建立前三个子模型,随时检测各个模块所维护的寄存器和SRAM的动态值,一旦出现异常并通过PLI函数停止仿真并打印错误信息,及时发现错误。而共享模块通过出口带宽检测来实现。
上述检测完成后,则将子模整合到一个总的模型当中,检测出来的数据包是否正确。在检测过程中,设置了复数监测点,所有的检测点都做成verilog的task(任务),能让所有子模型共享和随时调用,精简verilog模型代码,提高差错效率。
本实施例中的测试检测模型对带宽的检测是通过设置一个时间窗,对这个时间窗里的测试流中所有数据包长取和,然后除以时间窗的值,就是当前流的带宽。对于一个流,可以多做几次时间窗采样,然后取算术平均值。这里的时间窗大小也是可配置。然后设立一个期望值和误差范围,将时间窗采样得到的算术平均值平均值和期望值进行比较,再通过误差范围进行校正。如果不满足期望带宽,就及时报错并打印错误信息。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (9)
1.一种以太网交换芯片队列管理器的RTL级验证方法,其特征在于,包括:
a.搭建基于芯片RTL级仿真验证环境;
b.在仿真验证环境中建立测试用的测试激励和测试检测模型;
c.测试激励产生包括不同优先级数据包的测试流;
d.带宽动态调整器动态调整所述测试流的带宽,所述测试流的带宽调整是通过设置一个循环计数器,循环计数器中的步长和所述每个流中的令牌桶中的令牌值相对应,通过配置不同的步长和令牌值实现对测试流的带宽调整,且当令牌桶里的令牌值的和大于所述数据包的包长时,所述数据包将送出;
e.测试检测模型对调整后输出的带宽进行检测。
2.根据权利要求1所述的方法,其特征在于:所述仿真验证环境为用硬件语言搭建的仿真验证环境。
3.根据权利要求2所述的方法,其特征在于:所述带宽动态调整器中设置测试流的带宽的期望值,并根据期望值对流进行动态校正。
4.根据权利要求1至3任意一项所述的方法,其特征在于:所述测试检测模型通过模拟队列管理器的功能对经过队列管理器调度和流量整形后输出的带宽进行检测。
5.根据权利要求4所述的方法,其特征在于:所述测试检测模型首先对所述队列管理器按功能划分成入队列排队,调度出队列,流量整形和共享模块的子模块进行分别检测,然后再将子模块整合后进行测试。
6.根据权利要求5所述的方法,其特征在于:所述测试检测模型通过设置时间窗,对时间窗内的测试流中所有数据包长取和,然后除以时间窗得到当前流带宽的方式进行当前流带宽的测试。
7.一种实现权利要求1所述的以太网交换芯片队列管理器的RTL级验证方法的系统,其特征在于:所述验证系统包括仿真验证环境,测试激励模块,带宽动态调整器和测试检测模型,其中:
所述仿真验证环境为用硬件语言建立的验证环境;
所述测试激励模块用于产生不同优先级数据包的测试流;
所述带宽动态调整器用于动态调整测试流带宽的模块;
所述测试检测模型用于对调整后输出的测试流的带宽进行检测的模型。
8.一种如权利要求7所述的系统,其特征在于:所述带宽动态调整器根据与测试流对应的令牌桶中的令牌值动态调整测试流的带宽,且当令牌桶中的令牌值大于所要数据包的包长时,由裁决器将所述数据包送出。
9.一种如权利要求7或8所述的系统,其特征在于:所述测试检测模型通过模拟队列管理器的功能,将队列管理器按功能分为入队列排队,调度出队列,流量整形和共享模块的子模块,测试检测模块在每个所述子模块中设置多个实时监测点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110411755.7A CN102497295B (zh) | 2011-12-12 | 2011-12-12 | 一种以太网交换芯片队列管理器的rtl级验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110411755.7A CN102497295B (zh) | 2011-12-12 | 2011-12-12 | 一种以太网交换芯片队列管理器的rtl级验证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102497295A CN102497295A (zh) | 2012-06-13 |
CN102497295B true CN102497295B (zh) | 2014-07-09 |
Family
ID=46189083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110411755.7A Active CN102497295B (zh) | 2011-12-12 | 2011-12-12 | 一种以太网交换芯片队列管理器的rtl级验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102497295B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843275B (zh) * | 2012-09-14 | 2016-04-13 | 广东威创视讯科技股份有限公司 | 一种带宽检测方法、装置及系统 |
CN103095607B (zh) * | 2013-02-21 | 2015-07-29 | 南京磐能电力科技股份有限公司 | 一种实时优先级以太网控制器实现方法 |
CN103929769B (zh) * | 2014-05-04 | 2017-02-15 | 中国科学院微电子研究所 | 一种应用于无线通信系统仿真的调度方法及系统 |
CN108123846B (zh) * | 2017-12-06 | 2021-05-07 | 中国航空工业集团公司西安航空计算技术研究所 | 一种以太网数据整形功能测试平台 |
CN108108306B (zh) * | 2018-02-09 | 2021-10-15 | 苏州盛科通信股份有限公司 | 一种提高报文解析测试覆盖率的方法及系统 |
CN114417768B (zh) * | 2022-03-29 | 2022-07-22 | 南京金阵微电子技术有限公司 | 一种以太网芯片的数模混合仿真方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10306293B4 (de) * | 2003-02-14 | 2006-08-31 | Siemens Ag | Verfahren zur Übertragungsbandbreitenzuteilung in einer paketorientierten Kommunikationseinrichtung |
CN100450076C (zh) * | 2004-12-30 | 2009-01-07 | 中兴通讯股份有限公司 | 用于多输入单输出的网络流量整形和带宽分配的方法 |
CN100574278C (zh) * | 2006-12-26 | 2009-12-23 | 华为技术有限公司 | 流量限制技术中刷新令牌桶的方法及装置 |
CN101257453A (zh) * | 2008-03-12 | 2008-09-03 | 中兴通讯股份有限公司 | 一种基于网络处理器的流量整形实现方法及其装置 |
CN101499937A (zh) * | 2009-03-16 | 2009-08-05 | 盛科网络(苏州)有限公司 | 一种基于fpga的软硬件协同仿真验证系统及方法 |
CN102098704B (zh) * | 2011-02-17 | 2014-04-16 | 工业和信息化部电信传输研究所 | 终端流媒体业务能力的测试方法、装置及系统 |
CN102147760A (zh) * | 2011-04-22 | 2011-08-10 | 中国电子科技集团公司第三十八研究所 | 一种基于网络传输的处理器协同验证平台及其测试方法 |
-
2011
- 2011-12-12 CN CN201110411755.7A patent/CN102497295B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102497295A (zh) | 2012-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102497295B (zh) | 一种以太网交换芯片队列管理器的rtl级验证方法及系统 | |
KR102008741B1 (ko) | 최소 스토리지를 활용한 플렉시블 링크 폭들을 갖는 라우터에서 크레딧 흐름 제어 방식 | |
CN104253723B (zh) | 基于软硬件协同实现的交换机验证测试的方法及装置 | |
US8504992B2 (en) | Method and apparatus for establishing a quality of service model | |
CN103516462B (zh) | 一种非标准Canopen从节点的数据帧发送方法及装置 | |
CN106407298A (zh) | 一种基于大数据分析的教育评价数据处理方法及系统 | |
Genko et al. | A novel approach for network on chip emulation | |
CN106526461B (zh) | 针对流量控制的嵌入式实时反压验证的方法 | |
CN107742022A (zh) | 一种基于路由模型进行网络系统验证的方法 | |
CN104950261A (zh) | 电池的硬件在环仿真测试方法及系统 | |
CN112965470A (zh) | 一种商用车数据中心测试系统 | |
CN215340823U (zh) | 一种商用车数据中心测试系统 | |
CN116167309A (zh) | 一种芯片性能验证方法和系统 | |
CN105897494A (zh) | 网络传输速率的测试方法 | |
CN105523210B (zh) | 一种流量灌装机的智能计数方法及实现该方法的装置 | |
CN108319534A (zh) | 一种测试向量生成方法及装置 | |
Castells-Rufas et al. | NocMaker: A cross-platform open-source design space exploration tool for networks on chip | |
Ghosh et al. | Use-case based early performance simulation of cryptographic coprocessor | |
CN103595632A (zh) | 一种可调速率的自定义多报文发送系统及其实现方法 | |
Kouadri-Mostéfaoui et al. | Scalable multi-FPGA platform for networks-on-chip emulation | |
Zhang et al. | Model of Network-on-Chip routers and performance analysis | |
Bruch et al. | BrownPepper: A SystemC-based simulator for performance evaluation of Networks-on-Chip | |
CN102075372B (zh) | 时间还原方法及应用其的网络仿真系统 | |
Gan et al. | Virtual simulation verification of AFDX network-side system-on-chip | |
Callanan et al. | Estimating stream application performance in early-stage system design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 215101 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: 215021 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Suzhou City, Jiangsu Province Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |