NVC code coverage report

Hierarchy

Instance: CTU_CAN_FD_TB.TB_TOP_CTU_CAN_FD.I_DUT.I_RXB_TOP.I_RXB_FSM

File:  /__w/CTU-CAN-FD/CTU-CAN-FD/src/rx_buffer/rxb_top.vhd

Nested Instances Statement Branch Toggle Expression FSM state Functional Average
ASSERTIONS_BLOCK 100.0 % (1/1) N.A. 100.0 % (8/8) N.A. N.A. 100.0 % (3/3) 100.0 % (12/12)

Current Instance Statement Branch Toggle Expression FSM state Functional Average
CTU_CAN_FD_TB.TB_TOP_CTU_CAN_FD.I_DUT.I_RXB_TOP.I_RXB_FSM 100.0 % (68/68) 100.0 % (50/50) 100.0 % (40/40) 100.0 % (29/29) 100.0 % (24/24) N.A. 100.0 % (211/211)

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:

Signal assignment statement on line 164:

164:        next_state <= curr_state; 
Count: 332446
Threshold: 1

Sequential statement on lines 166 to 266:

166:        case curr_state is 
167: 
...
265: 
266:        end case; 

Count: 332446
Threshold: 1

If statement on lines 172 to 176:

172:            if (store_metadata_f = '1') then 
173:                next_state <= s_rxb_store_frame_format; 
174:            elsif (mr_mode_erfm = ERFM_ENABLED and rec_abort_f = '1') then 
175:                next_state <= s_rxb_store_err_frame_format; 
176:            end if; 

Count: 107461
Threshold: 1

Signal assignment statement on line 173:

173:                next_state <= s_rxb_store_frame_format; 
Count: 26339
Threshold: 1

Signal assignment statement on line 175:

175:                next_state <= s_rxb_store_err_frame_format; 
Count: 318
Threshold: 1

If statement on lines 182 to 190:

182:            if (rec_abort_f = '1') then 
183:                if (mr_mode_erfm = ERFM_ENABLED) then 
...
189:                next_state <= s_rxb_store_identifier; 
190:            end if; 

Count: 52678
Threshold: 1

If statement on lines 183 to 187:

183:                if (mr_mode_erfm = ERFM_ENABLED) then 
184:                    next_state <= s_rxb_store_err_frame_format; 
185:                else 
186:                    next_state <= s_rxb_idle; 
187:                end if; 

Count: 9
Threshold: 1

Signal assignment statement on line 184:

184:                    next_state <= s_rxb_store_err_frame_format; 
Count: 5
Threshold: 1

Signal assignment statement on line 186:

186:                    next_state <= s_rxb_idle; 
Count: 4
Threshold: 1

Signal assignment statement on line 189:

189:                next_state <= s_rxb_store_identifier; 
Count: 52669
Threshold: 1

Signal assignment statement on line 199:

199:            next_state <= s_rxb_skip_ts_low; 
Count: 26330
Threshold: 1

Signal assignment statement on line 205:

205:            next_state <= s_rxb_skip_ts_high; 
Count: 26330
Threshold: 1

Signal assignment statement on line 211:

211:            next_state <= s_rxb_store_data; 
Count: 26330
Threshold: 1

If statement on lines 219 to 228:

219:            if (rec_abort_f = '1') then 
220:                if (mr_mode_erfm = ERFM_ENABLED) then 
...
227:                next_state <= s_rxb_store_end_ts_low; 
228:            end if; 

Count: 52660
Threshold: 1

If statement on lines 220 to 224:

220:                if (mr_mode_erfm = ERFM_ENABLED) then 
221:                    next_state <= s_rxb_store_err_frame_format; 
222:                else 
223:                    next_state <= s_rxb_idle; 
224:                end if; 

Count: 13341
Threshold: 1

Signal assignment statement on line 221:

221:                    next_state <= s_rxb_store_err_frame_format; 
Count: 15
Threshold: 1

Signal assignment statement on line 223:

223:                    next_state <= s_rxb_idle; 
Count: 13326
Threshold: 1

Signal assignment statement on line 227:

227:                next_state <= s_rxb_store_end_ts_low; 
Count: 12989
Threshold: 1

Signal assignment statement on line 234:

234:            next_state <= s_rxb_store_end_ts_high; 
Count: 25978
Threshold: 1

Signal assignment statement on line 240:

240:            next_state <= s_rxb_idle; 
Count: 12989
Threshold: 1

Signal assignment statement on line 246:

246:            next_state <= s_rxb_store_err_identifier; 
Count: 676
Threshold: 1

Signal assignment statement on line 252:

252:            next_state <= s_rxb_store_err_ts_low; 
Count: 338
Threshold: 1

Signal assignment statement on line 258:

258:            next_state <= s_rxb_store_err_ts_high; 
Count: 338
Threshold: 1

Signal assignment statement on line 264:

264:            next_state <= s_rxb_idle; 
Count: 338
Threshold: 1

Signal assignment statement on line 275:

275:        write_raw_intent <= '0'; 
Count: 423235
Threshold: 1

Signal assignment statement on line 276:

276:        select_ts_wptr <= '0'; 
Count: 423235
Threshold: 1

Signal assignment statement on line 277:

277:        data_selector <= (others => '0'); 
Count: 423235
Threshold: 1

Signal assignment statement on line 278:

278:        commit_intent <= '0'; 
Count: 423235
Threshold: 1

Signal assignment statement on line 279:

279:        store_ts_wr_ptr <= '0'; 
Count: 423235
Threshold: 1

Signal assignment statement on line 280:

280:        inc_ts_wr_ptr <= '0'; 
Count: 423235
Threshold: 1

Signal assignment statement on line 281:

281:        reset_overrun_flag <= '0'; 
Count: 423235
Threshold: 1

Signal assignment statement on line 282:

282:        rec_erf <= '0'; 
Count: 423235
Threshold: 1

Sequential statement on lines 284 to 355:

284:        case curr_state is 
285:        when s_rxb_idle => 
...
354:            commit_intent <= '1'; 
355:        end case; 

Count: 423235
Threshold: 1

Signal assignment statement on line 286:

286:            reset_overrun_flag <= '1'; 
Count: 79215
Threshold: 1

If statement on lines 289 to 291:

289:            if (rec_abort_f = '0') then 
290:                write_raw_intent <= '1'; 
291:            end if; 

Count: 26348
Threshold: 1

Signal assignment statement on line 290:

290:                write_raw_intent <= '1'; 
Count: 26339
Threshold: 1

Signal assignment statement on line 292:

292:            data_selector <= "00001"; 
Count: 26348
Threshold: 1

Signal assignment statement on line 295:

295:            write_raw_intent <= '1'; 
Count: 26330
Threshold: 1

Signal assignment statement on line 296:

296:            data_selector <= "00010"; 
Count: 26330
Threshold: 1

Signal assignment statement on line 299:

299:            write_raw_intent <= '1'; 
Count: 26330
Threshold: 1

Signal assignment statement on line 303:

303:            store_ts_wr_ptr <= '1'; 
Count: 26330
Threshold: 1

Signal assignment statement on line 306:

306:            write_raw_intent <= '1'; 
Count: 26330
Threshold: 1

Signal assignment statement on line 309:

309:            data_selector <= "00100"; 
Count: 211014
Threshold: 1

If statement on lines 311 to 313:

311:            if (store_data_f = '1') then 
312:                write_raw_intent <= '1'; 
313:            end if; 

Count: 211014
Threshold: 1

Signal assignment statement on line 312:

312:                write_raw_intent <= '1'; 
Count: 85674
Threshold: 1

Signal assignment statement on line 316:

316:            data_selector <= "01000"; 
Count: 12989
Threshold: 1

Signal assignment statement on line 321:

321:            select_ts_wptr <= '1'; 
Count: 12989
Threshold: 1

Signal assignment statement on line 325:

325:            inc_ts_wr_ptr <= '1'; 
Count: 12989
Threshold: 1

Signal assignment statement on line 328:

328:            data_selector <= "10000"; 
Count: 12989
Threshold: 1

Signal assignment statement on line 333:

333:            select_ts_wptr <= '1'; 
Count: 12989
Threshold: 1

