Skip to content

icsprout55 - #332

Merged
gadfort merged 8 commits into
mainfrom
test/icsprout55
Aug 18, 2026
Merged

gadfort merged 8 commits into
mainfrom
test/icsprout55

Conversation

@gadfort

@gadfort gadfort commented Aug 18, 2026 •

Copy link
Copy Markdown
Member

Requires lambdapdk release

gadfort and others added 7 commits August 17, 2026 18:35
Adds the icsprout55_ics55 target to the gallery and per-design SDC
constraints for its ics55_stdcell_r mainlib.

Design coverage mirrors gt2n: the PDK has no SRAM macros yet, so the
designs that need them (black_parrot, coralnpu, cva6, tiny_rocket,
wally) plus darkriscv, ethmac and fazyrv are left out, matching the
existing gt2n design set.

Clock periods are a first estimate scaled from the slow-corner FO4
inverter delay measured against three anchors already in the gallery
(nangate45 3.08x, gf180 9t 0.172x, sky130hd 0.275x), taking the
geometric mean of the three predictions, then relaxed 10% after local
runs of heartbeat and gcd came in marginally short (-0.030ns on 1.1ns
and -0.17ns on 2.5ns respectively). These have not yet been validated
against the full matrix.

Target setups mirror the gt2n registrations: SV2V flow for the caliptra
blocks, Chisel flow for mock_alu, and yosys slang for ibex and swerv.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Do not merge. Restricts the CI matrix to the 19 icsprout55_ics55 jobs so
the initial calibration run for the new PDK does not rebuild the whole
gallery. Revert this commit to restore the full 194-job matrix.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
generate_cache.py registered no ICsprout55 data, so every design job had
to fetch the PDK itself, 19 runners pulling the same repository archive
and release assets concurrently.

Registering ICS55PDK alone is not enough. Unlike the other PDKs,
ICsprout55 vendors nothing in the lambdapdk package: the liberty and GDS
come from release assets reached through dataroots declared on the
library objects rather than the PDK, which carries only the icsprout55
repository archive. ics55_demo loads all three Vt flavours, so all six
library dataroots are needed.

Verified against a clean cache directory: seven icsprout55 dataroots are
populated where previously there were none.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
First full CI run put 17 of 19 designs through to GDS. Clock periods are
now set from the setup slack each achieved rather than from the FO4
estimate: the needed/current ratios landed between 1.00 and 1.14, so the
relative scaling between designs held up and only the absolute level was
low. New periods are the achieved critical path plus 3%.

heartbeat, jpeg and spi already met timing and keep their periods.

swerv and caliptra_keyvault are marked resource-skipped. Neither hit a
design or PDK problem: both logged zero errors at every completed step
and were still in route.detailed when the 120 minute runner limit
expired. Both are already resource-skipped on gt2n. --github_large picks
them up for the large runner, where their periods can be calibrated.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Do not merge. Revert to restore the full matrix.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 18, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@gadfort, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 57 minutes

Limit details: You’ve used all 1 included review currently available under your plan.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: edf36d94-51a0-4097-a67d-0f21db553e0f

📥 Commits

Reviewing files that changed from the base of the PR and between 5be42ca and f7aa00f.

📒 Files selected for processing (42)
  • .github/workflows/bin/generate_cache.py
  • .github/workflows/config/designs.json
  • pyproject.toml
  • scgallery/designs/aes/aes.py
  • scgallery/designs/aes/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/blinky/blinky.py
  • scgallery/designs/blinky/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/caliptra/__init__.py
  • scgallery/designs/caliptra/constraints/datavault/ics55_stdcell_r.sdc
  • scgallery/designs/caliptra/constraints/keyvault/ics55_stdcell_r.sdc
  • scgallery/designs/caliptra/constraints/sha512/ics55_stdcell_r.sdc
  • scgallery/designs/dynamic_node/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/dynamic_node/dynamic_node.py
  • scgallery/designs/gcd/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/gcd/gcd.py
  • scgallery/designs/heartbeat/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/heartbeat/heartbeat.py
  • scgallery/designs/ibex/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/ibex/ibex.py
  • scgallery/designs/jpeg/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/jpeg/jpeg.py
  • scgallery/designs/mock_alu/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/mock_alu/mock_alu.py
  • scgallery/designs/openmsp430/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/openmsp430/openmsp430.py
  • scgallery/designs/picorv32/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/picorv32/picorv32.py
  • scgallery/designs/qerv/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/qerv/qerv.py
  • scgallery/designs/riscv32i/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/riscv32i/riscv32i.py
  • scgallery/designs/serv/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/serv/serv.py
  • scgallery/designs/spi/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/spi/spi.py
  • scgallery/designs/swerv/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/swerv/swerv.py
  • scgallery/designs/uart/constraints/ics55_stdcell_r.sdc
  • scgallery/designs/uart/uart.py
  • scgallery/gallery.py
  • scgallery/targets/icsprout55/__init__.py
  • tests/test_gallery.py
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch test/icsprout55

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gadfort
gadfort merged commit f9de9c1 into main Aug 18, 2026
165 of 170 checks passed
@gadfort
gadfort deleted the test/icsprout55 branch August 18, 2026 12:49
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.

1 participant