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