一种拥塞管理的验证装置和方法

(整期优先)网络出版时间:2021-11-29
/ 2

一种拥塞管理的验证装置和方法

唐美芹

深圳市中兴微电子技术有限公司 江苏南京 210000

【摘要】本文介绍了通信领域数据交换芯片中,拥塞管理的RTL级的验证新装置和新方法。

【关键字】交换 拥塞 验证

一,背景技术

随着互联网的迅猛发展,网络中业务流量越来越大,流量突发频频发生,从而导致了拥塞问题日趋严重。同时,用户对网络性能要求越来越高。为了解决上述问题,通常的方法是在处理网络数据业务的数据交换芯片中增加拥塞管理系统。

目前,拥塞管理系统的工作原理是:建立层次化网络拓扑结构,其中的节点和队列,可以抽象对应为不同层次的数据业务,拥有优先级和权重两种属性。通过对各节点和队列的优先级等级权重值的识别,采用加权公平排队(wFQ/FQ)算法以及优先级调度,实现对其业务流量大小的分配,以及对高优先级业务的优先调度。另外,由于地域分布的差异,使得数据交换芯片中拥塞管理系统必须支持灵活多样的网络拓扑结构。

鉴于拥塞管理的上述特点,RTL( Register Transfer Level)级验证过程中,验证人员不可避免的会碰到如下问题。

首先,仿真前编写大量测试用例,尽量覆盖各种网络拓扑结构,以及各个节点和各队列的权重值和优先级别。然而由于拓扑结构繁多,且节点与节点,节点与队列之间关联紧密,彼此交错,导致验证人员浪费大量的精力和时间检查配置参数,确保其正确性。

再者,仿直中由于拓扑结构复杂,网络节点数和队列数众多,各个节点和队列的带宽均是时间的函数,导致往往需要长时间仿真才能判断节点或者队列获得带宽是否正确,无法快速发现问题。

另外,仿直结束后,验证人员需要根据配置的拓扑结构、队列的权重和优先级,逐个计算所有节点和队列的带宽,费时费力。如果仿真结果异常,先人工解析出拓扑结构和配置,再定位问题,降低了效率。

鉴于此,本文主要目的在于提出一种网络交换芯片拥塞管理系统的RTL验证的装置和方法。旨在解决现有技术下,对拥塞管理模块RTL验证中,提高编写测试用例正确率,缩短编写时间,自动校验仿真结果,检验结果自动筛选。

二,实现方法

主要采用图形界面方式输入配置参数,生成测试用例集,仿真中实时自动跟踪、检测拓扑结构中每个节点的状态。发现错误,中断退出仿真,仿真结束后将仿真结果错误的测试用例的配置反向抽取,形成图形化的配置,反馈给验证人员。

本文所述的一种拥塞管理验证装置包括以下。

图形化模式测试用例生成单元,用于验证工程师在图形界面下输入配置参数,生成测试用例需要的配置参数。

算法模拟单元,用于分别实时模拟 Device Under Test(DU)中wFQ/FQ调度器,优先级调度器的功能行为。另外,用于实时记录,更新每个队列的状态。

错误中断监测单元,用于实时收集和比对 WFQ/FQ和优先级调度算法模拟单元和DUT输出的对应的各个队列的获得的带宽。

测试用例管理单元,用于抽取仿真结果错误的测试用例的配置参数,将其图形化后反馈。

本文所述的拥塞管理的验证方法,包括以下步骤。

1.基于UVM验证方法学搭建RTL级的仿真验证环境,其中包括算法模拟单元和错误中断监测单元。

2.基于Tcl/Tk语言编写并运行图形化模式测试用例生成单元,图形界面输入配置参数,生成测试用例集。

3.通过模拟拥塞管理系统功能对各个队列的带宽实时检测。

4.实时响应检测结果,如果没有错误,仿真正常结束,继续执行下个测试用例。否则,马上中断,回退到仿直时刻0,dump波形开启(默认不Dump波形,加快仿真时间)等待错误再现,中断并退出仿真,继续执行下一个测试用例。

