-
Notifications
You must be signed in to change notification settings - Fork 25
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
Update simple serial commands + AES & KMAC bitstreams & binaries #212
Conversation
@nasahlpa @vrozic @johannheyszl after merging lowRISC/opentitan#20248 which allows us to select the trigger type (precise hardware-generated as now vs software controlled like on the real target) some of the simple serial command identifiers changed. This means when you want to generate a binary and bitstream on top of 20248, you also need to include the changes in this PR. |
I've marked this as draft because it fails CI (we need to update the binaries, bitstreams and the command identifiers in sync). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @vogelpi LGTM
I guess this illustrates nicely how the future OTTF-based commands will improve since the multi-letter commands have better readability and space :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
Ironically, the CW310 capture which should have failed before didn't fail CI. The capture was aborted due to a mismatch between device and host (as expected due the command identifiers not being inline) but CI wouldn't fail. We should investigate this at some point. For reference, I've attached the log file. |
Thanks for pointing this out! I had a look into this - the "Capture traces" CI test calls a bash script to capture traces. Although the capturing fails, the script is not correctly passing the error to the CI. Instead of calling bash scrips in azure-pipelines.yml, we should directly call the capture Python script. With the simple capture scripts from #207, this should then be easier. |
328f6a8
to
9c0f731
Compare
0406907
to
6b4d9ee
Compare
6b4d9ee
to
7fd9993
Compare
This commit aligns the simple serial command identifiers in capture.py with the latest changes lowRISC/opentitan@4da6006 Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
To save some logic resources on the CW305, the ECC and scrambling have been disabled for flash_ctrl, and SPI Host has been stubbed out. In addition, switching off the masking has been re-enabled by modifying the masking PRNG. The bitstream and binary for the CW305 have been generated from https://github.com/vogelpi/opentitan/tree/ot-sca_2023-11-10_03c5fee_cw305 Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
To save logic resources and allow enabling KMAC masking, the following hardware changes have been implemented: - ECC and scrambling have been disabled for flash_ctrl. - AES masking has been disabled. - OTBN has been stubbed out The bitstream and binary for the CW305 have been generated from https://github.com/vogelpi/opentitan/tree/ot-sca_2023-11-10_03c5fee_cw310 Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
7fd9993
to
ed0373e
Compare
Thanks for your feedback on this Pascal. IIRC there are ways to pass errors through the scripts back in to CI. In general, the advantage of having a script is to be able to quickly re-run the job locally without having to reverse engineer the actual commands running in CI. But I agree, let's look into this after the restructuring, it will make things easier. |
I've now also updated the binaries for AES and KMAC. CI passes, I am merging this. |
Change simple serial command identifiers
This commit aligns the simple serial command identifiers in
capture.py with the latest changes lowRISC/opentitan@4da6006
In particular the commands change as follows: