NVC code coverage report

Hierarchy

Instance: CTU_CAN_FD_TB.TB_TOP_CTU_CAN_FD.I_DUT.I_MAC_TOP.I_MAC_OPERATION_CONTROL

File:  /__w/CTU-CAN-FD/CTU-CAN-FD/src/medium_access_control/mac_top.vhd


Current Instance Statement Branch Toggle Expression FSM state Functional Average
CTU_CAN_FD_TB.TB_TOP_CTU_CAN_FD.I_DUT.I_MAC_TOP.I_MAC_OPERATION_CONTROL 100.0 % (28/28) 100.0 % (32/32) 100.0 % (24/24) 100.0 % (32/32) 100.0 % (8/8) N.A. 100.0 % (124/124)

Details:

The limit of printed items was reached (5000). Total 260336 items are not displayed.


Statement Branch Toggle Expression FSM state Functional

Uncovered statements:

Excluded statements:

Covered statements:

If statement on lines 151 to 153:

151:    go_to_off <= '1' when (is_bus_off = '1') and (rx_trigger = '1') 
152:                     else 
153:                 '0'; 

Count: 20820196
Threshold: 1

Signal assignment statement on line 151:

151:    go_to_off <= '1' when (is_bus_off = '1') and (rx_trigger = '1') 
Count: 319332
Threshold: 1

Signal assignment statement on line 153:

153:                 '0'
Count: 20500864
Threshold: 1

Signal assignment statement on line 161:

161:        next_state <= curr_state; 
Count: 1082729
Threshold: 1

Sequential statement on lines 163 to 193:

163:        case curr_state is 
164:        when s_oc_off => 
...
192:            end if; 
193:        end case; 

Count: 1082729
Threshold: 1

If statement on lines 165 to 167:

165:            if (set_idle = '1') then 
166:                next_state <= s_oc_idle; 
167:            end if; 

Count: 643379
Threshold: 1

Signal assignment statement on line 166:

166:                next_state <= s_oc_idle; 
Count: 6639
Threshold: 1

If statement on lines 170 to 176:

170:            if (go_to_off = '1') then 
171:                next_state <= s_oc_off; 
...
175:                next_state <= s_oc_receiver; 
176:            end if; 

Count: 170780
Threshold: 1

Signal assignment statement on line 171:

171:                next_state <= s_oc_off; 
Count: 6770
Threshold: 1

Signal assignment statement on line 173:

173:                next_state <= s_oc_transmitter; 
Count: 20039
Threshold: 1

Signal assignment statement on line 175:

175:                next_state <= s_oc_receiver; 
Count: 30051
Threshold: 1

If statement on lines 179 to 185:

179:            if (go_to_off = '1') then 
180:                next_state <= s_oc_off; 
...
184:                next_state <= s_oc_receiver; 
185:            end if; 

Count: 121340
Threshold: 1

Signal assignment statement on line 180:

180:                next_state <= s_oc_off; 
Count: 112
Threshold: 1

Signal assignment statement on line 182:

182:                next_state <= s_oc_idle; 
Count: 29498
Threshold: 1

Signal assignment statement on line 184:

184:                next_state <= s_oc_receiver; 
Count: 1175
Threshold: 1

If statement on lines 188 to 192:

188:            if (set_idle = '1') then 
189:                next_state <= s_oc_idle; 
190:            elsif (set_transmitter = '1') then 
191:                next_state <= s_oc_transmitter; 
192:            end if; 

Count: 147230
Threshold: 1

Signal assignment statement on line 189:

189:                next_state <= s_oc_idle; 
Count: 56670
Threshold: 1

Signal assignment statement on line 191:

191:                next_state <= s_oc_transmitter; 
Count: 1067
Threshold: 1

Signal assignment statement on line 202:

202:        is_idle <= '0'; 
Count: 115760
Threshold: 1

Signal assignment statement on line 203:

203:        is_transmitter <= '0'; 
Count: 115760
Threshold: 1

Signal assignment statement on line 204:

204:        is_receiver <= '0'; 
Count: 115760
Threshold: 1

Sequential statement on lines 206 to 214:

