dau build
Build tools for dau
Overview
dau-build turns declarative FPGA build specs into concrete artifacts: generated SystemVerilog, artlink.manifest/v0 artifact bundles, backend handoff manifests, Vivado Tcl, and ordered hardware command plans. Every operation is a typed ccflow.CallableModel composed from a Hydra config tree in dau_build/config, so the whole pipeline composes, inspects, and tests on a development machine, with the privileged steps (Vivado, JTAG, PCIe) gated behind an explicit execute=true.
Two synthesis engines are supported: Vivado (the FPGA bitstream flow) and yosys (open-source synthesis that runs in CI). The config plumbing is backend-agnostic, so more can be added.
Composition is the extension mechanism: any package can register its own config tree on the shared Hydra search path via a hydra.lernaplugins entry point, and its task/design/board groups compose through this CLI without dau-build importing that package. The core registry itself arrives this way — dau-core publishes every hardware building block as a CoreDefinition at /dau-core/<name>, and the synthesize-cores task resolves cores from that registry to run per-core out-of-context characterization (staged Tcl + command plan anywhere; model.execute=true on a synthesis host runs Vivado and flags envelope drift against the registered numbers):
dau-build task=tasks/build/synthesize-cores 'model.cores=[/dau-core/int32-predicate-filter]' model.output_root=outputs/ooc model.part=xc7a200tfbg484-2
Quickstart
Build the checked-in identity example — no board or vendor tools required:
dau-build task=tasks/spec/inspect model.spec_path=examples/identity/dau-build.yaml
dau-build task=tasks/spec/build model.spec_path=examples/identity/dau-build.yaml model.output_root=outputs/identity
dau-build task=tasks/spec/validate model.manifest_path=outputs/identity/dau-identity.manifest model.root=outputs/identity
dau-build task=tasks/sim/simulate model.module=dau_identity_top model.spec_path=examples/identity/dau-build.yaml
Task and step names are path-style, mirroring the config tree (task=tasks/spec/inspect, step=steps/inspect).
Documentation
The documentation is organized into four sections:
- Tutorial — Build the identity example.
- How-to — Run a build end to end · Program a bitstream on dpv1 · Extend dau-build.
- Reference — Commands · Config groups · Task and step catalog.
- Explanation — Architecture: how Hydra composition, ccflow evaluation, and the search-path extension model work, and the current state of backend support.
[!NOTE] This library was generated using copier from the Base Python Project Template repository.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dau_build-0.11.0.tar.gz.
File metadata
- Download URL: dau_build-0.11.0.tar.gz
- Upload date:
- Size: 222.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60d20737952d363a183d53722dfd92874a3dfbc9f6f4147a99a71a08076efce7
|
|
| MD5 |
bacedf97156e8605671560a88d8778d0
|
|
| BLAKE2b-256 |
f10fae3c0f7bee5256d857bcd5c4f68fcecba27b3a98206196670c87bed589d1
|
File details
Details for the file dau_build-0.11.0-py3-none-any.whl.
File metadata
- Download URL: dau_build-0.11.0-py3-none-any.whl
- Upload date:
- Size: 268.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e62ee14ff7f2d6b00cdc2e5a8661afc95917cd0b4f4fc753a2e500b87d16707
|
|
| MD5 |
3c93f7c3a3fd4a5ecd4ba4b78ae37a3a
|
|
| BLAKE2b-256 |
e4adfe3c7ce00b18a996e95e0a37b59b98226bc7ab334c5b75c735fb28ed3447
|