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

[SPI,dv] Remove 30MHz SCK usage when not using two_stages_full_cycle … #24601

Merged
merged 1 commit into from
Oct 3, 2024

Conversation

sha-ron
Copy link
Contributor

@sha-ron sha-ron commented Sep 19, 2024

…read pipeline.
SCK frequency bigger than 24MHz is supported only when CMD_INFO.read_pipeline_mode is set to 0x2.
Currently the test is using CMD_INFO.read_pipeline_mode=0x0.

@sha-ron sha-ron requested a review from a team as a code owner September 19, 2024 09:04
@sha-ron sha-ron requested review from marnovandermaas, andreaskurth and a-will and removed request for a team September 19, 2024 09:04
Copy link
Contributor

@rswarbrick rswarbrick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure this is the right way to make the change: you end up not testing 30MHz SCK even when read_pipeline_mode has a value that would allow it.

Is it possible to change the code at the bottom of body so that it skips frequencies that aren't supported (by looking to see how read_pipeline_mode is currently configured)?

@sha-ron
Copy link
Contributor Author

sha-ron commented Sep 19, 2024

Thank you for the review @rswarbrick.
CMD_INFO (that includes read_pipeline_mode field) is actually a set of registers and the test has internal loop over a few commands so I am not sure how to find the correct read_pipeline_mode configuration.
I opened #24597 regarding missing configurations in SPI pass through mode. I guess that someone who knows better SPI will have to refactor this test anyway or create a new test for the missing configurations.

…read pipeline

Signed-off-by: Sharon Topaz <[email protected]>

[SPI,dv] For GLS remove 30MHz SCK usage when not using two_stages_full_cycle read pipeline

Signed-off-by: Sharon Topaz <[email protected]>
Copy link
Contributor

@hcallahan-lowrisc hcallahan-lowrisc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this fix (using ifndef GATE_LEVEL) is fine as a stopgap solution.

@antmarzam and myself will look at modifying this test / adding a new test to cover #24597, at which point we can come back and remove this.

@@ -14,7 +14,11 @@ class chip_sw_spi_passthrough_vseq extends chip_sw_base_vseq;
// Frequencies to use for testing the sequences.
time sck_periods_ps[] = '{
41_000, // 24 MHz
`ifndef GATE_LEVEL
//TODO return 30MHz for GLS simulation when issue #24597 is fixed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit. Project standard syntax for TODOs would be // TODO(#24597) here.

@vogelpi
Copy link
Contributor

vogelpi commented Oct 3, 2024

Thanks @hcallahan-lowrisc for your review, and for looking into this together with @antmarzam . I'll now merge the PR and cherry-pick it over to earlgrey_1.0.0 together with some other changes.

Once the real solution is there, we can also merge and cherry-pick it over.

@vogelpi vogelpi merged commit 411ac26 into lowRISC:master Oct 3, 2024
38 checks passed
@vogelpi vogelpi added the ManuallyCherryPick:earlgrey_1.0.0 This PR should be cherry-picked to the earlgrey_1.0.0 branch (no automation, manual coordination). label Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ManuallyCherryPick:earlgrey_1.0.0 This PR should be cherry-picked to the earlgrey_1.0.0 branch (no automation, manual coordination).
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants