HVP,hier verification plan,建立整个验证的plan,在验证后期,通过vcs的coverage db可以直接进行反标,

  包括反标code coverage,function coverage,testcase等。

coverage的database,包括vcs产生的db,自己拿到的external的data,

hvp提供一个feature list,pri,当前的design phase等信息,最终生成一份反标后的报告。

end user app包括两种方式,urg report,

                         spreadsheet annotator。(需要反标的excel的情况下)

  

一般描述一个verfication plan的方式有:

  1) HVP language,通过verdi和dve的gui界面创建有同样的效果。

  2) 使用一个spreadsheet,格式需要是MS excel,openoffice 2.0或更新的版本。(需要保存为xml格式)

spreadsheet的方式创建hvp,需要一定格式:

  

  1) matrics和attri需要单独的sheet,plan单独的sheet。

  2) plan的sheet中说明各个feature和sub feature,还有一些内建的attri/annotate。

  3) plan中单独的column指定,measure source和matics的项。

  

使用hvp language的方式创建plan,

plan...endplan,创建一个plan的域,其中可以声明其他的subplan,并且其他的sub_plan可以通过include将文件添加进来

plan中的attribute,内建的有:string----owner,int---at_least,int----test_expected,也可以自己声明,attribute,主要来用描述feature的一些特性,

plan中的annotation,内建的有:int----weight,string----description,也可以自己声明。annotation,也是用来描述feature的一些特性的。

  attribute与annotation的区别主要在于,attribute会按hier的向下传递。

  plan的很多信息都是有数据类型的,如enum,real,int,string等,定义时,需要注意。

feature的定义,包括名字,measure名字,其中的matrics类型,source的路径等。

  feature slave_write;

    weight = 2;

    Group = Group >= 0.8 (override掉内部的额100%的限制。直接大于0.8的时候变绿)

    measure test,Cond Demo;

      source = "**test1**"

    endmeasure

  endfeature

  其中matrics的类型,vcs内部支持的包括,Line,Cond,FSM,Toggle,Branch,Assert,Group,Group.count

              SnpsAvg,AssertResult,test,test.percent,test.compeltion这些。

  measure之后的Demo表示的是当前measure的名字,这个在所有的feature中都是可以相同的。但是matrics的类型,每个feature都是不同的

    code coverage,使用tree或者instance来指定hier,

    function coverage使用group或者group instance来指定hier,

    assertion使用property来指定hier,

    test直接使用testcase name来指定hier。

    内建的metrics是有自己内部的goal的,Line>80%,Group>90%等,可以自己设置。

  source中,指定的都是code,coverage group,coverage bin,test等的hier信息,可以使用通配符

    ?通配符,表示匹配任何一个字符;

    *表示匹配,0个或多个该hier内部的字符;

    **表示匹配,0个或多个不限制hier的字符;

除了vcs定义的几种matrics之外,也可以自定义matrics,这时hvp反标的时候,需要自己加userdata

  metric enum {pass, fail} demo_metric;

    goal = (demo_metric.fail <= 0);

    aggregator = sum;

  endmetric

  metric的数据类型,可以是ratio,percent,interger,real,enum,

    在定义过程中,必须执行goal的目标,并且制定计算方式。

    还需要自己建立userdata文件,

user_data的格式:

  HVP metric = demo_metric

  test1 = pass

  test2 = fail

在使用该自定义的metric的时候,与自定义的相同,需要执行source、name。

  measure demo_metric metric_demo;

    source = "**test1**", "**test2**"

  endmeasure

