Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[chip-test] chip_sw_power_max_load #14814

Closed
6 tasks done
msfschaffner opened this issue Sep 7, 2022 · 4 comments · Fixed by #17800
Closed
6 tasks done

[chip-test] chip_sw_power_max_load #14814

msfschaffner opened this issue Sep 7, 2022 · 4 comments · Fixed by #17800
Assignees
Labels
Component:ChipLevelTest Used to filter the chip-level test backlog

Comments

@msfschaffner
Copy link
Contributor

msfschaffner commented Sep 7, 2022

Test point name

chip_sw_power_max_load

Host side component

SystemVerilog+Rust

OpenTitanTool infrastructure implemented

Unknown

Contact person

@tjaychen @msf for HW, @timothytrippel @sriyer for DV and concurrency framework

Checklist

Please fill out this checklist as items are completed. Link to PRs and issues as appropriate.

  • Check if existing test covers most or all of this testpoint (if so, either extend said test to cover all points, or skip the next 3 checkboxes)
  • Device-side (C) component developed
  • Bazel build rules developed
  • Host-side component developed
  • HJSON test plan updated with test name (so it shows up in the dashboard)
  • Test added to dvsim nightly regression (and passing at time of checking)
@msfschaffner msfschaffner added the Component:ChipLevelTest Used to filter the chip-level test backlog label Sep 7, 2022
@msfschaffner msfschaffner added this to the Project: M2 milestone Sep 7, 2022
@timothytrippel timothytrippel self-assigned this Oct 4, 2022
@timothytrippel
Copy link
Contributor

See #14095 for more details.

timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Oct 25, 2022
This adds the boilerplate code for the power virus test to partially
address lowRISC#14814. Since this test will be rather large/complex, it will be
committed in pieces over time. This initial commit contains a basic test
checklist (that will be added-to/improved over time) and basic
configurations for the pinmux, gpio, and adc_ctrl peripherals.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Oct 25, 2022
This adds the boilerplate code for the power virus test to partially
address lowRISC#14814. Since this test will be rather large/complex, it will be
committed in pieces over time. This initial commit contains a basic test
checklist (that will be added-to/improved over time) and basic
configurations for the pinmux, gpio, and adc_ctrl peripherals.

Signed-off-by: Timothy Trippel <[email protected]>
@timothytrippel
Copy link
Contributor

timothytrippel commented Oct 28, 2022

Test Checklist (WIP):

(Task 0) Main:

(Task 1) Block Loading Operations:

(Task 2) Activate All Blocks and Check results

OTP Test Parameters:

Host Side (DV sequence) Test Component:

timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Oct 28, 2022
This adds the boilerplate code for the power virus test to partially
address lowRISC#14814. Since this test will be rather large/complex, it will be
committed in pieces over time. This initial commit contains a basic test
checklist (that will be added-to/improved over time) and basic
configurations for the pinmux, gpio, and adc_ctrl peripherals.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit that referenced this issue Oct 29, 2022
This adds the boilerplate code for the power virus test to partially
address #14814. Since this test will be rather large/complex, it will be
committed in pieces over time. This initial commit contains a basic test
checklist (that will be added-to/improved over time) and basic
configurations for the pinmux, gpio, and adc_ctrl peripherals.

Signed-off-by: Timothy Trippel <[email protected]>
@tjaychen
Copy link

@timothytrippel @arunthomas based on what we discussed, we're going to lower the priority of this test to M3 and also V3 (so it doesn't pop up on the dashboard).

Let me know if you disagree.

@tjaychen tjaychen modified the milestones: Project: M2, Project: M3 Nov 13, 2022
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Feb 8, 2023
Previously, only a blocking version of the `rsa_3072_verify` function
existed.

