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:
SourceSet::resolveexpands the manifest’s globs into absolute source paths.BuildPlan::newturns a manifest + source set + profile into an invocation plan with a deterministic content hash.- 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
BuildDiagnosticslices. - source_
set - Resolve manifest globs into a concrete list of source files.