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
2015-04-25 11:27:04 -05:00
===============
Coriolis README
===============
2019-07-30 06:13:57 -05:00
Coriolis is a free database, placement tool 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-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
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.
The user interface <cgt> is the prefered way to use 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
Documentation
=============
The complete documentation is available here, both in pdf & html:
2020-02-10 06:38:06 -06:00
./documentation/output/html
2015-04-25 11:27:04 -05:00
./documentation/UsersGuide/UsersGuide.pdf
The documentation of the latest *stable* version is also
available online. It may be quite outdated from the *devel*
version.
2019-07-30 06:13:57 -05:00
https://www-soc.lip6.fr/sesi-docs/coriolis2-docs/coriolis2/en/latex/users-guide/UsersGuide.pdf
2015-04-25 11:27:04 -05:00
Building Coriolis
=================
To build Coriolis, ensure the following prerequisites are met:
2023-04-04 09:20:29 -05:00
* Python 3,
* cmake,
* boost,
* bison & flex,
* Qt 4 or 5,
* libxml2,
* RapidJSON,
2015-04-25 11:27:04 -05:00
* A C++11 compliant compiler.
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
the repository in the right place. Proceed as follow: ::
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-07-12 17:33:22 -05:00
ego@home:src$ git clone https://github.com/lip6/coriolis
2015-04-25 11:27:04 -05:00
ego@home:src$ cd coriolis
2015-05-09 16:11:44 -05:00
Then, build the tool: ::
2015-04-25 11:27:04 -05:00
2015-05-09 16:11:44 -05:00
ego@home:coriolis$ make install
2015-04-25 11:27:04 -05:00
2021-11-18 15:49:29 -06:00
If you encounter issues, please consult SUPPORT.rst for tips.
2015-04-25 11:27:04 -05:00
Coriolis gets installed at the root of the following tree: ::
~/coriolis-2.x/<OS>.<DISTRIB>/Release.Shared/install/
Where `` <OS> `` is the name of your operating system and `` <DISTRIB> `` your
distribution.
Using Coriolis
==============
2015-05-09 16:11:44 -05:00
The Coriolis main interface can be launched with the command: ::
ego@home:~: ~/coriolis-2.x/<OS>.<DISTRIB>/Release.Shared/install/bin/coriolis
2019-07-30 06:13:57 -05:00
The `` coriolis `` script detects its location and setups the UNIX
environment appropriately, then lauches `` cgt `` (or *any* command, with the
2015-05-09 16:11:44 -05:00
`` --run=<COMMAND> `` option).
2023-04-04 09:20:29 -05:00
Conversely, you can setup the current shell environment for Coriolis by
2015-05-09 16:11:44 -05:00
using the helper `` coriolisEnv.py `` , then run any Coriolis tool: ::
2015-04-25 11:27:04 -05:00
ego@home:~$ eval `~/coriolis-2.x/src/coriolis/bootstrap/coriolisEnv.py`
ego@home:~$ cgt -V