Skip to content

Upstream update available: bazel-orfs #85

@claude

Description

@claude

Upstream update available: bazel-orfs

  • Repo: The-OpenROAD-Project/bazel-orfs
  • Branch: main
  • Pinned: d9f8b757 (2026-04-30)
  • Upstream: 553c1c3a (2026-06-01)
  • Behind: 111 commits / 32 days

Severity: MAJOR

This is the build glue, not a leaf design — so any API/contract shift propagates into every HighTide BUILD.bazel. The window contains real surface changes: yosys_plugins attr on orfs.default(), new orfs_run_executable rule, orfs_blender / orfs_gds for layout viz, user_arguments / local_arguments / user_sources knobs on orfs_design, parallel-synth partition mode (kept_macros API + per-module canonicalize), quick_pins for exploration, scip / yosys / OpenROAD pin bumps (yosys 0.62 → 0.64, OpenROAD across several pins ending at 299f3015), archive_override for the ORFS pin, hermetic make. Several patch rotations against bazel-orfs's own carried patches against ORFS/OpenROAD that we mirror.

Commits (selected — 111 total)

  • f884756 extension: add yosys_plugins attribute to orfs.default()
  • df03cc3 feat: ship compute_floorplan_shape + compute_slack_margin scripts
  • 3c15765 chore: bump orfs/openroad to latest
  • 78f19f2 chore: bump yosys to 0.62.bcr.2 and drop carried patches
  • b10bca4 private/stages.bzl: register bazel-injected SYNTH_NUM_PARTITIONS
  • 5c89e35 orfs_design: forward user_arguments to orfs_flow
  • 6f3719b deps: bump orfs to 523bbbb4, openroad to 07427ed0
  • 3e1dc5e feat: support archive_override for ORFS pin
  • 943cae5 gnumake: drop zig bootstrap, build with cc_binary
  • 7bccbf0 orfs_design: accept config.mk explicitly, drop blanket exports_files
  • a816102 orfs_design: add local_arguments to drop helper vars
  • 4cd9f98 deps: bump orfs to 87b01b74, openroad to 8546cd02
  • 4511a20 rules: add orfs_run_executable for bazelisk-run TCL targets
  • c321b5a synth.tcl: list-expand SYNTH_RETIME_MODULES on select
  • bc11cc4 synth.tcl, synth_keep.tcl: error on typos in SYNTH_KEEP_MODULES
  • 852997f orfs_flow: add quick_pins flag for exploration runs
  • 9b3270c memory_macro_scaler: emit per-bit pins in .lib bus blocks and .lef
  • 5695d8d tools/lib_to_verilog: emit behavioral Verilog for stdcells from .lib
  • e944956 power.bzl: Verilator-SAIF -> OpenSTA report_power pipeline
  • 76b8531 bump: source yosys/openroad/yosys-slang from ORFS tools/ submodules
  • e8ede25 orfs_gds: declare 6_final.def, fix klayout under sandbox, honor klayout attr
  • 67f4cc5 orfs_blender: 3D viewer for final-stage GDS via BlenderGDS
  • 32846d0 bump: yosys 0.62.bcr.2 -> 0.63
  • f9e4233 orfs_synth_rule: propagate synth args via OrfsInfo.arguments
  • e5aa446 kept_macros: add orfs_flow API for per-partition macro scoping
  • 8d930b8 kept_macros: validate user dict against canonical RTLIL pre-synth
  • 6b67e07 kept_macros: scope partition macro inputs to declared dependents
  • b3e796d patches: refresh 0036 context for new ORFS commit
  • 536b2af deps: bump orfs to 2f6e9c9b, openroad to 08f67ee5
  • c0ccc6f test: pin synth_partition.sh JSON parser against slang [N] names
  • 4b3ae05 orfs_design.bzl: forward blender, silently skip unsupported PDKs
  • f4e25a3 environment.bzl: pull src OrfsDepInfo.files into source_inputs
  • 19572e6 openroad_qt: use @openroad//:openroad-qt for bazelisk run gui_
  • 7c5fa06 openroad-10384 patch: split src/gui:gui_stub from :gui
  • 87ba908 gallery: bump openroad to match //MODULE.bazel and apply openroad-qt patch
  • 3515de4 bump: ORFS 74b5f961, OpenROAD 08f67ee5
  • 0184aa0 patches: drop 0035 — upstream ORFS now gates overrides with dev_dependency=True
  • 964d545 fix(submodules): apply patches 0036/0037 to @orfs+ from sub-workspaces
  • a6d7dc1 bump: ORFS b23706a6, OpenROAD 5e0c6404; drop patch 0037
  • 322e6e9 bump: ORFS a8b85cd6
  • 40759ce openroad: pin via archive_override + submodule patch_cmds
  • 6ebadeb yosys: bump to 0.64 via custom registry (BCR PR #8862)
  • 76b4c30 bump: ORFS 7b05472e, OpenROAD 04cbde6e
  • 6eabfe8 openroad: vendor third-party/slang-elab submodule, bypass @Slang alias
  • 8bb2218 sed: bcr.5 + patch_cmds undef memchr — fix glibc 2.41+ collision
  • 4461bd5 chisel: drop sub-workspace — only tested upstream rule internals
  • e25dea0 rules_python: 1.8.5 -> 1.9.0
  • e46b23b bump: ORFS 91d5e6a; bump.py preserves @Slang sed rewrite
  • 7d88cd6 orfs_genrule: don't force srcs into exec config; toolchain prep
  • 318b853 bump: ORFS d90873f, OpenROAD 299f3015
  • c004b99 synth: redirect _synth_tcl at ORFS upstream synth.tcl
  • f3c5254 synth: per-module re-canonicalize for parallel partition cache stability
  • 99b9a98 synth: blackbox hardened macros at canonicalize
  • 1bc9fe7 synth: name parallel-synth stage actions in progress output
  • a2bf74e build: pin scip 9.2.3.bcr.1 to fix glibc 2.41+ local compile
  • 8ace004 gallery: mirror root bump to ORFS d90873f / OpenROAD 299f3015
  • 553c1c3 gallery: pin scip 9.2.3.bcr.1 to fix glibc 2.41+ local compile

What changed

  • Pin bumps — multiple ORFS and OpenROAD bumps; yosys 0.62 → 0.64 via custom registry; scip 9.2.3.bcr.1; rules_python 1.9.0; slang-elab vendored.
  • API surfaceyosys_plugins attr; user_arguments / local_arguments / user_sources on orfs_design; quick_pins flag; orfs_run_executable; orfs_blender + orfs_gds; kept_macros for partition scoping.
  • Synth pipeline — parallel synth with per-partition macro scoping and per-module re-canonicalize, hardened-macro blackbox at canonicalize, action-name-in-progress output, JSON parser hardened against slang [N] names.
  • Patches — drops carried OpenROAD/yosys patches in favor of upstream; refreshes ORFS patches 0036/0037, then drops 0037 after upstream gates dev_dependency=True; carries openroad-10384 for gallery; vendors slang-elab.
  • Buildgnumake switched from zig bootstrap to cc_binary; chisel sub-workspace dropped; glibc 2.41+ compat (sed memchr patch).
  • Gallery / Blender — 3D viewer of 6_final.gds, klayout under sandbox fix, gallery openroad bumped to match MODULE.bazel.

Recommendation

Plan a dedicated update window. This pin bump touches our existing carried patches (CTS-0122 patch entry on the OpenROAD git_override(patches=…) in MODULE.bazel, per CLAUDE.md — must keep applying past the new OpenROAD pin) and our defs.bzl hightide_design() wrapper around orfs_flow() (new flags like quick_pins, user_arguments, user_sources are opt-in but worth wiring up). The yosys bump (0.62 → 0.64) is the largest risk — re-verify the yosys-slang phantom-driver workaround for vortex still applies, and re-validate the close on every cached design. Recommend updating in isolation, sweeping bazel build //designs/... against the remote cache, and bisecting any regressions against the per-pin bumps in this list.


Last refreshed: 2026-06-01T10:41:57Z

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstream-updatePinned submodule is behind upstream

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions