pub trait MixedSizePlacer<C: L2NBase> {
    // Required methods
    fn name(&self) -> &str;
    fn find_cell_positions_impl(
        &self,
        placement_problem: &dyn PlacementProblem<C>
    ) -> Result<HashMap<C::CellInstId, SimpleTransform<C::Coord>>, PlacementError>;

    // Provided method
    fn find_cell_positions(
        &self,
        placement_problem: &dyn PlacementProblem<C>
    ) -> Result<HashMap<C::CellInstId, SimpleTransform<C::Coord>>, PlacementError> { ... }
}
Expand description

Interface definition for mixed-size placement engines (for macro blocks and standard cells).

Required Methods§

source

fn name(&self) -> &str

Get the name of the placement engine.

source

fn find_cell_positions_impl( &self, placement_problem: &dyn PlacementProblem<C> ) -> Result<HashMap<C::CellInstId, SimpleTransform<C::Coord>>, PlacementError>

Actual implementation of MixedSizePlacer::find_cell_positions.

Provided Methods§

source

fn find_cell_positions( &self, placement_problem: &dyn PlacementProblem<C> ) -> Result<HashMap<C::CellInstId, SimpleTransform<C::Coord>>, PlacementError>

Find the positions of all circuit instances inside circuit.

Parameters
  • placement_problem: PlacementProblem trait object. This object bundles the netlist, layout and other parameters relevant for placement such as cell-sizes, fixed/movable cells, net weights.
Returns

Returns a HashMap which maps circuit instances to positions.

Implementors§