pub struct GlobalRouter { /* private fields */ }Expand description
High-level global router that constructs a routing tree from a source and a set of terminal points, with optional keepout avoidance.
Implementations§
Source§impl GlobalRouter
impl GlobalRouter
pub fn new( source_pos: Point<i32, i32>, terminal_positions: Vec<Point<i32, i32>>, keepout_regions: Option<Vec<Point<Interval<i32>, Interval<i32>>>>, ) -> Self
Sourcepub fn route_simple(&mut self)
pub fn route_simple(&mut self)
Routes terminals by directly connecting each terminal to the nearest node in the existing tree (simple nearest-neighbor heuristic).
Sourcepub fn route_with_steiners(&mut self)
pub fn route_with_steiners(&mut self)
Routes terminals with Steiner point insertion to reduce total wirelength while avoiding keepout regions.
Sourcepub fn route_with_constraints(&mut self, multiplier: f64)
pub fn route_with_constraints(&mut self, multiplier: f64)
Routes terminals with Steiner points and wirelength constraints.
The multiplier scales the worst-case wirelength to determine the
allowed path length for each terminal.
Sourcepub fn get_tree(&self) -> &GlobalRoutingTree
pub fn get_tree(&self) -> &GlobalRoutingTree
Returns a reference to the constructed routing tree.
Auto Trait Implementations§
impl Freeze for GlobalRouter
impl RefUnwindSafe for GlobalRouter
impl Send for GlobalRouter
impl Sync for GlobalRouter
impl Unpin for GlobalRouter
impl UnsafeUnpin for GlobalRouter
impl UnwindSafe for GlobalRouter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more