2015-04-25 11:27:04 -05:00
|
|
|
.. -*- Mode: rst -*-
|
|
|
|
|
|
|
|
|
|
|
|
===============
|
|
|
|
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:31:00 -05:00
|
|
|
This project is hosted at: https://git.coriolis.lip6.fr/vlsi-eda/coriolis
|
|
|
|
|
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:31:00 -05:00
|
|
|
ego@home:src$ git clone https://https://git.coriolis.lip6.fr/vlsi-eda/coriolis.git
|
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
|
|
|
|
|