# How to install NCSU CDK under linux with bash shell

Status
Not open for further replies.

#### lcg22

##### Member level 5
how to install and set ncsu?

1.$CDS_DIR == The top level of the Cadence installation tree. is it$CDSDIR? is it c@dence_!C_install_directory or c@dence_!C_install_directory/tools or c@dence_!C_install_directory/tools/dfII ?

#### electronrancher

ncsu cdk and cshrc file

ok, good thing i keep trying -ncsu extensions are definately worth installing! much thanks to those hardworking students like us!

I still have problems where spectre cannot find the models for my transistors, etc. Only R and C seem to simulate since they probably need no model! If you guys know how to fix - post it here. Yes, the libraries are installed and included with library path editor in my project's cds.lib.

Ok, enough of my questions - These env. variables get the kit working in bash if you want to paste into .bashrc.. This is using all the stuff I mentioned in the other post, and the same generic user "cad".

remember, our original .bashrc had stuff like
CDS_INST_DIR=$CDS_ROOT... and so on and so on Now we add... ############################## # For NCSU CDK export UNAME=/bin/uname export uname=$UNAME
export IC=$CDS_ROOT export CDSSITE=$CDS_ROOT/local
##############################

Maybe you don't need both lower and upper UNAME, but someone else can work that out..

2) Now log out, and back in to pick up your new env. variables. Or paste the export statements into a terminal for the 1-shot use.. (Till you close the window)

3) Last, you need to run install.pl in cadence/local/bin/ (use perl install.pl). My answer to BOTH the questions was /home/cad/cadence. Next, tell the installer yes, it's ok to rename the old /dfII/local dir and create a link.

Now logout, and back in. The best test feature is in virtuoso schematic, the quick pick for new instances. Goto Add->Instance and NCSU has made a little popup that browses libraries much easier than the standard window. Use that as a test, plus all the "loading" text ICMS makes when it starts up to debug any bad setup.

Hope it helps!

#### lcg22

##### Member level 5

Thank you very much for your explaination. But I am still not so sure about sth.

Next question:
I can still run install.pl under bash shell? All I need is just add following enviornment variables in my .bashrc file?
##############################
# For NCSU CDK
export UNAME=/bin/uname
export uname=$UNAME export IC=$CDS_ROOT so you mean IC_DIR=$CDS_ROOT export CDSSITE=$CDS_ROOT/local
##############################

#### electronrancher

yes, you have to run install.pl, which works fine under bash.

As for CDSDIR, I forget where I got my reference to call it /tools, but I think it's no big deal. This guy looks for /local dir to grab preferences. The NCSU kit puts a nice set of preferences in /cadence/local so I think it works fine for you.

#### lcg22

##### Member level 5
error <clsbd>

electronrancher said:
yes, you have to run install.pl, which works fine under bash.

As for CDSDIR, I forget where I got my reference to call it /tools, but I think it's no big deal. This guy looks for /local dir to grab preferences. The NCSU kit puts a nice set of preferences in /cadence/local so I think it works fine for you.
Thank you for your answer. So there are 3 steps only to install NCSU kit:

1. extract kit to installation directory.

2. set env variables.

3. run install.pl

that's all?

#### electronrancher

ncsu cdk install

yep that's all! did you try and have problems?

#### lcg22

##### Member level 5
fonts missing cdk

Hi, electronranche,

I have installed the design kit. It seems woking now. However I got a few problem with it.

1. the help button on the "creat library" popup window does not work! I checked the install instruction. It says:"Link in the help files. $IC_DIR/doc/openbook/config/hrfs/ncsuHelp.HRF ->$cdk_dir/doc/ncsuHelp.HRF". However, the directory-$IC_DIR/doc/openbook/config/hrfs does not exist. 2, the original libraries that come with the c@dence software disappear. Are the original libraries useful? Thanks. 3, what is the bash shell counterpart for this command:"setenv USE_NCSU_CDK" and its meaning? what is the function of this line:"setenv TERM$term"?

4. do you know the meaning of these lines and their bash shell counterparts?

alias prepend 'if (-d \!:2) if ("$\!:1" \!~ *"\!:2"*) setenv \!:1 "\!:2":${\!:1}'
alias extend 'if (-d \!:2) if ("$\!:1" \!~ *"\!:2"*) setenv \!:1${\!:1}:\!:2'

prepend PATH $LDV/tools/bin prepend PATH$LDV/tools/dfII/bin
prepend PATH $IC/tools/bin prepend PATH$IC/tools/dfII/bin
prepend PATH $IC/tools/concice/bin prepend PATH$IC/tools/dracula/bin

