Skip to main content

Build Codacy Badge GitHub PyPI

Coloquinte Place&Route

Coloquinte is a Place&Route tool for electronic circuits. Its goal is to provide a single package of well-tested and well-tuned Place&Route algorithms, to be used in open source electronic design toolchains.

This replaces and extends the placement library used in the Coriolis toolchain.

Using Coloquinte

ISPD placement and routing benchmarks are available directly in this repository using Git LFS. Placement benchmarks can be run with the Python package:

coloquinte ISPD06/adaptec1

For other applications, you can use Coloquinte as a C++ library or a Python package: see src/coloquinte.hpp or help(coloquinte.Circuit).

Installing Coloquinte

Python package

On Linux, you may install Coloquinte from pip:

pip install coloquinte

For the latest version or for other OSes, install the dependencies and build the module. For example:

sudo apt-get install g++ cmake libboost-all-dev libeigen3-dev liblemon-dev
cd pycoloquinte
python setup.py install

C++ library

Install dependencies and build Coloquinte using CMake:

sudo apt-get install g++ cmake libboost-all-dev libeigen3-dev liblemon-dev
cmake -B build; cmake --build build; ctest --test-dir build

Or using Meson:

meson setup build; meson compile -C build; meson test -C build

Benchmarks

Coloquinte is tested on the ISPD06 benchmark suite. Below is the reported half-perimeter wirelength on these benchmarks (x107) for various effort parameters. Higher effort = higher quality but higher runtime.

Benchmark Effort 1 WL Effort 3 WL Effort 6 WL
adaptec1 8,04 7,62 7,55
adaptec2 8,83 8,48 8,38
adaptec3 21,07 20,31 19,95
adaptec4 18,84 17,97 17,77
adaptec5 32,65 31,18 30,89
bigblue1 10,01 9,36 9,20
bigblue2 14,79 14,25 14,17
bigblue3 35,23 32,67 31,98
bigblue4 83,15 79,16 77,66
newblue1 60,68 18,75 34,54
newblue2 19,38 18,31 17,97
newblue3 33,70 26,06 25,84
newblue4 24,32 23,35 23,33
newblue5 42,29 39,39 39,02
newblue6 48,43 45,80 45,39
newblue7 102,11 97,81 96,47

Release files for coloquinte 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for coloquinte 0.4.1
File
coloquinte-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
coloquinte-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
coloquinte-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
coloquinte-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
coloquinte-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
coloquinte-0.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
coloquinte-0.4.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details

Total release size: 3.0 MB

Release files / coloquinte-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL coloquinte-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 427.5 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c034e262fd579a04dd548ec07794c2ebb2c2c3dbdaf38a44a53f49bd9076545a
BLAKE2b-256 checksum
How to use checksums
3fa09a4cca15435a5147a87be1286b0fecd15bd4528d061fa3ae79441b0dab16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / coloquinte-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL coloquinte-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 428.7 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e1d67e039dd9a8885d12b26c894839e1551ed6050f9eedf7e60e2b459457d80d
BLAKE2b-256 checksum
How to use checksums
683029a05a3da071f667c44ff4ad9be15f26d11c22fb6f8fe0cd6f69800c9b6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / coloquinte-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL coloquinte-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 428.8 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
95041f723118fadf2d45928c5c168825f7163c69dfd715fd488b60805598810a
BLAKE2b-256 checksum
How to use checksums
218c78fc581bb5d181c88245da810e1c533c01a431289facbc54872e27990f45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / coloquinte-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL coloquinte-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 428.9 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c954fe15f17671956f9b1b7103a5526096c75ce06e7c26d233a1fd9cdf56cc03
BLAKE2b-256 checksum
How to use checksums
b1d80c5e44f0f03722a2b635973aa7d8f317e29ff0d95ed973046a15409acf8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / coloquinte-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL coloquinte-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 428.6 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1f08d58b0e31ddc86b8da9b8e49910d0e4178554fee888f2863b7afdbf6db4a4
BLAKE2b-256 checksum
How to use checksums
bb895f4d7782e11d4f4b08d6f77bd00b06c8fa434297a286a26051c81b0dca5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / coloquinte-0.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL coloquinte-0.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 433.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
cc10e43adaa9097968d53667e2e0abbceac73eabfa7185933f6c033f41d77229
BLAKE2b-256 checksum
How to use checksums
8bd3e25c08427b1d9afe818e47ffd7020e0925be22f81e5115821e8d2c16aca3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / coloquinte-0.4.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL coloquinte-0.4.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 433.2 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
618d43e079b62d674e83a0529a1e54c43f1f9e3eadf802531bec6e5288646f5f
BLAKE2b-256 checksum
How to use checksums
1669166d0f290049faa3b0efee14ce4f1d73b68c8c5eea09fcf8c4ec85b636fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.4.1 This release

7 release files

0.4.0

7 release files

0.3.1

7 release files

0.2.0

6 release files

0.1.0

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page