lowRISC / lowRISC/opentitan

[dv,cip_scoreboard] Fix handling d_channel when protocol errors trigger d_error

Open
#27,874 6 comments 0 reactions 1 assignee Claimed by @rswarbrick View on GitHub
Component:DV
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

### Description

The otp_ctrl_stress_all_with_rand_reset has massive failures due to a mismatch on the expected vs. observed d_data when d_error is on. The expectation is for d_data to be all 1's, but the failing cases all end up with d_data as zero. Notice the errors seems to arise when the test introduces TL protocol violations, which trigger a D-channel response on the cycle right after the A-channel request. It seems there is some confusion in either tl_agent or cip_base_scoreboard, where a tl_seq_item is used which carries the wrong d_data.

To reproduce this failure run the test mentioned above with a some number of reseeds and it is very likely the failure will be reproduced. It can also be reproduced with seed `25936448223757213614031437337412204752509734489710541319757318690462336050614`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.