Signal assignment statement on line 335:

335:            commit_intent <= '1'; 
Count: 12989
Threshold: 1

Signal assignment statement on line 338:

338:            write_raw_intent <= '1'; 
Count: 676
Threshold: 1

Signal assignment statement on line 339:

339:            data_selector <= "00001"; 
Count: 676
Threshold: 1

Signal assignment statement on line 340:

340:            rec_erf <= '1'; 
Count: 676
Threshold: 1

Signal assignment statement on line 343:

343:            write_raw_intent <= '1'; 
Count: 338
Threshold: 1

Signal assignment statement on line 344:

344:            data_selector <= "00010"; 
Count: 338
Threshold: 1

Signal assignment statement on line 347:

347:            write_raw_intent <= '1'; 
Count: 338
Threshold: 1

Signal assignment statement on line 348:

348:            data_selector <= "01000"; 
Count: 338
Threshold: 1

Signal assignment statement on line 351:

351:            write_raw_intent <= '1'; 
Count: 338
Threshold: 1

Signal assignment statement on line 352:

352:            data_selector <= "10000"; 
Count: 338
Threshold: 1

Signal assignment statement on line 354:

354:            commit_intent <= '1'; 
Count: 338
Threshold: 1

If statement on lines 365 to 371:

365:        if (rst_n = '0') then 
366:            curr_state <= s_rxb_idle; 
...
370:            end if; 
371:        end if; 

Count: 1096781321
Threshold: 1

Signal assignment statement on line 366:

366:            curr_state <= s_rxb_idle; 
Count: 2422674
Threshold: 1

If statement on lines 368 to 370:

368:            if (rx_fsm_ce = '1') then 
369:                curr_state <= next_state; 
370:            end if; 

Count: 547174334
Threshold: 1

Signal assignment statement on line 369:

369:                curr_state <= next_state; 
Count: 185646
Threshold: 1

If statement on lines 375 to 376:

375:    rx_fsm_ce <= '1' when (next_state /= curr_state) else 
376:                 '0'; 

Count: 372902
Threshold: 1

Signal assignment statement on line 375:

375:    rx_fsm_ce <= '1' when (next_state /= curr_state) else 
Count: 185655
Threshold: 1

Signal assignment statement on line 376:

376:                 '0'
Count: 187247
Threshold: 1

Uncovered branches:

Excluded branches:

Covered branches:

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

171:        when s_rxb_idle => 
Choice ofCountThreshold
Bins_rxb_idle1074611

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

172:            if (store_metadata_f = '1') then 
Evaluated toCountThreshold
BinTrue263391
BinFalse811221

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

174:            elsif (mr_mode_erfm = ERFM_ENABLED and rec_abort_f = '1') then 
Evaluated toCountThreshold
BinTrue3181
BinFalse808041

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

181:        when s_rxb_store_frame_format => 
Choice ofCountThreshold
Bins_rxb_store_frame_format526781

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

182:            if (rec_abort_f = '1') then 
Evaluated toCountThreshold
BinTrue91
BinFalse526691

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

183:                if (mr_mode_erfm = ERFM_ENABLED) then 
Evaluated toCountThreshold
BinTrue51
BinFalse41

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

198:        when s_rxb_store_identifier => 
Choice ofCountThreshold
Bins_rxb_store_identifier263301

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

204:        when s_rxb_skip_ts_low => 
Choice ofCountThreshold
Bins_rxb_skip_ts_low263301

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

210:        when s_rxb_skip_ts_high => 
Choice ofCountThreshold
Bins_rxb_skip_ts_high263301

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

218:        when s_rxb_store_data => 
Choice ofCountThreshold
Bins_rxb_store_data526601

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

219:            if (rec_abort_f = '1') then 
Evaluated toCountThreshold
BinTrue133411
BinFalse393191

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

220:                if (mr_mode_erfm = ERFM_ENABLED) then 
Evaluated toCountThreshold
BinTrue151
BinFalse133261

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

226:            elsif (rec_valid_f = '1') then 
Evaluated toCountThreshold
BinTrue129891
BinFalse263301

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

233:        when s_rxb_store_end_ts_low => 
Choice ofCountThreshold
Bins_rxb_store_end_ts_low259781

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

