pub trait GlobalRouter<LN: L2NBase> {
    type RoutingResult;
    type Error;

    // Required methods
    fn name(&self) -> String;
    fn route<RP>(
        &self,
        routing_problem: &RP
    ) -> Result<Self::RoutingResult, Self::Error>
       where RP: GlobalRoutingProblem<LN>;

    // Provided method
    fn route_with_pin_access_oracle(
        &self,
        routing_problem: &impl GlobalRoutingProblem<LN>,
        _pin_access_oracle: &impl PinAccessOracle<LN>
    ) -> Result<Self::RoutingResult, Self::Error> { ... }
}
Expand description

Basic trait for a global router.

Required Associated Types§

source

type RoutingResult

Result of the global routing. The exact type depends on the routing algorithm.

source

type Error

Failure during routing.

Required Methods§

source

fn name(&self) -> String

Get the name of the routing engine.

source

fn route<RP>( &self, routing_problem: &RP ) -> Result<Self::RoutingResult, Self::Error>where RP: GlobalRoutingProblem<LN>,

Compute the global routes. Neither layout nor netlist are modified.

Provided Methods§

source

fn route_with_pin_access_oracle( &self, routing_problem: &impl GlobalRoutingProblem<LN>, _pin_access_oracle: &impl PinAccessOracle<LN> ) -> Result<Self::RoutingResult, Self::Error>

Compute the global routes with provided pin access locations. Neither layout nor netlist are modified.

Implementors§