HVP,hier verification plan,创建整个验证的plan,在验证后期,经过vcs的coverage db能够直接进行反标,app
包括反标code coverage,function coverage,testcase等。ide
coverage的database,包括vcs产生的db,本身拿到的external的data,ui
hvp提供一个feature list,pri,当前的design phase等信息,最终生成一份反标后的报告。excel
end user app包括两种方式,urg report,code
spreadsheet annotator。(须要反标的excel的状况下)xml
通常描述一个verfication plan的方式有:blog
1) HVP language,经过verdi和dve的gui界面建立有一样的效果。ip
2) 使用一个spreadsheet,格式须要是MS excel,openoffice 2.0或更新的版本。(须要保存为xml格式)rem
spreadsheet的方式建立hvp,须要必定格式:string
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的反标。