Skip to content

[ci] Drop non-HyperDebug CW310 bitstream for testing #27644

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

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

jwnrt
Copy link
Contributor

@jwnrt jwnrt commented Jul 16, 2025

This PR moves CW310 execution environments to the HyperDebug bitstream and disables the non-HyperDebug bitstream build in CI.

Only PMOD tests need the non-HyperDebug bitstream. They run in nightlies and build the bitstream there.

jwnrt added 4 commits July 16, 2025 11:39
The only tests which do not use HyperDebug are the PMOD tests.

Signed-off-by: James Wainwright <james.wainwright@lowrisc.org>
This bitstream is not used by CI, only by nightlies where it will
continue to be built.

Signed-off-by: James Wainwright <james.wainwright@lowrisc.org>
Needs a longer timeout, but seems to work okay now.

Signed-off-by: James Wainwright <james.wainwright@lowrisc.org>
These are now equivalent.

Signed-off-by: James Wainwright <james.wainwright@lowrisc.org>
@jwnrt
Copy link
Contributor Author

jwnrt commented Jul 16, 2025

I ran a nightly for this branch, it looks okay

https://github.com/lowRISC/opentitan/actions/runs/16322328725

@jwnrt jwnrt requested review from pamaury, a-will and nbdd0121 July 16, 2025 20:54
@jwnrt jwnrt marked this pull request as ready for review July 16, 2025 20:54
@jwnrt jwnrt requested review from rswarbrick and cfrantz as code owners July 16, 2025 20:54
@jwnrt jwnrt removed request for rswarbrick and cfrantz July 16, 2025 20:54
Copy link
Contributor

@pamaury pamaury left a comment

Choose a reason for hiding this comment

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

This looks good to me, it will save a lot of time in CI :)

@a-will
Copy link
Contributor

a-will commented Jul 16, 2025

Were you thinking that the non-hyperdebug variant would essentially not be in the bitstream cache anymore?

(Keep in mind that bitstream cache management grabs whatever is in a given commit's entry, so this bitstream will not generally be present.)

@jwnrt
Copy link
Contributor Author

jwnrt commented Jul 17, 2025

Were you thinking that the non-hyperdebug variant would essentially not be in the bitstream cache anymore?

Yes, more or less. The nightly CI will still upload the bitstream every 24 hours, but the only execution environment using it is the custom one in sw/device/tests/pmod.

I think it’s only lowRISC running PMOD tests so we should be able to deal with the potentially outdated bitstream.

Longer term we’re thinking of making a board that sits on top of the HyperDebug/Nucleo board with PMOD ports. The idea would be to continue routing MIOs from the Xilinx chip to HyperDebug and only deasserting reset for the PMOD connections for PMOD tests.

@pamaury
Copy link
Contributor

pamaury commented Jul 17, 2025

I think @a-will has a point though that because the bitstream cache always assume that each commit has either all bitstreams or none, it could gte confused, not just for the PMOD but for the other bitstreams as well. It's not hard to fix the cache to use different commits per design though. I can look into it.

@jwnrt
Copy link
Contributor Author

jwnrt commented Jul 17, 2025

Good point, let's block merging this until the Bazel rules can deal with a partial cache

@jwnrt jwnrt marked this pull request as draft July 17, 2025 09:22
@a-will
Copy link
Contributor

a-will commented Jul 17, 2025

Good point, let's block merging this until the Bazel rules can deal with a partial cache

This should already be possible. I had set the rules up to point to the vivado targets when the cache is missing one of the known builds.

if design_name not in designs:

The repo label might be problematic when OT is not the main module, though. 🤔

In any case, I didn't mean to say there was a problem. I only wanted to make sure dropping this board target for general use was a known effect. It's our least expensive option, and it doesn't rely on special (and unreliable, due to the connector mating...) boards that aren't sold anywhere.

...but I am okay with getting rid of it, personally.

@jwnrt jwnrt marked this pull request as ready for review July 21, 2025 10:21
@jwnrt
Copy link
Contributor Author

jwnrt commented Jul 21, 2025

Thanks @a-will, me and Amaury discussed and think it's okay. The nightly does not push bitstreams so we shouldn't get into a situation where there's a cache entry with only the non-HyperDebug bitstream and the others need building.

@johngt johngt requested a review from moidx July 23, 2025 09:15
@johngt
Copy link

johngt commented Jul 23, 2025

@moidx - could you please take a look at this on behalf of @timothytrippel

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.

5 participants