摘 要:流量管理芯片的验证是目前业界的热点与难点,验证工程师们一直在努力寻找用于流量测量的较好方法。采用System Verilog 语言,基于Synopsys公司最新推出的验证方法学VMM,提出一种用于流量管理芯片验证的分层次验证环境。该环境对流量测量方法进行重点研究,放弃采用参考模型的传统验证思路,提供一种参考基准可变,时间窗位置可移,长度可调的,可在不同设计间高度重用的流量检测机制。该验证环境及验证方法在海思半导体某流量管理芯片开发过程中的成功应用,保证了芯片开发质量,缩短了项目开发周期,为其他同类芯片的开发提供了强有力的支持。
关键词:VMM;流量管理;芯片;验证
中***分类号:TN407文献标识码:A
文章编号:1004-373X(2009)12-015-04
Verification of Traffic Managing Chip Based on VMM
LIU Yan1,WANG Jingmei1,ZHANG Fan2,LAN Zhongwen1
(1.State Key Laboratory of Electronic Thin Films and Integrated Devices,University of Electronic Science and Technology of China,Chengdu,610054,China;
2.Hisilicon Technologies Co.Ltd.,Shenzhen,518129,China)
Abstract:The verification of traffic managing chip is currently the hotspot and difficulty in this field.Verification engineers have been trying their best to find a better way to traffic measurement.Adopting System Verilog,based on VMM library supplied by Synopsys,one layered verification environment is presented.Focusing on the research of traffic measurement,abandoning the traditional verification thought with RM,the environment provides one traffic check mechanism,in which reference benchmark is variable,time window is movable and time length is adjustable.Successful application of the verification environment and methods introduced in this article in traffic managing chip in Hisilicon not only shorten the period and assure the quality but also strongly supportd the development of congeneric chips.
Keywords:VMM;traffic managing;chip;verification
0 引 言
随着半导体集成技术的飞速发展,SoC的集成规模日益庞大,集成功能日益复杂。芯片验证在芯片研发中所占的比例越来越重,占据了整个研发周期的70%以上[1]。芯片验证已成为整个芯片流程中的瓶颈,验证的完备性和验证效率的提高成为验证的难点,也是目前验证的主要研究方向。
Synopsys是实现高复杂的SoC设计。最新推出VMM验证方法学[2],基于System Verilog语言。System Verilog具有面向对象语言的抽象数据结构[3],相对于E语言、TCL、C/C++等验证语言,System Verilog的特殊性在于它将设计和验证组合成同一种语言[4],从而使环境实现更加简单,结构更清晰,维护性更强。VMM以其清晰的分层架构体系,便于维护和扩展的优势越来越受到各公司的重视。瑞萨科技采用Synopsys的VCS功能验证解决方案开发复杂的SoC,并选定了VMM方法集,用于验证其重要的Super Hyway总线片上互连架构[5]。中科院计算所采用VMM验证方法实现AXI总线系统的验证[6]。
1 VMM介绍
Synopsys提供的VMM不仅是一套验证方法,更是一种实现。其中,提供VMM库供用户在VCS环境下使用。VMM库包括一系列的标准基本类,主要有vmm_data,vmm_atomic_gen,vmm_xactor,vmm_xactor_callbacks,vmm_channel,vmm_env,vmm_log等。通过对这些基本类的继承与过载,可构造灵活的验证环境。
2 流量管理芯片介绍
流量管理芯片通过对网络中数据流量的合理规划和有效控制实现对现有网络资源的合理利用,从而控制网络拥塞,是网络中实现QoS的核心。上行流量管理芯片的结构如***1所示,芯片将由转发引擎接收的报文切割为交换网识别的定长信元,以信元为粒度进行调度,最终将信元输出到交换网。其中,信元调度部分是芯片中实现QoS的核心,主要通过各种调度算法进行流量的分配,提供基于优先级的精确带宽分配。优先级间采用WFQ[7]进行调度,固定包长误差小于5%,混合包长误差大于3%。
***1 流量管理芯片的结构
3 验证工作及验证策略
根据前面对流量管理芯片的介绍,验证工作主要关注以下几方面:
(1) 各级调度实现合理。优先级间WFQ调度实现合理,各优先级获得的带宽在允许的误差范围之内。
(2) 报文处理正确。报文进行正确的切割、缓存,最终输出正确的信元到交换网。
(3) 同一队列的信元不能出现乱序、覆盖、丢弃等现象。
其中,对于调度合理性的测试,由于各种流量调度算法实现复杂,要建立其参考模型十分困难且意义不大。于是,毅然放弃了传统采用参考模型的思路,而选择流量检测机制指导仿真验证。流量检测的基本思想为:检测各队列在指定时间窗内接收的流量,将各队列的流量检测值与预期值进行比较,从而判断流量分配是否合理。通过将DUT的输出与参考模型的输出进行比较来判断报文处理的正确性。对于信元乱序、覆盖、丢弃等的检测,通过在仿真环境中添加自动检测功能,并将检测结果打印输出,从而提高仿真环境检测和观察的自动化程度,进而提高验证效率。
4 验证环境的搭建
为完成芯片规格的验证,搭建了***2所示的验证环境,整个验证环境分为4个层次:信号层、过渡层、命令层、测试层。其中,信号层是验证环境的最底层,为DUT提供信号级的连接,与DUT接口以及各种协议相关,主要包含Driver,Monitor等各BFM。在整个验证环境中,信号层起着过渡层与DUT之间桥梁的作用。过渡层包含除信号层以外的其他验证组件。由于信号层的存在,过渡层不需要关心DUT的具体时序,完全采用抽象的数据结构,从而可提高验证环境的重用度和可维护性。命令层主要封装了底层的一些命令以及各种表项配置函数,供测试层调用。测试层是验证环境的最高层,主要包含各测试用例,通过调用命令层封装的各种命令、函数,完成对验证的控制,不用关心验证环境的具体实现,从而可以使环境使用者与搭建者完全***开来。
转载请注明出处学文网 » 基于VMM的流量管理芯片验证