pub(crate) fn propagate_cones<Netlist, CellModel>(
    g: &TimingGraph<Netlist, CellModel>,
    frontier: impl Iterator<Item = NodeIndex>,
    generation: u32
)where
    Netlist: NetlistBaseMT,
    CellModel: ConstraintBase,
Expand description

Mark the fan-out cones of the supplied frontier-nodes with the current generation number. Let the set of nodes in this fan-out cones be C_fwd. Then mark also the nodes in the fanin-cones of the nodes in C_fwd with the current generation number.

This is used as a preliminary step of incremental timing propagation. Only the nodes from C_fwd will need to update their actual signals. And only the nodes from C_bwd will need to update their required signals.