天天看點

VCS中如何檢視功能覆寫率與代碼覆寫率

Makwfile中指令行

CM = -cm line+cond+fsm_branch+tgl                  //表示要收集的代碼覆寫率類型
CM_NAME = -cn_name $(OUTPUT)                  //表示覆寫率的檔案名
CM_DIR = -cm_dir ./$(OUTPUT).vdb                //表示覆寫率要存放到哪個目錄下

-cm_nocasedef                                      //表示不将case語句中的default進行覆寫率的計算
-cm_hier ./vcs_cov.cfg                            //表示将vcs_cov.cfg檔案中的配置加入覆寫率選項
           

// vcs_cov.cfg中的選項可以為

touch vcs_cov.cfg   
-module fsm_top   
+tree  fsm_top.fsm_moore
+module .....       
+library  +filelist
           
urg -dir *.vdb  &      //産生覆寫率d報告
firefox    urgReport   //檢視覆寫率報告
           
dve -covdir *.vdb &    //用dve檢視覆寫率報告
           

//如果想讓某段代碼不進行覆寫率統計,可使用如下特使注釋代碼

VCS coverage off        //隻能在VCS中使用,不能在DC中使用,dc會報錯
VCS coverage on
           

//或者

synopsys translate_off    //dc中不會報錯
synopsys translate_on
           
//merge coverage for all test cases and generation of report files:
vcs -cm_pp $COV -cm_nocasedef -cm_name TOTAL 或者 dve -cadir *.vdb
           

//每個tb對代碼覆寫率的貢獻

vcs -cm_pp -b -cm line -cm_autograding 100
           

//一個編譯檔案夾下的代碼的指令

vcs -f filelist.f -cm line+cond+fsm+tgl -debug_all