• Study On Optical Communications
  • Vol. 49, Issue 3, 32 (2023)
Ling DING1,2,*, Xiang-hui LI2, Jin HONG2, Yu-bin ZHOU2, and Shi-shun HU2
Author Affiliations
  • 1Wuhan Research Institute of Posts and Telecommunications, Wuhan 430074, China
  • 2Fiber Home Telecommunication Technologies Co., Ltd., Wuhan 430205, China
  • show less
    DOI: 10.13756/j.gtxyj.2023.03.006 Cite this Article
    Ling DING, Xiang-hui LI, Jin HONG, Yu-bin ZHOU, Shi-shun HU. Verification of DBA based on UVM in Passive Optical Network[J]. Study On Optical Communications, 2023, 49(3): 32 Copy Citation Text show less

    Abstract

    In the era of 5th Generation Mobile Communication Technology (5G) communication, hardware products such as optical modems and routers are updated iteratively. As one of the key technologies of passive optical network, Dynamic Bandwidth Allocation (DBA) constantly optimizes its own performance. The functional complexity of the chip is increasing, and the verification of its logic function is particularly important. This paper presents an architecture of DBA module verification platform in passive optical networks. Based on the verification methodology framework of Universal Verification Methodology (UVM), the platform calls the System Verilog (SV) reference model. It can cover a large number of scenarios with a few test cases, and realize the verification and self checking of DBA traffic requirements and authorized function points. The coverage rate of Register Transfer Level (RTL) code can reach more than 95%. The simulation results shows that the verification platform can support the system level verification of DBA, and the framework reusing and automatic data comparison. The proposed architecture can meet the requirements of verification, and provide an efficient and comprehensive verification environment for the performance test of DBA, and greatly improve the verification efficiency.

    0 引言

    近年来,我国集成电路产业蓬勃发展,被列为“中国制造2025”名单行业之一[1],围绕人工智能、物联网、第五代移动通信技术(5th Generation Mobile Communication Technology, 5G)通信和智能汽车等创新型领域,芯片作为集成电路的载体,其规模与复杂程度的竞争日趋激烈,集成电路的设计与验证工作正承受着巨大的技术挑战。在这种环境下,寻找高效的验证手段成为完成验证的重要一环。

    动态带宽分配(Dynamic Bandwidth Allocation, DBA)可对光网络单元(Optical Network U-nit, ONU)的突发业务作出适应性调整,根据流量需求合理分配带宽授权,提高上行带宽利用率。传统的验证方法存在测试用例多、验证周期长和平台可重用性差等缺点,需要耗费大量的人力物力资源[2]。而System Verilog(SV)与通用验证方法学(Universal Verification Methodology, UVM)结合的验证方法学极大地提高了验证效率,缩短了验证周期,对提高验证质量和效果有着极其重要的意义。

    1 DBA

    自电信网络、电视网络和计算机网络三网融合后,各用户之间,各种业务之间,都存在一定的竞争关系。在光网络上行方向,若不进行管理和控制,会导致用户和业务之间的传输延时增大,数据丢失率高,带宽利用率低[3]。因此,合理的带宽分配技术可在有效的时间范围内保证带宽资源的最大利用,确保业务的实时传输。

    1.1 DBA原理

    DBA是指光线路终端(Optical Line Termination, OLT)将上行发送机会动态分配给ONU的过程,能在微秒或毫秒级的时间周期内完成对上行带宽的实时分配。对于每个分配标识(Allocation Identification, Alloc-ID)的逻辑缓冲区,OLT中的DBA通过收集上行报告来判断拥塞和占用情况,根据带宽分配原则计算出授权信息,跟随带宽映射(Bandwidth Map, BWmap)域一起组成下行帧,以广播的形式下发至每个ONU, Alloc-ID只领取有自己标识的授权信息[4]。逻辑缓冲区根据授权信息及时调整状态或空闲帧报告,并按照规定时隙进行上行突发,传输容器(Transmission Container, TCON T)是无源光网络上行承载业务的载体,每个T-CONT有对应的Alloc-ID,保证不会重复。DBA在上行突发中通过控制数据上行的时间间隔和授权大小动态上报流量,达到灵活分配带宽的目的。

    1.2 DBA方法

    DBA有3种ONU缓存占用推断机制,其依据原则各不相同:状态报告——基于ONU缓冲区占用情况;流量监控——基于空闲帧及已下发带宽授权;协作——基于OLT端外部设备提供的上游调度信息。第3种协作机制是国际电信联盟电信标准分局(International Telecommunication Union-Telecommunication Standardization Sector, ITU-T)在2021年4月的版本中首次提出的概念,在状态报告和流量监控结合的基础上,额外支持协作机制[5],这将大大提升总体信道带宽利用率,更大化地保证了资源的合理分配。

    1.3 DBA带宽类型

    T-CONT包括5种带宽分配类型,可根据不同类型的业务选择不同类型的T-CONT。

    (1)Type1——只由固定带宽构成。其分配与流量需求无关,只取决于OLT给每个ONU配置的带宽值。

    (2)Type2——只由保证带宽构成。OLT会给所有ONU分配固定带宽,在带宽盈余的情况下,再分别分配保证带宽,直到其饱和,即达到其流量需求和最大带宽二者之间的较小值。

    (3)Type3——由保证带宽和补充带宽构成。补充带宽分为非保证带宽和尽力而为带宽,非保证带宽的优先级高于尽力而为带宽,当所有配置成非保证带宽的ONU饱和后,盈余的带宽再分配给尽力而为带宽。

    (4)Type4——只由补充带宽构成。

    (5)Type5——由固定带宽、保证带宽和补充带宽构成。

    无源光网络中采用DBA技术可以提高无源光网络端口的上行线路带宽利用率,在端口上增加更多的用户,为其提供更高带宽的服务,对于那些流量突变大的业务,DBA也能迅速地做出调整。

    2 SV与UVM的验证平台

    2.1 SV

    SV是目前主流的设计和验证语言,其支持使用统一的语言对设计进行抽象和详细地规范,对断言和覆盖范围进行规范,并基于手动或自动方法对结果进行验证[6]

    (1)SV由Verilog扩展而来,新增的数据类型给验证人员提供了更多的选择,其可以在较高的抽象层次上编写测试平台,不再局限于底层的比特数据,提高了测试平台的灵活性及代码的简洁性、稳健性和可重用性;

    (2)SV支持覆盖率统计,对随机约束激励的结果提供了可视化信息,通过代码覆盖率和功能覆盖率的统计,找出条件设置的盲区修改测试集来完成功能点;

    (3)断言验证可以对时序严格的信号进行检查,跟踪仿真过程,提高了测试平台的内部可见性,使验证人员在发现问题时能快速定位,减少了调试时间,提高了验证效率;

    (4)SV集成了面向对象编程,动态线程和线程间通信等特性,全面综合了寄存器转换级电路(Register Transfer Level, RTL)设计、测试平台、断言和覆盖率,为系统级的设计及验证提供了强大的支持,与芯片验证方法学的结合大大增强了模块复用性,提高了芯片开发效率[7]

    2.2 UVM

    1983年,Verilog HDL作为专用硬件设计和验证语言问世;1995年,由电气与电子工程师协会(Institute of Electrical and Electronics Engineers, IEEE)标准化为国际标准;2009年,基于Verilog和SV的两个标准合并为IEEE Std 1800-2009,成为了统一的硬件描述语言,开启了新时代,目前最新版本为1800-2017;2002年,Verisity公司公布了第一个验证库——e可重用方法学;2003年,采用Vera语言的可重用验证方法学库出现;2006年,基于SV的高级验证方法学和验证方法学手册出现,之后的通用可重用验证方法学和开放验证方法等处于过渡期的验证方法学具备工厂模式替换和配置机制等特性[8],这些验证方法学并没有统一的标准,存在彼此不兼容的问题,代码可移植性差。

    UVM是一种基于SV语言,集众家之所长的高效和开源的验证方法学,其几乎完全继承了开放验证方法,同时又采纳了验证方法学中的寄存器解决方案。UVM是建立在SV平台的一个库,它提供多种接口,并支持可重用类,验证工程师可以将信息通过例化类迅速传到另一种组件中,组件与组件之间的数据传递异常便捷。UVM面向所有数字设计,涵盖了从模块级到芯片级、专用集成电路(Application Specific Integrated Circuit, ASIC)到现场可编程门阵列(Field Programmable Gate Array, FPGA)以及控制逻辑、数据通路到处理器验证的全部场景[9]。该方法学可适用于大多数的验证项目,它本身提供的基类和基构让验证人员轻车熟路地建立起结构可靠的开发框架。

    3 DBA验证架构

    DBA模块的验证环境是基于UVM基本架构开发的一个层次化的验证环境,如图1所示。

    DBA verification architecture

    Figure 1.DBA verification architecture

    DBA验证架构主要由Environment、OnuAgent、ProAgent、Reference Model、Scoreboard和两组Interface构成。Agent内部的组件自上而下层层例化,实线表示测试平台和验证平台接口的数据流动,虚线表示验证平台内部各组件之间的数据流动。

    Environment为验证平台的顶层,相当于一个大容器,将平台上所有的组件都封装在一起,当运行不同测试用例时,只要在测试用例中实例化此Environment即可。

    OnuAgent为ONU,此验证环境由于采用复用模式,可支持多个ONU,同时每个ONU可支持多个T-CONT; OnuDriver可模拟不同用户产生随机流量数据,每个用户数据以T-CONT ID为标识,存储在缓冲区OnuBuffer中。

    ProAgent指处理类,DataMonitor通过与待测平台(Design Under Test, DUT)连接的虚拟接口DataInterface监视接口信号的变化,采集下行数据流,结合缓冲区的流量数据产生新报告。DataMonitor可通过config_db机制获得OnuBuffer中的数据。config_db机制用于参数传递,通常成对出现,可理解为OnuDriver将“信”寄给OnuBuffer, DataMonitor再从中取“信”, “信”中包含多种数据类型的参数,使组件间的沟通更加精准。Report Driver以事务机制建模的方式与DataMonitor进行沟通,即一直尝试获取报告,若无数据则为空,若有数据则获取成功,同时将报告封装为上行突发,通过ReportInterface,按照一定的时序发送给DUT。Agent封装了Sequencer、Driver和Monitor,配置参数信息和组件连接,在复用时,以整体的形式和外部“沟通”,不用担心Agent的内部情况。

    Reference Model和DUT接收同样的激励报告,Parsing Model提取报告中的指示信息,根据实时变化的上行突发生成对应的流量需求,Authorization Model遵循DBA的计算和分配原则,得到正确的授权期望值。此模型兼容多种高级抽象语言,如C++、SV和SystemC等,复杂的逻辑功能以简洁明了的代码展示在验证人员眼前;支持两种推断机制,状态报告和流量监控报告,不同场景应用不同推断机制,DBA的运作将变得更灵活。

    Scoreboard将Reference Model计算出的期望值与DUT的输出结果进行比较,判断两者的结果是否一致或是否在允许的误差范围内,从而验证DUT逻辑功能的正确性。

    4 DBA功能点验证

    4.1 DBA的流量需求验证

    DBA的流量需求以状态报告和流量监控报告呈现,两者都依据于上行指示信息,包括T-CONT ID、上行动态带宽报告、空闲帧个数、Gigabit-capable Passive Optical Network Encapsulation Mode(GEM)帧/10-Gigabit-capable Passive Optical Network Encapsulation Mode(XGEM)帧个数、分片个数和空白补充标志个数。将这些不同类型的变量组成集合,以结构体的形式存放于各个组件中,既可以对这个整体进行定义,又可以单独访问任意元素。

    状态报告与上行突发的实时数据量息息相关,由一段时间内新增的数据量除以时间间隔得到这段时间的状态报告[10]。新增数据量用带符号的整数类型来表示,既可表示正数,又可表示负数。正常来讲,不会出现负数的情况,但是吉比特无源光网络(Gigabit-capable Passive Optical Network, GPON)的上行动态报告需经历先编码再解码的过程,最后所得数据并不精确,导致新增的数据量为负,这种情况属于新增数据量极小,可考虑给一个很小的值。SV的条件语句可将多种情况细分,以应对不同的突发情况,实现对状态报告的实时更新。

    流量监控报告依据上行突发中的空闲帧个数,通过提取结构体当中的空闲帧个数,查看空闲帧是否超过界定值来判断流量是否已经饱和。若饱和,则流量需求延续,若不饱和,则逐步增加需求的步长。界定值和步长都可通过寄存器模型配置,寄存器模型是一组高级抽象类,可对DUT中具有地址映射的寄存器和存储器进行建模,可直接在测试用例中更改配置值,使得配置变得简单而高效。

    UVM的消息机制可打印出消息ID和消息行为,配备消息冗余度阈值,≤阈值的消息才会被打印出来。通过观察DUT波形和打印出的消息,对比每个T-CONT的流量需求,便可验证流量需求的正确性。图2所示为DUT和验证平台基于同一时间段不同T-CONT ID的流量需求。由图可知,验证平台与DUT流量误差不超过5%, DUT的流量需求功能点正确。

    Flow demand of different T-CONT in the same time

    Figure 2.Flow demand of different T-CONT in the same time

    4.2 DBA的下发授权验证

    DBA参考模型用SV实现,是整个DBA的核心算法。

    DBA的带宽类型配置通过测试用例写入寄存器,配置参数包括基于每个T-CONT的使能开关、前向纠错开关、下发周期、固定带宽、保证带宽、最大带宽、补充带宽类型、优先级和权重。每组参数都以T-CONT ID为索引存储在关联数组中,通过索引可快速找到对应的参数值。

    当每条T-CONT的流量需求确定后,将进行带宽分配。无论T-CONT流量需求大小,固定带宽优先分配,从寄存器中调值。之后,在总带宽盈余的情况下,DBA再给配置了保证带宽的ONU分配保证带宽。若仍未饱和,DBA会根据流量需求和补充带宽类型分配补充带宽,优先分配非保证带宽类型的T-CONT,后分配尽力而为带宽类型的T-CONT,也可配置无补充带宽类型。补充带宽有两种不同模式,基于速率和基于优先级与权重,对于非保证带宽来说,基于速率的权重为固定带宽加保证带宽,对于尽力而为带宽来说,基于速率的权重为最大带宽减去固定带宽减去保证带宽。基于优先级和权重的补充带宽需要给T-CONT配置优先级0~7和权重0~255,高优先级的T-CONT优先分配[11]。若总带宽无盈余或达到各自流量需求,则停止分配。前部分T-CONT的饱和都以满足流量需求为判断条件。

    对于不同带宽计算原理,参考模型采用6个函数来实现,根据不同配置模式,选择执行对应的带宽计算函数,再通过判断条件和循环语句,使所有TCON T带宽分至“饱和”。其中,基于速率的补充带宽、均分带宽和后分配模式都复用同一个函数,当项目需求发生变化导致验证环境调整时,这些函数可很好地嵌入不同的实验,大大提高了代码的可移植性,便于扩展和修改。

    图3所示为DUT和验证平台基于同一时间段不同T-CONT ID的下发授权。由图可知,验证平台与DUT授权误差不超过5%, DUT的下发授权功能点正确。

    Authorization value of different T-CONT in the same time

    Figure 3.Authorization value of different T-CONT in the same time

    5 DBA测试用例

    DBA主要测试功能点如下:支持寄存器读写、告警指示、满足不同带宽类型与分配模式、支持不同计算周期或下发周期、错误报告正常运行、支持两种缓存占用推断机制及其混合模式、控制BWmap下发条目数和DBA停止计算。

    传统验证方法学缺少复杂的数据类型,例如关联数组、动态数组和数列等,数据检验需要逐一对比每个数据,不能快速精定点,一个简单的逻辑功能语句需要很多段代码才能完成;其产生数据包单一,验证不同场景时往往需要编写大量定向激励,验证人员很容易忽略边界测试,漏掉极端情况。

    SV与UVM结合的验证平台在测试Type1带宽时,可设置不同功能函数,分别配置打流速率、TCON T下发条目顺序表、组件参数和寄存器值等。T-CONT按照表项数值进行带宽计算,并严格按顺序突发,如图4所示。其中带宽值用动态数组表示,分配空间后通过系统方法返回指定范围内的无符号随机整数,每次运行时调整随机种子可得到不同的随机激励,一个测试用例就可创造新增数据量极小、极大或为负等多种场景。组件参数由验证环境外部引入,可保证整个验证架构的通用性。通过电子设计自动化(Electronic Design Automation, EDA)工具的覆盖率收集和可视化,计算模块的综合覆盖率能达到92.33%,代码行覆盖率能达到99.68%。表1所示为基于UVM的验证平台与传统验证平台的DBA验证对比。

    Sequence table of entries issued by T-CONT

    Figure 4.Sequence table of entries issued by T-CONT

    随机种子的切换改变了测试向量集的行为,提高了覆盖各类边界场景和功能点的机率,覆盖率的可视化让验证人员对未覆盖区域一目了然,只需分析未覆盖的代码,产生定向约束激励来完善验证即可。面向对象编程使用户能利用类、对象、句柄、属性、方法和原型创建等丰富的数据类型,在更抽象的层次上建立测试平台和系统级模型,将测试平台变得更加模块化,更容易开发、调试和重用。

     UVM传统方法学
    覆盖所有功能点的测试用例个数/个30(带随机种子)68
    综合代码覆盖率92.33%87.82%
    运行用例花费时间/h1224

    Table 1. DBA validation comparison between UVM based verification platform and traditional verification platform

    6 DBA结果校验

    引入Scoreboard校验不再需要仔细检查每个数据的比对细节,Scoreboard收到DUT和验证平台的授权后,封装成特定的对象,以T-CONT ID为索引分别存入两个关联数组,检查授权值时随调随用,精准定位校验目标。当所有结果都校验成功后,比对成功。若出现比对失败,可通过UVM的消息机制打印出需要的详细比对消息,便于快速分析问题点。每条消息自带严重级别、消息ID、消息主体、冗余度和处理方式,用户可根据各自需求,个性化定制各个严重级别的冗余度和消息处理方式。此方法可很好地过滤掉一些非重要信息,减少验证人员的信息分析工作量。

    验证环境搭建完毕后,开始测试用例的编写和运行,在测试用例中设置仿真开始和结束时间,运行仿真后,检查所有用例的运行结果,得到“PASS”,如图5所示。若出现“FAIL”,可通过输出的log文件,查找带有关键词的错误消息来确定出现问题的位置,结合分析仿真波形文件,快速定位仿真平台是否出现错误,亦或者是设计代码的问题。此方法极大地利用了UVM消息机制的灵活性,提高了验证效率。

    Comparison results of authorization value

    Figure 5.Comparison results of authorization value

    7 结束语

    基于SV的UVM平台是目前主流的验证方法,它通过SV中提供的随机约束机制和断言机制,改变了传统验证的测试方法,可复用的架构体系大大减少了验证人员的工作量。本文提出了一种无源光网络中基于UVM平台的DBA验证方法,成功验证了DBA灵活分配策略,对提高DBA验证质量和效果有着极其重要的意义。

    References

    [1] Zheng G W. Introduction and Relevant Information of《Made in China 2025》[J]. China Instrumentation, 25-28(2018).

    [2] Siddharth R, Siddharth R, Viswajeet S, Viswajeet S. Concept Overview of Universal Verification Method (UVM) for Functional Verification[J]. International Journal of Electrics, 2, 101-107(2014).

         功能验证通用验证方法(UVM)概念综述[J]. 国际电气杂志, 2, 101-107(2014).

    [3] Hao X Y. Analysis of Intelligent Network Communication Technology based on Triple Play[J]. Computer Knowledge and Technology, 18, 56-58(2022).

    [4] Tasneem N, Hossen M. Traffic Localization-based Dynamic Bandwidth Allocation Algorithm for Improvement of QoS in Peer-to-peer Architecture of Passive Optical Networks[J]. Optical Fiber Technology, 67, 102722(2021).

    [5] Liu X Z. Research on TWDM-PON Uplink Transmission Delay Optimization Strategy for Multi Service Convergence[D](2021).

    [6] Wang Y F, Bu G. Design of UVM Verification Platform based on System C Reference Model[J]. Computer Technology and Development, 31, 75-80(2021).

    [7] Muhammad W A, Muhammad R, Farooque A et al. A Model-driven Framework for Design and Verification of Embedded Systems Through SystemVerilog[J]. Design Automation for Embedded Systems, 23, 179-223(2019).

    [8] He Z H, Li W Z. Verification of IIS Interface Design based on UVM Verification Methodology[J]. Electronic Technology and Software Engineering, 72-73(2021).

    [9] Jin L. Research and Implementation of UVM Verification Platform based on AMBA Bus[D](2022).

    [10] Zhu X. Research on Adaptive Dynamic Bandwidth Allocation Algorithm based on Neural Network Prediction in 50 G-PON[D](2021).

    [11] Zhu X, Li G Y, Xu O. Multi Wavelength Bandwidth Allocation Algorithm based on Prediction in 50 Gbit/s-EPON[J]. Study on Optical Communications, 24-30(2021).

    Ling DING, Xiang-hui LI, Jin HONG, Yu-bin ZHOU, Shi-shun HU. Verification of DBA based on UVM in Passive Optical Network[J]. Study On Optical Communications, 2023, 49(3): 32
    Download Citation