Bender: A dependency maganement tool for hardware design projects
summary
Bender is a Rust-based package manager that resolves transitive dependency resolution across many git repos, uses semantic versioning and lock files to enforce conservative, reproducible builds, and performs backtracking to pick compatible commits when version ranges conflict. It can collect RTL sources, produce a topologically ordered compilation list, and emit tool scripts (for example for Synopsys flows) so EDA steps can be checked into version control. Features are tiered and opt-in to avoid disrupting existing ASIC workflows.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:37STATUS QUO
- 2:38THE WISHLIST
- 5:43TRANSITIVE DEPENDENCIES
- 7:24SEMANTIC VERSIONING
- 10:14REPRODUCIBLE BUILDS
- 12:21DEPENDENCY RESOLUTION
- 18:47SOURCE FILES
- 20:55TARGETS
- 22:15EXAMPLE
- 23:46FEEDING THE TOOLS
- 24:18SCRIPT GENERATION
- 25:49PLUGINS
- 26:03TESTING
- 26:24I HATE YOUR TOOL!
- 26:55FUTURE WORK
related talks
31mBazel: Do We Really Need Another Build Tool?
18mDesigning a language Agnostic CI using Bazel queries
19mExploring Scala Tooling ecosystem
16mHermetic builds with Bazel
23mSupply Chain Security using Free and Open Tools
01h 03m“C++ Dependency Management: from Package Consumption to Project Development”
51mRage Against the Ecosystem
47mDesign Challenges of Bloop
