Some question on SKILL

Discussion in 'Cadence' started by wolfpack307, Dec 16, 2006.

  1. wolfpack307

    wolfpack307 Guest

    Hi all,

    I am new to SKILL and is trying to write some procedures to automate
    some task in virtuso. I would appreciate if someone can help me get
    started.

    1. Is there a proper documentation of all the defined functions? The
    only place where I can get some information was only the finder in the
    SKILL development

    2. A few technical question.
    I got a db object using the following

    net=dbFindNetByName (deGetEditCellView) "q_net<0>"

    I don't seem to get any result from
    dbGetPropByName net "name" => nil

    but this is okay
    net->name => q_net<0>

    3. Last, is there a way to list out the propert name for a db object? I
    need to know the keys to get the values.....

    Thanks
    shuteng
     
    wolfpack307, Dec 16, 2006
    #1
  2. Which indeed is the first place that you should start when looking for
    a function that you don't know if it exist or not. By use of the
    finder, you find the potential function names. Then you either go to
    the online documentation and use the search function on the selected
    functions of interest, or you copy all the pdf documents in the
    documentation part of the cadence installation to a folder and let one
    of these desktop search tools (beagle, copernic, google) index that
    directory for you. If you use windows or KDE, you can use the folder
    search function to look for the function name as a full text search on
    that directory. You can also have acrobat reader do a fulltext search
    on all pdf files in a directory and last but not least, you can use
    Sourcelink to find it.
     
    Svenn Are Bjerkem, Dec 20, 2006
    #2
  3. wolfpack307

    Jimka Guest

    Hi shuteng, it might be that you are confusing nets and signals.
    It might be that you have named q_net<7:0> and signals q_net<7>,
    q_net<6>, ... q_net<0>. If that is the case dbFindNetByName
    will not find it. But there is no such net. If you want to find a
    signal
    by name, there are many possibilities. If performance is not
    important
    you might try something like the following

    (defun find_net_with_signal (cv sigName)
    (car (exists net cv~>nets
    (exists signal net~>signals
    (equal sigName signal~>name)))))

    This function will return some net which has a signal with the given
    name.
    E.g., you might have two different nets, one named q_net<7:0> and
    another
    named q_net<127:0> which both have the signal named q_net<0>.
    This function will return one net or the other. If you want to find
    all such nets
    and not just the first such one, change it to the following.

    (defun find_nets_with_signal (cv sigName)
    (setof net cv~>nets
    (exists signal net~>signals
    (equal sigName signal~>name))))

    Does this help?
    -jim
     
    Jimka, Jan 1, 2007
    #3
  4. wolfpack307

    vlsidesign Guest

    Thanks for the tip on using Finder, it works well. I accessed it via
    the CIW window: Tools~> Skill Development and then from the Skill
    Development menu: Finder...
     
    vlsidesign, Jan 16, 2007
    #4
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.