基于RVM的层次化SoC芯片验证平台设计及应用

最新更新时间:2007-06-13来源: 电子设计应用关键字:测试  分析  模型  信号 手机看文章 扫描二维码
随时随地手机看文章
引言

随着SoC设计日趋复杂,验证成为soC设计过程中最关键的环节。本文介绍了Synopsys的RVM验证方法学,采用Vera硬件验证工具以及OpenVera验证语言建立目标模型环境,自动生成激励,完成自核对测试、覆盖率分析等工作。通过建立层次化的可重用性验证平台,大大提高了验证工程师的工作效率。文中以一个SIMC功能模块的验证为例,详细介绍了RVM验证方法学在SoC芯片验证中的应用。

功能验证

一个设计被综合前,首先要对RTL描述进行逻辑功能验证,以确保模块或芯片的功能正确性。通常,RTL级的功能验证主要采用自底向上的验证策略,可分为模块级验证和系统级验证两个阶段。 传统验证方法大多是在信号级的接口上直接与待验证设计(DUT)通信,即用激励直接驱动DUT的引脚,通过检查接口信号的值和变化来达到验证设计功能的目的。这种方法的抽象层次较低,验证平台的开发与DUT的接口协议紧密相关,使得验证平台的重用性较差。如果要做到一个验证平台可以验证多个不同的DUT,必须将验证平台的抽象层次提高到事务级,而且应该构建层次化的结构,层与层之间具有一定的独立性,改变底层并不会影响上层。

基于事务的验证

所谓事务(Transaction)是指设计对象与事务处理器(Transactor)之间通过接口所做的一次数据传输。从硬件的角度来看,事务可看成作用在一个特定接口上的一组信号的集合单元。事务具有3个要素:起始时间、终止时间,以及所有与这个事务相关的信息。

基于事务的验证工具让用户除了可以在信号/引脚级上进行验证,还可以在事务级上进行验证,从而提高了设计生产率。

基于事务验证环境的基本要素

·DUT:待验证设计对象的RTL描述或门级描述。

·事务:在DUT和事务处理器之间通过接口在特定起止时间内的一次数据传输。事务能够对信号波形进行标识,表示相关的信号属性,还可以标识错误。

·事务处理器:也叫总线功能模型(BFM)。事物处理器可以表示事务所代表的信号变化,并与DUT通过接口进行连接。一个典型的DUT往往具有不同的接口,因此一个验证环境中具有不同的事务处理器以产生相关的测试向量对DUT进行激励。

·测试例(Testcase):用来产生验证DUT特定功能所需要的事务。

 

基于事务的验证处理过程

测试例通过特定的事务来调用事务处理器的任务,事务处理器按照DUT所遵循的协议对事务进行处理,经过处理后的事务通过连接DuT的接口输入到DUT中,DUT对输入的激励进行响应。DUT输出的响应再转换为事务的形式,这样验证平台的自核对模块就可以在事务级上对激励和响应进行核对,以检查DUT的功能是否正确。

RVM层次化验证方法学

RVM验证方法学是一种层次化的验证方法学,它能把验证的步骤分层进行,将验证工作提高到更高的抽象层次,即事务层。层次化的验证方法使得验证工程师只需关心DUT的输入/输出接口,而不必关心DUT内部的具体实现。

根据RVM方法学,验证工程师可以搭建出具有随机测试、自动检错核对、功能覆盖等功能的层次化验证平台。这类验证平台包含很多参考模型,每个模型可完成不同的功能。在搭建验证平台的过程中,还可以直接调用synopsys提供的RVM基类库,其中定义了丰富的标准类。利用RVM基类以及面向对象的技术可以更方便地生成验证平台各个层次的模块。

基于RVM的验证平台分成5层,每层完成独立的功能,层与层通过接口互相连接。RVM验证模型如图1所示。

信号层

信号层提供验证平台与DUT的信号级连接。验证平台通过信号层将上层产生的激励驱动到DUT中。具体实现时,需要定义验证平台与DUT连接的虚端口,当DUT的接口改变时,只需要修改验证平台虚端口中的信号,上层模块不需要修改,方便整个验证平台的重用。

命令层

命令层将信号层的信号抽象为事务,给高层提供DUT的接口与事务的转换。命令层主要包括驱动器模块和监视器模块,与上层模块通过事务级通道连接,与下层模块通过虚端口连接。驱动器完成对DUT激励的驱动。监视器检测DUT的输出,将输出反馈给上层模块。

功能层

