Skip to main content

Crate kiln_build

Crate kiln_build 

Source
Expand description

Build pipeline and simulator backends for kiln.

The crate is organised so the high-level kiln build flow is a small sequence of steps:

  1. SourceSet::resolve expands the manifest’s globs into absolute source paths.
  2. BuildPlan::new turns a manifest + source set + profile into an invocation plan with a deterministic content hash.
  3. A backend (today: backend::verilator) compiles that plan and parses the simulator’s output into [Diagnostic]s.

This crate is intentionally simulator-agnostic at the type level; M5 will plug a Cocotb backend onto the same plan. M3 will reuse [Diagnostic] for the slang-driven kiln check rendering path.

Re-exports§

pub use backend::BackendError;
pub use cache::cache_dir;
pub use cache::BuildCacheKey;
pub use diagnostic::BuildDiagnostic;
pub use diagnostic::Severity;
pub use plan::aggregate_blackbox_modules;
pub use plan::BuildPlan;
pub use plan::Profile;
pub use source_set::SourceSet;
pub use source_set::SourceSetError;

Modules§

backend
Simulator backends. Today: verilator. M5 will plug Cocotb here.
cache
Content-hashed build cache rooted at target/kiln/<hash>/.
diagnostic
A simulator-agnostic diagnostic shape.
plan
Build plan: the inputs, flags, top, and profile for one compilation.
render
Ariadne-based renderer for BuildDiagnostic slices.
source_set
Resolve manifest globs into a concrete list of source files.

Enums§

BuildError