netlisting question. Why are stopviews also in the switchviewlist?

Discussion in 'Cadence' started by fogh, Nov 25, 2004.

  1. fogh

    fogh Guest

    Hi All,

    I for instance often see for a diva configurations:
    switchviewlist=(auLvs schematic extracted)
    stopviewlist=(auLvs)

    But the same goes for other simulators. And I wonder why auLvs was put also in
    the switchviewlist.
     
    fogh, Nov 25, 2004
    #1
  2. Why are stopviews also in the switchviewlist ?
    switchviewlist=(auLvs schematic extracted)
    stopviewlist=(auLvs)

    Because of the netlister takes the switchlist
    and scans your top hierarchy for instances with
    the views in the switch list. If it find one with
    a view also in the stop list a netlist entry will
    be made, if not the netlister goes on hierarchy level
    down for the specific instance (whith no stop view on this level)
    .... and so on ... and so on.

    So the switch list defines the views wich can be traversed
    down and also the stop views, which have to be additional defined
    in the stop list.
    Aslo the stop list has a priority, first view highest prio,
    the switch list has no prioriy.

    Bernd
     
    Bernd Fischer, Nov 25, 2004
    #2
  3. Because the way it work is that when it reaches a particular cell,
    it tries each entry in the switch list in turn, and switches into the first
    view in the switch list it finds.

    If that view is then in the stop list, it stops expanding the hierarchy.

    The switch list is the priority order for picking views. If stopping
    views weren't in the switch list, it wouldn't know whether they should take
    priority over other views or not.

    Regards,

    Andrew.
     
    Andrew Beckett, Nov 25, 2004
    #3
  4. fogh

    fogh Guest

    It makes a bit more sense now. If you have block-beharioral models, I understand
    that you get a shorter netlist when you use:

    switchviewlist=(veriloga schematic)
    stopviewlist=(veriloga)

    than when you use:
    switchviewlist=(schematic veriloga)
    stopviewlist=(veriloga)

    But it is not a necessity to put the stopview in the switchlist, in the latter
    case ? There should not be any difference if you use
    switchviewlist=(schematic)
    stopviewlist=(veriloga)
     
    fogh, Nov 25, 2004
    #4
  5. If you miss out veriloga from the switch list, it will _never_ pick veriloga
    views. So there is no point in putting it in the stop list either.

    Of course, if your design has schematics for everything, then it won't make
    any difference!

    I don't understand why you think that in the latter case you should not need
    to put it in the switch list - unless it's because the design has schematics
    for everything? Or are you just thinking that it should put the stop list at
    the end of the switch list automatically? (if so, how would it prioritise the
    views if there is more than view in the stop list?). Remember, the switch list
    is ordered, but the stop list isn't. And it would be rather imprecise with
    rules like that.

    The rule is that it will only switch into views in the switch list, and only
    stop on views that it has switched into and are in the stop list. That's it
    (unless you're using a config to control the switching more specifically,
    or are using things like nlAction=stop properties on the design).
    It's simple, well defined, and works.

    Note that in general veriloga should not be in the stop list, since it can
    have structure, and putting it in the stop list would stop it being able to
    descend down into blocks instantiated within the veriloga.

    Andrew.
     
    Andrew Beckett, Nov 26, 2004
    #5
  6. fogh

    fogh Guest

    The setup makes sense. The priorityless stoplist is the main reason
    why stopviews must be in the switchlist.
    In fact I now remember Icame to this conclusion when experimenting,
    some time ago. But I stays a bit counterintuitive.

    If you dont mind, I have another question still:
    If I want to trick ADE to generate some custom netlist, and I give
    stopviews for a simulator that is different from the simulator currently
    selected in ADE, what siminfo CDF will be used by the netlister ?
     
    fogh, Nov 28, 2004
    #6
  7. A particular ADE netlister will always use the simInfo for that netlister. It
    does not use the simInfo which matches the stopping view. The stopping
    view merely tells the netlister to stop expanding the hierarchy; the simInfo
    for the netlister controls what is output at that point.

    Regards,

    Andrew.
     
    Andrew Beckett, Nov 29, 2004
    #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.