功能层模拟DUT的基本行为,将DUT的行为抽象为更高一级的事务。功能层中包括事务处理器模块和自核对模块。事务处理器模块根据DUT所遵循的协议将上层产生的事务进行处理,经过事务处理器处理的事务通过事务级通道传给下层。自核对模块用于对比事务经过DUT处理之后是否符合协议的要求,通常用于检查DUT传输数据的正确性。

激励产生层

激励产生层用于产生对DUT的激励事务。这一层包括产生器模块,该模块产生一系列的事务对象,通过事务级通道传输给下层。RVM支持两种产生器:Atomic产生器,用于产生一组相似的事务对象;scenario产生器,用于产生顺序可控制的事务对象。

测试层

测试层用于对DUT的逻辑功能进行验证。这一层主要是用户为了验证DUT的逻辑功能而编写的不同测试例,在测试例中可以对各个模块的限制条件进行修改。通过对不同测试例运行结果的统计,可以查看DUT的功能覆盖率,只有功能覆盖率达到一定要求,才能够认为该DUT已经被完备的验证通过。

SlMC模块的功能验证

SIMC是SIM卡控制器的简称,通过SIMC可以在手机基带处理芯片上外接SIM卡,实现数据的发送和接收。SIMC模块连接在系统的APB总线上,ARM微控制器通过APB总线对SIMC进行访问。该模块主要包括波特率产生部分、接收数据的串并转换部分、发送数据的并串转换部分、发送FIFO的控制部分、接收FIFO的控制部分等。发送数据时,SIMC模块会将发送数据寄存器的数据先放到发送FIFO中,再将FIFO中的数据发送出去;接收数据时,SIMC模块将接收到的数据放到接收FIFO中,再由处理器从接收数据寄存器中读取数据。如果接收数据后,判断校验位或停止位出错,则数据不会被放人接收FIFO中,SIMC模块的状态寄存器会有相应的指示。

本文将以一款基带处理芯片的SIMC为例,详细介绍RVM验证方法学的应用。其中DUT的RTL代码用Verilog编写,验证平台的代码用Open Vera编写。Open Vera语言是一种新型的高阶验证语言(HLV)。用0penVera编写的代码中调用了RVM的基类和库函数,充分应用了面向对象技术。

SIMC模块的RVM分层验证平台结构

SIMC模块的验证平台利用Synopsys公司Vera验证工具搭建,验证平台的搭建遵循RVM验证方法学,代码的编写过程调用了RVM基类库。SIMC模块验证平台结构如图2所示。

信号层

信号层包括定义的虚端口,用于和SIMC模块RTL代码的接口相连。首先定义一个interface变量,该变量中定义的接口对应于SIMC模块的接口信号,interface变量的定义语句中用hdl_node关键字和RTL代码的接口信号相连。定义的虚端口再和interface中的信号绑定。

命令层

命令层包括ARM端的驱动器和监视器、SIM卡端的驱动器和监视器。ARM端的驱动器模仿APB总线,按照协议的规定对DUT进行驱动,SIM卡端的驱动器模仿一个SIM卡对DUT进行驱动。两端的监视器检测DUT的输出数据和驱动到DUT中的数据,将数据保存在自核对模块中进行比较,通过比较来检查DUT传输数据是否正确。

编程实现时,可以通过继承RVM基类库中的rvm_xactor类得到所需要的子类,在子类的代码中加入需要实现的功能。

功能层

功能层包括将SIM卡事务转化为ARM事务的事务处理器、实现中断服务功能的事务处理器、自核对模块。编程实现时,事务处理器可以通过继承R V M基类库中的rvm_xactor得到,在子类的代码中加入需要实现的功能。自核对模块用于比较DUT的激励和响应是否符合要求。

激励产生层

激励产生层包括两个Atomic产生器,两个产生器是同一个类的两个对象。产生器为DUT产生随机激励,激励封装在一个事务中,通过事务通道传到下层模块中。两端的产生器都是产生SIM卡事务的,ARM端有一个将SIM卡事务转化为ARM事务的事务处理器来完成SIM卡事务向ARM事务的转化。通过产生器可以随机产生符合协议规范的激励。编写代码时,产生器可以通过调用R V M 的宏rvm_atomic_gen很方便地实现。

测试层

在测试层,用户可以编写不同的测试例对DUT的功能进行验证。在测试例中,通过对约束的限制、环境类的例化、配置类的约束来实现对DUT的功能覆盖,以达到100%的功能覆盖率。

验证平台的重用

对单个模块验证完毕之后可以进行系统级的验证。根据RVM验证方法学搭建的层次化验证平台可以被重用到系统级的验证中。系统级验证侧重于检查各模块间的接口和数据交互是否符合设计规范,某些模块级验证的模块可以被复用到系统级验证中。对SIMc模块来说,系统级验证时,ARM端的驱动器、监视器以及激励产生器都可以被APB总线代替,SIM卡端的各模块可以继续使用,达到重用的目的。

应用RVM验证方法的 注意事项与技巧

RVM验证方法学由synopsys公司提出,利用RVM验证方法学首选的编程语言是openVera硬件验证语言。笔者在应用RVM验证方法学搭建验证平台过程中的一些技巧和注意事项归纳如下:

1、验证某个模块前,首先要阅读相关文档,熟悉模块的功能特性,然后搭建验证平台的基本框图,选择RVM的相关技术,在验证平台基本框图指导下编程实现。

2、验证平台中功能覆盖点的定义是验证成败的关键,验证过程中利用RVM的覆盖率驱动技术,分析所定义的覆盖点的覆盖情况,改善该验证平台,每个功能覆盖点都必须被覆盖到。

3、RVM基类库提供了丰富的函数,但是synopsys没有开放RVM基类的源代码,所以验证代码的编写过程中应随时查阅RVM文档,尽量使用RVM基类提供的函数,而不是自己去重新开发一个函数。

4、RVM验证平台中各个模块之间通信有很多种方法,可以用RVM的callbacks类,也可以使用双通道等。

5、RVM为验证平台中的进程间通信提供了多种数据结构,例如semaphore、region、mailbox等,编程时应根据需要进行选择。例如,在某一时刻有多个并行的进程对同一个信号进行驱动,仿真工具会停止仿真并打印出错信息。解决的方法是应用semaphores数据结构,每个进程得到semaphore才可以驱动信号,对信号驱动后再释放semaphore供其他进程使用。

6、如果要打印信息,应使用rvm_log类而不是printf()函数。rvm_log类除了将信息打印出来,还可以显示出信息来源于验证平台中的哪个模块以及该模块的仿真时间,便于编程人员调试代码。

7、随机激励的产生不是真正意义上的随机,而是一种伪随机。编程人员在多次运行同一个测试例时应改变验证平台的随机种子,可通过调用srandom()函数来实现。

结语

用RVM验证方法学搭建的层次化验证平台将大大提高验证环境的执行效率。RVM验证方法学中的随机测试技术可以在很短的时间内达到更高的功能覆盖率,提高验证工程师的工作效率,达到有效缩短验证周期的目的。

关键字:测试  分析  模型  信号 编辑:冀凯 引用地址:基于RVM的层次化SoC芯片验证平台设计及应用

上一篇:基于RVM的层次化SoC芯片验证平台设计及应用
下一篇:Microchip设立在线照明应用设计中心

推荐阅读最新更新时间:2023-10-12 23:12

车联网下的汽车夜视系统需求分析
    据腾讯科技旗下企鹅智酷行业用户研究机构调研问卷得出结论,在车联网下的汽车夜视系统需求分析如下表:   分析得出,大多数用户对汽车夜视系统感兴趣。其中40%以上的用户对汽车夜视系统非常感兴趣,完成不感兴趣或没听过的用户不超过16%。   1、夜视系统被关注是因为沾了安全的光   夜视系统利用红外技术来改善弱光环境下的驾车视野,提升安全性。引发的交通事故占总事故的25%,造成死亡的事故占50%。安全是驾驶者最关心的问题,夜视系统因此得以重视。   2、四线城市也需要   三四线城市和县级市也存在大量需要夜视系统的用户,但用户对它的了解不如一二三线城市普及,厂商在产品上市前需要进行更大强度的宣传推广。
