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 surface —
yosys_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.
- Build —
gnumake 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
Upstream update available:
bazel-orfsd9f8b757(2026-04-30)553c1c3a(2026-06-01)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_pluginsattr onorfs.default(), neworfs_run_executablerule,orfs_blender/orfs_gdsfor layout viz,user_arguments/local_arguments/user_sourcesknobs onorfs_design, parallel-synth partition mode (kept_macros API + per-module canonicalize),quick_pinsfor exploration, scip / yosys / OpenROAD pin bumps (yosys 0.62 → 0.64, OpenROAD across several pins ending at 299f3015),archive_overridefor 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)
f884756extension: addyosys_pluginsattribute to orfs.default()df03cc3feat: ship compute_floorplan_shape + compute_slack_margin scripts3c15765chore: bump orfs/openroad to latest78f19f2chore: bump yosys to 0.62.bcr.2 and drop carried patchesb10bca4private/stages.bzl: register bazel-injected SYNTH_NUM_PARTITIONS5c89e35orfs_design: forward user_arguments to orfs_flow6f3719bdeps: bump orfs to 523bbbb4, openroad to 07427ed03e1dc5efeat: support archive_override for ORFS pin943cae5gnumake: drop zig bootstrap, build with cc_binary7bccbf0orfs_design: accept config.mk explicitly, drop blanket exports_filesa816102orfs_design: add local_arguments to drop helper vars4cd9f98deps: bump orfs to 87b01b74, openroad to 8546cd024511a20rules: add orfs_run_executable for bazelisk-run TCL targetsc321b5asynth.tcl: list-expand SYNTH_RETIME_MODULES on selectbc11cc4synth.tcl, synth_keep.tcl: error on typos in SYNTH_KEEP_MODULES852997forfs_flow: add quick_pins flag for exploration runs9b3270cmemory_macro_scaler: emit per-bit pins in .lib bus blocks and .lef5695d8dtools/lib_to_verilog: emit behavioral Verilog for stdcells from .libe944956power.bzl: Verilator-SAIF -> OpenSTA report_power pipeline76b8531bump: source yosys/openroad/yosys-slang from ORFS tools/ submodulese8ede25orfs_gds: declare 6_final.def, fix klayout under sandbox, honor klayout attr67f4cc5orfs_blender: 3D viewer for final-stage GDS via BlenderGDS32846d0bump: yosys 0.62.bcr.2 -> 0.63f9e4233orfs_synth_rule: propagate synth args via OrfsInfo.argumentse5aa446kept_macros: add orfs_flow API for per-partition macro scoping8d930b8kept_macros: validate user dict against canonical RTLIL pre-synth6b67e07kept_macros: scope partition macro inputs to declared dependentsb3e796dpatches: refresh 0036 context for new ORFS commit536b2afdeps: bump orfs to 2f6e9c9b, openroad to 08f67ee5c0ccc6ftest: pin synth_partition.sh JSON parser against slang [N] names4b3ae05orfs_design.bzl: forward blender, silently skip unsupported PDKsf4e25a3environment.bzl: pull src OrfsDepInfo.files into source_inputs19572e6openroad_qt: use @openroad//:openroad-qt for bazelisk run gui_7c5fa06openroad-10384 patch: split src/gui:gui_stub from :gui87ba908gallery: bump openroad to match //MODULE.bazel and apply openroad-qt patch3515de4bump: ORFS 74b5f961, OpenROAD 08f67ee50184aa0patches: drop 0035 — upstream ORFS now gates overrides with dev_dependency=True964d545fix(submodules): apply patches 0036/0037 to @orfs+ from sub-workspacesa6d7dc1bump: ORFS b23706a6, OpenROAD 5e0c6404; drop patch 0037322e6e9bump: ORFS a8b85cd640759ceopenroad: pin via archive_override + submodule patch_cmds6ebadebyosys: bump to 0.64 via custom registry (BCR PR #8862)76b4c30bump: ORFS 7b05472e, OpenROAD 04cbde6e6eabfe8openroad: vendor third-party/slang-elab submodule, bypass @Slang alias8bb2218sed: bcr.5 + patch_cmds undef memchr — fix glibc 2.41+ collision4461bd5chisel: drop sub-workspace — only tested upstream rule internalse25dea0rules_python: 1.8.5 -> 1.9.0e46b23bbump: ORFS 91d5e6a; bump.py preserves @Slang sed rewrite7d88cd6orfs_genrule: don't force srcs into exec config; toolchain prep318b853bump: ORFS d90873f, OpenROAD 299f3015c004b99synth: redirect _synth_tcl at ORFS upstream synth.tclf3c5254synth: per-module re-canonicalize for parallel partition cache stability99b9a98synth: blackbox hardened macros at canonicalize1bc9fe7synth: name parallel-synth stage actions in progress outputa2bf74ebuild: pin scip 9.2.3.bcr.1 to fix glibc 2.41+ local compile8ace004gallery: mirror root bump to ORFS d90873f / OpenROAD 299f3015553c1c3gallery: pin scip 9.2.3.bcr.1 to fix glibc 2.41+ local compileWhat changed
yosys_pluginsattr;user_arguments/local_arguments/user_sourcesonorfs_design;quick_pinsflag;orfs_run_executable;orfs_blender+orfs_gds;kept_macrosfor partition scoping.[N]names.dev_dependency=True; carriesopenroad-10384for gallery; vendors slang-elab.gnumakeswitched from zig bootstrap tocc_binary; chisel sub-workspace dropped; glibc 2.41+ compat (sedmemchrpatch).6_final.gds,klayoutunder 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=…)inMODULE.bazel, per CLAUDE.md — must keep applying past the new OpenROAD pin) and ourdefs.bzlhightide_design()wrapper aroundorfs_flow()(new flags likequick_pins,user_arguments,user_sourcesare 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, sweepingbazel 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