HVP language中的comment,同样使用/*和//来表示注释。同样支持`define,`include,`ifdef等宏

HVP language中支持,不同的项目阶段,可以对不同的HVP文件,在附加不同的配置文件;

1) override功能,主要是对attribute,annotation,goal的override。

    override ov_owner;

      topplan.subplan1.feature1.Line > 80%;

    endoverride

2) filter功能,主要针对内部的feature,内部语言删选顺序进行;

    filter my_view;

      remove feature where phase > 2;

      keep feature where phase == 5;

      keep feature where rounter == "N1" || rounter == "N2";   //留下内部还有attri rounter的feature。

    endfilter

3) until功能,建立一个针对时间的选择block;

    until 1-31-2014;

      override name;

      endoverride

    elseuntil 04-30-2014;

      override name;

      endoverride

    enduntil

在写好hvp文件和mod文件之后,可以通过hvp的命令,直接生成对应的doc和xls、

1) hvp genxls,生成xls

    -plan <hvpfile>  -outdir <dirname> -lca -expand_subplans “将plan和subplan生成在同一个sheet中”

2) hvp gendoc,生成doc

3) hvp annotate,对hvp plan进行反标、

    -plan <spreadsheet或者doc xml file>

    -mod <指定modifier文件>

    -usrdata <指定除了db之外的文件>

    -dir <vcs db>

    -elfile <指定exclude file>

    -hvp_no_score_missing <没有match到的feature不指定为0>

    -vc_lic_wait,等待lic

    -metric指定某个metric的反标。

HVP plan的更多相关文章

  1. 测试计划(Test Plan)

    测试计划(Test Plan) 版权声明:本文为博主原创文章,未经博主允许不得转载. 测试计划的概念: 测试计划是一个文档,描述了进行测试的测试范围,测试策略和方法,测试资源和进度.是对整个测试活动进 ...

  2. SQL Tuning 基础概述02 - Explain plan的使用

    1.explain plan的使用 SQL> explain plan for delete from t_jingyu; Explained. SQL> select * from ta ...

  3. POJ2175 Evacuation Plan

    Evacuation Plan Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4617   Accepted: 1218   ...

  4. New Plan!

    很久无写过blogs,荒废得差不多了,在博客园虽开bolg 5年多,但由于自己工作的问题,从开始的热情记录,到冷却冰冻,再到现在重拾起来,有一番感受:从大学刚毕业的制作网页菜鸟,开始接触DIV,CSS ...

  5. 分析oracle的执行计划(explain plan)并对对sql进行优化实践

    基于oracle的应用系统很多性能问题,是由应用系统sql性能低劣引起的,所以,sql的性能优化很重要,分析与优化sql的性能我们一般通过查看该sql的执行计划,本文就如何看懂执行计划,以及如何通过分 ...

  6. 【转】Oracle 执行计划(Explain Plan) 说明

    转自:http://blog.chinaunix.net/uid-21187846-id-3022916.html       如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQ ...

  7. MySQL慢查询Explain Plan分析

    Explain Plan 执行计划,包含了一个SELECT(后续版本支持UPDATE等语句)的执行 主要字段 id 编号,从1开始,执行的时候从大到小,相同编号从上到下依次执行. Select_typ ...

  8. Timusoj 1982. Electrification Plan

    http://acm.timus.ru/problem.aspx?space=1&num=1982 1982. Electrification Plan Time limit: 0.5 sec ...

  9. Oracle SQL explain/execution Plan

    From http://blog.csdn.net/wujiandao/article/details/6621073 1. Four ways to get execution plan(anyti ...

随机推荐

  1. ant gradle curl等工具原理以及使用记录

    1.ant是早一些的java 项目配置管理工具. 2.gradle是比maven还新的项目配置管理工具. 3.curl可以方便进行网络测试.curl可以方便用来http请求测试,支持各种命令,从这个角 ...

  2. You must configure either the server or JDBC driver (via the serverTimezone configuration property

    使用JDBC连接MySql时出现:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one ...

  3. vue 安装及使用

    一,  vue.js 2.0 1, cnpm install vue-cli -g 全局安装 2, 运行vue查看安装是否成功(创建vue-cli目录: vue init webpack demo) ...

  4. mysql 插入百万条数据

    利用mysql内存表插入速度快的特点,先存储过程在内存表中生成数据,然后再从内存表插入普通表中 一.创建内存表 CREATE TABLE `vote_record_memory` ( `id` ) N ...

  5. ES6 模块机制

    ES6 实现了模块功能 将文件当作独立的模块,一个文件一个模块 每个模块可以导出自己的API成员,也可以导入其他模块或者模块中特定的API ES6 模块的设计思想,是尽量的静态化,使得编译时就能确定模 ...

  6. SpringBoot微服务架构下的MVC模型总结

    SpringBoot微服务架构下的MVC模型产生的原因: 微服务概念改变着软件开发领域,传统的开源框架结构开发,由于其繁琐的配置流程 , 复杂的设置行为,为项目的开发增加了繁重的工作量,微服务致力于解 ...

  7. [SDOI2009]SuperGCD

    题目链接 这题.高精度.恶心.难受. 那么高精度的gcd怎么做呢? 若a=b gcd(a,b)=a ①a偶b偶 gcd(a,b)=2*gcd(a/2,b/2) ②a偶b奇 gcd(a,b)=gcd(a ...

  8. PDF在线解除密码的方法是什么

    大家在网上下载一些关于PDF文件的时候通常会发现有的PDF文件是有密码的,有密码的文件通常是不可以被转换的,这个时候我们就需要将其密码解除掉,这样后期不仅方便阅读也方便了PDF文件的转换. 操作工具: ...

  9. Python 学习笔记9 循环语句 For in

    For in 循环主要适用于遍历一个对象中的所有元素.我们可以使用它遍历列表,元组和字典等等. 其主要的流程如下:(图片来源于: https://www.yiibai.com/python/pytho ...

  10. day22:初识面向对象

    1,类可以理解为是一个模子,可以是代码精简,方便增加实例,方便修改,更加规范,能知道具体的属性,方法,但是不知道具体的值 2,对象有具体的值,属性和技能都是根据类规范的 3, 先有类才有对象 4,面向 ...