diff --git a/MODULE.bazel b/MODULE.bazel index b485f32a..eaf2a1cc 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -24,24 +24,11 @@ local_path_override( ) bazel_dep(name = "abc", version = "0.64-yosyshq.bcr.1") -bazel_dep(name = "yosys", version = "0.62") - -# yosys_share (techlib data files) has package-private visibility in BCR yosys; -# the ORFS flow needs it public so @yosys//:yosys_share is reachable across modules. -single_version_override( - module_name = "yosys", - patch_strip = 1, - patches = [ - "//patches:yosys-visibility.patch", - "//patches:yosys-hdrs.patch", - "//patches:yosys-tcl9-mp-to-ubin.patch", - ], -) - +bazel_dep(name = "yosys", version = "0.62.bcr.2") bazel_dep(name = "orfs") git_override( module_name = "orfs", - commit = "172bd233dabd45d04cd80062cd1894e5ac8e5d52", + commit = "10a2baea2171059ec14cda9a5855aa26dd7572c6", patch_strip = 1, # Minimal patches: only what's needed when ORFS is a non-root module. # Design-specific patches are only applied in the orfs/ integration workspace. @@ -54,7 +41,7 @@ git_override( bazel_dep(name = "openroad") git_override( module_name = "openroad", - commit = "578be38ad2297637e938cbc9cb35e5a05d8936ff", + commit = "559a32007597782afb3c4d537d257fd89667ef3b", init_submodules = True, remote = "https://github.com/The-OpenROAD-Project/OpenROAD.git", ) diff --git a/chisel/MODULE.bazel b/chisel/MODULE.bazel index ba866970..fe2aaf5a 100644 --- a/chisel/MODULE.bazel +++ b/chisel/MODULE.bazel @@ -19,14 +19,7 @@ local_path_override( path = "../verilog", ) -bazel_dep(name = "yosys", version = "0.62") - -# Make yosys_share publicly visible for the ORFS flow (see bazel-orfs MODULE.bazel). -single_version_override( - module_name = "yosys", - patch_strip = 1, - patches = ["//patches:yosys-visibility.patch"], -) +bazel_dep(name = "yosys", version = "0.62.bcr.2") bazel_dep(name = "orfs") git_override( diff --git a/gallery/MODULE.bazel b/gallery/MODULE.bazel index fb1e745b..4ba42255 100644 --- a/gallery/MODULE.bazel +++ b/gallery/MODULE.bazel @@ -13,24 +13,14 @@ local_path_override( path = "..", ) -bazel_dep(name = "yosys", version = "0.62") - -# Make yosys_share publicly visible for the ORFS flow (see bazel-orfs MODULE.bazel). -single_version_override( - module_name = "yosys", - patch_strip = 1, - patches = [ - "//patches:yosys-visibility.patch", - "//patches:yosys-tcl9-mp-to-ubin.patch", - ], -) +bazel_dep(name = "yosys", version = "0.62.bcr.2") # --- ORFS flow scripts (Makefile, TCL, PDKs) --- bazel_dep(name = "orfs") git_override( module_name = "orfs", - commit = "172bd233dabd45d04cd80062cd1894e5ac8e5d52", + commit = "10a2baea2171059ec14cda9a5855aa26dd7572c6", patch_strip = 1, patches = [ "//patches:0035-fix-remove-non-root-overrides-from-MODULE.bazel.patch", @@ -49,7 +39,7 @@ use_repo(orfs, "gnumake") bazel_dep(name = "openroad") git_override( module_name = "openroad", - commit = "578be38ad2297637e938cbc9cb35e5a05d8936ff", + commit = "559a32007597782afb3c4d537d257fd89667ef3b", init_submodules = True, remote = "https://github.com/The-OpenROAD-Project/OpenROAD.git", ) diff --git a/mock/chisel/MODULE.bazel b/mock/chisel/MODULE.bazel index 07a5448c..c64d7e5c 100644 --- a/mock/chisel/MODULE.bazel +++ b/mock/chisel/MODULE.bazel @@ -17,13 +17,7 @@ local_path_override( path = "../../verilog", ) -bazel_dep(name = "yosys", version = "0.62") -# Make yosys_share publicly visible for the ORFS flow (see bazel-orfs MODULE.bazel). -single_version_override( - module_name = "yosys", - patches = ["//patches:yosys-visibility.patch"], - patch_strip = 1, -) +bazel_dep(name = "yosys", version = "0.62.bcr.2") bazel_dep(name = "orfs") git_override( diff --git a/orfs/MODULE.bazel b/orfs/MODULE.bazel index ed55b772..6123c154 100644 --- a/orfs/MODULE.bazel +++ b/orfs/MODULE.bazel @@ -61,13 +61,7 @@ git_override( remote = "https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts.git", ) -bazel_dep(name = "yosys", version = "0.62") -# Make yosys_share publicly visible for the ORFS flow (see bazel-orfs MODULE.bazel). -single_version_override( - module_name = "yosys", - patches = ["//patches:yosys-visibility.patch"], - patch_strip = 1, -) +bazel_dep(name = "yosys", version = "0.62.bcr.2") # --- OpenROAD built from source --- diff --git a/patches/yosys-hdrs.patch b/patches/yosys-hdrs.patch deleted file mode 100644 index 0eef998b..00000000 --- a/patches/yosys-hdrs.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/BUILD.bazel -+++ b/BUILD.bazel -@@ -691,3 +691,12 @@ - "passes/cmds/sdc/graph-stubs.sdc:sdc/graph-stubs.sdc", - ], - ) -+ -+# Header-only target for building out-of-tree yosys plugins. -+cc_library( -+ name = "hdrs", -+ hdrs = glob(["kernel/*.h", "kernel/*.inc"]), -+ defines = COMMON_DEFINES, -+ includes = ["."], -+ visibility = ["//visibility:public"], -+) diff --git a/patches/yosys-tcl9-mp-to-ubin.patch b/patches/yosys-tcl9-mp-to-ubin.patch deleted file mode 100644 index 7f1203eb..00000000 --- a/patches/yosys-tcl9-mp-to-ubin.patch +++ /dev/null @@ -1,21 +0,0 @@ -Use mp_to_ubin / mp_ubin_size for Tcl 9 compatibility. - -Tcl 9's libtommath stubs no longer export the deprecated -TclBN_mp_to_unsigned_bin / TclBN_mp_unsigned_bin_size, though -tclTomMathDecls.h still redirects the unprefixed names to them. -Switch to the non-deprecated mp_to_ubin / mp_ubin_size which are -present in both the Tcl 9 stubs and upstream libtommath. ---- a/kernel/tclapi.cc -+++ b/kernel/tclapi.cc -@@ -211,8 +211,9 @@ bool mp_int_to_const(mp_int *a, Const &b, bool is_signed) - } - - std::vector buf; -- buf.resize(mp_unsigned_bin_size(a)); -- mp_to_unsigned_bin(a, buf.data()); -+ buf.resize(mp_ubin_size(a)); -+ size_t written = 0; -+ mp_to_ubin(a, buf.data(), buf.size(), &written); - - Const::Builder b_bits(mp_count_bits(a) + is_signed); - for (int i = 0; i < mp_count_bits(a);) { diff --git a/patches/yosys-visibility.patch b/patches/yosys-visibility.patch deleted file mode 100644 index ef0d5515..00000000 --- a/patches/yosys-visibility.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/BUILD.bazel -+++ b/BUILD.bazel -@@ -1,5 +1,8 @@ -+# Techlib cell definitions, plugins and other runtime data needed by the -+# synthesis flow. - share_tree( - name = "yosys_share", -+ visibility = ["//visibility:public"], - file_map = {f: share_dst(f) for f in _TECHLIBS_SHARE_SRCS}, - renames = [ - # lattice files also appear under ecp5/ with renamed destinations diff --git a/test/downstream/MODULE.bazel b/test/downstream/MODULE.bazel index 3f964f1f..24bc5070 100644 --- a/test/downstream/MODULE.bazel +++ b/test/downstream/MODULE.bazel @@ -50,16 +50,7 @@ git_override( remote = "https://github.com/The-OpenROAD-Project/qt_bazel_prebuilts", ) -# --- yosys visibility patch (single_version_override is root-only) --- -bazel_dep(name = "yosys", version = "0.62") -single_version_override( - module_name = "yosys", - patch_strip = 1, - patches = [ - "//patches:yosys-visibility.patch", - "//patches:yosys-hdrs.patch", - ], -) +bazel_dep(name = "yosys", version = "0.62.bcr.2") # --- Verilator simulation + Google Test --- bazel_dep(name = "rules_verilog", version = "1.1.1") diff --git a/test/downstream/README.md b/test/downstream/README.md index 4d5439db..4721e044 100644 --- a/test/downstream/README.md +++ b/test/downstream/README.md @@ -45,13 +45,6 @@ would deliver these through its extension. bazel-orfs pip deps are locked to Python 3.13. The root module must register it as the default toolchain via `python.toolchain(is_default = True)`. -### yosys visibility and headers patches - -BCR yosys has `package(default_visibility = ["//visibility:private"])`. -Downstream consumers must duplicate the `yosys-visibility.patch` and add -a `yosys-hdrs.patch` for plugin compilation (`single_version_override` is -root-only). - ### yosys-slang not on BCR The slang yosys plugin must be built from source. This test includes a diff --git a/test/downstream/patches/yosys-hdrs.patch b/test/downstream/patches/yosys-hdrs.patch deleted file mode 100644 index 0eef998b..00000000 --- a/test/downstream/patches/yosys-hdrs.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/BUILD.bazel -+++ b/BUILD.bazel -@@ -691,3 +691,12 @@ - "passes/cmds/sdc/graph-stubs.sdc:sdc/graph-stubs.sdc", - ], - ) -+ -+# Header-only target for building out-of-tree yosys plugins. -+cc_library( -+ name = "hdrs", -+ hdrs = glob(["kernel/*.h", "kernel/*.inc"]), -+ defines = COMMON_DEFINES, -+ includes = ["."], -+ visibility = ["//visibility:public"], -+) diff --git a/test/downstream/patches/yosys-visibility.patch b/test/downstream/patches/yosys-visibility.patch deleted file mode 100644 index ef0d5515..00000000 --- a/test/downstream/patches/yosys-visibility.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/BUILD.bazel -+++ b/BUILD.bazel -@@ -1,5 +1,8 @@ -+# Techlib cell definitions, plugins and other runtime data needed by the -+# synthesis flow. - share_tree( - name = "yosys_share", -+ visibility = ["//visibility:public"], - file_map = {f: share_dst(f) for f in _TECHLIBS_SHARE_SRCS}, - renames = [ - # lattice files also appear under ecp5/ with renamed destinations