cdsenv and cdsinit

A

alan

Guest
I am a little confused about the cdsenv and cdsinit.
What is the main difference in their function? I am asking this
question, because from online searching, function wise they are
similar.
Another thing, where can I find all these settings/commands, for
example, envSetVal(), etc. Which document has these?

Many thanks
Alan
 
Hi Alan,

In most condition, .cdsenv is use to set all the environment
and .cdsinit is use to load skill coding into the system.


cdsenv - environment setting
eg: schematic editPropShowCDF boolean t
schematic statusBanner boolean t

cdsinit - init file to load skill script such as trigger into the
system ( user can set env in thid file too)
eg: load "/user/hello/script/CCSaddLabel.il"
 
KB.How wrote, on 05/11/09 06:43:
Hi Alan,

In most condition, .cdsenv is use to set all the environment
and .cdsinit is use to load skill coding into the system.


cdsenv - environment setting
eg: schematic editPropShowCDF boolean t
schematic statusBanner boolean t

cdsinit - init file to load skill script such as trigger into the
system ( user can set env in thid file too)
eg: load "/user/hello/script/CCSaddLabel.il"
Also you should be aware that there are some variables which cannot be set from
a .cdsinit (for example, those to do with cdsLibManager - because they are read
by a separate process (the library manager) which does not read the .cdsinit).

But for the most part it's a matter of different syntax, as KB.How and Riad have
said.

Regards,

Andrew.
 
Hi Andrew,

Thanks for these comments. It did bring to my mind the Hierarchy
Editor as well. It does not read the .cdsinit either as you have
explained this to me a little while ago. I did go for the ams.env
instead. Is it true saying that every process that is separate from
the main cadence (icfb, icms) process does not read the .cdsinit
file ? I think both the library manager and the HED are separate
processes.

Regards,
Riad.
 
Riad KACED wrote, on 05/13/09 00:52:
Hi Andrew,

Thanks for these comments. It did bring to my mind the Hierarchy
Editor as well. It does not read the .cdsinit either as you have
explained this to me a little while ago. I did go for the ams.env
instead. Is it true saying that every process that is separate from
the main cadence (icfb, icms) process does not read the .cdsinit
file ? I think both the library manager and the HED are separate
processes.

Regards,
Riad.
That's a reasonable generalization. Sometimes (certainly in IC613) a background
process might be virtuoso still, but in general what you say is correct.

Andrew.
 
Hi Alan,

Both .cdsinit and .cdsenv files are meant to set up the environment
for the various tools that are used in DFII.
The .cdsenv is loaded before the .cdsinit file. This means that if you
setup same variables in both files, then the .cdsenv setup is
overwritten.
I know couple of differences between .cdsinit/.cdsenv:

1. the .cdsinit file is a Skill syntax. It means that if you want to
setup a variable that relies on a UNIX environment variable or on
other settings, then you could use all the skill functions you need
for this. The .cdsenv if read as it is, nothing's evaluated, nothing's
expanded. You can't use UNIX variables in a .cdsenv. Say you work on
shared project area. You want to setup the ADE Project Directory fo
spectre simulation to : /project/$PROJECT_NAME/$USER_NAME/simulation.
As you have a common setup file in your project area, you need to set
this up using the following commands into your .cdsinit :
;
sprintf(projectDir "/project/%s/%s/simulation" getShellEnvVar
("PROJECT_NAME") getShellEnvVar("USER"))
envSetVal("asimenv.startup" "projectDir" 'string projectDir)
;
You can't do this in .cdsenv as the program that parses the .cdsenv
file wont evaluate any of your UNIX environment variables.

2. The loading Sequence. Cadence stops searching for .cdsinit when it
finds any in the search sequence you already know. the .cdsenv doesn't
stop though, files are merged with the latest loaded overriding
previous ones. This explained in details in the "Cadence Design
Framework II User Guide", Chapter 10 - Customizing DFII, and the
"Cadence Design Framework II Configuration Guide".

There might be other differences I don't know. In addition, I think
that all the variables could be set from either files, not 100% sure
though.

As per, you second question:
1. The easy way is to go to the CIW -> Options -> Save defaults. If
you want to see all the environment variables setting for the
Schematic editor in your session, then fill up the GUI as shown here:
http://riad-kaced-usenet-group.googlegroups.com/web/cdsenv_schematic.png?gsc=qFIxzwsAAAB8h1XI_eb9fxnnXnAX677A

199 variables are dumped in my case ... Most of the variable are quite
easy to understand. Otherwise, one can type-in the name of the
variable into cdnshelp/cdsdoc to get more information. In fact, all of
the Cadence tool documents come with a chapter (Appendix A I think)
dedicated for the environment setting.

The environment settings should not have any secret for you from now
on ...

Cheers,
Riad.
 

Welcome to EDABoard.com

Sponsor

Back
Top