README.rst 2.58 KB
Newer Older
1
2
3
4
5
6
7
.. -*- Mode: rst -*-


===============
Coriolis README
===============

8
Coriolis is a free database, placement tool and routing tool for VLSI design.
9
10
11
12
13
14


Purpose
=======

Coriolis provides several tools to perform the layout of VLSI circuits.  Its
15
main components are the Hurricane database, the Etesian placer and the Katana
16
17
18
19
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
20
Coriolis tools are Python modules and thus scriptable.
21
22
23
24
25
26
27


Documentation
=============

The complete documentation is available here, both in pdf & html:

28
   ./documentation/output/html
29
30
31
32
33
34
   ./documentation/UsersGuide/UsersGuide.pdf

The documentation of the latest *stable* version is also
available online. It may be quite outdated from the *devel*
version.

35
    https://www-soc.lip6.fr/sesi-docs/coriolis2-docs/coriolis2/en/latex/users-guide/UsersGuide.pdf
36
37
38
39
40
41
42


Building Coriolis
=================

To build Coriolis, ensure the following prerequisites are met:

Gabriel Gouvine's avatar
Gabriel Gouvine committed
43
* Python 3.
44
45
46
47
48
* cmake.
* boost.
* bison & flex.
* Qt 4 or 5.
* libxml2.
49
* RapidJSON
50
51
52
53
54
55
* 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: ::

56
57
58
   ego@home:~$ mkdir -p ~/coriolis-2.x/src/support
   ego@home:~$ cd ~/coriolis-2.x/src/support
   ego@home:~$ git clone http://github.com/miloyip/rapidjson
59
   ego@home:~$ git checkout ec322005072076ef53984462fb4a1075c27c7dfd
60
   ego@home:~$ cd ~/coriolis-2.x/src
Gabriel Gouvine's avatar
Gabriel Gouvine committed
61
   ego@home:src$ git clone https://gitlab.lip6.fr/vlsi-eda/coriolis.git
62
63
   ego@home:src$ cd coriolis

64
Then, build the tool: ::
65

66
    ego@home:coriolis$ make install
67

Gabriel Gouvine's avatar
Gabriel Gouvine committed
68
If you encounter issues, please consult SUPPORT.rst for tips.
69
70
71
72
73
74
75
76
77
78
79
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
==============

80
81
82
83
The Coriolis main interface can be launched with the command: ::

    ego@home:~: ~/coriolis-2.x/<OS>.<DISTRIB>/Release.Shared/install/bin/coriolis

84
85
The ``coriolis`` script detects its location and setups the UNIX
environment appropriately, then lauches ``cgt`` (or *any* command, with the
86
87
88
89
``--run=<COMMAND>`` option).

Conversely, you can setup the current shell environement for Coriolis by 
using the helper ``coriolisEnv.py``, then run any Coriolis tool: ::
90
91
92
93

    ego@home:~$ eval `~/coriolis-2.x/src/coriolis/bootstrap/coriolisEnv.py`
    ego@home:~$ cgt -V