pub struct SimpleRoutingProblem<'a, LN, RoutingGuide = ()> where
    LN: L2NBase
{ pub chip: &'a LN, pub top_cell: LN::CellId, pub nets: Vec<LN::NetId>, pub net_weights: HashMap<LN::NetId, f64>, pub boundary: Option<SimpleRPolygon<LN::Coord>>, pub routing_guides: HashMap<LN::NetId, RoutingGuide>, }
Expand description

Simple representation of the global and detail routing problems. Implements the RoutingProblem traits.

Fields

chip: &'a LN

A fused layout-netlist structure.

top_cell: LN::CellId

The ID of the top cell to be routed.

nets: Vec<LN::NetId>

The IDs of the nets to be routed.

net_weights: HashMap<LN::NetId, f64>

Weights of nets for optimizing the total wire-length. Default weight is 1.0. A net with weight 0.0 will not be optimized for length while a net with a high weight will be optimized for wiring length much more aggressively.

boundary: Option<SimpleRPolygon<LN::Coord>>

All routes should be contained within this boundary, if it is specified.

routing_guides: HashMap<LN::NetId, RoutingGuide>

Global routes.

Implementations

Create a new routing problem. By default, no nets are included. Nets which should be routed need to be added to the nets field.

Set global routes.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Representation of a global route which guides a single net.

Get the routing guide for this net.

Get the base layout/netlist structure.

Get the top cell whose content should be placed.

Return the nets which should be routed.

Get the weight of a net. Default is 1.0. When optimizing the wire-length, the weighted wire-length should be used. For example a weight 0.0 means that the net should not be considered for wire-length optimization. Place and route algorithms may or may not use the net weight. Read more

Shapes where routes should not pass.

Routes must remain within this boundary.

Weight of an ‘arc’, i.e. a net segment which starts at signal_source and ends at signal_destination. Default weight is 1.0`. Place and route algorithms may or may not use the arc weight. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.