GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - pulp-platform/bender: A dependency management tool for hardware projects.

BranchesTags
Open more actions menu

Latest commit

 

History

1,223 Commits
1,223 Commits

Folders and files

NameName
Last commit message
Last commit date
.cargo
.cargo
 
 
.github
.github
 
 
book
book
 
 
crates/bender-slang
crates/bender-slang
 
 
src
src
 
 
tests
tests
 
 
website
website
 
 
.clang-format
.clang-format
 
 
.clangd
.clangd
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
CHANGELOG.md
CHANGELOG.md
 
 
Cargo.lock
Cargo.lock
 
 
Cargo.toml
Cargo.toml
 
 
LICENSE-APACHE
LICENSE-APACHE
 
 
LICENSE-MIT
LICENSE-MIT
 
 
README.md
README.md
 
 
dist-workspace.toml
dist-workspace.toml
 
 
flake.lock
flake.lock
 
 
flake.nix
flake.nix
 
 

Repository files navigation

Bender

A dependency management tool for hardware design projects.

Bender manages HDL package dependencies across Git repositories and local paths, resolves compatible versions, records the exact result in Bender.lock, and collects ordered source sets for downstream tools. It is designed to fit existing hardware flows rather than impose a registry, directory layout, or simulator choice.

Build Status Crates.io License

Why Bender

  • Reproducible dependency resolution: Resolve IP dependencies from Git tags, revisions, or local paths and record the exact state in Bender.lock.
  • HDL-aware source collection: Keep source ordering, include directories, defines, and target-specific file groups in one place.
  • Tool-agnostic workflow: Generate inputs for QuestaSim, VCS, Vivado, Verilator, and other flows without forcing a particular setup.
  • Practical local development: Work on dependencies locally and modify them conveniently as part of your development flow.

Quick Start

Install Bender:

curl --proto '=https' --tlsv1.2 https://pulp-platform.github.io/bender/init -sSf | sh

Create a package:

mkdir my_ip
cd my_ip
bender init

Add a dependency to Bender.yml:

dependencies:
  common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: "1.21.0" }

Resolve dependencies and generate a compile script:

bender update
bender script vsim > compile.tcl
vsim -do compile.tcl

How It Works

Bender packages are built around three files:

  • Bender.yml: Declares package metadata, dependencies, sources, targets, and workflow configuration.
  • Bender.lock: Records the exact resolved dependency revisions for reproducible builds.
  • Bender.local: Stores local overrides, for example when developing a dependency in-place.

In a typical workflow, you edit Bender.yml, run bender update to resolve dependencies, use bender checkout to download the revisions pinned in Bender.lock, and generate tool inputs with bender script.

Documentation

The full documentation lives at pulp-platform.github.io/bender/.

  • Installation
  • Getting Started
  • Concepts
  • Workflows
  • Commands

License

Bender is licensed under either of:

  • Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.


PULP Platform

Bender is maintained by the PULP Platform at ETH Zurich and the University of Bologna.

About

A dependency management tool for hardware projects.

Resources

Readme
Activity
Custom properties

Stars

403 stars

Watchers

8 watching

Forks

63 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.