How yosyshq/oss-cad-suite-build works
OSS CAD Suite is a packaged collection of open-source digital-design tools; this repository also contains the builder that assembles it. The principal workflow is a maintainer selecting a target and architecture, loading build rules, resolving sources and dependencies, building targets, and producing packages. The README documents the suite’s synthesis, formal, place-and-route, programming, simulation, and support-library capabilities; rule files cover only selected details of those tool families. The graph focuses on the documented product and the sampled build path. Unsampled implementation links are omitted rather than inferred.
Main entry points: src/base.py Suite package · shortcuts.py VCS selection · libvcs/base.py Repository commands · builder.py Builder CLI
Components 18
Build orchestration
- Builder CLI
builder.py - Build engine
src/base.py - Target rules
default/rules
Source management
- Source updates
src/base.py - VCS selection
libvcs/shortcuts.py - Git repositories
libvcs/git.py - Mercurial repositories
libvcs/hg.py - Subversion repositories
libvcs/svn.py - Repository commands
libvcs/base.py - Command execution
libvcs/util.py
CAD tool suite
- RTL synthesis
default/rules/yosys.py - Formal verification
default/rules/solvers.py - Place and route
default/rules/nextpnr.py - Simulation and testing
default/rules - FPGA programming
default/rules/programmers.py
Runtime support
- Support resources
default/rules/resources.py - Suite package
src/base.py
Other components
- Maintainer
Connections 20
- Maintainer → Builder CLI: runs commands
builder.py - Builder CLI → Build engine: dispatches build
builder.py - Builder CLI → Target rules: loads rules
builder.py - Target rules → Build engine: declares targets
default/rules/nextpnr.py - Build engine → Source updates: resolves sources
src/base.py - Source updates → VCS selection: selects VCS
src/base.py - VCS selection → Git repositories: creates Git repo
libvcs/shortcuts.py - VCS selection → Mercurial repositories: creates Hg repo
libvcs/shortcuts.py - VCS selection → Subversion repositories: creates SVN repo
libvcs/shortcuts.py - Git repositories → Repository commands: inherits commands
libvcs/git.py - Mercurial repositories → Repository commands: inherits commands
libvcs/hg.py - Subversion repositories → Repository commands: inherits commands
libvcs/svn.py - Repository commands → Command execution: runs commands
libvcs/base.py - Build engine → Suite package: builds package
builder.py - Suite package → RTL synthesis: bundles tools
README.md - Suite package → Formal verification: bundles tools
README.md - Suite package → Place and route: bundles tools
README.md - Suite package → Simulation and testing: bundles tools
README.md - Suite package → FPGA programming: bundles tools
README.md - Suite package → Support resources: bundles resources
README.md