er Guide: https://lmod.readthedocs.io/en/latest/010_user.html
IC Design
The QCE department has support for a number of commercial EDA environments with design flow support for certain process desgin kits (PDK). The following foundry process design kits are currently supported:
TSMC 40nm, 28nm, 16nm
GlobalFoundries 22nm, 12nm
IHP SG13S, SG13G2C
STMicro hcmos9a_119a
Pragmatic pragtft
Warning
You have to sign the TSMC NDA(s) before you get access to the TSMC PDK!
EDA tools from suppliers such as Cadence, Synopsys, Siemence, AMD, are supported. A more detailed EDA tool list can be found at https://www.europractice.stfc.ac.uk
Each foundry has their own process design flow. To use the PDKs, you have to select the right EDA toolchain. For example, the EDA toolchains for TSMC is identified by:
ICD-tsmc
These environments are activated with the Lmod Environment Module System. You have to select a EDA toolchain and a PDK version before you start with your design. For EDA toolchain compatibility, please use the qce-icdesign.ewi.tudelft.nl server for designing ICs.
TSMC IC Design
To start with your TSMC IC design you have to select the EDA toolchain. To see which are available type the following command:
module avail ICD-tsmc
The output will be something like:
------------------------------- /opt/apps/modulefiles -------------------------------------
ICD-tsmc/legacy ICD-tsmc/2020 ICD-tsmc/2022 (D)
Where:
D: Default Module
Use "module spider" to find all possible modules and extensions.
Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
For older projects started on a different environment (i.e. Fernet) select the “legacy” version. For new projects always select the newest version, in this case “2022”, which is also the default. Always use the version you started your design with to prevent problems. To start a the “legacy” version of the EDA toolchain type:
module load ICD-tsmc/legacy
Next select the TSMC PDK you want to use. To see the available TSMC PDK versions type:
module avail pdk-tsmc
The output will be something like:
------------------------------- /opt/apps/modulefiles -------------------------------------
pdk-tsmc/N40
Use "module spider" to find all possible modules and extensions.
Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
To load the TSMC PDK environment type:
module load pdk-tsmc/N40
If you load the pdk-tsmc module in a directory without a “cds.lib” and/or “.cdsinit” file, the module will create these files for you. If these files are already present in the directory, a module load will not touch these files. If new files are created, a module load will show the following messages:
No cds.lib found: Creating new generic cds.lib for tsmc N40
No .cdsinit found: Creating new generic .cdsinit for tsmc N40
Note
If you have a “cds.lib” which was not initially created by the “pdk-tsmc” module, please check if all the pdk paths are valid.
After the initial generation of the “cds.lib” and/or “.cdsinit” files, you can add other library paths.
You can also load both modules at once by typing the following command:
module load ICD-tsmc/legacy pdk-tsmc/N40