pub struct SimpleStdCellPlacerCascade<N: NetlistBase> { /* private fields */ }
Expand description
A pipeline of placers. The result of the first stage is used as the initial placement for the next stage.
Implementations
sourceimpl<N: NetlistBase> SimpleStdCellPlacerCascade<N>
impl<N: NetlistBase> SimpleStdCellPlacerCascade<N>
sourcepub fn new(placers: Vec<Box<dyn SimpleStdCellPlacer<N>>>) -> Self
pub fn new(placers: Vec<Box<dyn SimpleStdCellPlacer<N>>>) -> Self
Create a new placer cascade.
Trait Implementations
sourceimpl<N: NetlistBase> SimpleStdCellPlacer<N> for SimpleStdCellPlacerCascade<N>
impl<N: NetlistBase> SimpleStdCellPlacer<N> for SimpleStdCellPlacerCascade<N>
sourcefn find_cell_positions_impl(
&self,
netlist: &N,
circuit_id: &N::CellId,
core_area: &SimplePolygon<Coord>,
initial_positions: &HashMap<N::CellInstId, Point<Coord>>,
fixed_instances: &HashSet<N::CellInstId>,
cell_outlines: &HashMap<N::CellId, Rect<Coord>>,
net_weights: &HashMap<N::NetId, f64>
) -> HashMap<N::CellInstId, Point<i32>>
fn find_cell_positions_impl(
&self,
netlist: &N,
circuit_id: &N::CellId,
core_area: &SimplePolygon<Coord>,
initial_positions: &HashMap<N::CellInstId, Point<Coord>>,
fixed_instances: &HashSet<N::CellInstId>,
cell_outlines: &HashMap<N::CellId, Rect<Coord>>,
net_weights: &HashMap<N::NetId, f64>
) -> HashMap<N::CellInstId, Point<i32>>
Find the rough positions of all cell instances inside cell
. Read more
sourcefn find_cell_positions(
&self,
netlist: &N,
cell_id: &N::CellId,
core_area: &SimplePolygon<Coord>,
initial_positions: &HashMap<N::CellInstId, Point<Coord>>,
fixed_instances: &HashSet<N::CellInstId>,
cell_outlines: &HashMap<N::CellId, Rect<Coord>>,
net_weights: &HashMap<N::NetId, f64>
) -> HashMap<N::CellInstId, Point<SInt>>
fn find_cell_positions(
&self,
netlist: &N,
cell_id: &N::CellId,
core_area: &SimplePolygon<Coord>,
initial_positions: &HashMap<N::CellInstId, Point<Coord>>,
fixed_instances: &HashSet<N::CellInstId>,
cell_outlines: &HashMap<N::CellId, Rect<Coord>>,
net_weights: &HashMap<N::NetId, f64>
) -> HashMap<N::CellInstId, Point<SInt>>
Calls find_cell_positions_impl()
before and after doing some sanity checks.
Auto Trait Implementations
impl<N> !RefUnwindSafe for SimpleStdCellPlacerCascade<N>
impl<N> !Send for SimpleStdCellPlacerCascade<N>
impl<N> !Sync for SimpleStdCellPlacerCascade<N>
impl<N> Unpin for SimpleStdCellPlacerCascade<N>
impl<N> !UnwindSafe for SimpleStdCellPlacerCascade<N>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more