riscv-admin / dev-partners

This repo is for tracking of RISC-V Development Partners Activities
3 stars 0 forks source link

ACT Support for Priv 1.13 #43

Open jjscheel opened 6 months ago

jjscheel commented 6 months ago

Technical Group

Privileged Spec IC

ratification-pkg

Priv 1.13

Technical Liaison

Greg Favor

Task Category

Arch Tests

Task Sub Category

Ratification Target

3Q2024

Statement of Work (SOW)

Component names: Priv 1.13

Requirements: Provide tests for the following Priv 1.13 updates:

  1. Defined the misa.V field to reflect that the V extension has been implemented.
  2. Defined the RV32-only medelegh and hedelegh CSRs (1)
  3. Allocated interrupt 13 for Sscofpmf LCOFI interrupt (2)
  4. Exposed count-overflow interrupts to VS-mode (1,2)
  5. Redefined misa.MXL to be read-only, making MXLEN a constant
  6. Added the constraint that SXLEN≥UXLEN (3)

The following footnotes clarify level of support:

  1. Basic CSR testing of existence, read, and write until Hypervisor implemented.
  2. Limited by counter support enablement.
  3. May have some challenges with the writability of those fields configurable in the mode in Sail (only).

Note: the following features of Priv 1.13 require ACT infrastructure that prevent their implementation at this time:

Deliverables:

Acceptance Criteria:

Projected timeframe: (best guess date) 2 person months (part time)

SOW Signoffs: (delete those not needed)

Waiver

Pull Request Details

No response

jjscheel commented 6 months ago

@allenjbaum, I'd love your feedback on this SOW.

jjscheel commented 6 months ago

Per discussion in the 5/14 DevPartner meeting, I've updated the SOW description in the first entry to require the ACTs to be self-checking so that they may be used by Sail as BVTs.

@billmcspadden-riscv and @allenjbaum, please review and let me know if anything else should be adjusted.

allenjbaum commented 6 months ago

Finally getting a moment to breathe and review this.

4 also need footnote1: need hypervisor support

6 footnote 3 is misleading, in my opinion. The issue is entirely

Sail configurability.

RE: tests should be self checking, because ACTs compare the Sail results with DUT results, and if Sail can't be configured, but the DUT can be, you'll get a mismatch. If Sail can' t be configured, they're not useful for BVTs. You can make them self checking, and they might work for some DUTs, but not for others. The may not even work for Sail vs. Spike.....

The coverage models can be riscv-ctg YAML or the compressed coverpoint schema translated into YAML

On Thu, May 9, 2024 at 9:57 AM Jeff Scheel @.***> wrote:

@allenjbaum https://github.com/allenjbaum, I'd love your feedback on this SOW.

— Reply to this email directly, view it on GitHub https://github.com/riscv-admin/dev-partners/issues/43#issuecomment-2103047551, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHPXVJU5TL7ZX5MEED5FYM3ZBOTF3AVCNFSM6AAAAABHM7GPSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBTGA2DONJVGE . You are receiving this because you were mentioned.Message ID: @.***>

jjscheel commented 6 months ago

Thanks, @allenjbaum. My responses:

4 also need footnote1: need hypervisor support

Added.

6 footnote 3 is misleading, in my opinion. The issue is entirely

Sail configurability.

I extended statement to read "3. May have some challenges with the writability of those fields configurable in the mode in Sail (only).".

RE: tests should be self checking, because ACTs compare the Sail results with DUT results, and if Sail can't be configured, but the DUT can be, you'll get a mismatch. If Sail can' t be configured, they're not useful for BVTs. You can make them self checking, and they might work for some DUTs, but not for others. The may not even work for Sail vs. Spike.....

I'm not sure I follow. Are you arguing the tests for Priv 1.13 CANNOT be self-checking? If so, I'll need you and @billmcspadden-riscv to discuss this more.

The coverage models can be riscv-ctg YAML or the compressed coverpoint schema translated into YAML

Will update.

allenjbaum commented 6 months ago

IT is difficult to make any test self checking if it has multiple possible answers, Basically, you need to have a separate test for each possibility, and either

IF Sail doesn't have the configurability for some possibility, there is no point in running the test as part of Sail C/I -tt will always fail the test for that possibility (and we should be testing all possibilities)


Another interesting development is using the Verilog coverpoint definition. Umer is looking to this. It's a major change, but it will be worth it if we can get it to work.

On Fri, May 17, 2024 at 8:23 AM Jeff Scheel @.***> wrote:

Thanks, @allenjbaum https://github.com/allenjbaum. My responses:

4 https://github.com/riscv-admin/dev-partners/issues/4 also need

footnote1: need hypervisor support

Added.

6 https://github.com/riscv-admin/dev-partners/issues/6 footnote 3 is

misleading, in my opinion. The issue is entirely Sail configurability.

I extended statement to read "3. May have some challenges with the writability of those fields configurable in the mode in Sail (only).".

RE: tests should be self checking, because ACTs compare the Sail results with DUT results, and if Sail can't be configured, but the DUT can be, you'll get a mismatch. If Sail can' t be configured, they're not useful for BVTs. You can make them self checking, and they might work for some DUTs, but not for others. The may not even work for Sail vs. Spike.....

I'm not sure I follow. Are you arguing the tests for Priv 1.13 CANNOT be self-checking? If so, I'll need you and @billmcspadden-riscv https://github.com/billmcspadden-riscv to discuss this more.

The coverage models can be riscv-ctg YAML or the compressed coverpoint schema translated into YAML

Will update.

— Reply to this email directly, view it on GitHub https://github.com/riscv-admin/dev-partners/issues/43#issuecomment-2117837623, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHPXVJRKFQSVA6DGQJFVO3DZCYOFLAVCNFSM6AAAAABHM7GPSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJXHAZTONRSGM . You are receiving this because you were mentioned.Message ID: @.***>

jjscheel commented 4 months ago

No resources at this time.