Module Definition
dashboard | hierarchy | modlist | groups | tests | asserts

Module : sram_ctrl
SCORELINECONDTOGGLEFSMBRANCHASSERT
23.86 0.00 0.00 95.45 0.00

Source File(s) :
/workspace/default/sim-vcs/../src/lowrisc_ip_sram_ctrl_0.1/rtl/sram_ctrl.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut 23.86 0.00 0.00 95.45 0.00



Module Instance : tb.dut

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
23.86 0.00 0.00 95.45 0.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
41.85 25.31 31.86 68.11 0.00 27.34 98.47


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
tb


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_instr_ctrl.u_prim_lc_sync_hw_debug_en 0.00 0.00 0.00
gen_instr_ctrl.u_prim_mubi8_sync_otp_en_sram_ifetch 0.00 0.00 0.00
sram_ctrl_regs_csr_assert 100.00 100.00
tlul_assert_device_ram 32.28 0.00 0.00 96.85
tlul_assert_device_regs 33.33 0.00 0.00 100.00
u_lfsr 0.00 0.00
u_prim_alert_sender_parity 100.00 100.00
u_prim_count 0.00 0.00
u_prim_lc_sync 0.00 0.00 0.00
u_prim_ram_1p_scr 0.00 0.00 0.00 0.00 0.00
u_prim_sync_reqack_data 0.00 0.00 0.00 0.00
u_reg_regs 95.83 97.80 95.02 94.23 92.13 100.00
u_tlul_adapter_sram 15.31 0.00 0.00 76.56 0.00 0.00
u_tlul_data_integ_enc 0.00 0.00
u_tlul_lc_gate 0.00 0.00 0.00 0.00 0.00

Line Coverage for Module : sram_ctrl
Line No.TotalCoveredPercent
TOTAL5400.00
CONT_ASSIGN126100.00
CONT_ASSIGN134100.00
CONT_ASSIGN137100.00
CONT_ASSIGN141100.00
CONT_ASSIGN145100.00
CONT_ASSIGN149100.00
CONT_ASSIGN152100.00
CONT_ASSIGN184100.00
CONT_ASSIGN186100.00
CONT_ASSIGN194100.00
CONT_ASSIGN202100.00
CONT_ASSIGN212100.00
CONT_ASSIGN221100.00
CONT_ASSIGN226100.00
ALWAYS230300.00
CONT_ASSIGN242100.00
CONT_ASSIGN243100.00
CONT_ASSIGN267100.00
CONT_ASSIGN268100.00
CONT_ASSIGN279100.00
CONT_ASSIGN284100.00
CONT_ASSIGN288100.00
CONT_ASSIGN289100.00
CONT_ASSIGN293100.00
CONT_ASSIGN294100.00
CONT_ASSIGN298100.00
CONT_ASSIGN299100.00
ALWAYS3021100.00
CONT_ASSIGN346100.00
CONT_ASSIGN378100.00
CONT_ASSIGN380100.00
CONT_ASSIGN382100.00
CONT_ASSIGN466100.00
CONT_ASSIGN507100.00
CONT_ASSIGN513100.00
CONT_ASSIGN514100.00
CONT_ASSIGN515100.00
CONT_ASSIGN516100.00
CONT_ASSIGN517100.00
CONT_ASSIGN518100.00
CONT_ASSIGN529100.00
CONT_ASSIGN567100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_sram_ctrl_0.1/rtl/sram_ctrl.sv' or '../src/lowrisc_ip_sram_ctrl_0.1/rtl/sram_ctrl.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
126 0 1
134 0 1
137 0 1
141 0 1
145 0 1
149 0 1
152 0 1
184 0 1
186 0 1
194 0 1
202 0 1
212 0 1
221 0 1
226 0 1
230 0 1
231 0 1
233 0 1
242 0 1
243 0 1
267 0 1
268 0 1
279 0 1
284 0 1
288 0 1
289 0 1
293 0 1
294 0 1
298 0 1
299 0 1
302 0 1
303 0 1
306 0 1
307 0 1
309 0 1
310 0 1
311 0 1
312 0 1
==> MISSING_ELSE
317 0 1
318 0 1
319 0 1
==> MISSING_ELSE
346 0 1
378 0 1
380 0 1
382 0 1
466 0 1
507 0 1
513 0 1
514 0 1
515 0 1
516 0 1
517 0 1
518 0 1
529 0 1
567 0 1


Cond Coverage for Module : sram_ctrl
TotalCoveredPercent
Conditions10100.00
Logical10100.00
Non-Logical00
Event00

 LINE       134
 EXPRESSION (reg2hw.alert_test.q & reg2hw.alert_test.qe)
             ---------1---------   ----------2---------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       152
 EXPRESSION (((|bus_integ_error)) | init_error | readback_error | sram_alert)
             ----------1---------   -----2----   -------3------   -----4----
-1--2--3--4-StatusTests
0000Not Covered
0001Not Covered
0010Not Covered
0100Not Covered
1000Not Covered

 LINE       194
 EXPRESSION 
 Number  Term
      1  reg2hw.status.escalated.q | 
      2  reg2hw.status.init_error.q | 
      3  reg2hw.status.bus_integ_error.q | 
      4  reg2hw.status.sram_alert.q | 
      5  reg2hw.status.readback_error.q)
-1--2--3--4--5-StatusTests
00000Not Covered
00001Not Covered
00010Not Covered
00100Not Covered
01000Not Covered
10000Not Covered

 LINE       202
 EXPRESSION (escalate | init_error | ((|bus_integ_error)) | sram_alert | readback_error | local_esc_reg)
             ----1---   -----2----   ----------3---------   -----4----   -------5------   ------6------
-1--2--3--4--5--6-StatusTests
000000Not Covered
000001Not Covered
000010Not Covered
000100Not Covered
001000Not Covered
010000Not Covered
100000Not Covered

 LINE       221
 EXPRESSION (reg2hw.ctrl.init.q && reg2hw.ctrl.init.qe && ((!init_q)))
             ---------1--------    ---------2---------    -----3-----
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111Not Covered

 LINE       226
 EXPRESSION (init_done ? 1'b0 : (init_trig ? 1'b1 : init_q))
             ----1----
