lowRISC / lowRISC/opentitan

[i2c,dv] Clean up protocol coverage

Open
#18,981 0 comments 0 reactions 0 assignees View on GitHub
Component:DV Earlgrey-PROD Candidate IP:i2c Priority:P3 Type:Cleanup Type:FutureRelease
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

### Description

The protocol coverage is currently implemented in a module and directly monitoring signals in the design. Eventually it would be better to move this functionality into a class instead and use the virtual interface.

This issue was based on the following TODO:
https://github.com/lowRISC/opentitan/blob/fd6c80ba801bea6aaa1e96bb16e006c386a74497/hw/ip/i2c/dv/sva/i2c_protocol_cov.sv#L105

Contributor guide

Open the contributing guide

Research direction

Start with hw/ip/i2c/dv/sva/i2c_protocol_cov.sv and the linked TODO at line 105. Trace how the current module monitors design signals, then inspect the I2C DV virtual-interface patterns before defining the class-based equivalent. Done means protocol coverage uses the virtual interface while preserving the existing coverage behavior.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot, testing
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.