Skip to main content

GlobalRouter

Struct GlobalRouter 

Source
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

Source

pub fn new( source_pos: Point<i32, i32>, terminal_positions: Vec<Point<i32, i32>>, keepout_regions: Option<Vec<Point<Interval<i32>, Interval<i32>>>>, ) -> Self

Source

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).

Source

pub fn route_with_steiners(&mut self)

Routes terminals with Steiner point insertion to reduce total wirelength while avoiding keepout regions.

Source

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.

Source

pub fn get_tree(&self) -> &GlobalRoutingTree

Returns a reference to the constructed routing tree.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.