239:        when s_rxb_store_end_ts_high => 
Choice ofCountThreshold
Bins_rxb_store_end_ts_high129891

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

245:        when s_rxb_store_err_frame_format => 
Choice ofCountThreshold
Bins_rxb_store_err_frame_format6761

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

251:        when s_rxb_store_err_identifier => 
Choice ofCountThreshold
Bins_rxb_store_err_identifier3381

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

257:        when s_rxb_store_err_ts_low => 
Choice ofCountThreshold
Bins_rxb_store_err_ts_low3381

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

263:        when s_rxb_store_err_ts_high => 
Choice ofCountThreshold
Bins_rxb_store_err_ts_high3381

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

285:        when s_rxb_idle => 
Choice ofCountThreshold
Bins_rxb_idle792151

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

288:        when s_rxb_store_frame_format => 
Choice ofCountThreshold
Bins_rxb_store_frame_format263481

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

289:            if (rec_abort_f = '0') then 
Evaluated toCountThreshold
BinTrue263391
BinFalse91

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

294:        when s_rxb_store_identifier => 
Choice ofCountThreshold
Bins_rxb_store_identifier263301

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

298:        when s_rxb_skip_ts_low => 
Choice ofCountThreshold
Bins_rxb_skip_ts_low263301

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

305:        when s_rxb_skip_ts_high => 
Choice ofCountThreshold
Bins_rxb_skip_ts_high263301

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

308:        when s_rxb_store_data => 
Choice ofCountThreshold
Bins_rxb_store_data2110141

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

311:            if (store_data_f = '1') then 
Evaluated toCountThreshold
BinTrue856741
BinFalse1253401

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

315:        when s_rxb_store_end_ts_low => 
Choice ofCountThreshold
Bins_rxb_store_end_ts_low129891

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

327:        when s_rxb_store_end_ts_high => 
Choice ofCountThreshold
Bins_rxb_store_end_ts_high129891

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

337:        when s_rxb_store_err_frame_format => 
Choice ofCountThreshold
Bins_rxb_store_err_frame_format6761

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

342:        when s_rxb_store_err_identifier => 
Choice ofCountThreshold
Bins_rxb_store_err_identifier3381

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

346:        when s_rxb_store_err_ts_low => 
Choice ofCountThreshold
Bins_rxb_store_err_ts_low3381

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

350:        when s_rxb_store_err_ts_high => 
Choice ofCountThreshold
Bins_rxb_store_err_ts_high3381

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

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

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

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

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

368:            if (rx_fsm_ce = '1') then 
Evaluated toCountThreshold
BinTrue1856461
BinFalse5469886881

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

375:    rx_fsm_ce <= '1' when (next_state /= curr_state) else 
Evaluated toCountThreshold
BinTrue1856551
BinFalse1872471

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:

 MR_MODE_ERFM
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 STORE_METADATA_F
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 STORE_DATA_F
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 REC_VALID_F
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Port:

 REC_ABORT_F
FromToCountThresholdExcluded due to
Bin0101Exclude file
Bin1001Exclude file

Covered toggles:

Port:

 WRITE_RAW_INTENT
FromToCountThreshold
Bin011123511
Bin101139521

Port:

 SELECT_TS_WPTR
FromToCountThreshold
Bin01129891
Bin10145901

Port:

 COMMIT_INTENT
FromToCountThreshold
Bin01133271
Bin10149281

Port:

 DATA_SELECTOR
ElementFromToCountThreshold
Bin(4)01133271
Bin(4)10149281
Bin(3)01133271
Bin(3)10149281
Bin(2)01263301
Bin(2)10279311
Bin(1)01266681
Bin(1)10282691
Bin(0)01266721
Bin(0)10282731

Port:

 STORE_TS_WR_PTR
FromToCountThreshold
Bin01263301
Bin10279311

Port:

 INC_TS_WR_PTR
FromToCountThreshold
Bin01129891
Bin10145901

Port:

 REC_ERF
FromToCountThreshold
Bin013381
Bin1019391

Port:

 RESET_OVERRUN_FLAG
FromToCountThreshold
Bin01282581
Bin10266571