-1-StatusTests
0Not Covered
1Not Covered

 LINE       226
 SUB-EXPRESSION (init_trig ? 1'b1 : init_q)
                 ----1----
-1-StatusTests
0Not Covered
1Not Covered

 LINE       242
 EXPRESSION (init_q & ((~key_req_pending_q)))
             ---1--   -----------2----------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       243
 EXPRESSION ((init_cnt == 15'((Depth - 1))) & init_req)
             ---------------1--------------   ----2---
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       243
 SUB-EXPRESSION (init_cnt == 15'((Depth - 1)))
                ---------------1--------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       267
 EXPRESSION (init_done & ((~init_trig)) & ((~local_esc)))
             ----1----   -------2------   -------3------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111Not Covered

 LINE       268
 EXPRESSION (init_done | init_trig | local_esc)
             ----1----   ----2----   ----3----
-1--2--3-StatusTests
000Not Covered
001Not Covered
010Not Covered
100Not Covered

 LINE       279
 EXPRESSION (reg2hw.ctrl.renew_scr_key.q && reg2hw.ctrl.renew_scr_key.qe && ((!key_req_pending_q)) && ((!init_q)))
             -------------1-------------    --------------2-------------    -----------3----------    -----4-----
-1--2--3--4-StatusTests
0111Not Covered
1011Not Covered
1101Not Covered
1110Not Covered
1111Not Covered

 LINE       284
 EXPRESSION (key_req ? 1'b1 : (key_ack ? 1'b0 : key_req_pending_q))
             ---1---
-1-StatusTests
0Not Covered
1Not Covered

 LINE       284
 SUB-EXPRESSION (key_ack ? 1'b0 : key_req_pending_q)
                 ---1---
-1-StatusTests
0Not Covered
1Not Covered

 LINE       288
 EXPRESSION (key_ack & ((~key_req)) & ((~local_esc)))
             ---1---   ------2-----   -------3------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111Not Covered

 LINE       289
 EXPRESSION (key_req | key_ack | local_esc)
             ---1---   ---2---   ----3----
-1--2--3-StatusTests
000Not Covered
001Not Covered
010Not Covered
100Not Covered

 LINE       293
 EXPRESSION ((key_ack & ((~local_esc))) ? MuBi4True : MuBi4False)
             -------------1------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       293
 SUB-EXPRESSION (key_ack & ((~local_esc)))
                 ---1---   -------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       294
 EXPRESSION (key_ack | local_esc)
             ---1---   ----2----
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       298
 EXPRESSION (key_seed_valid & ((~local_esc)))
             -------1------   -------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       299
 EXPRESSION (key_ack | local_esc)
             ---1---   ----2----
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       507
 EXPRESSION (tlul_req | init_req)
             ----1---   ----2---
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       513
 EXPRESSION (key_valid & ((~init_req)))
             ----1----   ------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       514
 EXPRESSION (tlul_we | init_req)
             ---1---   ----2---
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       515
 EXPRESSION (((|bus_integ_error[2:1])) & ((~init_req)))
             ------------1------------   ------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       516
 EXPRESSION (init_req ? init_cnt : tlul_addr)
             ----1---
-1-StatusTests
0Not Covered
1Not Covered

 LINE       517
 EXPRESSION (init_req ? lfsr_out_integ : tlul_wdata)
             ----1---
-1-StatusTests
0Not Covered
1Not Covered

 LINE       518
 EXPRESSION (init_req ? ({sram_ctrl_pkg::DataWidth {1'b1}}) : tlul_wmask)
             ----1---
-1-StatusTests
0Not Covered
1Not Covered

 LINE       529
 EXPRESSION (key_req_pending_q ? 1'b0 : (reg2hw.status.escalated.q ? (tl_gate_resp_pending & sram_compound_txn_in_progress) : 1'b1))
             --------1--------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       529
 SUB-EXPRESSION (reg2hw.status.escalated.q ? (tl_gate_resp_pending & sram_compound_txn_in_progress) : 1'b1)
                 ------------1------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       529
 SUB-EXPRESSION (tl_gate_resp_pending & sram_compound_txn_in_progress)
                 ----------1---------   --------------2--------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

Toggle Coverage for Module : sram_ctrl
TotalCoveredPercent
Totals 62 53 85.48
Total Bits 1230 1174 95.45
Total Bits 0->1 615 587 95.45
Total Bits 1->0 615 587 95.45

Ports 62 53 85.48
Port Bits 1230 1174 95.45
Port Bits 0->1 615 587 95.45
Port Bits 1->0 615 587 95.45

Port Details
NameToggleToggle 1->0TestsToggle 0->1TestsDirection
clk_i Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
rst_ni Yes Yes T3,T4,T5 Yes T1,T2,T3 INPUT
clk_otp_i Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
rst_otp_ni Yes Yes T3,T4,T5 Yes T1,T2,T3 INPUT
ram_tl_i.d_ready Yes Yes T2,T3,T4 Yes T1,T2,T3 INPUT
ram_tl_i.a_user.data_intg[6:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
ram_tl_i.a_user.cmd_intg[6:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
ram_tl_i.a_user.instr_type[3:0] Yes Yes T1,T6,T4 Yes T1,T6,T4 INPUT
ram_tl_i.a_user.rsvd[4:0] Unreachable Unreachable Unreachable INPUT
ram_tl_i.a_data[31:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
ram_tl_i.a_mask[3:0] Yes Yes T1,T6,T4 Yes T1,T6,T4 INPUT
ram_tl_i.a_address[31:0] Yes Yes T1,T6,T4 Yes T1,T6,T4 INPUT
ram_tl_i.a_source[7:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
ram_tl_i.a_size[1:0] Yes Yes T1,T6,T4 Yes T1,T6,T4 INPUT
ram_tl_i.a_param[2:0] Unreachable Unreachable Unreachable INPUT
ram_tl_i.a_opcode[2:0] Yes Yes T1,T6,T4 Yes T1,T6,T4 INPUT
ram_tl_i.a_valid Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
ram_tl_o.a_ready Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
ram_tl_o.d_error Yes Yes T1,T2,T3 Yes T1,T3,T6 OUTPUT
ram_tl_o.d_user.data_intg[6:0] Yes Yes T3,T4,T5 Yes T3,T4,T5 OUTPUT
ram_tl_o.d_user.rsp_intg[5:0] Yes Yes T1,*T3,T6 Yes T1,T2,T3 OUTPUT
ram_tl_o.d_user.rsp_intg[6] Unreachable Unreachable Unreachable OUTPUT
ram_tl_o.d_data[31:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 OUTPUT
ram_tl_o.d_sink Unreachable Unreachable Unreachable OUTPUT
ram_tl_o.d_source[7:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 OUTPUT
ram_tl_o.d_size[1:0] Yes Yes T1,T6,T7 Yes T1,T6,T7 OUTPUT
ram_tl_o.d_param[2:0] Unreachable Unreachable Unreachable OUTPUT
ram_tl_o.d_opcode[0] Yes Yes *T1,*T6,*T7 Yes T1,T6,T7 OUTPUT
ram_tl_o.d_opcode[2:1] Unreachable Unreachable Unreachable OUTPUT
ram_tl_o.d_valid Yes Yes T1,T3,T6 Yes T1,T3,T6 OUTPUT
regs_tl_i.d_ready Yes Yes T2,T3,T4 Yes T1,T2,T3 INPUT
regs_tl_i.a_user.data_intg[6:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_user.cmd_intg[6:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_user.instr_type[3:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
regs_tl_i.a_user.rsvd[4:0] Unreachable Unreachable Unreachable INPUT
regs_tl_i.a_data[31:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_mask[3:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_address[31:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_source[7:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_size[1:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_param[2:0] Unreachable Unreachable Unreachable INPUT
regs_tl_i.a_opcode[2:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_valid Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_o.a_ready Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_error Yes Yes T6,T7,T8 Yes T1,T6,T7 OUTPUT
regs_tl_o.d_user.data_intg[6:0] Yes Yes T2,T3,T4 Yes T2,T3,T4 OUTPUT
regs_tl_o.d_user.rsp_intg[5:0] Yes Yes *T1,*T2,*T3 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_user.rsp_intg[6] Unreachable Unreachable Unreachable OUTPUT
regs_tl_o.d_data[31:0] Yes Yes T2,T3,T4 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_sink Unreachable Unreachable Unreachable OUTPUT
regs_tl_o.d_source[7:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_size[1:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_param[2:0] Unreachable Unreachable Unreachable OUTPUT
regs_tl_o.d_opcode[0] Yes Yes *T1,*T2,*T3 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_opcode[2:1] Unreachable Unreachable Unreachable OUTPUT
regs_tl_o.d_valid Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
alert_rx_i[0].ack_n Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
alert_rx_i[0].ack_p Yes Yes T2,T3,T4 Yes T2,T3,T4 INPUT
alert_rx_i[0].ping_n Unreachable Unreachable Unreachable INPUT
alert_rx_i[0].ping_p Unreachable Unreachable Unreachable INPUT
alert_tx_o[0].alert_n Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
alert_tx_o[0].alert_p Yes Yes T2,T3,T4 Yes T2,T3,T4 OUTPUT
lc_escalate_en_i[3:0] No No No INPUT
lc_hw_debug_en_i[3:0] No No No INPUT
otp_en_sram_ifetch_i[7:0] No No No INPUT
sram_otp_key_o.req Yes Yes T3,T4,T5 Yes T3,T4,T5 OUTPUT
sram_otp_key_i.seed_valid Yes Yes T3,T4,T5 Yes T3,T4,T5 INPUT
sram_otp_key_i.nonce[127:0] Yes Yes T3,T4,T5 Yes T3,T4,T5 INPUT
sram_otp_key_i.key[127:0] Yes Yes T3,T4,T5 Yes T3,T4,T5 INPUT
sram_otp_key_i.ack Yes Yes T3,T4,T5 Yes T3,T4,T5 INPUT
cfg_i.rf_cfg.cfg[3:0] No No No INPUT
cfg_i.rf_cfg.cfg_en No No No INPUT
cfg_i.rf_cfg.test No No No INPUT
cfg_i.ram_cfg.cfg[3:0] No No No INPUT
cfg_i.ram_cfg.cfg_en No No No INPUT
cfg_i.ram_cfg.test No No No INPUT

*Tests covering at least one bit in the range

Branch Coverage for Module : sram_ctrl
Line No.TotalCoveredPercent
Branches 24 0 0.00
TERNARY 226 3 0 0.00
TERNARY 284 3 0 0.00
TERNARY 293 2 0 0.00
TERNARY 516 2 0 0.00
TERNARY 517 2 0 0.00
TERNARY 518 2 0 0.00
TERNARY 529 3 0 0.00
IF 230 2 0 0.00
IF 302 5 0 0.00

WARNING: The source file /workspace/default/sim-vcs/../src/lowrisc_ip_sram_ctrl_0.1/rtl/sram_ctrl.sv' or '../src/lowrisc_ip_sram_ctrl_0.1/rtl/sram_ctrl.sv was not found/opened, so annotated branch coverage report could not be generated.

LineNo. Expression -1-: 226 (init_done) ? -2-: 226 (init_trig) ?

Branches:
-1--2-StatusTests
1 - Not Covered
0 1 Not Covered
0 0 Not Covered


LineNo. Expression -1-: 284 (key_req) ? -2-: 284 (key_ack) ?

Branches:
-1--2-StatusTests
1 - Not Covered
0 1 Not Covered
0 0 Not Covered


LineNo. Expression -1-: 293 ((key_ack & (~local_esc))) ?

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 516 (init_req) ?

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 517 (init_req) ?

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 518 (init_req) ?

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 529 (key_req_pending_q) ? -2-: 529 (reg2hw.status.escalated.q) ?

Branches:
-1--2-StatusTests
1 - Not Covered
0 1 Not Covered
0 0 Not Covered


LineNo. Expression -1-: 230 if ((!rst_ni))

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 302 if ((!rst_ni)) -2-: 310 if (key_ack) -3-: 317 if (local_esc)

Branches:
-1--2--3-StatusTests
1 - - Not Covered
0 1 - Not Covered
0 0 - Not Covered
0 - 1 Not Covered
0 - 0 Not Covered

Line Coverage for Instance : tb.dut
Line No.TotalCoveredPercent
TOTAL5400.00
CONT_ASSIGN126100.00
CONT_ASSIGN134100.00
CONT_ASSIGN137100.00
CONT_ASSIGN141100.00
CONT_ASSIGN145100.00
CONT_ASSIGN149100.00
CONT_ASSIGN152100.00
CONT_ASSIGN184100.00
CONT_ASSIGN186100.00
CONT_ASSIGN194100.00
CONT_ASSIGN202100.00
CONT_ASSIGN212100.00
CONT_ASSIGN221100.00
CONT_ASSIGN226100.00
ALWAYS230300.00
CONT_ASSIGN242100.00
CONT_ASSIGN243100.00
CONT_ASSIGN267100.00
CONT_ASSIGN268100.00
CONT_ASSIGN279100.00
CONT_ASSIGN284100.00
CONT_ASSIGN288100.00
CONT_ASSIGN289100.00
CONT_ASSIGN293100.00
CONT_ASSIGN294100.00
CONT_ASSIGN298100.00
CONT_ASSIGN299100.00
ALWAYS3021100.00
CONT_ASSIGN346100.00
CONT_ASSIGN378100.00
CONT_ASSIGN380100.00
CONT_ASSIGN382100.00
CONT_ASSIGN466100.00
CONT_ASSIGN507100.00
CONT_ASSIGN513100.00
CONT_ASSIGN514100.00
CONT_ASSIGN515100.00
CONT_ASSIGN516100.00
CONT_ASSIGN517100.00
CONT_ASSIGN518100.00
CONT_ASSIGN529100.00
CONT_ASSIGN567100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_sram_ctrl_0.1/rtl/sram_ctrl.sv' or '../src/lowrisc_ip_sram_ctrl_0.1/rtl/sram_ctrl.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
126 0 1
134 0 1
137 0 1
141 0 1
145 0 1
149 0 1
152 0 1
184 0 1
186 0 1
194 0 1
202 0 1
212 0 1
221 0 1
226 0 1
230 0 1
231 0 1
233 0 1
242 0 1
243 0 1
267 0 1
268 0 1
279 0 1
284 0 1
288 0 1
289 0 1
293 0 1
294 0 1
298 0 1
299 0 1
302 0 1
303 0 1
306 0 1
307 0 1
309 0 1
310 0 1
311 0 1
312 0 1
==> MISSING_ELSE
317 0 1
318 0 1
319 0 1
==> MISSING_ELSE
346 0 1
378 0 1
380 0 1
382 0 1
466 0 1
507 0 1
513 0 1
514 0 1
515 0 1
516 0 1
517 0 1
518 0 1
529 0 1
567 0 1


Cond Coverage for Instance : tb.dut
TotalCoveredPercent
Conditions9900.00
Logical9900.00
Non-Logical00
Event00

 LINE       134
 EXPRESSION (reg2hw.alert_test.q & reg2hw.alert_test.qe)
             ---------1---------   ----------2---------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       152
 EXPRESSION (((|bus_integ_error)) | init_error | readback_error | sram_alert)
             ----------1---------   -----2----   -------3------   -----4----
-1--2--3--4-StatusTests
0000Not Covered
0001Not Covered
0010Not Covered
0100Not Covered
1000Not Covered

 LINE       194
 EXPRESSION 
 Number  Term
      1  reg2hw.status.escalated.q | 
      2  reg2hw.status.init_error.q | 
      3  reg2hw.status.bus_integ_error.q | 
      4  reg2hw.status.sram_alert.q | 
      5  reg2hw.status.readback_error.q)
-1--2--3--4--5-StatusTests
00000Not Covered
00001Not Covered
00010Not Covered
00100Not Covered
01000Not Covered
10000Not Covered

 LINE       202
 EXPRESSION (escalate | init_error | ((|bus_integ_error)) | sram_alert | readback_error | local_esc_reg)
             ----1---   -----2----   ----------3---------   -----4----   -------5------   ------6------
-1--2--3--4--5--6-StatusTests
000000Not Covered
000001Not Covered
000010Not Covered
000100Not Covered
001000Not Covered
010000Not Covered
100000Not Covered

 LINE       221
 EXPRESSION (reg2hw.ctrl.init.q && reg2hw.ctrl.init.qe && ((!init_q)))
             ---------1--------    ---------2---------    -----3-----
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111Not Covered

 LINE       226
 EXPRESSION (init_done ? 1'b0 : (init_trig ? 1'b1 : init_q))
             ----1----
-1-StatusTests
0Not Covered
1Not Covered

 LINE       226
 SUB-EXPRESSION (init_trig ? 1'b1 : init_q)
                 ----1----
-1-StatusTests
0Not Covered
1Not Covered

 LINE       242
 EXPRESSION (init_q & ((~key_req_pending_q)))
             ---1--   -----------2----------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       243
 EXPRESSION ((init_cnt == 15'((Depth - 1))) & init_req)
             ---------------1--------------   ----2---
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       243
 SUB-EXPRESSION (init_cnt == 15'((Depth - 1)))
                ---------------1--------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       267
 EXPRESSION (init_done & ((~init_trig)) & ((~local_esc)))
             ----1----   -------2------   -------3------
-1--2--3-StatusTestsExclude Annotation
011Not Covered
101Excluded [LOWRISK] we don't issue a new init when there is a unfinished init
110Not Covered
111Not Covered

 LINE       268
 EXPRESSION (init_done | init_trig | local_esc)
             ----1----   ----2----   ----3----
-1--2--3-StatusTests
000Not Covered
001Not Covered
010Not Covered
100Not Covered

 LINE       279
 EXPRESSION (reg2hw.ctrl.renew_scr_key.q && reg2hw.ctrl.renew_scr_key.qe && ((!key_req_pending_q)) && ((!init_q)))
             -------------1-------------    --------------2-------------    -----------3----------    -----4-----
-1--2--3--4-StatusTests
0111Not Covered
1011Not Covered
1101Not Covered
1110Not Covered
1111Not Covered

 LINE       284
 EXPRESSION (key_req ? 1'b1 : (key_ack ? 1'b0 : key_req_pending_q))
             ---1---
-1-StatusTests
0Not Covered
1Not Covered

 LINE       284
 SUB-EXPRESSION (key_ack ? 1'b0 : key_req_pending_q)
                 ---1---
-1-StatusTests
0Not Covered
1Not Covered

 LINE       288
 EXPRESSION (key_ack & ((~key_req)) & ((~local_esc)))
             ---1---   ------2-----   -------3------
-1--2--3-StatusTestsExclude Annotation
011Not Covered
101Excluded [UNSUPPORTED] ACK can't come without REQ
110Not Covered
111Not Covered

 LINE       289
 EXPRESSION (key_req | key_ack | local_esc)
             ---1---   ---2---   ----3----
-1--2--3-StatusTests
000Not Covered
001Not Covered
010Not Covered
100Not Covered

 LINE       293
 EXPRESSION ((key_ack & ((~local_esc))) ? MuBi4True : MuBi4False)
             -------------1------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       293
 SUB-EXPRESSION (key_ack & ((~local_esc)))
                 ---1---   -------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       294
 EXPRESSION (key_ack | local_esc)
             ---1---   ----2----
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       298
 EXPRESSION (key_seed_valid & ((~local_esc)))
             -------1------   -------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       299
 EXPRESSION (key_ack | local_esc)
             ---1---   ----2----
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       507
 EXPRESSION (tlul_req | init_req)
             ----1---   ----2---
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       513
 EXPRESSION (key_valid & ((~init_req)))
             ----1----   ------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       514
 EXPRESSION (tlul_we | init_req)
             ---1---   ----2---
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       515
 EXPRESSION (((|bus_integ_error[2:1])) & ((~init_req)))
             ------------1------------   ------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       516
 EXPRESSION (init_req ? init_cnt : tlul_addr)
             ----1---
-1-StatusTests
0Not Covered
1Not Covered

 LINE       517
 EXPRESSION (init_req ? lfsr_out_integ : tlul_wdata)
             ----1---
-1-StatusTests
0Not Covered
1Not Covered

 LINE       518
 EXPRESSION (init_req ? ({sram_ctrl_pkg::DataWidth {1'b1}}) : tlul_wmask)
             ----1---
-1-StatusTests
0Not Covered
1Not Covered

 LINE       529
 EXPRESSION (key_req_pending_q ? 1'b0 : (reg2hw.status.escalated.q ? (tl_gate_resp_pending & sram_compound_txn_in_progress) : 1'b1))
             --------1--------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       529
 SUB-EXPRESSION (reg2hw.status.escalated.q ? (tl_gate_resp_pending & sram_compound_txn_in_progress) : 1'b1)
                 ------------1------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       529
 SUB-EXPRESSION (tl_gate_resp_pending & sram_compound_txn_in_progress)
                 ----------1---------   --------------2--------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

Toggle Coverage for Instance : tb.dut
TotalCoveredPercent
Totals 62 53 85.48
Total Bits 1230 1174 95.45
Total Bits 0->1 615 587 95.45
Total Bits 1->0 615 587 95.45

Ports 62 53 85.48
Port Bits 1230 1174 95.45
Port Bits 0->1 615 587 95.45
Port Bits 1->0 615 587 95.45

Port Details
NameToggleToggle 1->0TestsToggle 0->1TestsDirection
clk_i Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
rst_ni Yes Yes T3,T4,T5 Yes T1,T2,T3 INPUT
clk_otp_i Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
rst_otp_ni Yes Yes T3,T4,T5 Yes T1,T2,T3 INPUT
ram_tl_i.d_ready Yes Yes T2,T3,T4 Yes T1,T2,T3 INPUT
ram_tl_i.a_user.data_intg[6:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
ram_tl_i.a_user.cmd_intg[6:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
ram_tl_i.a_user.instr_type[3:0] Yes Yes T1,T6,T4 Yes T1,T6,T4 INPUT
ram_tl_i.a_user.rsvd[4:0] Unreachable Unreachable Unreachable INPUT
ram_tl_i.a_data[31:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
ram_tl_i.a_mask[3:0] Yes Yes T1,T6,T4 Yes T1,T6,T4 INPUT
ram_tl_i.a_address[31:0] Yes Yes T1,T6,T4 Yes T1,T6,T4 INPUT
ram_tl_i.a_source[7:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
ram_tl_i.a_size[1:0] Yes Yes T1,T6,T4 Yes T1,T6,T4 INPUT
ram_tl_i.a_param[2:0] Unreachable Unreachable Unreachable INPUT
ram_tl_i.a_opcode[2:0] Yes Yes T1,T6,T4 Yes T1,T6,T4 INPUT
ram_tl_i.a_valid Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
ram_tl_o.a_ready Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
ram_tl_o.d_error Yes Yes T1,T2,T3 Yes T1,T3,T6 OUTPUT
ram_tl_o.d_user.data_intg[6:0] Yes Yes T3,T4,T5 Yes T3,T4,T5 OUTPUT
ram_tl_o.d_user.rsp_intg[5:0] Yes Yes T1,*T3,T6 Yes T1,T2,T3 OUTPUT
ram_tl_o.d_user.rsp_intg[6] Unreachable Unreachable Unreachable OUTPUT
ram_tl_o.d_data[31:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 OUTPUT
ram_tl_o.d_sink Unreachable Unreachable Unreachable OUTPUT
ram_tl_o.d_source[7:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 OUTPUT
ram_tl_o.d_size[1:0] Yes Yes T1,T6,T7 Yes T1,T6,T7 OUTPUT
ram_tl_o.d_param[2:0] Unreachable Unreachable Unreachable OUTPUT
ram_tl_o.d_opcode[0] Yes Yes *T1,*T6,*T7 Yes T1,T6,T7 OUTPUT
ram_tl_o.d_opcode[2:1] Unreachable Unreachable Unreachable OUTPUT
ram_tl_o.d_valid Yes Yes T1,T3,T6 Yes T1,T3,T6 OUTPUT
regs_tl_i.d_ready Yes Yes T2,T3,T4 Yes T1,T2,T3 INPUT
regs_tl_i.a_user.data_intg[6:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_user.cmd_intg[6:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_user.instr_type[3:0] Yes Yes T1,T3,T6 Yes T1,T3,T6 INPUT
regs_tl_i.a_user.rsvd[4:0] Unreachable Unreachable Unreachable INPUT
regs_tl_i.a_data[31:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_mask[3:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_address[31:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_source[7:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_size[1:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_param[2:0] Unreachable Unreachable Unreachable INPUT
regs_tl_i.a_opcode[2:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_i.a_valid Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
regs_tl_o.a_ready Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_error Yes Yes T6,T7,T8 Yes T1,T6,T7 OUTPUT
regs_tl_o.d_user.data_intg[6:0] Yes Yes T2,T3,T4 Yes T2,T3,T4 OUTPUT
regs_tl_o.d_user.rsp_intg[5:0] Yes Yes *T1,*T2,*T3 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_user.rsp_intg[6] Unreachable Unreachable Unreachable OUTPUT
regs_tl_o.d_data[31:0] Yes Yes T2,T3,T4 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_sink Unreachable Unreachable Unreachable OUTPUT
regs_tl_o.d_source[7:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_size[1:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_param[2:0] Unreachable Unreachable Unreachable OUTPUT
regs_tl_o.d_opcode[0] Yes Yes *T1,*T2,*T3 Yes T1,T2,T3 OUTPUT
regs_tl_o.d_opcode[2:1] Unreachable Unreachable Unreachable OUTPUT
regs_tl_o.d_valid Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
alert_rx_i[0].ack_n Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
alert_rx_i[0].ack_p Yes Yes T2,T3,T4 Yes T2,T3,T4 INPUT
alert_rx_i[0].ping_n Unreachable Unreachable Unreachable INPUT
alert_rx_i[0].ping_p Unreachable Unreachable Unreachable INPUT
alert_tx_o[0].alert_n Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
alert_tx_o[0].alert_p Yes Yes T2,T3,T4 Yes T2,T3,T4 OUTPUT
lc_escalate_en_i[3:0] No No No INPUT
lc_hw_debug_en_i[3:0] No No No INPUT
otp_en_sram_ifetch_i[7:0] No No No INPUT
sram_otp_key_o.req Yes Yes T3,T4,T5 Yes T3,T4,T5 OUTPUT
sram_otp_key_i.seed_valid Yes Yes T3,T4,T5 Yes T3,T4,T5 INPUT
sram_otp_key_i.nonce[127:0] Yes Yes T3,T4,T5 Yes T3,T4,T5 INPUT
sram_otp_key_i.key[127:0] Yes Yes T3,T4,T5 Yes T3,T4,T5 INPUT
sram_otp_key_i.ack Yes Yes T3,T4,T5 Yes T3,T4,T5 INPUT
cfg_i.rf_cfg.cfg[3:0] No No No INPUT
cfg_i.rf_cfg.cfg_en No No No INPUT
cfg_i.rf_cfg.test No No No INPUT
cfg_i.ram_cfg.cfg[3:0] No No No INPUT
cfg_i.ram_cfg.cfg_en No No No INPUT
cfg_i.ram_cfg.test No No No INPUT

*Tests covering at least one bit in the range

Branch Coverage for Instance : tb.dut
Line No.TotalCoveredPercent
Branches 24 0 0.00
TERNARY 226 3 0 0.00
TERNARY 284 3 0 0.00
TERNARY 293 2 0 0.00
TERNARY 516 2 0 0.00
TERNARY 517 2 0 0.00
TERNARY 518 2 0 0.00
TERNARY 529 3 0 0.00
IF 230 2 0 0.00
IF 302 5 0 0.00

WARNING: The source file /workspace/default/sim-vcs/../src/lowrisc_ip_sram_ctrl_0.1/rtl/sram_ctrl.sv' or '../src/lowrisc_ip_sram_ctrl_0.1/rtl/sram_ctrl.sv was not found/opened, so annotated branch coverage report could not be generated.

LineNo. Expression -1-: 226 (init_done) ? -2-: 226 (init_trig) ?

Branches:
-1--2-StatusTests
1 - Not Covered
0 1 Not Covered
0 0 Not Covered


LineNo. Expression -1-: 284 (key_req) ? -2-: 284 (key_ack) ?

Branches:
-1--2-StatusTests
1 - Not Covered
0 1 Not Covered
0 0 Not Covered


LineNo. Expression -1-: 293 ((key_ack & (~local_esc))) ?

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 516 (init_req) ?

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 517 (init_req) ?

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 518 (init_req) ?

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 529 (key_req_pending_q) ? -2-: 529 (reg2hw.status.escalated.q) ?

Branches:
-1--2-StatusTests
1 - Not Covered
0 1 Not Covered
0 0 Not Covered


LineNo. Expression -1-: 230 if ((!rst_ni))

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 302 if ((!rst_ni)) -2-: 310 if (key_ack) -3-: 317 if (local_esc)

Branches:
-1--2--3-StatusTests
1 - - Not Covered
0 1 - Not Covered
0 0 - Not Covered
0 - 1 Not Covered
0 - 0 Not Covered

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%