Skip to content

Conversation

hcallahan-lowrisc
Copy link
Contributor

This PR relies on changes from #28493 and #28492 to function, so should not be expected to run to completion until they are merged.

Review commit by commit.
Typical runtime without debug access / wave dumping of ~14hrs.

Currently uses 'emulation' sku binaries/images, built for the 'silicon_creator' exec env. Also currently uses the test_rom as sigverify currently fails when using the mask_rom and I could not easily track down why. Switching this to use the mask rom is left as a future task.

TODO: Flesh out description here about pre-generation of spi_console payloads, and how to use the memory dumping/reloading to speed up debug. But the code has lots of comments!

This matches the OTP creator partition state after the initial phase of
personalization where the new scrambling seeds are deployed and the system is
bootstrapped for a second time to load the multi-slot image rescrambled with the
new seeds.

Signed-off-by: Harry Callahan <[email protected]>
This is unnecessary, as the existing macros already control the sideband pins
and this confuses the HOST side since the DEVICE ends up indicating a read is
ready before any data has been put into the spi_device buffer. This can be
problematic in DV where the testbench can begin a write operation to fetch this
new data with the absolute minimum latency.

Signed-off-by: Harry Callahan <[email protected]>
This will be used in an future simulation where the wired OTTF channels need to
be simulated.

Signed-off-by: Harry Callahan <[email protected]>
This allows tests and particularly test-authors to make use of both frontdoor
and backdoor -loaded flash images

Signed-off-by: Harry Callahan <[email protected]>
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.

Nitty comment: I think you might have to shuffle commits around a bit. At the moment " [dv,top_earlgrey] Delete existing perso_vseq" claims that the following commit puts it back again...

Comment on lines +244 to +254
// Monitor the CONSOLE UART throught the test for informational purposes
fork print_uart_console_items(ROM_CONSOLE_UART); join_none
Copy link
Contributor

Choose a reason for hiding this comment

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

It's not a problem, but is there a reason this isn't in the fork in the body task? Is there something that might appear before we get there?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No particularly strong reason, I generally prefer, mostly for comprehension, to bring the scheduling constructs up as high as possible.It also gives the option for the caller to enact a finer-grained process control if desired.

This did not work on all simulators, easier to just remove it entirely.

Signed-off-by: Harry Callahan <[email protected]>
This will allow child sequences to make use of the object to intect with the DUT
over the ottf spi_console.

Signed-off-by: Harry Callahan <[email protected]>
The following commit adds a new vseq for this test. This is a seperate commit to
aid readers of the diff.

Signed-off-by: Harry Callahan <[email protected]>
…ng personalization

Note. this test is slow, typically 14hrs on a fast machine without any waveform
dumping or debug database access enabled.

Signed-off-by: Harry Callahan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants