Expand description
ACE circuit codegen for Plonky3-based Miden AIRs.
The pipeline is:
- Capture AIR constraints via plonky3’s
SymbolicAirBuilder. - Lower symbolic expressions into a DAG that mirrors verifier constraints evaluation.
- Emit an ACE circuit plus an
InputLayoutdescribing the MASM ACE-READ section order.
The resulting circuit is intended to run inside the recursive verifier. All input layout decisions (point-major OOD ordering, aux/quotient coords, and alpha/beta randomness expansion) are centralized in this crate so tests can validate both layout and evaluation.
Quick start:
ⓘ
use miden_ace_codegen::{AceConfig, LayoutKind, build_ace_circuit_for_air};
use miden_air::ProcessorAir;
use miden_core::{Felt, field::QuadFelt};
let config = AceConfig { num_quotient_chunks: 8, num_aux_inputs: 14, layout: LayoutKind::Masm };
let circuit = build_ace_circuit_for_air::<_, Felt, QuadFelt>(&ProcessorAir, config)?;Module map (data flow):
pipeline: public entry points that orchestrate layout + DAG + circuit emission.dag: verifier-style DAG IR and lowering helpers.circuit: off-VM circuit representation (inputs/constants/ops/root).layout: READ-section layout and index mapping.encode: ACE stream encoding + padding rules.randomness: challenge input planning for layouts + DAG lowering.quotient: barycentric quotient recomposition helpers (used by DAG + tests).
Structs§
- AceCircuit
- Emitted ACE circuit with layout and operation list.
- AceConfig
- Configuration for building an ACE DAG and its input layout.
- Encoded
Circuit - Encoded ACE circuit ready for chiplet consumption.
- Input
Counts - Counts needed to build the ACE input layout.
- Input
Layout - ACE input layout for Plonky3-based verifier logic.
Enums§
- AceError
- Errors returned by ACE codegen.
- Input
Key - Logical inputs required by the ACE circuit.
- Layout
Kind - Layout strategy for arranging ACE inputs.
Constants§
- EXT_
DEGREE - Extension field degree (quadratic extension for Miden VM).
Functions§
- build_
ace_ circuit_ for_ air - Build a verifier-equivalent ACE circuit for the provided AIR.
- build_
layout_ for_ air - Build the input layout for the provided AIR.