
.. role:: raw-html(raw)
   :format: html

.. role:: raw-latex(raw)
   :format: latex

.. |medskip|  replace:: :raw-latex:`\medskip`   :raw-html:`<br class="medskip"/>`
.. |bigskip|  replace:: :raw-latex:`\bigskip`   :raw-html:`<br class="bigskip"/>`
.. |newpage|  replace:: :raw-latex:`\newpage`


.. _GF 180 MCU PDK: https://github.com/google/gf180mcu-pdk.git
.. _IHP Open PDK:   https://github.com/IHP-GmbH/IHP-Open-PDK.git
.. _PDKMaster:      https://gitlab.com/Chips4Makers/PDKMaster.git  


================================
FOSS EDA / Coriolis Repositories
================================


.. contents::

|bigskip|

The goal of the FOSS EDA and Coriolis repositories is to provide an
*out of the box* way to install the Coriolis toolchain along with
all the third party tools needed to fully use it.

* **Rollback and determinism**. Not only the latest versions of the
  tools are provided, but also all prior versions are kept availables.
  This way you can always rebuild previous designs in a fully
  deterministic way.

* **Fast pace update**. We intend to keep the packages in close
  synchronisation with the developement release. Those repositories
  must be understood as *rolling release*.


Supported Distributions
=======================

* AlmaLinux 8 (missing: klayout).
* AlmaLinux 9.
* AlmaLinux 10.
* Fedora 41.
* Fedora 42.
* Fedora 43.
* openSUSE Leap 15.6.
* openSUSE Leap 16.0.
* openSUSE Tumbleweed.
* Mageia 9.
* Debian 12.
* Debian 13.
* Ubuntu 22.04 LTS.
* Ubuntu 24.04 LTS.
* Ubuntu 24.10.

|newpage|


Provided Softwares
==================

=============  ========================================  ==================
Software       Web Site                                  Package name
=============  ========================================  ==================
Alliance       https://coriolis.lip6.fr/                 ``alliance``
Coriolis       https://coriolis.lip6.fr/                 ``coriolis-eda``
Yosys          https://yosyshq.net                       ``yosys``
Yosys Slang    https://github.com/povik/yosys-slang.git  ``yosys-slang``
klayout        https://klayout.de/                       ``klayout``
Magic          http://opencircuitdesign.com/magic/       ``magic``
Tas/Yagle      https://coriolis.lip6.fr/                 ``tas-yagle``
OpenVAF        https://openvaf.semimod.de/               ``openvaf``
=============  ========================================  ==================


Provided PDKs
=============

============================  =================  ==============================
PDK                           Web Site           Package name
============================  =================  ==============================
GF 180 MCU PDK                `GF 180 MCU PDK`_  ``coriolis-pdk-gf180mcu``
C4M PDKMaster for GF 180 MCU  PDKMaster_         ``coriolis-pdk-gf180mcu-pdk``
IHP 130nm (SG13G2)            `IHP Open PDK`_    ``coriolis-pdk-ihpsg13g2``
C4M PDKMaster for IHP SG13G2  PDKMaster_         ``coriolis-pdk-ihpsg13g2-c4m``
============================  =================  ==============================

.. note:: The PDKs are installed as *Python wheels*, so their data are stored
          under: ::

            /usr/lib64/pythonV.RR/site-packages/pdks  (RPM based distributions)
            /usr/lib/python3/dist-packages/pdks       (DEB based distributions)

          Is convenient to install them as Python wheel so the toolchain, whose
          management part is written is Python, will always be able to import
          them regardless of the distribution specific layout.

.. note:: The GF 180 MCU base PDK package is *very large*, it takes about 5Gb,
          be sure to check that you have enough space on your disk before
          installing it.

.. note:: The GF 180 MCU is not complete yet. The support for I/O pads still
          contains errors, so only blocks, not full chip could be generated
          for now. Will be fixed in later releases.


Using the Repositories
======================

The various configuration files for the repositories are available here:

===================  ==========================================================================
Distributions        ``.repo`` (rpm) or ``.sources`` (deb)
===================  ==========================================================================
AlmaLinux 8          https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_al8.repo
AlmaLinux 9          https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_al9.repo
AlmaLinux 9.6+       https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_al9_6.repo
AlmaLinux 10         https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_al10.repo
Fedora 41            https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_f41.repo
Fedora 42            https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_f42.repo
Fedora 43            https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_f43.repo
openSUSE Leap 15.6   https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_SUSELeap.repo
openSUSE Leap 16.0   https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_SUSE_16.repo
openSUSE Tumbleweed  https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_SUSETumbleweed.repo
Mageia 9             https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_Mageia9.repo
Debian 12            https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_deb12.sources
Debian 13            https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_deb13.sources
Ubuntu 22.04 LTS     https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_ubu22_04.sources
Ubuntu 24.04 LTS     https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_ubu24_04.sources
Ubuntu 24.10         https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_ubu24_10.sources
===================  ==========================================================================

Direct access to the directory holding the files:

  https://ftp.lip6.fr/lip6/softs/coriolis/etc/

.. note:: There are two repositories for AlmaLinux. One for release up to and
          including 9.5. And a second one starting from 9.6. This is due to
          a change in ruby version minor that makes KLayout packages to build
          on all releases with the same version. It links with ruby 3.0 until
          9.5 and 3.1 from 9.6 on.



For RPM based systems (Fedora, AlmaLinux, SUSE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

As you are installing the tools natively in your distributions, those
operations are to be done as ``root``.

1. From the ``etc/`` directory of the ftp site, download the relevant ``*.repo``
   file, then copy it under ``/etc/yum.repos.d/``.

   .. code:: bash

      root@pc:~> wget https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_al9.repo
      root@pc:~> mv fossEDA_al9.repo /etc/yum.repos.d/

2. Install the PDK you want to work with, all the tools needed to use it will
   be installed with it as dependencies.

   .. code:: bash

      root@pc:~> dnf group install fossEDA


For DEB based systems (Debian, Ubuntu)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

As you are installing the tools natively in your distributions, those
operations are to be done as ``root``.

1. From the ``etc/`` directory of the ftp site, download the relevant ``*.sources``
   file, then copy it under ``/etc/apt/sources.list.d/``.

   .. code:: bash

      you@pc:~> wget https://ftp.lip6.fr/lip6/softs/coriolis/etc/fossEDA_ubu24_10.sources
      you@pc:~> sudo mv fossEDA_ubu24_10.sources /etc/apt/sources.list.d/

2. Install the PDK you want to work with, all the tools needed to use it will
   be installed with it as dependencies.

   .. code:: bash

      you@pc:~> sudo apt update
      you@pc:~> sudo apt install coriolis-pdk-ihpsg13g2-c4m
