Skip to content
@hw-bzl

Hardware.bzl

An open, decentralized community providing Bazel BCR packages for hardware design.

Who we are

We are an open, decentralized community providing Bazel Central Registry (BCR) packages for hardware design. Independent of any specific company or institution, our community is driven by a global, distributed group of volunteers.

Moving away from the monolithic repositories of the legacy WORKSPACE era (like rules_hdl), we fully embrace the modern Bzlmod ecosystem. We provide modular, decoupled packages tailored for hardware design, allowing users to import exactly what they need. This significantly reduces performance and storage overhead while simplifying maintenance.

By coming together under one umbrella organization, we facilitate collaborative maintenance and mitigate the supply chain risks associated with individual user accounts. This structure prevents packages from stagnating if a single maintainer becomes unavailable, while also standardizing foundational interfaces (for example, ensuring all downstream rulesets can consume the same verilog_library). Ultimately, our community represents an ideal trade-off between decentralization, modularity, and unified management.

Repo Status

Name Feature Primary Maintainer
rules_verilog Provide foundational verilog/sv interfaces for Bazel rulesets (e.g., verilog_library). @MrAMS
rules_vhdl Provide foundational vhdl interfaces for Bazel rulesets (e.g., vhdl_library). @UebelAndre
rules_verilator Bazel rules for Verilator-based Verilog/SystemVerilog simulation @MrAMS
rules_vivado Bazel rules for Vivado FPGA tool @stridge-cruxml
rules_chisel Bazel rules for Chisel hardware description language @MrAMS
rules_tcl Bazel rules for the Tcl programming language @UebelAndre
rules_systemrdl Bazel rules for SystemRDL @UebelAndre
rules_cocotb Bazel rules for Python-based chip (RTL) verification Cocotb @UebelAndre

Contribute

We are always thrilled to welcome new contributors and the packages they maintain.

  • Ownership and Maintenance: The creator of any module automatically becomes its primary maintainer and has the final say on all decisions regarding their repository. However, to ensure the longevity of our packages, if a maintainer becomes unreachable for several months, other community members may step in to help maintain the project.

  • Transferring Existing Repositories: If you have an existing external repository and want to move it under our community umbrella, you can easily do so using GitHub's repository transfer feature.

    • Don't worry about broken links: All original URLs (including those for releases and older versions) will automatically redirect to the new address after the transfer.
    • Nothing will break, and your existing users will experience zero disruption.
  • Naming Conventions: When naming a new ruleset package repository, we highly recommend using the rules_* format (e.g., rules_vhdl) instead of the older bazel_rules_* prefix.

  • Continuous Integration (CI): To ensure high quality and build stability, we strongly recommend that every package incorporates a CI pipeline (e.g., GitHub Actions) to automate testing and validation.

Popular repositories Loading

  1. rules_chisel rules_chisel Public

    Bazel rules for Chisel projects with Bzlmod support

    Starlark 5 1

  2. rules_verilator rules_verilator Public

    Bazel rules for Verilator-based SystemVerilog simulation using the Bazel Central Registry (BCR) Verilator toolchain.

    Starlark 3 1

  3. bazel_rules_verilog bazel_rules_verilog Public

    Provide foundational verilog/sv interfaces for Bazel rulesets (e.g., verilog_library).

    Starlark 3

  4. rules_tcl rules_tcl Public

    Bazel rules for the Tcl programming language

    Starlark 2

  5. rules_vhdl rules_vhdl Public

    Provide foundational vhdl interfaces for Bazel rulesets (e.g., vhdl_library).

    Starlark 2

  6. bazel_rules_vivado bazel_rules_vivado Public

    Bazel rules for Viviado FPGA tool

    Tcl 1 1

Repositories

Showing 9 of 9 repositories

Top languages

Loading…

Most used topics

Loading…