Home > Community > Forums > Custom IC SKILL > How to override netlisting mapping of instance names and node names?

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 How to override netlisting mapping of instance names and node names?  

Last post Mon, May 23 2011 12:43 PM by Andrew Beckett. 3 replies.
Started by SharksFan 20 May 2011 10:07 AM. Topic has 3 replies and 2413 views
Page 1 of 1 (4 items)
Sort Posts:
  • Fri, May 20 2011 10:07 AM

    • SharksFan
    • Top 200 Contributor
    • Joined on Fri, Apr 23 2010
    • Santa Clara, CA
    • Posts 40
    • Points 640
    How to override netlisting mapping of instance names and node names? Reply

    Hi,

    I'm using IC6.1.5 and an external simulator.  It has a predefined set of mapping functions that convert schematic names to netlist names.  For example, if I name a node in my schematic to begin with a "." (like .monitor for example), this name get converted to _net0 during netlisting.

    I want to override this default behavior so that I can control the mapping, but my attempts so far have been unsuccessful.

    Here's what I did:

    I defined the $SIMRC to point to a directory in which I have my own .simrc file.  In my .simrc file, I defined

    hnlSetDef('mapNetFirstChar
        list('("." "net_")
        )
    )

    After this, I have completely exited IC and restarted.  I reopen my saved state for the external simulator and from the ADE menu I do a Simulation > Netlist > Recreate.  However, my netlist still contains _net0 instead of the desired net_monitor for the net named .monitor in my schematic.

    What am I missing?  Do I need to force unbinding somehow since mapNetFirstChar has been previously defined by the external simulator?  How do I do the unbinding?

    Thanks in advance for all tips and help.

    SharksFan

    • Post Points: 20
  • Mon, May 23 2011 9:40 AM

    Re: How to override netlisting mapping of instance names and node names? Reply

    SharksFan,

    By "external simulator" I assume you don't mean a Cadence simulator? ADE netlisters use a wrapper around the underlying OSS capability, and so initialize these kind of settings per simulator.

    You have to do it by customizing the netlister so that the new settings get done within nlInitialize for the netlister you're using. Similar examples are shown in these two solutions:

    Solution 11705396

    Solution 11575430

    If you're using hspiceD or spectre there may be variables to do what you want - not 100% sure - but if you state if it's one of these I can check.

    Andrew.

     

    • Post Points: 20
  • Mon, May 23 2011 10:18 AM

    • SharksFan
    • Top 200 Contributor
    • Joined on Fri, Apr 23 2010
    • Santa Clara, CA
    • Posts 40
    • Points 640
    Re: How to override netlisting mapping of instance names and node names? Reply

    Hi Andrew,

    Yes, the simulator is not a Cadence product, but has been integrated into Cadence and appears as a choice in ADE (the default choice, in fact).  I believe the context file for this simulator defines the mapping which I wish to alter.

    I will have a look at the soultions you have listed and see if I can make some progress using them.  Thank you.

    I assume from your response that the .simrc file contents would only come into play if the coding of the netlisting for the external simulator has been written to account for entries in the .simrc, otherwise it is basically ignored.  Is that correct?

    The real issue I'm trying to solve is that different versions of this non-Cadence product use inconsistent mapping and this breaks the OCEAN scripts that people have made as they are forced to move to updated versions.  I'm looking for a way to add a layer on top which redefines the mapping back to the original version and still allows use of the updated versions.

    SharksFan

    • Post Points: 20
  • Mon, May 23 2011 12:43 PM

    Re: How to override netlisting mapping of instance names and node names? Reply
    SharksFan,

    The variable you're using will get set by the "nl" layer - this is the "direct" netlisting system used in ADE which provides an object oriented approach to defining netlist formatters. The way that some of the netlisters handle the ability to customize some of the mapping is by then supporting a netlister-specific variable which is then used to pass a setting to nlSetOption within nlInitialize. For example one such variable for the spectre netlister is
    hnlSpectreMapNetInName (there are solutions describing this)

    Maybe the interface you're using has something similar.

    Andrew
    • Post Points: 5
Page 1 of 1 (4 items)
Sort Posts:
Started by SharksFan at 20 May 2011 10:07 AM. Topic has 3 replies.