https://github.com/project-rig/rig-par-diagram
Rig P&R Diagram is a tool for drawing diagrams of SpiNNaker placement and routing solutions.
https://github.com/project-rig/rig-par-diagram
Last synced: 3 months ago
JSON representation
Rig P&R Diagram is a tool for drawing diagrams of SpiNNaker placement and routing solutions.
- Host: GitHub
- URL: https://github.com/project-rig/rig-par-diagram
- Owner: project-rig
- Created: 2015-06-15T16:27:31.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-10-02T13:41:20.000Z (over 10 years ago)
- Last Synced: 2026-03-26T14:59:19.634Z (3 months ago)
- Language: Python
- Homepage:
- Size: 2.57 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Rig P&R Diagram: SpiNNaker place & route diagram generation tools
=================================================================
When working on place and route for SpiNNaker applications it is often useful to
generate diagrams of the resulting placements. This library aims to produce
attractive and informative placement and routing diagrams from the data types
used by [Rig](https://github.com/project-rig/rig)'s place and route flow.
Here's an example image produced by the tool:

You can get the latest released version of Rig P&R Diagram from
[PyPi](https://pypi.python.org/pypi/rig_par_diagram):
$ pip install rig_par_diagram
Commandline Utility
-------------------
A command-line utility called `rig-par-diagram` is included with the package
which can render diagrams of pickled netlists such as those produced by
`nengo_spinnaker`'s `nengo_spinnaker.utils.place_and_route.pickle_netlist`
function. Basic usage looks something like:
$ rig-par-diagram netlist.pcl out.png
See `rig-par-diagram --help` for more command line options.
The command-line tool expects a picked Python dictionary which has a subset of
the following entries:
* `"vertices_resources"`: Chip resources used.
* `"nets"`: Nets in the network.
* `"machine"`: The machine to place/route within.
* `"constraints"`: Placement/routing constraints.
* `"placements"`: A valid set of placements.
* `"allocations"`: A valid set of allocations.
* `"routes"`: A valid set of routes.
* `"core_resource"`: The resource type used to indicate cores in the netlist
(defaults to `Cores`).
* `"chip_style"`: A Rig P&R Diagram Style object.
* `"link_style"`: A Rig P&R Diagram Style object.
* `"core_style"`: A Rig P&R Diagram Style object.
* `"net_style"`: A Rig P&R Diagram Style object.
If `vertices_resources` or nets are not supplied, the diagram will simply be a
picture of the chips, links and cores available in the supplied machine.
If `placements`, `allocations` or `routes` is missing, the default Rig algorithm
for each will be used to generate them. This may take some time and so the `-v`
option may comfort users of a nervous disposition.
If a `machine` isn't supplied, a SpiNN-5 board will be selected by default.
If `constraints` aren't supplied, a constraint will be added which reserves core
0 as the monitor core. `-M` disables this.
If any of the `*_style` options are given, the supplied Style object will be
used to style the relevant part of the diagram. See the [Diagram
module](rig_par_diagram/diagram.py) for further details. Unless the `-C` option
is used, cores reserved by constraints will automatically be styled in
translucent grey.