Skip to main content

cells_to_bounded

Function cells_to_bounded 

Source
pub fn cells_to_bounded(
    cells: &[LoopCell],
    result: Src,
    width: u32,
) -> Option<BoundedExpr>
Expand description

Lower an ALU/select cell body to the bounded fragment (the placer’s own lowering vocabulary).

This is the TREE form: a cell read by two later cells is copied into both, and their readers copy those, so the body’s BoundedExpr is the cell DAG UNFOLDED — fib.lg’s 75 cells unfold to 1 657 763 nodes. Callers that speak the tree (printers, SMT surfaces) want exactly that; the certifier does not, and uses cells_to_gates to build the same datapath into the shared gate DAG instead, through the SAME walk, so the two forms cannot drift.