2015-04-25 11:27:04 -05:00
.. -*- Mode: rst -*-
2023-07-22 19:56:48 -05:00
|Python wheel builds|
.. |Python wheel builds| image :: https://github.com/lip6/coriolis/actions/workflows/wheels.yml/badge.svg
:target: https://github.com/lip6/coriolis/actions/workflows/wheels.yml
2023-08-01 08:43:21 -05:00
.. image :: documentation/content/images/common/Coriolis-logo-blue-4.png
:alt: Coriolis Logo
:align: center
:width: 10%
2015-04-25 11:27:04 -05:00
2023-08-01 08:43:21 -05:00
======================
Coriolis Open EDA Tool
======================
Coriolis is a free database, placement and routing tool for VLSI design.
2015-04-25 11:27:04 -05:00
2023-07-12 17:33:22 -05:00
This project is hosted at: https://github.com/lip6/coriolis
2023-07-12 17:31:00 -05:00
2023-08-01 08:43:21 -05:00
Main documentation is available at: https://coriolis.lip6.fr/
2023-07-23 09:52:58 -05:00
Development discussion can be found `on our Matrix Channel <https://matrix.to/#/#coriolis:matrix.org> `_ and in our `GitHub Discussions <https://github.com/lip6/coriolis/discussions> `_ .
2015-04-25 11:27:04 -05:00
2023-08-01 08:43:21 -05:00
Coriolis is part of a set of three repositories that are closely relateds.
* Alliance
A venerable EDA toolchain, working only on symbolic layout. Some of it's
checking tools (LVS, DRC) are used for the regression tests in Alliance Check Toolkit.
https://github.com/lip6/alliance
* Alliance Check Toolkit
A wide set of examples of designs and scripts to use by Coriolis.
https://github.com/lip6/alliance-check-toolkit
2015-04-25 11:27:04 -05:00
Purpose
=======
Coriolis provides several tools to perform the layout of VLSI circuits. Its
2019-07-30 06:13:57 -05:00
main components are the Hurricane database, the Etesian placer and the Katana
2015-04-25 11:27:04 -05:00
router, but other tools can use the Hurricane database and the parsers
provided.
2023-08-01 08:43:21 -05:00
The user interface `` cgt `` is the prefered way to run Coriolis, but all
2019-07-30 06:13:57 -05:00
Coriolis tools are Python modules and thus scriptable.
2015-04-25 11:27:04 -05:00
Building Coriolis
=================
To build Coriolis, ensure the following prerequisites are met:
* A C++11 compliant compiler.
2023-08-01 08:43:21 -05:00
* Python 3.
* make or ninja.
* cmake.
* bzip2
* boost.
* bison & flex.
* Qt 5 & Qt 5 Svg.
* Qwt
* libxml2.
* RapidJSON, http://rapidjson.org/ .
* Eigen 3, http://eigen.tuxfamily.org .
* Lemon, http://lemon.cs.elte.hu/trac/lemon .
* doxygen
* pelican
2015-04-25 11:27:04 -05:00
The build system relies on a fixed directory tree from the root
of the user currently building it. Thus first step is to get a clone of
2023-08-01 08:43:21 -05:00
the repository in the right place. Proceed as follow:
.. code-block :: bash
2015-04-25 11:27:04 -05:00
2023-04-04 09:20:29 -05:00
ego@home:~$ mkdir -p ~/coriolis-2.x/src/
2015-04-25 11:27:04 -05:00
ego@home:~$ cd ~/coriolis-2.x/src
2023-08-01 08:43:21 -05:00
ego@home:src$ git clone --recurse-submodules https://github.com/lip6/coriolis
2015-04-25 11:27:04 -05:00
ego@home:src$ cd coriolis
2023-08-01 08:43:21 -05:00
Then, build the tool:
.. code-block :: bash
2015-04-25 11:27:04 -05:00
2023-08-01 08:43:21 -05:00
ego@home:coriolis$ make install
2015-04-25 11:27:04 -05:00
Coriolis gets installed at the root of the following tree: ::
2023-08-01 08:43:21 -05:00
~/coriolis-2.x/OS.DISTRIB/Release.Shared/install/
2015-04-25 11:27:04 -05:00
2023-08-01 08:43:21 -05:00
Where `` OS `` is the name of your operating system and `` DISTRIB `` your
distribution (mileage may vary).
2015-04-25 11:27:04 -05:00
Using Coriolis
==============
2023-08-01 08:43:21 -05:00
Prior to using Coriolis, you need to setup your UNIX environment by running
the following command:
2015-05-09 16:11:44 -05:00
2023-08-01 08:43:21 -05:00
.. code-block :: bash
2015-05-09 16:11:44 -05:00
2023-08-01 08:43:21 -05:00
ego@home:~$ eval `~/coriolis-2.x/OS.DISTRIB/Release.Shared/install/etc/coriolis2/coriolisEnv.py`
2015-05-09 16:11:44 -05:00
2023-08-01 08:43:21 -05:00
Then you can launch the GUI:
2015-04-25 11:27:04 -05:00
2023-08-01 08:43:21 -05:00
.. code-block :: bash
2015-04-25 11:27:04 -05:00
2023-08-01 08:43:21 -05:00
ego@home:~$ cgt -V