• HVP plan


    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的反标。

  • 相关阅读:
    RPC、HTTP、IDL
    秋招拿了7个offer,分享一些反思和经验
    “功能测试”到“测试开发”升级之路
    Github最全买房租房攻略,火了!
    王垠:怎样尊重一个程序员?
    为什么曾经优秀的人突然变得平庸?
    你这么努力,为什么能力提升还这么慢?
    打工人到什么状态,就可以离职了?
    怎样才能迅速晋升?
    如何做个优秀的经理?
  • 原文地址:https://www.cnblogs.com/-9-8/p/9073731.html
Copyright © 2020-2023  润新知