For the power virus test (see lowRISC#14814), however, we want the ability to
initiate OTBN operations, and then free up the CPU to complete other tasks.

This adds a non-blocking version of the `rsa_3072_verify` function to
the crypto library to support this use case.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Feb 8, 2023
Previously, only a blocking version of the `rsa_3072_verify` function
existed.

For the power virus test (see lowRISC#14814), however, we want the ability to
initiate OTBN operations, and then free up the CPU to complete other tasks.

This adds a non-blocking version of the `rsa_3072_verify` function to
the crypto library to support this use case.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit that referenced this issue Feb 8, 2023
Previously, only a blocking version of the `rsa_3072_verify` function
existed.

For the power virus test (see #14814), however, we want the ability to
initiate OTBN operations, and then free up the CPU to complete other tasks.

This adds a non-blocking version of the `rsa_3072_verify` function to
the crypto library to support this use case.

Signed-off-by: Timothy Trippel <[email protected]>
@bilgiday bilgiday self-assigned this Feb 9, 2023
@moidx moidx modified the milestones: Discrete: M3, Discrete: M2.5 Feb 15, 2023
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 1, 2023
This updates the power virus test to:

1. activate the entropy complex during the max power epoch,
2. toggle the GPIO max power indicator pin using `mmio_write_*` function
   directly, rather than using the DIFs, which are too slow, and
3. check the AES status by polling the CSR directly, rather the using
   the DIFs (for same reason as in 2 above).

This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 2, 2023
This updates the power virus test to:

1. activate the entropy complex during the max power epoch,
2. toggle the GPIO max power indicator pin using `mmio_write_*` function
   directly, rather than using the DIFs, which are too slow, and
3. check the AES status by polling the CSR directly, rather the using
   the DIFs (for same reason as in 2 above).

This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
@timothytrippel
Copy link
Contributor

Making note here of potential future optimizations / areas of investigation. These are not immediately required for this test, but may be revisited in later on.

  • driving usbdev
  • explore clock gating effects on power swings
  • triggering other memory controller operations? (OTP / SRAM operations)

timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 2, 2023
This both:

1. updates the crypto operations (AES, HMAC, and KMAC) to enable
   checking their outputs against known outputs, and
2. checks the outputs of the crypto blocks (AES, HMAC, and KMAC) for
   correctness after exiting the max power epoch.

This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 2, 2023
This updates the power virus test to:

1. activate the entropy complex during the max power epoch,
2. toggle the GPIO max power indicator pin using `mmio_write_*` function
   directly, rather than using the DIFs, which are too slow, and
3. check the AES status by polling the CSR directly, rather the using
   the DIFs (for same reason as in 2 above).

This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit that referenced this issue Mar 3, 2023
This updates the power virus test to:

1. activate the entropy complex during the max power epoch,
2. toggle the GPIO max power indicator pin using `mmio_write_*` function
   directly, rather than using the DIFs, which are too slow, and
3. check the AES status by polling the CSR directly, rather the using
   the DIFs (for same reason as in 2 above).

This partially addresses #14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 3, 2023
This both:

1. updates the crypto operations (AES, HMAC, and KMAC) to enable
   checking their outputs against known outputs, and
2. checks the outputs of the crypto blocks (AES, HMAC, and KMAC) for
   correctness after exiting the max power epoch.

This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit that referenced this issue Mar 6, 2023
This both:

1. updates the crypto operations (AES, HMAC, and KMAC) to enable
   checking their outputs against known outputs, and
2. checks the outputs of the crypto blocks (AES, HMAC, and KMAC) for
   correctness after exiting the max power epoch.

This partially addresses #14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 14, 2023
This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 14, 2023
This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 15, 2023
This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 15, 2023
This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 16, 2023
This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 16, 2023
This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit to timothytrippel/opentitan that referenced this issue Mar 16, 2023
This partially addresses lowRISC#14814.

Signed-off-by: Timothy Trippel <[email protected]>
timothytrippel added a commit that referenced this issue Mar 16, 2023
This partially addresses #14814.

Signed-off-by: Timothy Trippel <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:ChipLevelTest Used to filter the chip-level test backlog
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants