Blog Doc: CDB PDK installation in Cadence IC615 Notes

The following solution for C5PDK installation is still not working. Maybe it is related to shell issue. Because C5PDK is using C shell, but the sever used bash shell to install cadence. Next step, I moved to learn shell knowledge.

4/23/2015: when I installed the C5_PDK in Cadence IC615, these libraries installed have an OA-CDB issues. It said that the IC615 should run the OA library, but in the directory libs seems to be CDB files. I tried to use cdb2oa tools in Cadence, it doesn’t work. And CIW shows that the CDBOA warning and errors.

1st, go to C5_PDK lib and check whether the PDK file has a ‘techfile.cds’ file. If yes, that means, the PDK is CDB type and suited for older version of Cadence. For IC610 Or IC615, Cadence uses the OA data type. So we need to exchange the CDB libs to OA libs. Based on the reference of tsmc18rf, I followed the steps and succeeded in installing the C5 PDK into IC615.

2nd,extract the C5_MSD_PDK.tar into C5_PDK in you home directory. Then find the location of IC615 by typing locate -b ‘\IC615’. In your home directory, open the .bashrc by typing gedit .bashrc and add the following.

export CDS_Netlisting_Mode=Analog
export CDS_LOAD_ENV=CWDElseHome

export AMIS=/home/XXX/C5_PDK
export AMIS_DFII_DIR=/usr/cadence/IC5141
export CDS_SITE=$AMIS/tools/msd/current/site
export SIMRC=$AMIS/tools/msd/current/site/.simrc
export AMIS_MSD_PATH=$AMIS/tools/msd/current

The deleted path should be changed to your home directory and the location of the Cadence IC615 installation folder. After finished, please type . .bashrc (period, space, period bashrc) in your terminal under home directory to resource the .bashrc file.

3rd, open C5_PDK and edit a cds.lib file into it. The cds.lib points to the Cadence and the ON libraries.

DEFINE amisCommonLib $AMIS/lib/tech_indep/physical/dfii/amisCommonLib/Rev1.5
DEFINE amisSheetLib $AMIS/lib/tech_indep/physical/dfii/amisSheetLib/Rev4.0
DEFINE amis500cxakxx $AMIS/lib/amis500cx/physical/dfii/amis500cxakxx/Rev2.10
DEFINE amis500cxatxx $AMIS/lib/amis500cx/physical/dfii/amis500cxatxx/Rev4.2
DEFINE maskident $AMIS/lib/amis500cx/physical/dfii/maskident/Rev2.0

DEFINE analogLib $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/analogLib
DEFINE cdsSpice $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/cdsSpice
DEFINE functional $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/functional
DEFINE sbaLib $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/sbaLib
DEFINE basic $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/basic
DEFINE sheets $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/sheets/US_8ths

PS: the cdsSpice lib has some issues working in IC615.

7th, the cdsinit file should be added to C5_PDK. Use the command gedit cdsinit and copy the words in cdsinit web and after that rename the file to .cdsinit. In final, please type ls -la under C5_PDK to check the cds.lib and .cdsinit existence.

8th, make a directory C5oa_PDK under home to save the OA PDK data. And make a new folder cdb under C5oa_PDK and go to cdb folder. Use gedit cds.lib in cdb folder to edit and add the following ON libraries to cds.lib.

DEFINE amisCommonLib $AMIS/lib/tech_indep/physical/dfii/amisCommonLib/Rev1.5
DEFINE amisSheetLib $AMIS/lib/tech_indep/physical/dfii/amisSheetLib/Rev4.0
DEFINE amis500cxakxx $AMIS/lib/amis500cx/physical/dfii/amis500cxakxx/Rev2.10
DEFINE amis500cxatxx $AMIS/lib/amis500cx/physical/dfii/amis500cxatxx/Rev4.2
DEFINE maskident $AMIS/lib/amis500cx/physical/dfii/maskident/Rev2.0

9th, in C5oa_PDK open the Cadence IC615 by typing virtuoso &. Then click CIW Tools —> CDB to OpenAccess Translator to open the interface of changing the CDB data to OA data.

CDB2OA interface10th, click the browser to add the cds.lib in cdb directory. Next click OK to start translation. After that, you will get all the OA libraries in C5oa_PDK directory.

11th, you need to copy all these new OA libraries in C5oa_PDK to replace those CDB libraries in C5_PDK. The better way is to do in Windows. So use command zip -r C5oa_PDK/ and zip -r C5_PDK/ to getting the zip files of CDB and OA libraries. Copy the zip files into Windows. In the cds.lib of C5_PDK, we can find all those locations of libraries and delete these following folders.