[安防电子]
瑞萨WAVE平台助力商用ITS验证测试完成
2009年9月,中国长春市政府与瑞萨科技(以下简称瑞萨)一起,在长春市进行了以公共汽车为载体的世界首次商用ITS¹(Intelligent Transport Systems,智能交通系统)验证测试,并取得了圆满成功。瑞萨以全新无线通信技术提供了能够实现WAVE²通信的 WAVE 终端平台,并证实了公共汽车内WAVE通信的可实现性。 目前,全球已有多家公司正在努力实现ITS。该系统可通过网络连接车辆和所行驶的道路来解决交通阻塞及交通事故等道路交通问题。通过车辆与车辆(车车)之间和交通信号设备、道路信息管理系统和其它道路与车辆(车路)之间的大容量数据通信方可实现ITS服务,如ETC³、面向汽车导航系统的GPS、安全
[汽车电子]
给PCIe测试带来更多需求
【坐享“骑”成】系列之一: 你未来的坐骑就是移动的数据中心!给PCIe测试带来更多需求 汽车的“信息化、智能化”为汽车行业带来了新的概念,软件定义汽车。它代表着车内软件的数量和价值(包括电子硬件)超过了机械硬件,代表着汽车行业的逐步转型,从高度的电子机械终端到智能、可扩展的移动电子终端并可持续升级。要成为如此智能的终端,汽车必须预先嵌入高级的硬件,而硬件的功能和价值通过整个生命周期中的OTA逐渐激活及增强。行业的价值链将从一站式的硬件销售变成持续的软件和服务优化,而消费者也期望汽车有类似智能手机的行为的客户感受。 因此汽车的电子电气架构 (EEA) 需要从传统的分布式模型向中心化、简介化、可扩展化演进。概括的说, EEA 的
[汽车电子]
给PCIe<font color='red'>测试</font>带来更多需求
电源测试一体化解决方案
  本系统是爱科电子最新推出的基于虚拟仪器技术,专门针对电源、汽油机、等电源电性能测试的一种具有超高性价比的自动化测试设备。   系统以开放式的软件架构和现代化数据库技术为核心,结合高精度可编程电源、高性能可编程电子负载等设备为基础的模块化硬件设计,为您提供了真正的全自动电源测试解决方案。整个系统结构紧凑,功能完备、自动化程度高,测量快速准确,测试报告处理完善,可大大提高检测效率。   主要功能特点:   ·模块化硬件结构设计,硬件扩充方便,测量准确度高   ·测试规程编辑功能,便于重复测量   ·测试项目编辑功能   ·系统预设测试规程,提高测试速度,提高生产效率   ·测试报表编辑制作、统计分析和数据库管理功能   ·测试软件
[电源管理]
电源<font color='red'>测试</font>一体化解决方案
单片机硬件系统扩展外设设计分析
一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如 ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。 系统的扩展和配置应遵循以下原则: 1、尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。 2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。 3、硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会
[单片机]
单片机硬件系统扩展外设设计<font color='red'>分析</font>
解密RF信号链:特性和性能指标
简介 从历史的角度来看,就在不久之前,也就是20世纪初,支持RF信号链的RF工程学还是一门新兴的学科。如今,RF技术和射频器件深深根植于我们的生活,没有它们,现代文明可能不会存在。生活中有无数非常依赖RF信号链的示例,这将是我们讨论的焦点。 在我们深入探讨之前,我们先来了解RF的实际含义。乍一看,这似乎是一个简单的问题。我们都知道,RF表示射频,此术语的通用定义规定了特定的频率范围:MHz至GHz电磁频谱。但是,如果我们仔细查看其定义并进行比较,就会发现,它们只是对RF频谱的实际边界的定义不同。鉴于我们可能经常在与特定频率无关的其他环境中广泛使用该术语,所以,此术语变得更加令人费解。那么,RF是什么? 通过关注RF的
[模拟电子]
解密RF<font color='red'>信号</font>链:特性和性能指标
RS422/RS485总线模型分析与应用
0 引言   RS422/RS485总线接口作为多点、差分数据传输的电气规范,现已成为业界应用较为广泛的标准通信接口之一。RS422/RS485标准只对接口的电气特性做出了规定,而不涉及接插件、电缆或协议,因此,用户可在此基础上建立自己的高层通信协议。 1 基本原理   RS422/RS485标准的全称为TIA/EIA-422-B和TIA/EIA-485串行通信标准。它们的数据信号均采用差分传输方式,也称作平衡传输。这两者在电气特性上非常接近,不同之处只是传输方式的不同。   RS485的典型工作方式如图1所示。RS485典型的驱动器使用一对双绞线,并将其中的一线定义为A,另一线定义为B。两线工作时采用半双工通
[嵌入式]
Labsphere发布LED和光源测定产品 量身定制精准校准和快速测试
“Starter and Choice” 系列新设备为用户提供完整、灵活的光测试方案 上海8月1日电 /新华美通 / -- 为了满足中国科学和工业市场中日渐增长的广泛光测试需求,蓝菲光学 (Labsphere) 公司 -- 光测试解决方案设计及制造行业的一家世界领军企业,发布了新系列的 LED 和光源测定产品。蓝菲光学 (Labsphere) 的产品非常适用于中国所致力于发展的发光和显示技术研发领域。“Starter and Choice” 系列包括的新产品有光谱仪,光强度探头,光谱辐照度接收仪,标准校准灯源,LED 空间分析器以及新的 LightX 软件平台。新产品系列针对用户的研究、开发和生产需求来量身定制了精准的校准措
[新品]
小广播
最新半导体设计/制造文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 市场动态 半导体生产 材料技术 封装测试 工艺设备 光伏产业 平板显示 EDA与IP 电子制造 视频教程

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved