Skip to main content

dau build

Build tools for dau

Build Status codecov License PyPI

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:

[!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

dau_build-0.11.0.tar.gz (222.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dau_build-0.11.0-py3-none-any.whl (268.5 kB view details)

Uploaded Python 3

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

Hashes for dau_build-0.11.0.tar.gz
Algorithm Hash digest
SHA256 60d20737952d363a183d53722dfd92874a3dfbc9f6f4147a99a71a08076efce7
MD5 bacedf97156e8605671560a88d8778d0
BLAKE2b-256 f10fae3c0f7bee5256d857bcd5c4f68fcecba27b3a98206196670c87bed589d1

See more details on using hashes here.

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

Hashes for dau_build-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e62ee14ff7f2d6b00cdc2e5a8661afc95917cd0b4f4fc753a2e500b87d16707
MD5 3c93f7c3a3fd4a5ecd4ba4b78ae37a3a
BLAKE2b-256 e4adfe3c7ce00b18a996e95e0a37b59b98226bc7ab334c5b75c735fb28ed3447

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page