cdsenv and cdsinit

Discussion in 'Cadence' started by alan, May 8, 2009.

  1. alan

    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
     
    alan, May 8, 2009
    #1
  2. alan

    Riad KACED Guest

    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.goog...atic.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.
     
    Riad KACED, May 9, 2009
    #2
  3. alan

    KB.How Guest

    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, May 11, 2009
    #3
  4. KB.How wrote, on 05/11/09 06:43:
    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.
     
    Andrew Beckett, May 11, 2009
    #4
  5. alan

    Riad KACED Guest

    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, May 13, 2009
    #5
  6. Riad KACED wrote, on 05/13/09 00:52:
    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.
     
    Andrew Beckett, May 17, 2009
    #6
  7. alan

    Riad KACED Guest

    Andrew,

    Thank you very much indeed !

    Riad.
     
    Riad KACED, May 17, 2009
    #7
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.