IC Design

The Q&CE 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
  • TSMC 28nm

Warning

You have to sign the TSMC NDA(s) before you get access to the TSMC PDK!

Each foundry has their own process design flow. To use the PDKs, you have to select the right EDA toolchain. The EDA toolchains for TSMC is identified by:

  • ICD-tsmc

These environments are activated with the Lmod Environment Module System (See Lmod User Guide). 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