Signal:

 RX_FSM_CE
FromToCountThreshold
Bin011856461
Bin101872471

Uncovered expressions:

Excluded expressions:

Covered expressions:

"=" expression on line 172:

 store_metadata_f = '1' 
Evaluated toCountThreshold
BinFalse811221
BinTrue263391

"and" expression on line 174:

 mr_mode_erfm = ERFM_ENABLED and rec_abort_f = '1' 
 <-----------LHS----------->     <------RHS------> 

LHSRHSCountThreshold
BinFalseTrue311841
BinTrueFalse5111
BinTrueTrue3181

"=" expression on line 174:

 mr_mode_erfm = ERFM_ENABLED 
Evaluated toCountThreshold
BinFalse802931
BinTrue8291

"=" expression on line 174:

 rec_abort_f = '1' 
Evaluated toCountThreshold
BinFalse496201
BinTrue315021

"=" expression on line 182:

 rec_abort_f = '1' 
Evaluated toCountThreshold
BinFalse526691
BinTrue91

"=" expression on line 183:

 mr_mode_erfm = ERFM_ENABLED 
Evaluated toCountThreshold
BinFalse41
BinTrue51

"=" expression on line 219:

 rec_abort_f = '1' 
Evaluated toCountThreshold
BinFalse393191
BinTrue133411

"=" expression on line 220:

 mr_mode_erfm = ERFM_ENABLED 
Evaluated toCountThreshold
BinFalse133261
BinTrue151

"=" expression on line 226:

 rec_valid_f = '1' 
Evaluated toCountThreshold
BinFalse263301
BinTrue129891

"=" expression on line 289:

 rec_abort_f = '0' 
Evaluated toCountThreshold
BinFalse91
BinTrue263391

"=" expression on line 311:

 store_data_f = '1' 
Evaluated toCountThreshold
BinFalse1253401
BinTrue856741

"=" expression on line 365:

 rst_n = '0' 
Evaluated toCountThreshold
BinFalse10943586471
BinTrue24226741

"=" expression on line 368:

 rx_fsm_ce = '1' 
Evaluated toCountThreshold
BinFalse5469886881
BinTrue1856461

"/=" expression on line 375:

 next_state /= curr_state 
Evaluated toCountThreshold
BinFalse1872471
BinTrue1856551

Uncovered FSM states:

Excluded FSM states:

Covered FSM states:

"T_RX_BUF_STATE" FSM on line 151:

151:    signal curr_state   : t_rx_buf_state; 
StateCountThreshold
BinS_RXB_IDLE282581
BinS_RXB_STORE_FRAME_FORMAT263391
BinS_RXB_STORE_IDENTIFIER263301
BinS_RXB_SKIP_TS_LOW263301
BinS_RXB_SKIP_TS_HIGH263301
BinS_RXB_STORE_END_TS_LOW129891
BinS_RXB_STORE_END_TS_HIGH129891
BinS_RXB_STORE_DATA263301
BinS_RXB_STORE_ERR_FRAME_FORMAT3381
BinS_RXB_STORE_ERR_IDENTIFIER3381
BinS_RXB_STORE_ERR_TS_LOW3381
BinS_RXB_STORE_ERR_TS_HIGH3381

"T_RX_BUF_STATE" FSM on line 152:

152:    signal next_state   : t_rx_buf_state; 
StateCountThreshold
BinS_RXB_IDLE282581
BinS_RXB_STORE_FRAME_FORMAT263391
BinS_RXB_STORE_IDENTIFIER263391
BinS_RXB_SKIP_TS_LOW263301
BinS_RXB_SKIP_TS_HIGH263301
BinS_RXB_STORE_END_TS_LOW129891
BinS_RXB_STORE_END_TS_HIGH129891
BinS_RXB_STORE_DATA263301
BinS_RXB_STORE_ERR_FRAME_FORMAT3381
BinS_RXB_STORE_ERR_IDENTIFIER3381
BinS_RXB_STORE_ERR_TS_LOW3381
BinS_RXB_STORE_ERR_TS_HIGH3381

Uncovered functional coverage:

Excluded functional coverage:

Covered functional coverage: