Line Coverage for Module :
uvm_custom_install_recording
| Line No. | Total | Covered | Percent |
| TOTAL | | 22 | 7 | 31.82 |
| ROUTINE | 41 | 1 | 0 | 0.00 |
| INITIAL | 56 | 21 | 7 | 33.33 |
40
41 0/1 ==> import "DPI-C" function string getenv(input string env_name);
42
43 `include "uvm_vcs_recorder.svh"
44 `include "uvm_vcs_record_interface.sv"
45 `endif
46
47 uvm_cmdline_processor clp;
48 string tr_args[$];
49 uvm_coreservice_t cs;
50 uvm_vcs_tr_database vcs_db;
51 string env_str,vc_env_str="",sanity_file_name="";
52 int file_handle=0, is_sanity_exist=0;
53
54 initial begin
55
56 1/1 clp = uvm_cmdline_processor::get_inst();
57 1/1 cs = uvm_coreservice_t::get();
58 1/1 env_str = getenv("SNPS_SIM_DEFAULT_GUI");
59 1/1 vc_env_str = getenv("VC_HOME");
60 1/1 if (vc_env_str!="")begin
61 0/1 ==> sanity_file_name = {vc_env_str,"/etc/.sanity"};
62 0/1 ==> file_handle = $fopen(sanity_file_name,"r");
63 0/1 ==> if (file_handle!=0) begin
64 0/1 ==> is_sanity_exist = 1;
65 0/1 ==> $fclose(file_handle);
66 end
==> MISSING_ELSE
67 end
MISSING_ELSE
68
69 // Register the vcs_smartlog_catcher to dump messages into VPD
70 1/1 if (clp.get_arg_matches("+UVM_LOG_RECORD", tr_args) && (clp.get_arg_matches("+UVM_VPD_RECORD", tr_args)
71 && (env_str != "verdi") && !is_sanity_exist)) begin
72 static vcs_smartlog_catcher _vcs_catcher = new();
73 0/1 ==> uvm_report_cb::add(null,_vcs_catcher);
74 end
MISSING_ELSE
75
76 // Register the uvm_vcs_recorder to record transactions into VPD
77 1/1 if (clp.get_arg_matches("+UVM_TR_RECORD", tr_args) && (clp.get_arg_matches("+UVM_VPD_RECORD", tr_args)
78 && (env_str != "verdi")&& !is_sanity_exist)) begin
79 0/1 ==> vcs_db = new();
80 0/1 ==> cs.set_default_tr_database(vcs_db);
81 0/1 ==> if (clp.get_arg_matches("+UVM_DISABLE_AUTO_COMPONENT", tr_args)) begin
82 0/2 ==> `uvm_info("VCS_TR_AUTO", "+UVM_DISABLE_AUTO_COMPONENT enabled but transaction recording enabled, usage model requires user to explicitly set recording_detail on components", UVM_MEDIUM)
uvm_info("VCS_TR_AUTO", "+UVM_DISABLE_AUTO_COMPONENT enabled but transaction recording enabled, usage model requires user to explicitly set recording_detail on components", UVM_MEDIUM):
82.1 `ifdef ZEMI4UVM
82.2 (* zemi4_uvm_attribute=1 *)
82.3 `endif
82.4 begin
82.5 0/1 ==> if (uvm_report_enabled(UVM_MEDIUM,UVM_INFO,"VCS_TR_AUTO"))
82.6 0/1 ==> uvm_report_info ("VCS_TR_AUTO", "+UVM_DISABLE_AUTO_COMPONENT enabled but transaction recording enabled, usage model requires user to explicitly set recording_detail on components", UVM_MEDIUM, "/share/instsww/synopsys-new/vcs/T-2022.06-SP2-9//etc/uvm-1.2/vcs/uvm_custom_install_vcs_recorder.sv", 82, "", 1);
82.7 end ==> MISSING_ELSE
83 end
84 else begin
85 0/2 ==> `uvm_info("VCS_TR_AUTO", "+UVM_TR_RECORD implicitly enables recording_details to UVM_FULL for all components. For explicit control use +UVM_DISABLE_AUTO_COMPONENT and set recording_detail on components accordingly", UVM_MEDIUM)
uvm_info("VCS_TR_AUTO", "+UVM_TR_RECORD implicitly enables recording_details to UVM_FULL for all components. For explicit control use +UVM_DISABLE_AUTO_COMPONENT and set recording_detail on components accordingly", UVM_MEDIUM):
85.1 `ifdef ZEMI4UVM
85.2 (* zemi4_uvm_attribute=1 *)
85.3 `endif
85.4 begin
85.5 0/1 ==> if (uvm_report_enabled(UVM_MEDIUM,UVM_INFO,"VCS_TR_AUTO"))
85.6 0/1 ==> uvm_report_info ("VCS_TR_AUTO", "+UVM_TR_RECORD implicitly enables recording_details to UVM_FULL for all components. For explicit control use +UVM_DISABLE_AUTO_COMPONENT and set recording_detail on components accordingly", UVM_MEDIUM, "/share/instsww/synopsys-new/vcs/T-2022.06-SP2-9//etc/uvm-1.2/vcs/uvm_custom_install_vcs_recorder.sv", 85, "", 1);
85.7 end ==> MISSING_ELSE
86 0/1 ==> uvm_config_db#(uvm_bitstream_t)::set(uvm_root::get(), "*", "recording_detail", UVM_FULL);
87 end
88 end
MISSING_ELSE