Upstream update available: bazel-orfs
| Field |
Value |
| Pinned |
d9f8b757 (2026-04-30) |
| Upstream |
6ebadeb4 (2026-05-23) |
| Commits behind |
88 |
| Days stale |
23 |
Severity: major
Justification: Range bumps yosys 0.62 → 0.63 → 0.64 (via BCR custom registry, with abc lockstep enforcement), and walks ORFS / OpenROAD through several tips (now ORFS a8b85cd6 / OpenROAD 5e0c6404 via archive_override + submodule patch_cmds). Adds many new public APIs (orfs_run_executable, orfs_blender 3D viewer, lib_to_verilog, compute_floorplan_shape, compute_slack_margin, memory_macro_scaler, kept_macros per-partition macro scoping, local_arguments, user_sources, yosys_plugins). New power.bzl Verilator-SAIF → OpenSTA report-power pipeline. New openroad_qt subsystem that routes bazelisk run gui_<stage> through the Qt binary (with the openroad-10384 patch splitting src/gui:gui_stub). All of these are infrastructure-affecting for HighTide's RTL-to-GDS flow and could trigger broad re-synth / re-floor.
What changed (highlights)
- Tool bumps
- yosys 0.62.bcr.2 → 0.63 (
32846d0), then BCR-sourced via ORFS tools/yosys YOSYS_VER (3c2cc26); then yosys 0.64 via custom registry (BCR PR #8862, 6ebadeb); abc lockstep enforced (dfdc1c4, softened in 04e0009)
- ORFS walked through
87b01b74 → 2f6e9c9b → 74b5f961 → b23706a6 → a8b85cd6; OpenROAD through 8546cd02 → 08f67ee5 → 5e0c6404
- OpenROAD now pinned via
archive_override + submodule patch_cmds (40759ce); submodule tarballs staged in repo workdir, not /tmp (d18bf13)
- yosys-slang sourced from ORFS
tools/ submodules (76b8531)
openroad_qt subsystem (new)
openroad_qt: use @openroad//:openroad-qt for bazelisk run gui_<stage> (19572e6); route bazelisk run wrappers through Qt binary (bb63631); scope to interactive stage wrappers only (21dc075)
openroad-10384 patch: split src/gui:gui_stub from :gui (7c5fa06)
- Gallery bumped openroad to match
//MODULE.bazel + apply openroad-qt patch (87ba908)
- New public APIs
orfs_run_executable for bazelisk-run TCL targets (4511a20)
orfs_blender() + orfs_flow(blender=True) — 3D viewer for final-stage GDS (67f4cc5, dd6074a); blender_supports_pdk predicate (b3b19b0)
orfs_gds declares 6_final.def, fixes klayout under sandbox, honors klayout attr (e8ede25)
compute_floorplan_shape + compute_slack_margin scripts (df03cc3)
lib_to_verilog emits behavioral Verilog for stdcells from .lib (5695d8d)
memory_macro_scaler emits per-bit pins in .lib bus blocks and .lef (9b3270c)
kept_macros API for per-partition macro scoping (e5aa446, 8d930b8, 6b67e07)
archive_override for ORFS pin (3e1dc5e)
local_arguments to drop helper vars; explicit config.mk (a816102, 7bccbf0); user_sources= design-private path hooks (c000cb3)
orfs_design.default() exposes yosys_plugins attribute (f884756)
- Build / infra
gnumake: drop zig bootstrap, build with cc_binary (943cae5); hzeller PR #717 review (8e8ade8); document --override_repository host-make escape hatch (05bbceb)
power.bzl: Verilator-SAIF → OpenSTA report_power pipeline (e944956)
synth_partition.sh: fix SYNTH_SKIP_KEEP truthy check; non-greedy kept_modules.json parse; JSON parser pinned against slang [N] names
bump: tooling improvements — fail loudly on unexpected MODULE.bazel; --ignore; refresh MODULE.bazel.lock; soften yosys/abc lockstep; remove stale 0.63/0.65; skip in-comment matches in override-block finders (a1dc1c4)
render_gds: trim layerstack before Blender import (3a5ddd7); monkey-patch PDK_CONFIGS instead of gdsii_use_custom_config (bfd3a1d)
yosys: pass use_pre_layout=True when writing 1_synth.short.mk (641150d)
submodules: apply patches 0036/0037 to @orfs+ from sub-workspaces (964d545); patch 0037 later dropped (a6d7dc1); patch 0035 dropped — upstream ORFS now gates overrides with dev_dependency=True (0184aa0)
- Deprecated integration sub-workspace deleted (
8be8907); unwired test/spelling_error sub-workspace deleted (1963859)
- CI / lint
- Drop
--@openroad//:platform=gui to stop double-building openroad (fd18fe2)
- Bust external-openroad+ cache after
src/sta submodule restructure (2631171)
fix_lint cleanups + black/buildifier
test/downstream: disable lockfile generation (59a736e)
- Determinism helpers
yosys-check + make-yosys-netlist OpenROAD determinism helpers (15be95f); TESTING.md documentation (ce6efd9); make-yosys-netlist clears VERILOG_FILES on re-synth (dcaad31)
Recommendation
Update with caution + plan rebase work — yosys 0.62 → 0.64 and the OpenROAD bump will trigger a full re-baseline across every HighTide design. New APIs (kept_macros, local_arguments, user_sources) may let HighTide simplify several existing workarounds (e.g. the per-design helper-var passthroughs). Verify all arguments = { ... } env-var workarounds in the bug table still apply post-bump. The render_gds / orfs_blender additions may complement or replace HighTide's own _gallery rendering — worth reviewing. The new openroad_qt GUI wrappers won't affect headless cache builds but may simplify local debugging.
Last refreshed: 2026-05-25T10:33Z
Upstream update available: bazel-orfs
d9f8b757(2026-04-30)6ebadeb4(2026-05-23)Severity: major
Justification: Range bumps yosys 0.62 → 0.63 → 0.64 (via BCR custom registry, with abc lockstep enforcement), and walks ORFS / OpenROAD through several tips (now ORFS
a8b85cd6/ OpenROAD5e0c6404viaarchive_override+ submodulepatch_cmds). Adds many new public APIs (orfs_run_executable,orfs_blender3D viewer,lib_to_verilog,compute_floorplan_shape,compute_slack_margin,memory_macro_scaler,kept_macrosper-partition macro scoping,local_arguments,user_sources,yosys_plugins). Newpower.bzlVerilator-SAIF → OpenSTA report-power pipeline. Newopenroad_qtsubsystem that routesbazelisk run gui_<stage>through the Qt binary (with theopenroad-10384patch splittingsrc/gui:gui_stub). All of these are infrastructure-affecting for HighTide's RTL-to-GDS flow and could trigger broad re-synth / re-floor.What changed (highlights)
32846d0), then BCR-sourced via ORFStools/yosys YOSYS_VER(3c2cc26); then yosys 0.64 via custom registry (BCR PR #8862,6ebadeb); abc lockstep enforced (dfdc1c4, softened in04e0009)87b01b74→2f6e9c9b→74b5f961→b23706a6→a8b85cd6; OpenROAD through8546cd02→08f67ee5→5e0c6404archive_override+ submodulepatch_cmds(40759ce); submodule tarballs staged in repo workdir, not/tmp(d18bf13)tools/submodules (76b8531)openroad_qtsubsystem (new)openroad_qt: use@openroad//:openroad-qtforbazelisk run gui_<stage>(19572e6); route bazelisk run wrappers through Qt binary (bb63631); scope to interactive stage wrappers only (21dc075)openroad-10384patch: splitsrc/gui:gui_stubfrom:gui(7c5fa06)//MODULE.bazel+ apply openroad-qt patch (87ba908)orfs_run_executablefor bazelisk-run TCL targets (4511a20)orfs_blender()+orfs_flow(blender=True)— 3D viewer for final-stage GDS (67f4cc5,dd6074a);blender_supports_pdkpredicate (b3b19b0)orfs_gdsdeclares6_final.def, fixes klayout under sandbox, honorsklayoutattr (e8ede25)compute_floorplan_shape+compute_slack_marginscripts (df03cc3)lib_to_verilogemits behavioral Verilog for stdcells from.lib(5695d8d)memory_macro_scaleremits per-bit pins in.libbus blocks and.lef(9b3270c)kept_macrosAPI for per-partition macro scoping (e5aa446,8d930b8,6b67e07)archive_overridefor ORFS pin (3e1dc5e)local_argumentsto drop helper vars; explicitconfig.mk(a816102,7bccbf0);user_sources=design-private path hooks (c000cb3)orfs_design.default()exposesyosys_pluginsattribute (f884756)gnumake: drop zig bootstrap, build withcc_binary(943cae5); hzeller PR #717 review (8e8ade8); document--override_repository host-makeescape hatch (05bbceb)power.bzl: Verilator-SAIF → OpenSTAreport_powerpipeline (e944956)synth_partition.sh: fixSYNTH_SKIP_KEEPtruthy check; non-greedykept_modules.jsonparse; JSON parser pinned against slang[N]namesbump: tooling improvements — fail loudly on unexpectedMODULE.bazel;--ignore; refreshMODULE.bazel.lock; soften yosys/abc lockstep; remove stale 0.63/0.65; skip in-comment matches in override-block finders (a1dc1c4)render_gds: trim layerstack before Blender import (3a5ddd7); monkey-patchPDK_CONFIGSinstead ofgdsii_use_custom_config(bfd3a1d)yosys: passuse_pre_layout=Truewhen writing1_synth.short.mk(641150d)submodules: apply patches0036/0037to@orfs+from sub-workspaces (964d545); patch0037later dropped (a6d7dc1); patch0035dropped — upstream ORFS now gates overrides withdev_dependency=True(0184aa0)8be8907); unwiredtest/spelling_errorsub-workspace deleted (1963859)--@openroad//:platform=guito stop double-building openroad (fd18fe2)src/stasubmodule restructure (2631171)fix_lintcleanups + black/buildifiertest/downstream: disable lockfile generation (59a736e)yosys-check+make-yosys-netlistOpenROAD determinism helpers (15be95f); TESTING.md documentation (ce6efd9);make-yosys-netlistclearsVERILOG_FILESon re-synth (dcaad31)Recommendation
Update with caution + plan rebase work — yosys 0.62 → 0.64 and the OpenROAD bump will trigger a full re-baseline across every HighTide design. New APIs (
kept_macros,local_arguments,user_sources) may let HighTide simplify several existing workarounds (e.g. the per-design helper-var passthroughs). Verify allarguments = { ... }env-var workarounds in the bug table still apply post-bump. Therender_gds/orfs_blenderadditions may complement or replace HighTide's own_galleryrendering — worth reviewing. The newopenroad_qtGUI wrappers won't affect headless cache builds but may simplify local debugging.Last refreshed: 2026-05-25T10:33Z