12th, copy those OA folder in C5oa_PDK in to their previous locations. Finally, the locations of C5 are like following. Now we get the newer OA C5_PDK.


13th, remove the directories C5_PDK and C5oa_PDK in your UNIX home directories. And extract the new OA to C5_PDK in home directory. Open it and edit the cds.lib. Because the old cds.lib is still saving the previous libraries’ location. We need to change them into new locations as following.

DEFINE amisCommonLib $AMIS/lib/tech_indep/physical/dfii/amisCommonLib
DEFINE amisSheetLib $AMIS/lib/tech_indep/physical/dfii/amisSheetLib
DEFINE amis500cxakxx $AMIS/lib/amis500cx/physical/dfii/amis500cxakxx
DEFINE amis500cxatxx $AMIS/lib/amis500cx/physical/dfii/amis500cxatxx
DEFINE maskident $AMIS/lib/amis500cx/physical/dfii/maskident

DEFINE analogLib $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/analogLib
#DEFINE cdsSpice $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/cdsSpice
DEFINE functional $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/functional
DEFINE sbaLib $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/sbaLib
DEFINE basic $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/basic
DEFINE sheets $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/sheets/US_8ths

14th, make a directory mydesign for your design in home directory. And copy the cds.lib and .cdsinit of C5_PDK into mydesign path.  Open a terminal in this mydesign folder and launch IC615 by typing virtuoso&. In your IC615, the library contains the C5 libraries.

However, I found that in folder of amis500cxakxx the OA data has less components after translation. I check that the M1PIN,M1PLY, M2PIN,M3PIN,M12,etc can’t be used in IC615. So we have to fix this issue.

Difference between OA and CDB library

15th, how to fix the missing cdb lib issue is to make a new library in IC615. I made a new library named C5LIB. When cadence asks you to add the Technology File for This New Library, you need to compile a new techfile and browser the under the path /C5_PDK/lib/amis500cx/physical/dfii/amis500cxakxx.

After compiling the new techfile, all those missing libraries will be shown out. Next, you need to copy all those cells into amis50cxakxx library.

Now C5 PDK installation has been successfully finished. If you want to use the C5 PDK for your schematic simulation, make a new cellview tutorial and make a simple inverter. In the ADE, click Setup —> Model Libraries for Spectre simluations and add those models files end in *.scs in the C5_PDK/lib/amis500cx/tech/spectre/amis500cxakxx/Rev2.20/. If you didn’t add those scs files, the simulations can’t be running.


Finally, the C5_PDK for IC615 is finished.

—————————-Sorry, I am the Split line———————————————-

4/24/2015: I used cdb2oa tool to convert the C5_PDK, but some models like NMOS/PMOS cannot be found.

The models of NMOS/PMOS is here now. Go to the amis500cxatxx library and click enm and epm cell that is NMOS/PMOS model, respectively.

—————————-Sorry, I am the Split line———————————————-

4/26/2015: When I used the new C5 libraries to design the layout of simple inverter, I can’t see the NMOS/PMOS layout. And I can’t use calibre DRC and LVS.

—————————-Sorry, I am the Split line———————————————-

This time, I log into another server and use IC5141. Install C5 following the rules as It is working now. But when I open the ICFB& in my ubuntu. I got the following error.

X Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 45 (X_OpenFont)
Serial number of failed request: 15
Current serial number in output stream: 30

I checked the websites and I need to install synaptic package manager and open it to search the 75dpi and 100dpi. Then install them and reboot the computer. Later it works.

—————————-Sorry, I am the Split line———————————————-

In IC5141, C5 models works. But when I built the inverter model and simulated it. The vdc has noise and vpulse is not working. So the final simulation result is wrong. But the schematic and layout library models are fine.

I found out the issue related to ground. The gnd in AnalogLib doesn’t work in C5 PDK. So we have to use gnd! or the model of gnd in amisCommonLib.

—————————-Sorry, I am the Split line———————————————-

In the configuration of Calibre in IC5141, I also got some errors following the guide of web:

In this website, there is one thing missing. When you edit the bottom path of lvs.rf, change the word “current” to “Rev2.6”. You also have to change the bottom path of drc.rf.And make sure the drc.runset and lvs_runset is the same as the web.

—————————-Sorry, I am the Split line———————————————-

This entry was posted in cadence setup and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s