Skip to main content

SymbiFlow RR Graph libraries

Project description

SymbiFlow Routing Resources Graph (rr-graph) Python Libraries

License GitHub issues PyPI PyPI - Python Version PyPI - Downloads

This repository contains a Python library and utilities for working with "Routing Resource Graph" (rr-graph) files used by SymbiFlow and Verilog to Routing.

It supports both the XML and Cap'n'Proto formats of rr-graph files. The Cap'n'Proto schema is generated from the XML schema @ vtr-verilog-to-routing/vpr/src/route/rr_graph.xsd using the uxsdcxx tool.

For information on the schema generation can be found in the SCHEMA_GENERATOR.md file in Verilog to Routing.

Contributing

A full contribution guide can be found in docs/contributing.md.

A few important points;

License

All software (code, associated documentation, support files, etc) in this repository is licensed under the very permissive ISC Licence.

A copy can be found in the LICENSE file.

All new contributions must also be released under this license.

Installing

From PyPI

pip install rr-graph

FYI: Builds are automatically published to GitHub on every push to this repository.

Direct from GitHub

pip install git+https://github.com/SymbiFlow/symbiflow-rr-graph.git#egg=rr-graph

Direct from checkout

python setup.py install or python setup.py develop

Developing

To setup a local development environment use the make venv target which will build you a Python virtualenv (in the venv directory) with the needed packages and tools.

The make version target will output the current version of the rr-graph library.

Running tests

To run the tests, run make test.

If you have an issue with the CI disagreeing with the output of your local make test output, you can also try the make test-like-ci target to closer match how the CI system runs the tests.

Formatting

To run automated formatting over the repository, use make format.

Updating GitHub Actions

The make format-gha target will update the GitHub Actions under .github/workflows with the latest version of the included tasks.

It is recommended that you commit these updates separately from your other changes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rr-graph-0.0.1.post22.tar.gz (78.2 kB view hashes)

Uploaded Source

Built Distributions

rr_graph-0.0.1.post22-py3-none-any.whl (77.3 kB view hashes)

Uploaded Python 3

rr_graph-0.0.1.post22-py2-none-any.whl (77.3 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page