Routing algorithms

rig.place_and_route.route.ner.route(vertices_resources, nets, machine, constraints, placements, allocations={}, core_resource=Cores, radius=20)[source]

Routing algorithm based on Neighbour Exploring Routing (NER).

Algorithm refrence: J. Navaridas et al. SpiNNaker: Enhanced multicast routing, Parallel Computing (2014). http://dx.doi.org/10.1016/j.parco.2015.01.002

This algorithm attempts to use NER to generate routing trees for all nets and routes around broken links using A* graph search. If the system is fully connected, this algorithm will always succeed though no consideration of congestion or routing-table usage is attempted.

Parameters:
radius : int

Radius of area to search from each node. 20 is arbitrarily selected in the paper and shown to be acceptable in practice. If set to zero, this method is becomes longest dimension first routing.