LIP6 Sorbonne Universite CNRS

Alliance/Coriolis VLSI CAD Tools


Routed AM2901 layout picture.

Alliance is a complete toolchain for vlsi design. It provides a vhdl compiler and simulator, logic synthetiser, automatic place & route and portable cmos library. It has been in used in research projects such as the 875K transistors StaCS superscalar microprocessor or the 400K transistors ieee gigabit hsl router. It has been actively developped during the 1990-2000 years and is maintained since. Its practical limit for one standard cell block (flat) is about 10K gates, above that limit you would need to use hierarchy and manually build a floorplan. Alliance is entirely written in C.

Coriolis was started in the year 2000 as a replacement for the place & route stage of Alliance. As such it is able to handle standard cells block (flat) of at least 150K gates. It was later extended to support analog design re-implementing the methodology introduced by the cian team of lip6 / su in cairo / cairo+. The tools have been designed from the ground up to support digital only, analog only or mixed circuits. Coriolis is written in a mix of C++ and Python.

Alliance / Coriolis is free software. All source code is realeased under the GPL license, except for Hurricane which is under LGPL and the Si2 lef / def parser drivers that are under Apache License, Version 2.0.

Short introduction to Symbolic Layout.

Design Flow

We are also upgrading the complete design flow by replacing Alliance obsoleting tools by more advanced foss alternatives:

  • Yosys for logical synthesis.
  • GHDL for vhdl simulation.

Design & Features of Coriolis

The Coriolis toolchain is build upon the Hurricane database.

  • Tool Integration. To better manages the challenges arising in the increasingly bigger designs, the various tools have to work together as a whole, in a tight integration at runtime. The Hurricane database has been develop to address this problem and as a results, all Coriolis tools are built upon it and can communicate through that core database.
  • Deterministic. The database and the tools are completely deterministics. Two runs in exactly the same context gives the same result.
  • C++ & Python. The Hurricane database and all tools are fully exported in Python providing a seamless integration. The whole toolchain is build as a mix of C++ for computational intensive part and Python scripts for everything else. There is not even a binary, the main program is a Python script and can be rewritten in any way you like.
  • Graphic Interface. Hurricane also come with a graphical interface allowing to display, explore or check your design. The graphic interface can be extended (in C++) do display any custom overlay.
  • Symbolic Layout. For digital part of the designs, we use a symbolic layer approach. Note that Coriolis can make digital designs using real technology, but it's a largely untested feature yet.
  • Analog Design. A complete user-guided methodology for designing analog circuits is available. It is fully integrated in all the tools and will allow mixed design in the near future.


Alliance / Coriolis tools, at the time being, are not suitable for deep submicron technological nodes (below 130nm / 180nm).

For portability across foundries, technological nodes and freedom from fondries nda, Alliance / Coriolis rely on portable layout (or scalable layout, or symbolic layout). To produce a valid gds file, you would need to use the s2r translation tool which needs a configuration file suited for the target technology, and that file is under nda. So, either should be written by you, or given to you through services like MyCMP.