206:        case curr_state is 
207:        when s_oc_off => 
...
213:            is_receiver <= '1'; 
214:        end case; 

Count: 115760
Threshold: 1

Signal assignment statement on line 209:

209:            is_idle <= '1'; 
Count: 56100
Threshold: 1

Signal assignment statement on line 211:

211:            is_transmitter <= '1'; 
Count: 20560
Threshold: 1

Signal assignment statement on line 213:

213:            is_receiver <= '1'; 
Count: 30873
Threshold: 1

If statement on lines 222 to 226:

222:        if (rst_n = '0') then 
223:            curr_state <= s_oc_off; 
224:        elsif (rising_edge(clk_sys)) then 
225:            curr_state <= next_state; 
226:        end if; 

Count: 1096781321
Threshold: 1

Signal assignment statement on line 223:

223:            curr_state <= s_oc_off; 
Count: 2422674
Threshold: 1

Signal assignment statement on line 225:

225:            curr_state <= next_state; 
Count: 547174334
Threshold: 1

Uncovered branches:

Excluded branches:

Covered branches:

"if" / "when" / "else" condition on line 151:

151:    go_to_off <= '1' when (is_bus_off = '1') and (rx_trigger = '1') 
Evaluated toCountThreshold
BinTrue3193321
BinFalse205008641

"case" / "with" / "select" choice on line 164:

164:        when s_oc_off => 
Choice ofCountThreshold
Bins_oc_off6433791

"if" / "when" / "else" condition on line 165:

165:            if (set_idle = '1') then 
Evaluated toCountThreshold
BinTrue66391
BinFalse6367401

"case" / "with" / "select" choice on line 169:

169:        when s_oc_idle => 
Choice ofCountThreshold
Bins_oc_idle1707801

"if" / "when" / "else" condition on line 170:

170:            if (go_to_off = '1') then 
Evaluated toCountThreshold
BinTrue67701
BinFalse1640101

"if" / "when" / "else" condition on line 172:

172:            elsif (set_transmitter = '1') then 
Evaluated toCountThreshold
BinTrue200391
BinFalse1439711

"if" / "when" / "else" condition on line 174:

174:            elsif (set_receiver = '1') then 
Evaluated toCountThreshold
BinTrue300511
BinFalse1139201

"case" / "with" / "select" choice on line 178:

178:        when s_oc_transmitter => 
Choice ofCountThreshold
Bins_oc_transmitter1213401

"if" / "when" / "else" condition on line 179:

179:            if (go_to_off = '1') then 
Evaluated toCountThreshold
BinTrue1121
BinFalse1212281

"if" / "when" / "else" condition on line 181:

181:            elsif (set_idle = '1') then 
Evaluated toCountThreshold
BinTrue294981
BinFalse917301

"if" / "when" / "else" condition on line 183:

183:            elsif (set_receiver = '1' or arbitration_lost = '1') then 
Evaluated toCountThreshold
BinTrue11751
BinFalse905551

"case" / "with" / "select" choice on line 187:

187:        when s_oc_receiver => 
Choice ofCountThreshold
Bins_oc_receiver1472301

"if" / "when" / "else" condition on line 188:

188:            if (set_idle = '1') then 
Evaluated toCountThreshold
BinTrue566701
BinFalse905601

"if" / "when" / "else" condition on line 190:

190:            elsif (set_transmitter = '1') then 
Evaluated toCountThreshold
BinTrue10671
BinFalse894931

"case" / "with" / "select" choice on line 207:

207:        when s_oc_off => 
Choice ofCountThreshold
Bins_oc_off82271

"case" / "with" / "select" choice on line 208:

208:        when s_oc_idle => 
Choice ofCountThreshold
Bins_oc_idle561001

"case" / "with" / "select" choice on line 210:

210:        when s_oc_transmitter => 
Choice ofCountThreshold
Bins_oc_transmitter205601

"case" / "with" / "select" choice on line 212:

212:        when s_oc_receiver => 
Choice ofCountThreshold
Bins_oc_receiver308731

"if" / "when" / "else" condition on line 222:

222:        if (rst_n = '0') then 
Evaluated toCountThreshold
BinTrue24226741
BinFalse10943586471

"if" / "when" / "else" condition on line 224:

224:        elsif (rising_edge(clk_sys)) then 
Evaluated toCountThreshold
BinTrue5471743341
BinFalse5471843131

Uncovered toggles:

Excluded toggles:

Port:

 CLK_SYS
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 RST_N
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 RX_TRIGGER
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 IS_BUS_OFF
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 ARBITRATION_LOST
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 SET_TRANSMITTER
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 SET_RECEIVER
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 SET_IDLE
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Covered toggles:

Port:

 IS_TRANSMITTER
FromToCountThreshold
Bin01205601
Bin10221611

Port:

 IS_RECEIVER
FromToCountThreshold
Bin01308731
Bin10324671

Port:

 IS_IDLE
FromToCountThreshold
Bin01561001
Bin10576971

Signal:

 GO_TO_OFF
FromToCountThreshold
Bin013193321
Bin103209331

Uncovered expressions:

Excluded expressions:

Covered expressions:

"and" expression on line 151:

 (is_bus_off = '1') and (rx_trigger = '1') 
  <-----LHS------>       <-----RHS------>  

LHSRHSCountThreshold
BinFalseTrue100885481
BinTrueFalse3207441
BinTrueTrue3193321

"=" expression on line 151:

 is_bus_off = '1' 
Evaluated toCountThreshold
BinFalse201801201
BinTrue6400761

"=" expression on line 151:

 rx_trigger = '1' 
Evaluated toCountThreshold
BinFalse104123161
BinTrue104078801

"=" expression on line 165:

 set_idle = '1' 
Evaluated toCountThreshold
BinFalse6367401
BinTrue66391

"=" expression on line 170:

 go_to_off = '1' 
Evaluated toCountThreshold
BinFalse1640101
BinTrue67701

"=" expression on line 172:

 set_transmitter = '1' 
Evaluated toCountThreshold
BinFalse1439711
BinTrue200391

"=" expression on line 174:

 set_receiver = '1' 
Evaluated toCountThreshold
BinFalse1139201
BinTrue300511

"=" expression on line 179:

 go_to_off = '1' 
Evaluated toCountThreshold
BinFalse1212281
BinTrue1121

"=" expression on line 181:

 set_idle = '1' 
Evaluated toCountThreshold
BinFalse917301
BinTrue294981

"or" expression on line 183:

 set_receiver = '1' or arbitration_lost = '1' 
 <------LHS------->    <--------RHS---------> 

LHSRHSCountThreshold
BinFalseFalse905551
BinFalseTrue10661
BinTrueFalse1091

"=" expression on line 183:

 set_receiver = '1' 
Evaluated toCountThreshold
BinFalse916211
BinTrue1091

"=" expression on line 183:

 arbitration_lost = '1' 
Evaluated toCountThreshold
BinFalse906641
BinTrue10661

"=" expression on line 188:

 set_idle = '1' 
Evaluated toCountThreshold
BinFalse905601
BinTrue566701

"=" expression on line 190:

 set_transmitter = '1' 
Evaluated toCountThreshold
BinFalse894931
BinTrue10671

"=" expression on line 222:

 rst_n = '0' 
Evaluated toCountThreshold
BinFalse10943586471
BinTrue24226741

Uncovered FSM states:

Excluded FSM states:

Covered FSM states:

"T_OPERATION_CONTROL_STATE" FSM on line 138:

138:    signal curr_state : t_operation_control_state; 
StateCountThreshold
BinS_OC_OFF82271
BinS_OC_IDLE561001
BinS_OC_TRANSMITTER205601
BinS_OC_RECEIVER308731

"T_OPERATION_CONTROL_STATE" FSM on line 139:

139:    signal next_state : t_operation_control_state; 
StateCountThreshold
BinS_OC_OFF148661
BinS_OC_IDLE994671
BinS_OC_TRANSMITTER317361
BinS_OC_RECEIVER581751

Uncovered functional coverage:

Excluded functional coverage:

Covered functional coverage: