Routing Links

Routing Links

The central type to represent routing resources during routing.

abstract type RoutingLink

Fields

Documentation

Representation of routing resources in an architecture.

API

Implementations

  • BasicRoutingLink - Reference this type for what methods of the API come for free when using various fields of the basic type.

Method List

source

API

channels(link::RoutingLink) :: Vector{ChannelIndex}

Return list of channels currently occupying link.

source
Mapper2.Routing.costFunction.
cost(link::RoutingLink) :: Float64

Return the base cost of a channel using link as a routing resource.

source
capacity(link::RoutingLink) :: Real

Return the capacity of link.

source
occupancy(link::RoutingLink)

Return the number of channels currently using link.

source
addchannel(link::RoutingLink, channel::ChannelIndex)

Record that channel is using link.

source
remchannel(link::RoutingLink, channel::ChannelIndex)

Remove channel from the list of channels using link.

source

Implementations

struct BasicRoutingLink <: RoutingLink

Fields

  • channels

    Vector of channels curently assigned to the link.

  • cost

    Base cost of using this link.

  • capacity

    Number of channels that can be mapped to this link without it being considered congested.

Documentation

Default implementation of RoutingLink

Simple container for channel indices, cost, and capacity.

Constructors

BasicRoutingLink(channels, cost, capacity)
BasicRoutingLink(channels, cost, capacity)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Route/Links.jl:12.

BasicRoutingLink(; cost, capacity)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Route/Links.jl:24.

Method List

BasicRoutingLink(channels, cost, capacity)
BasicRoutingLink(channels, cost, capacity)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Route/Links.jl:12.

BasicRoutingLink(; cost, capacity)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Route/Links.jl:24.

source