diff --git a/README b/README new file mode 100644 index 00000000..6df0c876 --- /dev/null +++ b/README @@ -0,0 +1,32 @@ +Coriolis is a free database, placement tool and routing tool for VLSI designs. + +Purpose +======= + +Coriolis provides several tools to perform the layout of VLSI circuits. +Its main components are the Hurricane database, the Etesian placer and the Kite 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 +Coriolis tools are python modules and thus scriptable. + +Documentation +============= + +The full documentation is available [online](https://soc-extras.lip6.fr/en/coriolis/coriolis2-users-guide/) and, once built, as documentation/UsersGuide/UsersGuide.html. Basic build instructions are given below. + +Building and running Coriolis +============================= + +To build Coriolis, ensure the prerequisites are met, including cmake, boost, bison, flex, Qt, libxml2 and a C++11 compiler. + +Copy the sources or clone the git repository as ~/coriolis-2.x/src/coriolis +Then in this directory run the build command: + + ./bootstrap/ccb.py --project=coriolis --make="-jN install" + +After the build succeeds, to run the graphical interface: + + eval `~/coriolis-2.x/src/coriolis/bootstrap/coriolisEnv.py` + cgt -V + diff --git a/documentation/UsersGuide/UsersGuide.rst b/documentation/UsersGuide/UsersGuide.rst index c7ab3301..93e1bb1d 100644 --- a/documentation/UsersGuide/UsersGuide.rst +++ b/documentation/UsersGuide/UsersGuide.rst @@ -320,8 +320,10 @@ Release v2.0.1 **Release v2.1** ~~~~~~~~~~~~~~~~ -#. Replace the old simulated annealing placer |Mauka| by an analytic placer - |Etesian|. +#. Replace the old simulated annealing placer |Mauka| by the analytical placer + |Etesian| and its legalization and detailed placement tools. +#. Added a Blif format parser to process circuits generated by the Yosys and ABC + logic synthetizers. #. The multiples user defined configuration files are now grouped under a common hidden (dot) directory ``.coriolis2`` and the file extension is back from ``.conf`` to ``.py``. @@ -349,16 +351,24 @@ running the |ccb| installer. Main building prerequisites: * cmake -* g++ +* C++11-capable compiler +* python2.7 * boost * libxml2 -* yacc & lex. -* Qt 4 or Qt 5. -* LEF/DEF (optional). -* doxygen. +* yacc & lex +* Qt 4 or Qt 5 + +Building documentation prerequisites: + +* doxygen * latex -* latex2html. -* python-docutils (for reStructuredText). +* latex2html +* python-docutils (for reStructuredText) + +Optional libraries: + +* `Lemon `_ (used by the detailed placer) +* LEF/DEF (from `SI2 `_) The |Coloquinte| component requires the |LEMON| component from |Coin-Or| (`Coin Or Home`_). A repository of |Coin-Or| packages backported from |Fedora| 21 is available here: @@ -967,11 +977,10 @@ Synthesis under Yosys --------------------- You can create a BLIF file from the |Yosys| synthetizer, which can be imported under Coriolis. -Most libraries are specified as a .lib liberty file and a .lef LEF file. Although |Yosys| opens -most .lib files with minor modifications, Coriolis may be compiled without LEF support, in -which case you need .ap files. -In this case, you need to export your .lef library as .ap files or compile your Coriolis version -with LEF support. +Most libraries are specified as a .lib liberty file and a .lef LEF file. +|Yosys| opens most .lib files with minor modifications, but LEF support in Coriolis relies on SI2. +If Coriolis hasn't been compiled against it, the library is given in |Alliance| .ap format. +`Some free libraries `_ already provide both .ap and .lib files. Once you have installed a common library under |Yosys| and Coriolis, just synthetize your design with |Yosys| and import it (as Blif without the extension) under Coriolis to perform place&route.