pub trait SimpleClockTreeGenerator<LN: L2NEdit> {
type Error;
// Required method
fn create_unrouted_clock_trees(
&self,
chip: &mut LN,
clock_tree_specifications: Vec<&dyn SimpleClockTreeSpecification<LN>>
) -> Result<HashMap<LN::NetId, (Vec<LN::CellInstId>, Vec<LN::NetId>)>, Self::Error>;
}Expand description
Simple clock-tree synthesis engine.
Required Associated Types§
Required Methods§
sourcefn create_unrouted_clock_trees(
&self,
chip: &mut LN,
clock_tree_specifications: Vec<&dyn SimpleClockTreeSpecification<LN>>
) -> Result<HashMap<LN::NetId, (Vec<LN::CellInstId>, Vec<LN::NetId>)>, Self::Error>
fn create_unrouted_clock_trees( &self, chip: &mut LN, clock_tree_specifications: Vec<&dyn SimpleClockTreeSpecification<LN>> ) -> Result<HashMap<LN::NetId, (Vec<LN::CellInstId>, Vec<LN::NetId>)>, Self::Error>
Create unrouted clock trees based on given clock source nets and target skews. Typically an implementation inserts buffer trees and assigns locations to the buffer gates.
Parameters
chip: A mutable reference to a fused netlist-layout struct.clock_tree_specifications: Definitions of the clock-trees to be generated.
Return
Returns for each clock net a list of cell instances (e.g. buffers) and nets of the clock tree.