Trait libreda_pnr::route::global_router::GlobalRouter
source · 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§
sourcetype RoutingResult
type RoutingResult
Result of the global routing. The exact type depends on the routing algorithm.
Required Methods§
sourcefn route<RP>(
&self,
routing_problem: &RP
) -> Result<Self::RoutingResult, Self::Error>where
RP: GlobalRoutingProblem<LN>,
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§
sourcefn route_with_pin_access_oracle(
&self,
routing_problem: &impl GlobalRoutingProblem<LN>,
_pin_access_oracle: &impl PinAccessOracle<LN>
) -> Result<Self::RoutingResult, Self::Error>
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.