Skip to main content

Python interface for the Coloquinte VLSI placer

Project description

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

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

coloquinte-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (427.5 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

coloquinte-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.7 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

coloquinte-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

coloquinte-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

coloquinte-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

coloquinte-0.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

coloquinte-0.4.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.2 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

File details

Details for the file coloquinte-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coloquinte-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c034e262fd579a04dd548ec07794c2ebb2c2c3dbdaf38a44a53f49bd9076545a
MD5 ae677d05a30e78341bf5984d11191d93
BLAKE2b-256 3fa09a4cca15435a5147a87be1286b0fecd15bd4528d061fa3ae79441b0dab16

See more details on using hashes here.

File details

Details for the file coloquinte-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coloquinte-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1d67e039dd9a8885d12b26c894839e1551ed6050f9eedf7e60e2b459457d80d
MD5 a5f93813ed3b4d33215dd06b43c7a428
BLAKE2b-256 683029a05a3da071f667c44ff4ad9be15f26d11c22fb6f8fe0cd6f69800c9b6e

See more details on using hashes here.

File details

Details for the file coloquinte-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coloquinte-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 95041f723118fadf2d45928c5c168825f7163c69dfd715fd488b60805598810a
MD5 a83e7917d9c158164481589a9b267926
BLAKE2b-256 218c78fc581bb5d181c88245da810e1c533c01a431289facbc54872e27990f45

See more details on using hashes here.

File details

Details for the file coloquinte-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coloquinte-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c954fe15f17671956f9b1b7103a5526096c75ce06e7c26d233a1fd9cdf56cc03
MD5 0d1655c3ac8b62094ae099e759338b49
BLAKE2b-256 b1d80c5e44f0f03722a2b635973aa7d8f317e29ff0d95ed973046a15409acf8a

See more details on using hashes here.

File details

Details for the file coloquinte-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coloquinte-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f08d58b0e31ddc86b8da9b8e49910d0e4178554fee888f2863b7afdbf6db4a4
MD5 0bd6ceca771ebbca1f428833eddf7fa1
BLAKE2b-256 bb895f4d7782e11d4f4b08d6f77bd00b06c8fa434297a286a26051c81b0dca5c

See more details on using hashes here.

File details

Details for the file coloquinte-0.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coloquinte-0.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc10e43adaa9097968d53667e2e0abbceac73eabfa7185933f6c033f41d77229
MD5 a385cb6b90874196f5396510320297c1
BLAKE2b-256 8bd3e25c08427b1d9afe818e47ffd7020e0925be22f81e5115821e8d2c16aca3

See more details on using hashes here.

File details

Details for the file coloquinte-0.4.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coloquinte-0.4.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 618d43e079b62d674e83a0529a1e54c43f1f9e3eadf802531bec6e5288646f5f
MD5 c894ea635629403684384fbcf5227a69
BLAKE2b-256 1669166d0f290049faa3b0efee14ce4f1d73b68c8c5eea09fcf8c4ec85b636fc

See more details on using hashes here.

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