基于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芯片验证平台设计及应用

上一篇:用简单电路来指示信号的逻辑
下一篇:Microchip设立在线照明应用设计中心

推荐阅读最新更新时间:2024-05-13 18:36

汽车主动避撞系统技术介绍及发展分析
目前研究开发的汽车主动避撞系统有以下3种类型: (1)车辆主动避撞报警CWS(collisionwarning)系统,此系统对探测到的危害情况给出警报,美国已经在一些重型载货车和公交车辆上实现商用。 (2)车辆自适应巡航控制ACC(adaptivecruisecontrol)系统,此系统可以实现简单交通情况下的主动避撞及巡航控制,一些汽车公司在高档车型上已经开始采用ACC技术。 (3)复合型车辆智能控制系统,该系统针对复杂交通情况,特别是市区交通环境,采用ACC系统辅以车辆停走(stop&go)系统,提高车辆智能控制的实用性。 目前国内外汽车主动避撞系统的研究绝大多数集中在避撞系统的纵向控制,系统的关键技术包括行驶
[嵌入式]
虚拟仪器之——数据采集中的外部时钟及握手信号
前言 数据采集卡作为采集信号的接口为大家所熟知,然而,在市面各种规格的板卡中,为什么有些提供外部时钟以及提供多种触发模式?还有的高速数字I/O卡为什么提供了握手信号的传输方式?本文描述这些功能所带来的好处。 外部时钟 对于数据采集卡来说,就像其它单片机的应用一样,需要一个时钟基准(time-base)来推动板卡上的控制芯片及模/数转换器的运行,这个时钟来自于板卡上的晶振,然后设计者按照不同模/数转换器的特性,将这个周期性的方波信号经计数器(counter)模块分频后,转化成模/数转换器的工作时钟,这也就决定了数据采集卡的采样频率(sampling rate)或更新频率(update rate),然而,由于板卡上晶振的频
[测试测量]
虚拟仪器之——数据采集中的外部时钟及握手<font color='red'>信号</font>
μC/OS-II软件定时器管理算法分析及改进
1、概述   软件定时器是一种软件措施,通过它可以使一项特定的任务在给定的时间段后被执行。软件定时器广泛地应用于内核设计和应用程序设计中,例如,一个进程使用软件定时器等待其他的进程完成特定的动作,以使任务间的操作同步等,因此,对软件定时器的高效实现对提升系统的响应效率是至关重要的。   作为一种基础的软件措施,μC/OS-II 的 V2.86版本中增加了对软件定时器的支持。使用μC/OS-II提供的软件定时器,应用程序可以方便地完成特定的定时任务。本文对μC/OS-II的软件定时器的实现机制进行简要分析,然后提出了对μC/OS-II的软件定时器的实现进行改进的方法。 2、μC/OS-II软件定时器的实现机制及算法分析
[嵌入式]
OTM2517 2.5G SDH传输分析仪的性能特点及应用范围
OTM2515/OTM2516/OTM2517 SDH测试模块,是OTP6200智能网络测试平台产品家族的一部分,是一个坚固耐用、锂电池超长供电的传统PDH/SDH测试解决方案,支持2.5Gbps到2.048Mbps速率的传输链路测试。支持在线和离线的传输链路的安装、维护和故障排除应用测试。 同时为经验丰富的传输网络维护人员提供***传输测试功能,例如开销的监测和控制、APS保护倒换测试、指针监测和调整等。所有的测量都符合***的***行业标准,同时能够通过各种方式测试传输链路故障,让运营商洞察所有可能导致传输链路故障的原因。 主要功能: 支持DS1/DS3,E1/E3/E4接口的DSn/PDH测试功能 支持STM-1/O
[测试测量]
免费在线研讨会 – 搭建更经济、稳定的产线声学测试系统 ,一键完成生产测试
免费在线研讨会 – 搭建更经济、稳定的产线声学测试系统 ,一键完成生产测试! 稳定、高效、便捷 先睹为快:研讨会内容速览 | 6月20日(周二) 下午2-3点 降低生产成本和同时提高测试稳定性一直是生产运营的一个挑战,AP和GRAS一直以解决这个问题提供高效和稳定的声学生产测试方案。• 有些客户考虑更换测试系统的部件,例如测试软件、声卡等,降低测试系统的成本• 有些客户希望提高生产测试系统的稳定性,如测试THD或R&B异音测试等. 在本次研讨会,我们将介绍更换声学测试系统的一些关键点和如何简单设置自动化测量程序,以达到高效和稳定的声学生产测试要求。 研讨会议程: • 关键声学生产测试系统成本构成
[物联网]
免费在线研讨会 – 搭建更经济、稳定的产线声学<font color='red'>测试</font>系统 ,一键完成生产<font color='red'>测试</font>!
Toshiba打造GaN功率场效应管,应用于Ku波段中高功率输出
Toshiba公司开发了GaN功率场效应管,这种场效应管应用频率在Ku波段(12-GHz to 18-GHz)可以在14.5-GHz的频点上产生65.4-W的功率输出。这种晶体管应用在卫星基站的微波通信中,在通信中携带包括高清广播在内的高信息量的信号。 Ku波段微波放大器的优点在于采用半导体器件取代通常使用的电子管,尤其是采用GaN晶体管,可以在微波通信的高频段信道上提高高的功率特性。 Toshiba公司最新的功率场效应管具有高电子移动性晶体管结构,使得其在Ku波段可以得到最优的性能。该公司同时也改进设计使其适合在Ku波段频率特殊应用电路。 Toshiba公司计划在2007年底开始这种功率场效应管抽样,在2008年3月底进行
[焦点新闻]
AE South China打造国内专业汽车电子展览
  中国汽车产业迅猛发展,同时带动汽车电子产业也有快速发展,因而,围绕该产业的专业会议也应运而生。目前,中国专门以汽车电子命名的唯一专业性展览----华南国际汽车电子展(Automotive Electronics South China,简称 AE South China)凭借励展博览集团强大品牌,将于2007年8月28-31日在深圳会展中心举行,旨在打造国内最具专业化的汽车电子专业展览,为华南地区整个汽车电子行业提供一个综合性、国际化的平台,为整个汽车电子行业链提供广泛交流机会。   AE South China将全面展示汽车电子领域的产品技术,展示范围包括汽车零部件、汽车电子元件、汽车测试与测量设备、线束及其它电子材料、与汽车
[焦点新闻]
基于MEMS陀螺仪的汽车驾驶操作信号采集系统设计
国内外现有的汽车模拟驾驶器和汽车驾驶考核系统中,对脚踏板(油门踏板、脚刹踏板、离合踏板)及手刹等操作机构的状态信号的提取,主要是通过安装角度传感器或通过机械装置将机构的旋转运动转换为线性运动,安装线性位移传感器来实现;档位的位置状态则通过在档位的不同位置分别安装行程开关组或非接触开关组(霍尔开关、光电开关)得到开关量信号,获取档位的位置信息。由于这些传感器成本较高、体积较大,且在一台车辆中采用多种传感器形式,检测装置规格不统一,给汽车驾驶状态检测系统的生产制造、安装、维修、保养带来了较大不便 。 近年来,微电子机械系统(MEMS)技术微机械惯性器件日渐成熟,惯性测量系统得到了迅猛发展 。惯性测量系统将微电子、精密机械、传感器技术相
[测试测量]
基于MEMS陀螺仪的汽车驾驶操作<font color='red'>信号</font>采集系统设计
小广播
最新应用文章
换一换 更多 相关热搜器件

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

站点相关: 安防电子 医疗电子 工业控制

词云: 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