Cadence virtuoso customizations

Discussion in 'Cadence' started by wre, Jun 13, 2006.

  1. wre

    wre Guest

    As addicted user of shortcuts, I recently placed my Cadence Virtuoso
    customizations
    on a blog. You can find it at

    http://relyveld.wordpress.com/cadence-page

    Extract:
    It all started with the wish to use Alt-1 to toggle metal1 visibility,
    and Alt-2 to toggle
    metal2 visibility. Then I started to want other posibilities, get rid
    of the LSW window,
    raise the library manager etc. I quickly grew out of Alt-... keys and
    introduced
    Alt-a Alt-b combinations, typed after each other.

    Example: switch to schematic view when in a Virtuoso layout window:
    Alt-i : go to library manager mode
    Alt-e : switch to schematic view of this cell
    Alt-e : switch back to the layout view

    Example: select all single vias in a Virtuoso layout window:
    Alt-f : go to filter mode
    Alt-v : select vias (in the visible part of the active window)
    Shift-Alt-b : filter smaller items (works with transistors, vias,
    rectangles etc.)
    repeat Shift-Alt-b until you get only the single

    Example: save netlist from schematic view:
    Alt-s : create netlist. (Need to set the simulator once first)

    Greetings, William.
     
    wre, Jun 13, 2006
    #1
  2. wre

    John Gianni Guest

    Without looking at all inside the SKILL code, purely from a 5-minute
    DFII CIW: Tools->SKILL->Survey "syntactical goodness" standpoint, this
    code (wrAltEdit.il) is pretty well written for portability between
    releases.

    The wrAltEdit.il SKILL file makes use of 308 SKILL functions, 179 of
    which are public in IC610 and only 3 are considered private
    (undocumented, unsupported); 0 have been deleted in any release from
    IC440 to IC610; 0 were redefined Cadence production functions; 3 have
    syntactically changed between IC5251 and IC610 (mostly optional new
    arguments & argument type improvements); and 117 were defined in the
    code under test (5 of which are redefined Cadence Customer Support
    SKILL functions).

    I don't know the legalities of re-distribution of Cadence Customer
    Support functions (I'll leave that to others to ponder) but it was nice
    to see of the 112 remaining user-defined functions, all started with
    the same prefix (albeit it was a lower-case prefix contrary to current
    Cadence recommendations for user-defined SKILL functions).

    Unfortunately, 6 functions were called in the code that did not have
    corresponding definitions either in the code under test or in any
    Cadence production CDROM. These would generally be typos or
    dependencies on other code. I noticed at the
    http://relyveld.wordpress.com/cadence-page web site that a second set
    of code (wrDrf.il) was necessary ... but the link came up with a "404
    Not Found" error when I clicked on it today so I was unable to
    determine if the missing functions were defined there.

    Since it took longer to type this up than it took to run the DFII
    CIW:Tools -> SKILL -> Survey, I won't go into further detail. Anyone
    could find out all of this (and more) in two minutes simply by running
    the same SKILL Survey I just ran.

    One recommendation I would make though is to follow the
    private-function resolution process to convert the 3 private
    (undocumented unsupported) function calls to public documented and
    supported function calls. That process works exceedingly well hundreds
    of times in the past few years by providing user with either:
    - An existing equivalent public replacement, or,
    - By classifying the function as public, or,
    - By giving the source code to the function (if that src code is all
    public), or,
    - By providing a different way to perform the task which uses public
    functions
    etc.

    All in all, for its size (7K lines), this is syntactically decent SKILL
    code.

    Good luck and thanks for helping others by providing (presumably)
    working SKILL examples (once those undefined functions are cleared up)!

    John Gianni
     
    John Gianni, Jun 13, 2006
    #2
  3. Blog for Cadence customization and SKILL code,
    good idea.

    Bernd
     
    Bernd Fischer, Jun 14, 2006
    #3
  4. William,

    This Skill code contains foundry's confidential information.
    You are not allowed to make it public.
    You need to remove all specific foundry's code inside this file
    before publishing it in your blog site.
    The other alternative would be to make it running with the Cadence
    GPDK and publish it on the Cadence Repository for Electronic
    Transfer & Education ( http://crete.cadence.com ).

    Have you got the foundry's design-kit from CMP ?

    ======================
    Kholdoun TORKI

    http://cmp.imag.fr
    ======================
     
    Kholdoun TORKI, Jun 14, 2006
    #4
  5. wre

    wre Guest

    Hello Kholdoun,

    I will replace all actual names as proposed. Sadly enough, I disabled
    the
    link for the wrAltEdit.il file and will ask cadence about the cadence
    customer functions before enabling it again. Btw, I am working with
    Philips and we are cooperating with ST and Freescale as you might know.

    Thanks for the feedback.

    Greetings, William.
     
    wre, Jun 14, 2006
    #5
  6. wre

    John Gianni Guest

    I emailed you the results of a SKILL Survey so you can see what to do
    about the undefined functions and any other issues. I don't wish to
    discourage anyone from posting SKILL code for others to benefit so I do
    suggest you simply work on the issues.

    If you like, I can get you in touch with the Cadence Customer Support
    folks (you have my real email address - don't use the one on this
    posting as it's merely a spam trap) by email or by phone. Just send me
    an email and I'll set it up for you.

    With respect to Kholdoun Torki's helpful suggestion, the only problem
    is that Cadence recently reduced funding for that program so the
    http://crete.cadence.com web site and all the previously available
    design kits (e.g., the gCDK180) and designs (e.g., the Hummingbird PLL
    and the Eaglet RF/Analog/Mixed-Signal/Digital/Memory test chip are no
    longer published at that location). Incidentally, the Eaglet test chip,
    which was used at more than a few universities in their classes I am
    told, was also fab'd in the Tower 180nm mixed-signal process. That's a
    great testament to an EDA company's university partnership test chip!

    That having been said, porting your code to a generic process is
    probably a 'good thing'. The Cadence gPDK090 was never shipeed with
    DFII code, but, the gPDK180 was shipped in a few releases of DFII way
    back when (someone else may remember exactly which releases) so you may
    even already have it handy. And, of course, the gCDK180 was on the
    Cadence Repository for Electronic Transfer & Education for many years
    (a CDK is a complete design kit, which means it contains everything
    needed to run the desired flow, which includes standard cell libraries,
    IO libraries, Celtic CDB views, NeoCell config files, model files,
    verification rule decks, LEF & LIB, memory compilers, etc.)

    Good luck,
    John Gianni
     
    John Gianni, Jun 14, 2006
    #6
  7. wre

    wre Guest

    Hello John,

    Thanks for the proposal to contact cadence about the public use of
    their customer support functions. I thought that the disclamer in those

    functions already allowed me to reuse freely:
    ********************************************************************
    * DISCLAIMER: The following code is provided for Cadence customers *
    * to use at their own risk. The code may require modification to *
    * satisfy the requirements of any user. The code and any *
    * modifications to the code may not be compatible with current or *
    * future versions of Cadence products. *
    * THE CODE IS PROVIDED "AS IS" AND WITH NO WARRANTIES, INCLUDING *
    * WITHOUT LIMITATION ANY EXPRESS WARRANTIES OR IMPLIED WARRANTIES *
    * OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. *
    ********************************************************************
    But I would like it if you would get in touch with Customer Support and
    let us
    know in this newsgroup if it is allowed to reuse it this way.

    About the PDK, I specially posted my customizations to make them more
    general applicable. Now they work for Philips processes and I don't
    know
    how different our PDKs are from other PDKs. My expectation is that it
    should not
    be that difficult to rename a few things like width/length and spacing
    names.
    And then you are able to increase the contact to poly spacing of ten
    different w/l transistors with layout grid steps with:
    Select the wanted transistors (both nmos/pmos possible in one
    selection)
    Alt-q : goto property mode
    Alt-s : contact to gate spacing
    Alt-up : increase space with one grid
    Done, no question windows involved.

    Greetings, William.
     
    wre, Jun 14, 2006
    #7
  8. wre

    John Gianni Guest

    Hi WIlliam,
    I am, by no means, a spokesperson for the legal use of SKILL code but I
    did send an email just now to those in Customer Support and IP
    Protection who may have a say in the matter.

    If they choose to answer me and if that answer can be made available to
    you or to the newsgroup, I'll do that as a courtesy to all.

    If not, I'll have to leave it as it lies. However, I do congratulate
    you for taking the time and effort to post SKILL code that can benefit
    a wide audience of Cadence Virtuoso users. I merely recommend folks run
    a quick two-minute DFII CIW:Tools -> SKILL -> Survey on all SKILL code
    so as to ascertain the "syntactical goodness" of the code.

    Good luck,
    John Gianni
     
    John Gianni, Jun 15, 2006
    #8
  9. wre

    LindaM Guest

    Hi WIlliam,

    When you get this all sorted out re the legal issues, you are
    encouraged to also post any non-proprietary SKILL code on the Cadence
    user group website at www.cdnusers.org. This site has a forum
    specifically for Virtuoso SKILL.

    Linda
     
    LindaM, Jun 15, 2006
    #9
  10. wre

    wre Guest

    It was not clear if I could publish the Cadence Customer Support
    functions this way, but I found other CCS functions on usenet too. I
    asked this on the www.cdnusers.org forum but
    did not yet got a reply. So I assume now that this is not a big issue.
    If it is, I can remove those functions in an update if needed. The
    functionality also doesn't depend much on the CCS functions.
    So I posted the file again. You can download it from:
    http://relyveld.wordpress.com/
    I will also post a message to the www.cdnusers.org site.

    Greetings, William.
     
    wre, Jun 22, 2006
    #10
  11. wre

    LindaM Guest

    William,

    thank you for your post on www.cdnusers.org. We are gathering data
    internally re SKILL posting issues, so that is why you have not yet
    received a message.

    Linda M
     
    LindaM, Jun 26, 2006
    #11
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.