Skip to content
Agent Platform · D0/DRAFT · Wave 0

Data Oracle · Paired data & active learning

Provides {design state → gold-label result} paired data for model training. Records provenance conditions, tool versions, and applicability for each sample—full lineage for training data.

Agent Platform D0/DRAFT Wave 0
oracle — paired data
# Oracle generates paired training samples
$ oracle generate --design snap_7f3a --tools iPL iSTA
[oracle ] AI prediction recorded   hpwl_est=1.82e6
[oracle ] deterministic gold      hpwl_actual=1.79e6
[lineage] source: snap_7f3a, tool: iPL v2.1, PDK: sky130
$ oracle select --strategy uncertainty_top100
[active  ] top-100 uncertain samples → send to deterministic
→ 100 new {design→gold} pairs added, lineage recorded
iMapsynthesisiFPfloorplaniPDNpoweriPLplacementiCTSclockiTOoptimizationiRTroutingiSTAtimingAiEDAdesign dataiPCLlayout modeliMapsynthesisiFPfloorplaniPDNpoweriPLplacementiCTSclockiTOoptimizationiRTroutingiSTAtimingAiEDAdesign dataiPCLlayout model

Core capabilities

1. Paired Data Generation

Record both AI predictions and deterministic gold labels for the same design state. When an Agent calls an AI model via Model Router, Oracle asynchronously runs the deterministic engine on the same state to produce ground truth. Each pair includes input (design-state features), ai_prediction, gold_result, and delta (error analysis).

2. Active Learning

Select the most informative samples for deterministic labeling. Three strategies: uncertainty (lowest AI confidence), diversity (underrepresented design regions), hybrid (uncertainty + diversity). Active learning minimizes deterministic engine cost—gold labels only for the most valuable samples.

3. Lineage Tracking

Record design source, tool version, process conditions, and scenario parameters for each sample. Full lineage: design source (design_id + commit) → tool version (tool + version + config_hash) → process (PDK node + corner + temperature) → scenario (utilization, frequency target, etc.). Dataset provenance is fully transparent.

4. Applicability

Tag applicability for each sample: design_family (riscv/vliw/soc/...), PDK (sky130/nangate45/asap7/...), scenario_type (congestion_fix/timing_opt/power_reduction/...). Model Router uses applicability tags for domain checks—domains not covered by training data trigger OOD detection.

5. Quality Gate

Data must pass coverage and correctness gates to enter the training set. Coverage gate: ensure new design/scenario regions are covered (avoid redundant homogeneity). Correctness gate: gold labels must come from trusted deterministic engine versions (stale versions marked degraded). Data passing both gates receives the certified label.

Agent invocation

Data Oracle provides two core operations—paired data generation and active learning sample selection.

Python
MCP
Tcl

Python SDK

from ieda.oracle import DataOracle

oracle = DataOracle("http://localhost:9130")

# Generate paired data: record AI prediction + gold result
samples = oracle.generate(
    design_ref="snap_7f3a",
    tools=["iPL", "iSTA"],
    scenarios=["congestion_fix", "timing_opt"],
)
print(len(samples))             # 42 paired samples

# Active learning: select most informative samples
selected = oracle.select(
    selection_strategy="uncertainty",
    top_k=100,
    model_family="congestion_nn",
)

# Check data lineage
lineage = oracle.get_lineage(sample_id="pair_7f3a_042")
print(lineage.design_source)    # "snap_7f3a (commit a1b2c3)"
print(lineage.tool_version)    # "iPL v2.1.0 (config hash: f3a9)"

Input/output contract

OracleRequest

FieldTypeRequiredDescription
design_refstringYesTarget design snapshot reference
tools[]string[]YesDeterministic tools for gold-label generation
scenarios[]string[]YesScenario tags—congestion_fix, timing_opt, power_reduction, etc.
selection_strategy"random" | "uncertainty" | "diversity"YesActive learning strategy—random, uncertainty (most uncertain), diversity (coverage)

OracleResult

FieldTypeDescription
paired_samples[]PairedSample[]Paired sample list—each with input, ai_prediction, gold_result, delta
lineage_manifestobjectLineage manifest—design_source, tool_version, pdk_node, scenario_params
selection_metadataobjectSelection metadata—strategy, uncertainty_scores, diversity_grid

Training data quality determines model quality

Data Oracle ensures every training sample has full lineage—from design source and tool version to process and scenario parameters.