This file documents the public API surface of bazel-orfs — the .bzl files
and rules that downstream consumers may load and use.
Policy: Every bazel_dep in MODULE.bazel that is not required by a
public API file listed below must be marked dev_dependency = True. This
prevents MVS from forcing unnecessary version constraints on downstream
consumers.
| File | Exports | External deps |
|---|---|---|
openroad.bzl |
orfs_flow, orfs_synth, orfs_update, orfs_run, orfs_test, orfs_macro, orfs_pdk, orfs_deps, orfs_floorplan, orfs_place, orfs_cts, orfs_grt, orfs_route, orfs_final, orfs_gds, orfs_abstract, orfs_generate_metadata, orfs_update_rules, providers (OrfsInfo, PdkInfo, TopInfo, OrfsDepInfo, LoggingInfo) |
bazel_skylib |
extension.bzl |
orfs_repositories module extension |
built-in only |
ppa.bzl |
orfs_ppa |
rules_shell |
verilog.bzl |
verilog_directory, verilog_file, verilog_single_file_library |
rules_verilog |
generate.bzl |
fir_library |
none (@circt http_archive) |
sby/sby.bzl |
sby_test |
bazel-orfs-verilog, oss_cad_suite (in bazel-orfs-sby submodule) |
eqy.bzl |
eqy_test |
none |
orfs_genrule.bzl |
orfs_genrule |
none |
sweep.bzl |
sweep |
none (via openroad.bzl) |
These are loaded by the public .bzl files above or by BUILD files that
downstream consumers may transitively evaluate:
bazel_skylib—BuildSettingInfoin private/attrs.bzl, private/environment.bzlrules_shell—sh_binaryin ppa.bzl, root BUILDrules_verilog— verilog providers in verilog.bzlrules_verilator— verilator toolchain, verilator_cc_libraryverilator— required by rules_verilatorrules_python—py_binaryin root BUILD, pythonwrapper/BUILD
chisel/test.bzl—chisel_bench_test(needsrules_cc,rules_chisel,rules_verilator)- BUILD files under
chisel/,delivery/,sby/,mock/— internal test targets
These are only used by dev-only extensions, toolchains, or BUILD files:
rules_jvm_external— maven extensionrules_java— transitive dep of rules_scalarules_scala— scala_config/scala_deps extensionsrules_chisel— chisel/test.bzl, dev BUILD filesrules_cc— chisel/test.bzl, dev BUILD files
The PDKs in docker.BUILD.bazel (asap7, nangate45, sky130hd, ihp-sg13g2) are
the ORFS-bundled PDKs exposed for convenience. PDK support does not have to
live in bazel-orfs — users can implement private or proprietary PDK support in
their own repository using the orfs_pdk rule.