netlist_carpentry.routines.opt.floodfill.chain_metrics
¶
Gate-Chain Optimizer Metrics & Reporting.
Contains all dataclasses and reporting functionality.
Classes:
-
ChainStatus–Status of a chain replacement attempt.
-
GateAnalysis–Analysis of gates in a module by input count.
-
ChainBoundary–Defines the input/output boundary of a gate-chain.
-
ChainInfo–Detailed information about a single chain.
-
ModuleReport–Detailed report for a single module.
-
ReplacementResult–Statistics for chain replacement operations in one module.
-
CircuitOptimizationResult–Complete statistics for circuit-wide optimization.
GateAnalysis
dataclass
¶
GateAnalysis(
total_gates: int = 0,
by_input_count: Dict[int, int] = dict(),
constant_input_gates: int = 0,
)
Analysis of gates in a module by input count.
ChainBoundary
dataclass
¶
ChainBoundary(
inputs: List["WireSegmentPath"],
output: "WireSegmentPath",
internal_wires: List["WireSegmentPath"],
)
Defines the input/output boundary of a gate-chain.
ChainInfo
dataclass
¶
ChainInfo(
chain_keys: List[str],
status: ChainStatus,
error_message: Optional[str] = None,
num_gates: int = 0,
num_inputs: int = 0,
num_internal_wires: int = 0,
num_constant_inputs: int = 0,
output_wire: Optional[str] = None,
input_wires: List[str] = list(),
)
Detailed information about a single chain.
Attributes:
-
is_degenerate(bool) –Chain is degenerate (only constant inputs) - expected skip, not an error.
-
is_problematic_skip(bool) –Chain was skipped due to an unexpected problem.
ModuleReport
dataclass
¶
ModuleReport(
module_name: str,
gate_analysis: GateAnalysis = GateAnalysis(),
chains_detected: int = 0,
chains_replaced: int = 0,
chains_skipped: int = 0,
chains_failed: int = 0,
skipped_details: List[Dict[str, object]] = list(),
failed_details: List[Dict[str, object]] = list(),
)
Detailed report for a single module.
ReplacementResult
dataclass
¶
ReplacementResult(
chains_detected: List[List[str]],
chains_replaced: int = 0,
chains_skipped: int = 0,
chains_failed: int = 0,
chain_details: List[ChainInfo] = list(),
)
Statistics for chain replacement operations in one module.
CircuitOptimizationResult
dataclass
¶
CircuitOptimizationResult(
modules_processed: int = 0,
modules_with_chains: int = 0,
total_chains_detected: int = 0,
total_chains_replaced: int = 0,
total_chains_skipped: int = 0,
total_chains_failed: int = 0,
module_results: Dict[str, ReplacementResult] = dict(),
module_reports: Dict[str, ModuleReport] = dict(),
)
Complete statistics for circuit-wide optimization.
Methods:
-
all_degenerate–Return all degenerate chains (expected skips - only constant inputs).
-
all_problematic–Return problematic skips (unexpected issues requiring attention).