process independent netlisting from ADE

Discussion in 'Cadence' started by stroller, Oct 1, 2005.

  1. stroller

    stroller Guest

    hi all,

    i want to create my schematics in a process independent manner so i
    can port easily.

    i have alot of process information in a skill hashtable so that the
    following evaluates

    myHash["pmosMinWidth"] to a number

    so i want to set the width "w" cdf on my analoglib to
    myHash["pmosMinWidth"]

    but when i try and netlist this using the ADE netlist create tool i
    just get

    w=myHash["pmosMinWidth"]


    so in conclusion i can't get the netlist to interperate this string as
    a function,

    i think i need to be using some kind of AEL here (i have parseasCEL set
    to yes on the master). i experimented with this but still wasn't able
    to track it down.

    anyone have some insight?

    thx, stroller
     
    stroller, Oct 1, 2005
    #1
  2. It sounds as if you're trying to write your own AEL functions. AEL is not the
    same as SKILL, and so doing what you're trying to do above is not possible - at
    least not that way. Effectively you're trying to add to the set of AEL functions
    (like pPar(), iPar()) - but this can't be done.

    What you could do is write a custom netlist procedure, or even perhaps overload
    the default spectre netlisting procedure, so that you interpret any expressions
    before passing them on. It's not going to be that easy though...
    The documentation on this is in:

    <instdir>/doc/skartistref/skartistref.pdf

    Regards,

    Andrew.
     
    Andrew Beckett, Oct 2, 2005
    #2
  3. stroller

    stroller Guest

    i often hear of people writing their own netlisters instead of using
    the cadence provided one, are there any examples of the code out there?
    is it a "huge" job or a medium sized one? are there other benefits to
    doing this beyond handling the skill variable issue i included in the
    orginal post? i'd be interested in hearing from other folks on this.

    anyway, thx for the info Andy.
     
    stroller, Oct 3, 2005
    #3
  4. stroller

    tattvamasi Guest

    Stroller,
    We write our own spectre netlisters. Especially useful for analog-Lib
    like elements that you have conceived within your own company that has
    a few more advantages etc..

    But the framework for writing one as Andrew points out is pretty
    intense.
    You may find these docs from sourcelink very helpful,

    OSS ref - Open Simulation System reference.
    Specificaly, Customizing the SE(simulation environment) - chapter 3
    Customizing HNL(Hierarchical netlister) - Chapter 5
    And an application note named: Sample Hierarchical Netlist Formatter.

    Partha
     
    tattvamasi, Oct 3, 2005
    #4
  5. stroller

    stroller Guest

    thx for the info partha, i have had a look at these manuals.

    i can't help but wonder though if this is overkill for my app. just to
    reiterate, i want to pre-load in some design variables to the
    simulation env and have these evaluated and netlisted by the default
    tool.

    know of any sev or ael tricks to do this?
     
    stroller, Oct 4, 2005
    #5
  6. stroller

    stroller Guest

    hey, one more data point.

    i created a bunch of design variables on a dummy scematic and assigned
    the values. then i instanced this on my top level schematic and
    netlisted and these vars were correctly netlisted out. this is an ok
    workaround for me for now, so is there a way to take a dummy schem and
    create the design vars programatically? i'm just restating my above
    question i guess with the addition that i've tested this with a
    hand-created dummy inst and the netlister works correctly. thx again.
     
    stroller, Oct 4, 2005
    #6
  7. stroller

    tattvamasi Guest

    You can probably do this?

    Dump out the cdf's, using

    cdfDump("analogLib" "/tmp/pmos.cdf" ?cellName "pmos" ?level 'base ?edit
    t)

    then insert your own cdfCallback procedure for the form field, which
    does the function evaluation and return a number and then netlist?

    Or condense the function to use primitive ael expressions allowed to
    work for you?
    (Refer the AEL manual)

    YMMV
     
    tattvamasi, Oct 4, 2005
    #7
  8. stroller

    stroller Guest

    andy already said there weren't any ael expressions useful to us here,
    i couldn't find any in the ael manual either..

    i don't want to have to go back and keep resetting the cdf everytime i
    port so the cdf option probably won't help.

    thx though
     
    stroller, Oct 4, 2005
    #8
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.