5.抽取仿真结果错误的测试用例的配置,将其图形化,并反馈给相应的定位问题人员。

具体实施方式,对本发明优选实施例中的技术方案进行清楚、完整的描述硬件模块部分包括:

1,图形化模式测试用例生成单元,该单元由Tcl/Tk语言编写而成,记录验证人员输入的配置参数,然后将参数根据 System Verilog(SV)语法,编写为测试用例。通过将WFQ/FQ调度器,优先级调度单元,队列单元,权重设置器,按照一定的规则组合成为网络拓扑结构的一个节点。首先根据测试需求选取节点,然后按照设计约束,设置每个节点的WFQ/FQ号、优先级号、队列号、权重值,最后利用连接器将各个节点连接,完成参数配置,随后将这些配置和连接信息转化为符合System Verilog语法的测试用例,多次重复上述操作,形成测试用例集。

调度算法模拟单元,该单元由SV语言编写完成,其根据各个节点的连接关系和配置参数,实时模拟单个节点的WFQ/FQ和优先级调度,并且响应挂接在此节点下其他节点的状态,实时更新本节点的状态(激活状态,体眠状态),记录和输出各个节点的信息。

错误中断监测和仿真控制单元,该单元由SV语言编写而成,其功能是实时抽取和比对 算法模拟单元和DUT中的仿真结果。当DUT中的某个节点流量下发时,同时抽取和比对算法模拟单元对应节点获得流量总数。如果两者的差值在设置的误差内,仿真继续进行。否则,马上中断,回退到用例开始时刻重新仿真,等待错误再现,中断并退出仿真。再继续执行下一个测试用例。

测试用例管理单元,该单元由Tcl/Tk语言编写而成,其功能是抽取仿真结果有错误的测试用例的配置,将其图形化。其根据有错误打印信息的仿真日志文件,找出对应的测试用例,将其配置图形化后反馈。

详细工作流程具体描述如下。

仿真前,运行图形化模式测试用例生成脚本,在图形界面的窗口下根据验证需求,输入配置参数,包括各个节点权重、编号 、WFQ/FQ调度器编号,以及各个节点与节点之间的连接关系,然后生成测试用例,多次改变配置参数,生成测试用例集。编译所有的测试用例以及验证环境,选取某个测试用例,仿真运行时默认dump波形模式不开启。

错误中断监测和仿真控制单元实时抽取和比对算法模拟单元和DUT输出各个节点的仿真结果。如果两者结果匹配,仿真按照预先设定的仿真时间结束,继续执行下一个测试用例。如果检测到两者结果不匹配,开启Dump波形,调用系统任务Restart仿真回到仿真0时刻重新运行,等待错误再现。打印比对结果,中断并退出仿真,继续执行下一个新测试用例,直到遍历所有测试用例。

根据有错误打印信息的仿真日志文件,找出对应的测试用例,将其配置图形化,反馈给定位人员。

并且,可以等待DUT比较验证稳定时,支持配置随机化模式,随机生成配置文件,重复上述步骤2到6。

三,小结

采用本文所述验证装置和验证方法, 在拥塞管理模块RTL验证中,与现有技术相比,仿真前将图形化界面配置首次引入到测试用例的编写。仿真中实时追踪和响应仿真结果,发现错误马上中断,回退到仿真时刻0,Dump仿真波形文件的功能。仿真后抽取仿真结果错误的测试用例的配置,将其图形化,达到了加速编写复杂测试用例。同时避免所有用例都dump波形文件,节省了仿真运行时间和存储空间,做到了尽早的、全面的发现问题,及时的、准确的反馈问题,大大提高了验证效率和质量。提高了编写测试用例正确率,缩短了代码编写时间,实现自动校验仿真结果,实现检验结果自动筛选。

参考文献:

[1] 一种网络拥塞控制方法、装置、芯片及存储介质[发明专利,申请号CN201811250639.X]