openhwgroup / core-v-verif

Functional verification project for the CORE-V family of RISC-V cores.

Home Page:https://docs.openhwgroup.org/projects/core-v-verif/en/latest/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Discussion regarding DV plan annotation: Links to Coverage

MikeOpenHWGroup opened this issue · comments

In #2385, @XavierAubert asked:

Regarding DV plan annotation, the first batch targets plans of XPULP (non-hwloop) instructions. As you participated in the first round of reviews, @MikeOpenHWGroup and @MarioOpenHWGroup can you have a look and tell me if the way I did the annotation seems fine to you ? Please note that the file mentionned in the DV Plan that describes UVM TB plusargs is still a WIP, I will push it as soon as possible.

The purpose of this Issue is to discuss how to properly capture a "link to coverage" from the DV plan (typically in a spreadsheet) and the verification environment. Note that I have labelled this as a cv32e40p issue only because the above PR is from a Contributor working on that Project. In fact, this question affects all CORE-V cores.

In @XavierAubert's update to the CV32E40P Debug DV Plan, you can see the following in row 3 under the Link to Coverage column:

CG: uvm_pkg.uvm_test_top.env.cov_model.debug_covg.cg_ebreak_execute_with_ebreakm
CG: uvm_pkg.uvm_test_top.env.cov_model.debug_covg.cg_cebreak_execute_with_ebreakm
A : uvmt_cv32_tb.u_debug_assert.a_cebreak_debug_mode

I believe this is a satisfactory way to capture the link from a specific entry in a DV plan to covergroup and cover-properties.

Please note that the file mentionned in the DV Plan that describes UVM TB plusargs is still a WIP, I will push it as soon as possible.

@XavierAubert, do you mean CV32E40Pv2_test_list.xlsx? It would be very useful to see an early draft of this file.

In @XavierAubert's update to the CV32E40P Debug DV Plan, you can see the following in row 3 under the Link to Coverage column:

CG: uvm_pkg.uvm_test_top.env.cov_model.debug_covg.cg_ebreak_execute_with_ebreakm
CG: uvm_pkg.uvm_test_top.env.cov_model.debug_covg.cg_cebreak_execute_with_ebreakm
A : uvmt_cv32_tb.u_debug_assert.a_cebreak_debug_mode

I believe this is a satisfactory way to capture the link from a specific entry in a DV plan to covergroup and cover-properties.

Sadly, I did not update links inside this plan yet. They are v1 links and are broken in v2 environment. Actually, that was the main purpose of my question in PR #2385, I need to delete reference to v1 links in order to reflect v2 paths and I wanted more insight on how I should proceed.

I also agree on the format to report the links, it was easy for me to read and get this info back in the database (and not only because I already spent time doing this for all XPULP DV).

I need to delete reference to v1 links in order to reflect v2 paths and I wanted more insight on how I should proceed.
I also agree on the format to report the links

OK, given that we agree on the format, let me suggest a way to (perhaps) make entering all these paths to covergroups less painful by replacing uvm_pkg.uvm_test_top.env.cov_model with an alias such as $CM to yield:

CG: $CM.debug_covg.cg_ebreak_execute_with_ebreakm
CG: $CM.debug_covg.cg_cebreak_execute_with_ebreakm

If you follow this strategy, it would be good to add a new worksheet (tab) to the spreadsheet that defines what these aliases mean and how they should be interpreted. For example, you could have something like this in a tab called "README":

Alias Expands To Comment
$CM uvm_pkg.uvm_test_top.env.cov_model Functional Coverage Model Root
$DBGCM uvm_pkg.uvm_test_top.env.cov_model.debug_covg Root of Functional Coverage model for Debug

I pushed the DV plans without the aliases you advised in PR #2417 (commit 95ea5cf), and Bee Nee proceeded afterwards to separate v1 and v2 DV Plans to avoid confusion on paths to coverage in PR #2425 (commit 538deae).

Can we consider this is enough to close the issue @MikeOpenHWGroup ? Or do you want to keep it open and remove cv32e40p label as it may concern other cores ?

Thanks @XavierAubert! I'd like to keep this Issue open until our next meeting (2024-05-22) to give us a chance to discuss it "in person".