extend MANPATH $LDV/share/man extend MANPATH$IC/share/man
extend MANPATH $IC/tools/man prepend LD_LIBRARY_PATH$LDV/tools/lib
prepend LD_LIBRARY_PATH $IC/tools/lib # this next one sets a path to our wrapper script; the script # removes this PATH component to unmask the real executable. ONLY USE # THIS IF YOU"RE USING THE local/bin/dfiiwrapper.pl SCRIPT. setenv PATH$CDS/bin:$PATH #---- Start clsbd ----------------------------------------------------- # clsbd should always be running when we start cadence tools # note that "bar" is a simple suid root program that starts clsbd (the # theory is that if it's running as root, a userland process is less # likely to take it down, and it won't be killed when the user logs out. # we want this because clsbd needs to be running on all workstations # that run cadence tools so it can respond to queries about locks. see # chapter 11 of "Cadence Application Infrastructure User Guide" for more # info on cls.) if (( "${uname} -sr" == "SunOS 5.4") || ( "${uname} -sr" == "SunOS 5.5.1") || ( "${uname} -sr" == "SunOS 5.6")) then
$CDS_SITE/bin/bar > /dev/null else$IC/tools/bin/clsbd > /dev/null
endif

unset base_dir uname

#### lcg22

##### Member level 5
ncsu design kit under bash

anther question, what is the function of these two env variables?
export XKEYSYMDB=$CDS_ROOT/share/cdssetup/tdmX11/XKeysymDB export XNLSPATH=$CDS_ROOT/share/cdssetup/tdmX11/nls

#### electronrancher

ncsu cdk installation

ok lemme try to work backwards.
XKEYSYMDB and XNLS... are setup stuff for xwin - fonts, natural language support (NLS), etc. you need them, but you can also use the standard stuff that's in /usr/X11.. I say leave it with cadence's files, you may have a conflict later if you use the generic ones.

I see no problem with throwing away the generic libraries that came with IC5 - I'd rather work off a real process. delete the symbolic link in /tools/dfII, and rename the /dfII/local.bak to /local if you want the cadence libs back.

That environment variable would be "export USE_NCSU_SDK" in bash. They say it's only needed when you link your install directory to /cadence/ic. so you can upgrade 446 to 50 by just changing a link. seems like a nice setup but i didn't want to reinstall or rerun install.pl and maybe screw something up so i left mine.

prepend path means the same as: PATH=/newdir:/newdir2/:$PATH. Look in the new dirs before you look in the old path. the other way (append) is : PATH=$PATH:/newdir:/newdir2. Looks in the old path before it looks in the new dirs. At 1800MHz I see no difference Your milage may vary.

All that other stuff is PATH stuff, that should be done if you used the setup stuff i gave in that first "IC5 in RedHat 8" post. The MANPATH stuff shows man where to find the cadence specific manuals. I think I included it in mine, by doing:
export MANPATH=$MANPATH:$CDS_ROOT/share/man
export MANPATH=$MANPATH:$CDS_ROOT/tools/man
Since I am using CDS_ROOT as my main environment variable..

I highly doubt I will ever use "man icms". What does it give, the command line options for icms? Either there are a million options to set colors and crap manually, or it's useless.. Either way, I haven't explored. man is usually only good for command-line stuff like getting the options to tar and ls..

and term is terminal - probably in case it has to spawn another window to run some command line stuff (like the old borland compilers did in DOS)

try this one... term rm -R *. It should spawn another window that then deletes everything on your HD recursively. Just a joke..

And last... I never even tried the helps - You can get the real set of manuals from http://www.sli.strath.ac.uk/new-docs.htm. But probably not for long now that they will get 10,000 hits per day!!

#### lcg22

##### Member level 5

How about the bash counterparts for the following scripts?
alias prepend 'if (-d \!:2) if ("$\!:1" \!~ *"\!:2"*) setenv \!:1 "\!:2":${\!:1}'
alias extend 'if (-d \!:2) if ("$\!:1" \!~ *"\!:2"*) setenv \!:1${\!:1}:\!:2'

prepend PATH $LDV/tools/bin prepend PATH$LDV/tools/dfII/bin
prepend PATH $IC/tools/bin prepend PATH$IC/tools/dfII/bin
prepend PATH $IC/tools/concice/bin prepend PATH$IC/tools/dracula/bin

extend MANPATH $LDV/share/man extend MANPATH$IC/share/man
extend MANPATH $IC/tools/man prepend LD_LIBRARY_PATH$LDV/tools/lib
prepend LD_LIBRARY_PATH $IC/tools/lib #### electronrancher ##### Advanced Member level 1 my cshrc ncsu that's in my response too - search for "prepend". Just path stuff, easily translated into bash.. Did you read my other post about bad models? ever got a simulation to run? #### lcg22 ##### Member level 5 how to install ncsu cdk library in virtuoso PATH=/newdir:/newdir2/:$PATH
then for this line:
prepend PATH $LDV/tools/bin which is newdir, which is newdir2? what does this two lines do? alias prepend 'if (-d \!:2) if ("$\!:1" \!~ *"\!:2"*) setenv \!:1 "\!:2":${\!:1}' alias extend 'if (-d \!:2) if ("$\!:1" \!~ *"\!:2"*) setenv \!:1 \${\!:1}:\!:2'